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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sm_handler.c

?? Linux上的802.1x 的supplicant的實現。很多supplicant程序都是基于它開發的
?? C
?? 第 1 頁 / 共 3 頁
字號:
/********************************************************************* * * SIM Card Handler for PC/SC lite library * * This code was developed by Chris Hessing, using code written by : * * Michael Haberler mah@eunet.at  * based on original work by marek@bmlv.gv.at 2000 * make it work with pcsclite-1.0.1: Vincent Guyot <vguyot@inf.enst.fr>  2002-07-12 * some parts Chris Hessing chris.hessing@utah.edu * * * This code is released under dual BSD/GPL license. * ********************************************************************** * --- BSD License --- * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * *  - Redistributions of source code must retain the above copyright notice, *    this list of conditions and the following disclaimer. *  - Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. *  - All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *       This product includes software developed by the University of *       Maryland at College Park and its contributors. *  - Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. *//******************************************************************** EAPOL Function implementations for supplicant *  * File: sm_handler.c * * Authors: Chris.Hessing@utah.edu * * $Id: sm_handler.c,v 1.19 2006/06/01 22:49:50 galimorerpg Exp $ * $Date: 2006/06/01 22:49:50 $ * $Log: sm_handler.c,v $ * Revision 1.19  2006/06/01 22:49:50  galimorerpg * Converted all instances of u_char to uint8_t * Fixed a bad #include in the generic frame handler. * * Revision 1.18  2006/05/29 04:17:58  chessing * Fixes for some memory leaks. * * Revision 1.17  2006/03/28 21:16:07  chessing * Fixes to EAP-AKA, and PEAP.  PEAP now handles inner success messages, and works with Funk SBR. * * Revision 1.16  2006/03/21 18:22:10  chessing * Fixes to EAP-AKA code.  Changed a few defaults to disable Xsupplicant based roaming, and passive scanning for this release.  (It would currently cause more problems than it would solve. * * Revision 1.15  2006/03/08 00:16:04  chessing * Fixed EAP hints code to work correctly when the request ID packet is padded out with null bytes.  (Observed in Aruba APs.)  Some changes/fixes for the EAP-AKA module. * * Revision 1.14  2005/08/09 01:39:17  chessing * Cleaned out old commit notes from the released version.  Added a few small features including the ability to disable the friendly warnings that are spit out.  (Such as the warning that is displayed when keys aren't rotated after 10 minutes.)  We should also be able to start when the interface is down.  Last, but not least, we can handle empty network configs.  (This may be useful for situations where there isn't a good reason to have a default network defined.) * * *******************************************************************//******************************************************************* * * The development of the EAP/SIM support was funded by Internet * Foundation Austria (http://www.nic.at/ipa) * *******************************************************************//* Interface to Smart Cards using PCSC with 802.1x.  */#ifdef EAP_SIM_ENABLE#include <stdio.h>#include <winscard.h>#include <string.h>#include <ctype.h>#include <strings.h>#include <stdlib.h>#include <unistd.h>#include "xsup_debug.h"#include "xsup_err.h"#ifdef USE_EFENCE#include <efence.h>#endif// 2G bytecodes#define SELECT_MF       "A0A40000023F00"#define SELECT_DF_GSM   "A0A40000027F20"#define SELECT_EF_IMSI  "A0A40000026F07"#define RUN_GSM         "A088000010"#define GET_IMSI        "A0B0000009"// 3G bytecodes#define SELECT_MF_USIM  "00A4000C"#define SELECT_EF_ICCID "00A40004022FE2"#define SELECT_FCP      "00A4000C"#define SELECT_EFDIR    "00A40004022F00"#define EFDIR_READREC1  "00B20104FF"#define CHV_RETRIES     "0020000100"#define CHV_UNBLOCK     "002C000110"#define CHV_ATTEMPT     "0020000108"#define USELECT_EF_IMSI "00A40904026F07"#define READ_IMSI       "00B0000009"#define MODE2G          1#define MODE3G          0#define DO_DEBUG        1#define MAXBUFF         512typedef unsigned char u8;/* structure of the EFdir AID (application ID) */typedef struct t_efdir {  u8 tag61;  u8 length;  u8 tag4f;  u8 aid_len;  /* application identifier value */  u8 rid[5];  u8 app_code[2];		/* 0x1002 for 3G USIM app */  u8 country_code[2];  u8 prov_code[3];  u8 prov_field[4];  u8 tag50;  u8 al_len;  u8 app_label[16];		/* like "Mobilkom Austria", 0xff padded */} t_efdir;typedef struct  { u8  msk[2], rsp[2], *text; } t_response;const t_response response[]=    {  { { 0xff, 0xff }, { 0x90, 0x00 } , "Ok" },  { { 0xff, 0xff }, { 0x98, 0x02 } , "no CHV initialized" },  { { 0xff, 0xff }, { 0x98, 0x04 } , "access condition not fulfilled" },  { { 0xff, 0xff }, { 0x98, 0x08 } , "in contradiction with CHV status" },  { { 0xff, 0xff }, { 0x98, 0x10 } , "in contradiction with invalidation status" },  { { 0xff, 0xff }, { 0x98, 0x40 } , "unsuccessful CHV verification, no attempts left" },  { { 0xff, 0xff }, { 0x98, 0x50 } , "decrease cannot be performed, maximum value reached" },  { { 0xff, 0xff }, { 0x98, 0x62 } , "verify if MAC  == XMAC" },  { { 0xff, 0xff }, { 0x98, 0x64 } , "Service not available" },  { { 0xff, 0x00 }, { 0x9f, 0x00 } , "%d response bytes available" },  { { 0xff, 0x00 }, { 0x61, 0x00 } , "%d response bytes available" },  { { 0xff, 0xff }, { 0x62, 0x00 } , "curent file is already activated" },  { { 0xff, 0xff }, { 0x62, 0x81 } , "returned data may be corrupt" },  { { 0xff, 0xff }, { 0x62, 0x82 } , "EOF reached prematurely" },  { { 0xff, 0xff }, { 0x62, 0x83 } , "selected file invalid" },  { { 0xff, 0xff }, { 0x62, 0x84 } , "FCI not formated" },  { { 0xff, 0x00 }, { 0x62, 0x00 } , "nvmem unchanged" },  { { 0xff, 0x00 }, { 0x63, 0x81 } , "file filled up by last write" },  { { 0xff, 0xf0 }, { 0x63, 0xc0 } , "Counter=%1.1X" },  { { 0xff, 0x00 }, { 0x63, 0x00 } , "nvmem changed1" },  { { 0xff, 0xff }, { 0x64, 0x00 } , "nvmem unchanged or no active application" },  { { 0xff, 0x00 }, { 0x64, 0x00 } , "nvmem unchanged - RFU" },  { { 0xff, 0xff }, { 0x65, 0x00 } , "nvmem changed2" },  { { 0xff, 0xff }, { 0x65, 0x81 } , "nvmem changed - memory failure" },  { { 0xff, 0x00 }, { 0x65, 0x00 } , "nvmem changed - unknown?" },  { { 0xff, 0x00 }, { 0x66, 0x00 } , "security related %d" },  { { 0xff, 0xff }, { 0x67, 0x00 } , "wrong length" },  { { 0xff, 0x00 }, { 0x67, 0x00 } , "wrong length - %d expected" },  { { 0xff, 0xff }, { 0x68, 0x81 } , "wrong cla - logical channel not supported" },  { { 0xff, 0xff }, { 0x68, 0x82 } , "wrong cla - secure messaging not supported" },  { { 0xff, 0x00 }, { 0x68, 0x00 } , "cla not supported" },  { { 0xff, 0xff }, { 0x69, 0x81 } , "command incompatible with file structure" },  { { 0xff, 0xff }, { 0x69, 0x82 } , "security status not satisfied (PIN1)" },  { { 0xff, 0xff }, { 0x69, 0x83 } , "authentication method blocked - no PIN attempts left" },  { { 0xff, 0xff }, { 0x69, 0x84 } , "referenced data invalid" },  { { 0xff, 0xff }, { 0x69, 0x85 } , "conditions of use not satisfied" },  { { 0xff, 0xff }, { 0x69, 0x86 } , "command not allowed - no current EF" },  { { 0xff, 0xff }, { 0x69, 0x87 } , "expected SM data objects missing" },  { { 0xff, 0xff }, { 0x69, 0x88 } , "SM data objects incorrect" },  { { 0xff, 0x00 }, { 0x69, 0x00 } , "command not allowed" },  { { 0xff, 0xff }, { 0x6a, 0x80 } , "P1-P2: incorrect parameters in data field" },  { { 0xff, 0xff }, { 0x6a, 0x81 } , "P1-P2: function not supported" },  { { 0xff, 0xff }, { 0x6a, 0x82 } , "P1-P2: file/search pattern not found" },  { { 0xff, 0xff }, { 0x6a, 0x83 } , "P1-P2: record not found" },  { { 0xff, 0xff }, { 0x6a, 0x84 } , "P1-P2: not enough memory space in file" },  { { 0xff, 0xff }, { 0x6a, 0x85 } , "P1-P2: Lc inconsistent with TLV" },  { { 0xff, 0xff }, { 0x6a, 0x86 } , "P1-P2 incorrect (out of range)" },  { { 0xff, 0xff }, { 0x6a, 0x87 } , "P1-P2 inconsistent with Lc" },  { { 0xff, 0xff }, { 0x6a, 0x88 } , "verify if EFkeyop exists attached to current file" },  { { 0xff, 0xff }, { 0x6a, 0x88 } , "Referenced data not found" },  { { 0xff, 0xff }, { 0x6a, 0x89 } , "File already exists in current DF" },  { { 0xff, 0x00 }, { 0x6a, 0x00 } , "P1-P2 invalid" },  { { 0xff, 0x00 }, { 0x6b, 0x00 } , "P1-P2 invalid" },  { { 0xff, 0x00 }, { 0x6c, 0x00 } , "wrong length -  %d expected" },  { { 0xff, 0x00 }, { 0x6d, 0x00 } , "INS code not supported or invalid" },  { { 0xff, 0x00 }, { 0x6e, 0x00 } , "CLA %02X not supported" },  { { 0xff, 0xff }, { 0x6f, 0x01 } , "no active application" },  { { 0xff, 0xff }, { 0x6f, 0x06 } , "FCP formatting aborted" },  { { 0xff, 0xff }, { 0x6f, 0x19 } , "no valid key attached to current file" },  { { 0xff, 0xff }, { 0x6f, 0x00 } , "EF or DF integrity error" },  { { 0xff, 0xff }, { 0x6f, 0x03 } , "Decrements number of the unblock mechanism (if not 0xff)" },  { { 0xff, 0xff }, { 0x6f, 0x07 } , "incorrect child number" },  { { 0xff, 0xff }, { 0x6f, 0x0d } , "Reset PIN/ADM retry counter or disable EFpin or EFadm" },  { { 0xff, 0xff }, { 0x6f, 0x0e } , "Reset UNBLOCK PIN error counter to maximum value" },  { { 0xff, 0xff }, { 0x6f, 0x15 } , "PIN/ADM enable/disable not allowed" },  { { 0xff, 0xff }, { 0x6f, 0x16 } , "incorrect UNBLOCK pin" },  { { 0xff, 0xff }, { 0x6f, 0x17 } , "number of unblock mechanism is not equal to 0x00" },  { { 0xff, 0xff }, { 0x6f, 0x1e } , "no data waiting for GET RESPONSE" },  { { 0xff, 0xff }, { 0x6f, 0x1f } , "File deactivated" },  { { 0xff, 0xff }, { 0x6f, 0x22 } , "length of search pattern > 128 bytes" },  { { 0xff, 0x00 }, { 0x6f, 0x00 } , "no precise diagnosis" },  { { 0x00, 0x00 }, { 0x00, 0x00 } , "Unknown response" }};void print_sc_error(long err){  switch (err)    {    case SCARD_E_CANCELLED:      debug_printf(DEBUG_NORMAL, "Error : Card Request Cancelled!\n");      break;    case SCARD_E_CANT_DISPOSE:      debug_printf(DEBUG_NORMAL, "Error : Can't dispose (!?)\n");      break;    case SCARD_E_INSUFFICIENT_BUFFER:      debug_printf(DEBUG_NORMAL, "Error : Insufficient Buffer\n");      break;    case SCARD_E_INVALID_ATR:      debug_printf(DEBUG_NORMAL, "Error : Invalid ATR\n");      break;    case SCARD_E_INVALID_HANDLE:      debug_printf(DEBUG_NORMAL, "Error : Invalid handle\n");      break;    case SCARD_E_INVALID_PARAMETER:      debug_printf(DEBUG_NORMAL, "Error : Invalid parameter\n");      break;    case SCARD_E_INVALID_TARGET:      debug_printf(DEBUG_NORMAL, "Error : Invalid target\n");      break;    case SCARD_E_INVALID_VALUE:      debug_printf(DEBUG_NORMAL, "Error : Invalid Value\n");      break;    case SCARD_E_NO_MEMORY:      debug_printf(DEBUG_NORMAL, "Error : No memory\n");      break;    case SCARD_F_COMM_ERROR:      debug_printf(DEBUG_NORMAL, "Error : Communication error \n");      break;    case SCARD_F_INTERNAL_ERROR:      debug_printf(DEBUG_NORMAL, "Error : Internal error\n");      break;    case SCARD_F_WAITED_TOO_LONG:      debug_printf(DEBUG_NORMAL, "Error : Waited too long\n");      break;    case SCARD_E_UNKNOWN_READER:      debug_printf(DEBUG_NORMAL, "Error : Unknown reader\n");      break;    case SCARD_E_TIMEOUT:      debug_printf(DEBUG_NORMAL, "Error : Timeout\n");      break;    case SCARD_E_SHARING_VIOLATION:      debug_printf(DEBUG_NORMAL, "Error : Sharing Violation\n");      break;    case SCARD_E_NO_SMARTCARD:      debug_printf(DEBUG_NORMAL, "Error : No smartcard!\n");      break;    case SCARD_E_UNKNOWN_CARD:      debug_printf(DEBUG_NORMAL, "Error : Unknown card!\n");      break;    case SCARD_E_PROTO_MISMATCH:      debug_printf(DEBUG_NORMAL, "Error : Protocol mismatch!\n");      break;    case SCARD_E_NOT_READY:      debug_printf(DEBUG_NORMAL, "Error : Not ready!\n");      break;    case SCARD_E_SYSTEM_CANCELLED:      debug_printf(DEBUG_NORMAL, "Error : System Cancelled\n");      break;    case SCARD_E_NOT_TRANSACTED:      debug_printf(DEBUG_NORMAL, "Error : Not Transacted\n");      break;    case SCARD_E_READER_UNAVAILABLE:      debug_printf(DEBUG_NORMAL, "Error : Reader unavailable\n");      break;    case SCARD_F_UNKNOWN_ERROR:    default:      debug_printf(DEBUG_NORMAL, "Unknown error!\n");      break;    }}int sm_handler_init_ctx(SCARDCONTEXT *card_ctx){  long ret;    if (!card_ctx)    {      debug_printf(DEBUG_NORMAL, "Invalid memory location for card context!\n");      return -1;    }  *card_ctx = 0;  ret = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, card_ctx);  if (ret != SCARD_S_SUCCESS)    {      debug_printf(DEBUG_NORMAL, "Couldn't establish Smart Card context!  "		   "(Is pcscd loaded?)\n");      print_sc_error(ret);      return -1;    }  return 0;}char *sm_handler_get_readers(SCARDCONTEXT *card_ctx){  long readerstrlen;  char *readername;  int ret;  ret = SCardListReaders(*card_ctx, NULL, NULL, &readerstrlen);  if (ret != SCARD_S_SUCCESS)    {      debug_printf(DEBUG_NORMAL, "Error requesting list of smart card "		   "readers! ");      print_sc_error(ret);      return NULL;    }  readername = (char *)malloc(readerstrlen+1);  if (readername == NULL)     {      debug_printf(DEBUG_NORMAL, "Couldn't allocate memory for reader name! "		   "(%s:%d)\n", __FUNCTION__, __LINE__);      return NULL;    }  ret = SCardListReaders(*card_ctx, NULL, readername, &readerstrlen);  if (ret != SCARD_S_SUCCESS)    {      debug_printf(DEBUG_NORMAL, "Error requesting list of smart card "		   "readers! ");      print_sc_error(ret);      return NULL;    }  return readername;}long sm_handler_card_connect(SCARDCONTEXT *card_ctx, SCARDHANDLE *card_hdl, 			     char *cardreader){  long ret, activeprotocol;  debug_printf(DEBUG_NORMAL, "Using reader : %s\n", cardreader);  while (1)    {      ret = SCardConnect(*card_ctx, cardreader, SCARD_SHARE_SHARED,			 SCARD_PROTOCOL_T0, card_hdl, &activeprotocol);      if (ret == SCARD_S_SUCCESS) break;      if (ret == SCARD_E_NO_SMARTCARD)	{	  // XXX This should be changed when we attach a GUI to Xsupplicant.	  debug_printf(DEBUG_NORMAL, "Please insert a smart card!\n");	  sleep(2);	} else {	  debug_printf(DEBUG_NORMAL, "Error attempting to connect to the "		       "smart card!  ");	  print_sc_error(ret);	  return -1;	  break;	}    }  return 0;}int sm_handler_wait_card_ready(SCARDHANDLE *card_hdl, int waittime){  DWORD dwState, dwProtocol, dwAtrLen, size;  BYTE  pbAtr[MAX_ATR_SIZE];  int loopcnt, ret;  LPSTR mszReaders;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女少妇撒尿| 亚洲一区影音先锋| 精品国产精品一区二区夜夜嗨| 激情成人午夜视频| 亚洲乱码国产乱码精品精小说 | 9191精品国产综合久久久久久| 九九精品一区二区| 蜜臀av性久久久久av蜜臀妖精| 欧美极品xxx| 91精品国产综合久久精品麻豆| 亚洲欧美另类小说| 一本久久综合亚洲鲁鲁五月天| 成人午夜av影视| 麻豆一区二区三区| 一级中文字幕一区二区| 亚洲精品一区二区三区四区高清| 欧美视频完全免费看| 亚洲不卡av一区二区三区| 亚洲.国产.中文慕字在线| 亚洲一区二区成人在线观看| 精品国产一区久久| 欧美剧情电影在线观看完整版免费励志电影| 亚洲一区在线观看免费| 国产亚洲精品中文字幕| 日韩欧美一级二级三级久久久| 蜜臀久久99精品久久久久久9| 免费高清不卡av| 免费三级欧美电影| 亚洲午夜一区二区| 亚洲欧美另类综合偷拍| 中文字幕av一区 二区| 在线观看日韩高清av| 奇米777欧美一区二区| 亚洲成人精品一区| 午夜电影网一区| 久久精品夜色噜噜亚洲a∨| 日韩欧美一级二级三级| 欧美日韩视频在线观看一区二区三区| 亚洲午夜久久久久| 久久影院视频免费| 337p粉嫩大胆色噜噜噜噜亚洲 | 中文字幕av一区二区三区免费看 | 91麻豆国产福利在线观看| 美女诱惑一区二区| 欧洲亚洲精品在线| 日韩欧美精品三级| 日韩午夜三级在线| 在线视频国内自拍亚洲视频| 91国偷自产一区二区三区观看| 成人av动漫网站| 亚洲午夜在线电影| 午夜精品福利一区二区蜜股av | 国产91精品精华液一区二区三区 | 秋霞影院一区二区| 亚洲啪啪综合av一区二区三区| 中文文精品字幕一区二区| 国产.精品.日韩.另类.中文.在线.播放| 亚洲免费色视频| 日韩精品专区在线| 在线观看91精品国产入口| 色综合天天综合网天天狠天天| 风间由美一区二区三区在线观看| 国产精品欧美一区喷水| 91女厕偷拍女厕偷拍高清| 久久电影网站中文字幕| 青草国产精品久久久久久| 国产女人18毛片水真多成人如厕| 久久综合丝袜日本网| 激情五月婷婷综合| 亚洲国产毛片aaaaa无费看| 国产喂奶挤奶一区二区三区| 91成人看片片| 国产一区二区免费看| 石原莉奈在线亚洲三区| 1000精品久久久久久久久| 欧美极品aⅴ影院| 日韩欧美一级二级| 91精品国产综合久久婷婷香蕉 | 蜜臀av国产精品久久久久| 久久久精品国产免费观看同学| 欧美电视剧在线看免费| 久久久久久久国产精品影院| 欧美精品在线观看播放| 久久久久久久综合日本| 中文字幕制服丝袜一区二区三区| 国产成人三级在线观看| 中文字幕在线观看不卡| 亚洲伦理在线免费看| 亚洲18女电影在线观看| 欧美v国产在线一区二区三区| 日韩欧美不卡在线观看视频| 精品日韩在线观看| 青青草国产精品亚洲专区无| 国产91丝袜在线观看| fc2成人免费人成在线观看播放| 91亚洲男人天堂| 日韩欧美国产综合在线一区二区三区| 精品1区2区3区| 欧美一区二区日韩一区二区| 精品久久久三级丝袜| 国产成人精品一区二| 日韩视频永久免费| 欧美高清视频在线高清观看mv色露露十八| 制服.丝袜.亚洲.中文.综合| 欧美日免费三级在线| 欧美日韩精品系列| 99re免费视频精品全部| 精品播放一区二区| 91福利视频网站| 成人h版在线观看| 97国产一区二区| 国产一区 二区| 国产伦精品一区二区三区视频青涩 | 国产清纯在线一区二区www| 国产精品久久久久精k8| 亚洲欧美另类久久久精品| 爽爽淫人综合网网站| 国产成人亚洲综合a∨婷婷图片| 国产乱理伦片在线观看夜一区| 老鸭窝一区二区久久精品| 日韩精品一二区| 午夜av一区二区| 成人av综合一区| 日韩欧美自拍偷拍| 国产成人三级在线观看| 色成年激情久久综合| 日韩欧美亚洲另类制服综合在线| 日韩一区二区三区视频在线观看| 精品国产乱码久久| 欧美三电影在线| 久久精品亚洲精品国产欧美kt∨| 亚洲综合色网站| 久久精品国产999大香线蕉| 欧美亚洲禁片免费| 久久久久88色偷偷免费| 日韩av午夜在线观看| 精品亚洲欧美一区| 337p日本欧洲亚洲大胆精品| 亚洲综合成人在线| 欧美性受极品xxxx喷水| 国产亚洲一二三区| 色欲综合视频天天天| 综合分类小说区另类春色亚洲小说欧美 | 欧美电影免费观看高清完整版在线 | 成人丝袜高跟foot| 国产精品人妖ts系列视频| 亚洲男女毛片无遮挡| 欧美高清性hdvideosex| 亚洲欧美日韩一区二区| av网站免费线看精品| 久久综合九色综合欧美98| 精品亚洲欧美一区| 国产精品久久久久aaaa| 亚洲成人激情av| 欧美日韩电影在线| 蜜桃视频在线观看一区二区| 91网站视频在线观看| 中文乱码免费一区二区| 成人av电影观看| 久久久久久**毛片大全| 91丨九色丨尤物| 亚洲日本丝袜连裤袜办公室| 91官网在线观看| 老司机精品视频导航| 亚洲精品在线电影| 一本到高清视频免费精品| 国产亚洲成年网址在线观看| 国产麻豆欧美日韩一区| 亚洲精选视频在线| 欧美日韩卡一卡二| 91麻豆精品国产自产在线观看一区| 国产成人综合在线观看| 欧美精品在线观看播放| 国产不卡免费视频| 日韩美女天天操| 亚洲综合无码一区二区| 精品99久久久久久| 精品一区二区三区av| 91精品国产91久久久久久最新毛片| 亚洲一区二区三区四区五区中文| xnxx国产精品| 美女国产一区二区三区| 欧美日韩亚洲另类| 国产99精品国产| 夜夜嗨av一区二区三区网页| 日韩欧美国产不卡| 成人视屏免费看| 国产精品综合久久| 亚洲国产va精品久久久不卡综合| 欧美午夜精品电影| 成人免费毛片嘿嘿连载视频| 免费在线看成人av| 欧美性xxxxxx少妇| 欧美在线视频不卡| 东方欧美亚洲色图在线| 久久亚洲欧美国产精品乐播| 欧美美女激情18p| 成熟亚洲日本毛茸茸凸凹| 天天综合天天做天天综合| 777色狠狠一区二区三区|