亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rpc_delegate.c

?? TCG軟件棧 linux系統(tǒng)上使用 為可信應(yīng)用軟件提供和 TPM通信的 接口 其網(wǎng)站上有很多關(guān)于使用此軟件的測試用例
?? C
字號:
/* * Licensed Materials - Property of IBM * * trousers - An open source TCG Software Stack * * (C) Copyright International Business Machines Corp. 2007 * */#include <stdlib.h>#include <stdio.h>#include <syslog.h>#include <string.h>#include <netdb.h>#include "trousers/tss.h"#include "trousers_types.h"#include "tcs_tsp.h"#include "tcs_utils.h"#include "tcs_int_literals.h"#include "capabilities.h"#include "tcslog.h"#include "tcsd_wrap.h"#include "tcsd.h"#include "tcs_utils.h"#include "rpc_tcstp_tcs.h"TSS_RESULTtcs_wrap_Delegate_Manage(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TPM_FAMILY_ID familyId;	TPM_FAMILY_OPERATION opFlag;	UINT32 opDataSize;	BYTE *opData;	TPM_AUTH ownerAuth, nullAuth, *pAuth;	UINT32 retDataSize;	BYTE *retData;	TSS_RESULT result;	int i;	memset(&ownerAuth, 0, sizeof(TPM_AUTH));	memset(&nullAuth, 0, sizeof(TPM_AUTH));	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT32, 1, &familyId, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &opFlag, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 3, &opDataSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	opData = malloc(opDataSize);	if (opData == NULL) {		LogError("malloc of %u bytes failed.", opDataSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 4, opData, opDataSize, &data->comm)) {		free(opData);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_AUTH, 5, &ownerAuth, 0, &data->comm)) {		free(opData);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (memcmp(&nullAuth, &ownerAuth, sizeof(TPM_AUTH)))		pAuth = &ownerAuth;	else		pAuth = NULL;	MUTEX_LOCK(tcsp_lock);	result = TCSP_Delegate_Manage_Internal(hContext, familyId, opFlag,			opDataSize, opData, pAuth, &retDataSize, &retData);	MUTEX_UNLOCK(tcsp_lock);	free(opData);	if (result == TSS_SUCCESS) {		i = 0;		initData(&data->comm, 3);		if (pAuth) {			if (setData(TCSD_PACKET_TYPE_AUTH, i++, pAuth, 0, &data->comm)) {				free(retData);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		}		if (setData(TCSD_PACKET_TYPE_UINT32, i++, &retDataSize, 0, &data->comm)) {			free(retData);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, i++, retData, retDataSize, &data->comm)) {			free(retData);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(retData);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_Delegate_CreateKeyDelegation(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TCS_KEY_HANDLE hKey;	UINT32 publicInfoSize;	BYTE *publicInfo;	TPM_ENCAUTH encDelAuth;	TPM_AUTH keyAuth, nullAuth, *pAuth;	UINT32 blobSize;	BYTE *blob;	TSS_RESULT result;	int i;	memset(&keyAuth, 0, sizeof(TPM_AUTH));	memset(&nullAuth, 0, sizeof(TPM_AUTH));	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT32, 1, &hKey, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &publicInfoSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	publicInfo = malloc(publicInfoSize);	if (publicInfo == NULL) {		LogError("malloc of %u bytes failed.", publicInfoSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 3, publicInfo, publicInfoSize, &data->comm)) {		free(publicInfo);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_ENCAUTH, 4, &encDelAuth, 0, &data->comm)) {		free(publicInfo);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_AUTH, 5, &keyAuth, 0, &data->comm)) {		free(publicInfo);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (memcmp(&nullAuth, &keyAuth, sizeof(TPM_AUTH)))		pAuth = &keyAuth;	else		pAuth = NULL;	MUTEX_LOCK(tcsp_lock);	result = TCSP_Delegate_CreateKeyDelegation_Internal(hContext, hKey,			publicInfoSize, publicInfo, &encDelAuth, pAuth, &blobSize, &blob);	MUTEX_UNLOCK(tcsp_lock);	free(publicInfo);	if (result == TSS_SUCCESS) {		i = 0;		initData(&data->comm, 3);		if (pAuth) {			if (setData(TCSD_PACKET_TYPE_AUTH, i++, pAuth, 0, &data->comm)) {				free(blob);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		}		if (setData(TCSD_PACKET_TYPE_UINT32, i++, &blobSize, 0, &data->comm)) {			free(blob);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, i++, blob, blobSize, &data->comm)) {			free(blob);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(blob);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_Delegate_CreateOwnerDelegation(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TSS_BOOL increment;	UINT32 publicInfoSize;	BYTE *publicInfo;	TPM_ENCAUTH encDelAuth;	TPM_AUTH ownerAuth, nullAuth, *pAuth;	UINT32 blobSize;	BYTE *blob;	TSS_RESULT result;	int i;	memset(&ownerAuth, 0, sizeof(TPM_AUTH));	memset(&nullAuth, 0, sizeof(TPM_AUTH));	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_BOOL, 1, &increment, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &publicInfoSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	publicInfo = malloc(publicInfoSize);	if (publicInfo == NULL) {		LogError("malloc of %u bytes failed.", publicInfoSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 3, publicInfo, publicInfoSize, &data->comm)) {		free(publicInfo);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_ENCAUTH, 4, &encDelAuth, 0, &data->comm)) {		free(publicInfo);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_AUTH, 5, &ownerAuth, 0, &data->comm)) {		free(publicInfo);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (memcmp(&nullAuth, &ownerAuth, sizeof(TPM_AUTH)))		pAuth = &ownerAuth;	else		pAuth = NULL;	MUTEX_LOCK(tcsp_lock);	result = TCSP_Delegate_CreateOwnerDelegation_Internal(hContext, increment,			publicInfoSize, publicInfo, &encDelAuth, pAuth, &blobSize, &blob);	MUTEX_UNLOCK(tcsp_lock);	free(publicInfo);	if (result == TSS_SUCCESS) {		i = 0;		initData(&data->comm, 3);		if (pAuth) {			if (setData(TCSD_PACKET_TYPE_AUTH, i++, pAuth, 0, &data->comm)) {				free(blob);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		}		if (setData(TCSD_PACKET_TYPE_UINT32, i++, &blobSize, 0, &data->comm)) {			free(blob);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, i++, blob, blobSize, &data->comm)) {			free(blob);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(blob);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_Delegate_LoadOwnerDelegation(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TPM_DELEGATE_INDEX index;	UINT32 blobSize;	BYTE *blob;	TPM_AUTH ownerAuth, nullAuth, *pAuth;	TSS_RESULT result;	memset(&ownerAuth, 0, sizeof(TPM_AUTH));	memset(&nullAuth, 0, sizeof(TPM_AUTH));	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT32, 1, &index, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &blobSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	blob = malloc(blobSize);	if (blob == NULL) {		LogError("malloc of %u bytes failed.", blobSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 3, blob, blobSize, &data->comm)) {		free(blob);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_AUTH, 4, &ownerAuth, 0, &data->comm)) {		free(blob);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (memcmp(&nullAuth, &ownerAuth, sizeof(TPM_AUTH)))		pAuth = &ownerAuth;	else		pAuth = NULL;	MUTEX_LOCK(tcsp_lock);	result = TCSP_Delegate_LoadOwnerDelegation_Internal(hContext, index, blobSize, blob,			pAuth);	MUTEX_UNLOCK(tcsp_lock);	free(blob);	if (result == TSS_SUCCESS) {		initData(&data->comm, 1);		if (pAuth) {			if (setData(TCSD_PACKET_TYPE_AUTH, 0, pAuth, 0, &data->comm)) {				free(blob);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		}	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_Delegate_ReadTable(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	UINT32 familyTableSize;	BYTE *familyTable;	UINT32 delegateTableSize;	BYTE *delegateTable;	TSS_RESULT result;	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	MUTEX_LOCK(tcsp_lock);	result = TCSP_Delegate_ReadTable_Internal(hContext, &familyTableSize, &familyTable,			&delegateTableSize, &delegateTable);	MUTEX_UNLOCK(tcsp_lock);	if (result == TSS_SUCCESS) {		initData(&data->comm, 4);		if (setData(TCSD_PACKET_TYPE_UINT32, 0, &familyTableSize, 0, &data->comm)) {			free(familyTable);			free(delegateTable);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 1, familyTable, familyTableSize, &data->comm)) {			free(familyTable);			free(delegateTable);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(familyTable);		if (setData(TCSD_PACKET_TYPE_UINT32, 2, &delegateTableSize, 0, &data->comm)) {			free(delegateTable);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 3, delegateTable, delegateTableSize, &data->comm)) {			free(delegateTable);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(delegateTable);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_Delegate_UpdateVerificationCount(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	UINT32 inputSize;	BYTE *input;	TPM_AUTH ownerAuth, nullAuth, *pAuth;	UINT32 outputSize;	BYTE *output;	TSS_RESULT result;	int i;	memset(&ownerAuth, 0, sizeof(TPM_AUTH));	memset(&nullAuth, 0, sizeof(TPM_AUTH));	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT32, 1, &inputSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	input = malloc(inputSize);	if (input == NULL) {		LogError("malloc of %u bytes failed.", inputSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 2, input, inputSize, &data->comm)) {		free(input);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_AUTH, 3, &ownerAuth, 0, &data->comm)) {		free(input);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (memcmp(&nullAuth, &ownerAuth, sizeof(TPM_AUTH)))		pAuth = &ownerAuth;	else		pAuth = NULL;	MUTEX_LOCK(tcsp_lock);	result = TCSP_Delegate_UpdateVerificationCount_Internal(hContext, inputSize, input,			pAuth, &outputSize, &output);	MUTEX_UNLOCK(tcsp_lock);	free(input);	if (result == TSS_SUCCESS) {		i = 0;		initData(&data->comm, 3);		if (pAuth) {			if (setData(TCSD_PACKET_TYPE_AUTH, i++, pAuth, 0, &data->comm)) {				free(output);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		}		if (setData(TCSD_PACKET_TYPE_UINT32, i++, &outputSize, 0, &data->comm)) {			free(output);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, i++, output, outputSize, &data->comm)) {			free(output);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(output);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_Delegate_VerifyDelegation(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	UINT32 delegateSize;	BYTE *delegate;	TSS_RESULT result;	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT32, 1, &delegateSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	delegate = malloc(delegateSize);	if (delegate == NULL) {		LogError("malloc of %u bytes failed.", delegateSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 2, delegate, delegateSize, &data->comm)) {		free(delegate);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	MUTEX_LOCK(tcsp_lock);	result = TCSP_Delegate_VerifyDelegation_Internal(hContext, delegateSize, delegate);	MUTEX_UNLOCK(tcsp_lock);	free(delegate);	initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_DSAP(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	UINT16 entityType;	TCS_KEY_HANDLE keyHandle;	TPM_NONCE nonceOddDSAP, nonceEven, nonceEvenDSAP;	UINT32 entityValueSize;	BYTE *entityValue;	TCS_AUTHHANDLE authHandle;	TSS_RESULT result;	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT16, 1, &entityType, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &keyHandle, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_NONCE, 3, &nonceOddDSAP, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 4, &entityValueSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	entityValue = malloc(entityValueSize);	if (entityValue == NULL) {		LogError("malloc of %u bytes failed.", entityValueSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 5, entityValue, entityValueSize, &data->comm)) {		free(entityValue);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	MUTEX_LOCK(tcsp_lock);	result = TCSP_DSAP_Internal(hContext, entityType, keyHandle, &nonceOddDSAP, entityValueSize,				    entityValue, &authHandle, &nonceEven, &nonceEvenDSAP);	MUTEX_UNLOCK(tcsp_lock);	free(entityValue);	if (result == TSS_SUCCESS) {		initData(&data->comm, 3);		if (setData(TCSD_PACKET_TYPE_UINT32, 0, &authHandle, 0, &data->comm))			return TCSERR(TSS_E_INTERNAL_ERROR);		if (setData(TCSD_PACKET_TYPE_NONCE, 1, &nonceEven, 0, &data->comm))			return TCSERR(TSS_E_INTERNAL_ERROR);		if (setData(TCSD_PACKET_TYPE_NONCE, 2, &nonceEvenDSAP, 0, &data->comm))			return TCSERR(TSS_E_INTERNAL_ERROR);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷丁香久久五月婷婷| 经典三级一区二区| 99视频精品全部免费在线| 欧美成人国产一区二区| 亚洲另类中文字| www.亚洲激情.com| 欧美国产精品v| 亚洲图片欧美一区| 天堂成人免费av电影一区| 国产在线不卡一区| 国产色综合一区| 色一情一伦一子一伦一区| 日本大胆欧美人术艺术动态 | 国产在线精品免费av| av一二三不卡影片| 中文乱码免费一区二区| 美女视频一区在线观看| 在线视频国内一区二区| 中文字幕日韩av资源站| 国产福利一区二区三区视频在线| 欧美美女一区二区在线观看| 亚洲精品高清在线| 91视频国产观看| 国产精品久久久一区麻豆最新章节| 久久99国产乱子伦精品免费| 91麻豆精品国产无毒不卡在线观看| 亚洲黄色小视频| 色婷婷激情综合| 夜夜嗨av一区二区三区| 一本色道久久加勒比精品| 国产精品白丝jk白祙喷水网站| 国产精品色呦呦| 欧美精品第1页| 国产成人激情av| 性欧美大战久久久久久久久| 久久夜色精品国产噜噜av| 高清日韩电视剧大全免费| 一区二区三区四区高清精品免费观看| 欧美三级在线看| 丁香婷婷综合激情五月色| 天堂午夜影视日韩欧美一区二区| 国产亚洲一区二区三区四区 | 国产1区2区3区精品美女| 亚洲欧美在线高清| 日韩欧美中文字幕制服| 91无套直看片红桃| 国产成人亚洲综合a∨婷婷图片| 亚洲国产精品一区二区久久| 国产免费久久精品| 欧美一区二区三区婷婷月色| 91免费国产在线观看| 91成人网在线| 一二三四社区欧美黄| 欧美成人a∨高清免费观看| 91精品国产综合久久久久久漫画| 欧美日韩一区二区三区免费看 | 国产盗摄女厕一区二区三区| 日本不卡的三区四区五区| 专区另类欧美日韩| 亚洲精品va在线观看| 国产乱国产乱300精品| 日本 国产 欧美色综合| 亚洲一区二区三区四区五区中文 | 一二三区精品视频| 成人欧美一区二区三区| 亚洲私人黄色宅男| 亚洲欧洲精品一区二区三区| 中文字幕亚洲电影| 日韩毛片精品高清免费| 亚洲人成在线播放网站岛国| 一区二区三区在线观看视频| 亚洲精品免费电影| 日韩成人免费看| 久久成人免费网| 国产成人精品亚洲午夜麻豆| 成人99免费视频| 欧美日韩一二三| 136国产福利精品导航| 国产欧美一区二区精品性| 国产精品色婷婷久久58| 亚洲男人的天堂在线aⅴ视频| 亚洲自拍偷拍图区| 日产国产高清一区二区三区| 精品一二线国产| caoporn国产精品| 91精品国产全国免费观看| 精品国产乱码久久久久久免费| 国产精品欧美久久久久一区二区| 亚洲少妇中出一区| 蜜桃av噜噜一区| 91丨九色丨国产丨porny| 欧美三级中文字幕| 久久久久久黄色| 亚洲第一在线综合网站| 日韩一区二区三区精品视频| 久久精品亚洲精品国产欧美kt∨| 亚洲男人的天堂一区二区| 日本亚洲最大的色成网站www| 国产sm精品调教视频网站| 欧美猛男男办公室激情| 国产欧美一区二区精品性色超碰 | 国产欧美日韩综合精品一区二区| 亚洲欧美二区三区| 国产精品乡下勾搭老头1| 欧美福利电影网| 亚洲国产精品久久艾草纯爱 | 国产一区在线不卡| 91精品国产全国免费观看| 亚洲mv在线观看| 色欧美乱欧美15图片| 中文字幕一区二区三区不卡| 岛国av在线一区| 亚洲色图色小说| 成人动漫中文字幕| 欧美日本在线观看| 亚洲免费观看在线观看| 国产+成+人+亚洲欧洲自线| 精品少妇一区二区三区| 爽爽淫人综合网网站| 日本久久一区二区三区| 国产精品久久久久久户外露出| 国产精品一二三在| 久久久另类综合| 国内不卡的二区三区中文字幕| 欧美一区二区三区视频在线观看| 亚洲电影欧美电影有声小说| 欧美日韩小视频| 日韩在线观看一区二区| 9191国产精品| 91麻豆精品国产91久久久| 亚洲444eee在线观看| 欧美色手机在线观看| 日韩中文字幕亚洲一区二区va在线| 欧美美女bb生活片| 激情久久久久久久久久久久久久久久| 日韩免费视频一区| 国产99精品国产| 亚洲欧美日韩国产综合| 欧美在线短视频| 美女任你摸久久| 国产亚洲综合性久久久影院| 99国产精品久久久久| 亚洲福利视频三区| 精品福利一区二区三区免费视频| 国产乱码一区二区三区| 中文字幕一区二区三区乱码在线| 欧洲一区二区av| 青青草国产精品97视觉盛宴| 欧美精品一区视频| 日本乱码高清不卡字幕| 久草精品在线观看| 一区二区三区中文字幕电影 | 精品写真视频在线观看| 亚洲人午夜精品天堂一二香蕉| 91精品黄色片免费大全| 成人a免费在线看| 日韩精品亚洲专区| 亚洲欧洲综合另类| 久久夜色精品一区| 欧美日韩国产高清一区二区| 国产一区二区调教| 性欧美疯狂xxxxbbbb| 亚洲欧洲无码一区二区三区| 日韩一区二区视频在线观看| 91麻豆国产自产在线观看| 国产一区二区剧情av在线| 亚洲福利一区二区| 成人一区二区三区在线观看 | 欧美日韩亚洲国产综合| 91亚洲国产成人精品一区二三| 国产乱码精品一区二区三区五月婷| 亚洲一区二区高清| 日韩美女久久久| 中文字幕 久热精品 视频在线 | 欧美日韩精品福利| 在线观看成人免费视频| 97超碰欧美中文字幕| 丰满放荡岳乱妇91ww| 国产精品77777| 国内精品国产成人国产三级粉色| 三级精品在线观看| 性做久久久久久久久| 亚洲成精国产精品女| 日韩精品亚洲专区| 免费成人美女在线观看.| 美女被吸乳得到大胸91| 久久国内精品视频| 国产精品一二三在| 国产成人亚洲精品狼色在线| 国产成人亚洲综合a∨婷婷| 丰满亚洲少妇av| 99国产精品久| 欧美精品一二三区| 2022国产精品视频| 国产精品人人做人人爽人人添| 国产精品乱子久久久久| 一区二区三区国产| 老司机一区二区| 成人动漫视频在线| 欧美高清视频在线高清观看mv色露露十八|