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

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

?? dualserver.cpp

?? Combined DHCP/DNS Server. DHCP Server allots addresses and DNS Server first try resolving from DHCP
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/**************************************************************************
*   Copyright (C) 2005 by Achal Dhir                                      *
*   achaldhir@gmail.com                                                   *
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
*   This program is distributed in the hope that it will be useful,       *
*   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
*   GNU General Public License for more details.                          *
*                                                                         *
*   You should have received a copy of the GNU General Public License     *
*   along with this program; if not, write to the                         *
*   Free Software Foundation, Inc.,                                       *
*   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
***************************************************************************/
// Dual Service.cpp
#include <stdio.h>
#include <winsock2.h>
#include <time.h>
#include <tchar.h>
#include <ws2tcpip.h>
#include <limits.h>
#include <iphlpapi.h>
#include <process.h>
#include "DualServer.h"

//Function Prototypes
bool addServer(DWORD*, DWORD);
bool chkQu(char*);
BYTE getBaseValue(BYTE);
bool getSection(char*, char*, int, char*);
bool isIP(char*);
BYTE makeLocal(char*);
BYTE makeLocal(DWORD);
BYTE pIP(BYTE*, DWORD);
BYTE pIP(char*, DWORD);
BYTE pLong(BYTE*, DWORD);
BYTE pLong(char*, DWORD);
BYTE pShort(BYTE*, WORD);
BYTE pShort(char*, WORD);
BYTE* addOp(data1*);
BYTE* pvdata(BYTE*, data1*, data3*);
char getRangeInd(DWORD);
char* cleanstr(char*, bool);
char* cloneString(char*);
char* getHexValue(BYTE*, char*, BYTE*);
char* getResult(dnsPacket*);
char* hex2String(BYTE*, BYTE);
char* IP2String(char*, DWORD);
char* myLower(char* string);
char* myUpper(char* string);
char* toBase64(BYTE*, BYTE);
data7* delDhcpEntry(data7*);
data7* delDnsEntry(data7*);
data7* findEntry(BYTE, char*);
data7* findEntry(BYTE, char*, BYTE);
DWORD alad(data1*);
DWORD calcMask(DWORD, DWORD);
DWORD chad(data1*);
DWORD fIP(BYTE*);
DWORD fIP(char*);
DWORD fLong(BYTE*);
DWORD fLong(char*);
DWORD getNetwork(DWORD);
DWORD getRefresh(BYTE);
DWORD getSerial();
DWORD resad(data1*);
DWORD sdmess(data1*);
DWORD sendRepl(data1 *req);
DWORD updateDHCP(data1*);
DWORD* findServer(DWORD*, DWORD);
int getIndex(char, DWORD);
void addAuth(data5*);
void addEntry(BYTE, data7*);
void addRRA(data5*);
void addRRAAFXR(data5*);
void addRRCNAFXR(data5*);
void addRRExt(data5*);
void addRRLocalhostA(data5*);
void addRRLocalhostPtr(data5*);
void addRRMX(data5*);
void addRRMXAFXR(data5*);
void addRRNSA(data5*);
void addRRNSPtr(data5*);
void addRRPtr(data5*);
void addRRServerA(data5*);
void addRRSOA(data5*);
void addRRSTAFXR(data5*);
void addToCache(BYTE, BYTE, char*, DWORD, time_t, BYTE, BYTE, DWORD, bool);
void calcRangeLimits(DWORD, DWORD, DWORD*, DWORD*);
void checkSize();
void fromBase64(BYTE*, char*);
void getDServ();
void getServ();
void init();
void logMess(char*, BYTE);
void recvRepl(data1*);
void refresh(void*);
void runProg();
void setLeaseExpiry(char, DWORD, time_t);
void procTCP(void*);
WORD fdnmess(data5*);
WORD fQu(char*, char*);
WORD fQu(char*, dnsPacket*, char*);
WORD frdnmess(data5*);
WORD fShort(BYTE*);
WORD fShort(char*);
WORD gdmess(data1*, BYTE);
WORD gdnmess(data5*, BYTE);
WORD myRecv(SOCKET, char*, WORD);
WORD listSections(char*, int, char*);
WORD loadOptions(BYTE*, WORD, char*, char*, DWORD*);
WORD pQu(char*, char*);
WORD qLen(char*);
WORD scanloc(data5*);
WORD sdnmess(data5*);
WORD sTCPmess(data5 *req);

//Global Variables
SERVICE_STATUS serviceStatus;
SERVICE_STATUS_HANDLE serviceStatusHandle = 0;
HANDLE stopServiceEvent = 0;
data2 cfig;
BYTE cacheInd = 0;
bool zoneChanged = false;
hostMap dnsCache[2];
dhcpMap dhcpCache;
expiryMap dnsAge;
char serviceName[] = "DUALServer";
char displayName[] = "Dual DHCP DNS Service";
char tempbuff[256];
char logBuff[256];
bool verbatim = false;
char iniFile[_MAX_PATH]; // "DualServer.ini"
char leaFile[_MAX_PATH]; // "DualServer.state"
char logFile[_MAX_PATH]; // "DualServer.state"
char arpa[] = ".in-addr.arpa";
bool dhcpService = true;
bool dnsService = true;
timeval tv;
fd_set readfds;
fd_set writefds;

//constants
const char base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const data4 opdata[] =
    {
        {"IP_Addr", 0, 0},
        {"DHCP_Range", 0, 255},
        //{"Authorized", 0, 1},
        {"SubNet_Mask", DHCP_OPTION_NETMASK, 0},
        {"Time_Offset", DHCP_OPTION_TIMEOFFSET, 4},
        {"Router", DHCP_OPTION_ROUTER, 0},
        {"Time_Server", DHCP_OPTION_TIMESERVER, 0},
        {"Name_Server", DHCP_OPTION_NAMESERVER, 0},
        {"DNS_Server", DHCP_OPTION_DNS, 0},
        {"Log_Server", DHCP_OPTION_LOGSERVER, 0},
        {"Cookie_Server", DHCP_OPTION_COOKIESERVER, 0},
        {"LPR_Server", DHCP_OPTION_LPRSERVER, 0},
        {"Impress_Server", DHCP_OPTION_IMPRESSSERVER, 0},
        {"RLP_Server", DHCP_OPTION_RESLOCSERVER, 0},
        {"Hostname", DHCP_OPTION_HOSTNAME, 255},
        {"Boot_File_Size", DHCP_OPTION_BOOTFILESIZE, 2},
        //{"Zone_Name", DHCP_OPTION_DOMAINNAME, 255},
        {"Swap_Server", DHCP_OPTION_SWAPSERVER, 0},
        {"Root_Path", DHCP_OPTION_ROOTPATH, 255},
        {"Extension_Path", DHCP_OPTION_EXTSPATH, 255},
        {"Forward_On/Off", DHCP_OPTION_IPFORWARD, 1},
        {"SrcRte_On/Off", DHCP_OPTION_NONLOCALSR, 1},
        {"Policy_Filter_IP", DHCP_OPTION_POLICYFILTER, 0},
        {"Policy_Filter_Mask", DHCP_OPTION_POLICYFILTER, 0},
        {"Default_IP_TTL", DHCP_OPTION_IPTTL, 1},
        {"MTU_Timeout", DHCP_OPTION_PATHMTUAGING, 4},
        {"MTU_Plateau", DHCP_OPTION_PATHMTUPLATEAU, 2},
        {"MTU_Interface", DHCP_OPTION_INTERFACEMTU, 2},
        {"MTU_Subnet", DHCP_OPTION_SUBNETSLOCAL, 1},
        {"Broadcast_Address", DHCP_OPTION_BCASTADDRESS, 0},
        {"Mask_Discovery", DHCP_OPTION_MASKDISCOVERY, 1},
        {"Mask_Supplier", DHCP_OPTION_MASKSUPPLIER, 1},
        {"Router_Discovery", DHCP_OPTION_ROUTERDISCOVERY, 1},
        {"Router_Request", DHCP_OPTION_ROUTERSOLIC, 0},
        {"Static_Route_IP", DHCP_OPTION_STATICROUTE, 0},
        {"Static_Route_Mask", DHCP_OPTION_STATICROUTE, 0},
        {"Trailers", DHCP_OPTION_TRAILERENCAPS, 1},
        {"ARP_Timeout", DHCP_OPTION_ARPTIMEOUT, 4},
        {"Ethernet_Encp", DHCP_OPTION_ETHERNETENCAPS, 1},
        {"Default_TCP_TTL", DHCP_OPTION_TCPTTL, 1},
        {"Keepalive_Time", DHCP_OPTION_TCPKEEPALIVEINT, 4},
        {"Keepalive_Data", DHCP_OPTION_TCPKEEPALIVEGRBG, 1},
        {"NIS_Domain", DHCP_OPTION_NISDOMAIN, 255},
        {"NIS_Servers", DHCP_OPTION_NISSERVERS, 0},
        {"NTP_Servers", DHCP_OPTION_NTPSERVERS, 0},
        {"NETBIOS_Name_Srv", DHCP_OPTION_NETBIOSNAMESERV, 0},
        {"NETBIOS_Dist_Srv", DHCP_OPTION_NETBIOSDGDIST, 0},
        {"NETBIOS_Node_Type", DHCP_OPTION_NETBIOSNODETYPE, 1},
        {"NETBIOS_Scope", DHCP_OPTION_NETBIOSSCOPE, 255},
        {"X_Window_Font", DHCP_OPTION_X11FONTS, 0},
        {"X_Window_Manager", DHCP_OPTION_X11DISPLAYMNGR, 0},
        //{"Max_Lease", DHCP_OPTION_IPADDRLEASE, 4},
        {"Renewal_Time", DHCP_OPTION_RENEWALTIME, 4},
        {"Rebinding_Time", DHCP_OPTION_REBINDINGTIME, 4},
        {"Netware/IP_Domain", 62, 255},
        {"Netware/IP_Option", 63, 0},
        {"NIS+_Domain_Name", DHCP_OPTION_NISPLUSDOMAIN, 255},
        {"NIS+_Server_Addr", DHCP_OPTION_NISPLUSSERVERS, 0},
        {"TFTP_Server_Name", DHCP_OPTION_TFTPSERVER, 255},
        {"Boot_File", DHCP_OPTION_BOOTFILE, 255},
        {"Home_Agent_Addrs", DHCP_OPTION_MOBILEIPHOME, 0},
        {"SMTP_Server", DHCP_OPTION_SMTPSERVER, 0},
        {"POP3_Server", DHCP_OPTION_POP3SERVER, 0},
        {"NNTP_Server", DHCP_OPTION_NNTPSERVER, 0},
        {"WWW_Server", DHCP_OPTION_WWWSERVER, 0},
        {"Finger_Server", DHCP_OPTION_FINGERSERVER, 0},
        {"IRC_Server", DHCP_OPTION_IRCSERVER, 0},
        {"StreetTalk_Server", DHCP_OPTION_STSERVER, 0},
        {"STDA_Server", DHCP_OPTION_STDASERVER, 0},
        {"iSNS", 83, 14},
        {"NDS_Servers", DHCP_OPTION_NDSSERVERS, 0},
        {"NDS_Tree_Name", DHCP_OPTION_NDSTREENAME, 255},
        {"NDS_Context", 87, 255},
        {"LDAP_URL", DHCP_OPTION_LDAP, 255},
        {"Auto_Configure", DHCP_OPTION_AUTO_CONFIG, 1},
        {"Name_Service_Search", DHCP_OPTION_NAMESERVICESEARCH, 2},
        {"Subnet_Selection", DHCP_OPTION_SUBNETSELECTION, 0},
        {"DNS_Domain_Search", DHCP_OPTION_DOMAINSEARCH, 255},
        {"TFTP_Phone_Server", DHCP_OPTION_TFPTSERVERIPADDRESS, 0},
        //{"TFTP_Server", DHCP_OPTION_TFPTSERVERIPADDRESS, 0},
        {"Call_Server", DHCP_OPTION_CALLSERVERIPADDRESS, 0},
        {"Discrimination_String", DHCP_OPTION_DISCRIMINATIONSTRING, 255},
        {"RemoteStatisticsServer", DHCP_OPTION_REMOTESTATISTICSSERVER, 0},
        {"Phone_Http_Proxy", DHCP_OPTION_HTTPPROXYFORPHONE_SPEC, 0},
        {"IP_Phone", 176, 255},
        {"Next_Server", DHCP_OPTION_NEXTSERVER, 0}
    };

void WINAPI ServiceControlHandler(DWORD controlCode)
{
	switch (controlCode)
	{
		case SERVICE_CONTROL_INTERROGATE:
			break;

		case SERVICE_CONTROL_SHUTDOWN:
		case SERVICE_CONTROL_STOP:
			serviceStatus.dwCurrentState = SERVICE_STOP_PENDING;
			SetServiceStatus(serviceStatusHandle, &serviceStatus);

			SetEvent(stopServiceEvent);
			return ;

		case SERVICE_CONTROL_PAUSE:
			break;

		case SERVICE_CONTROL_CONTINUE:
			break;

		default:
			if (controlCode >= 128 && controlCode <= UCHAR_MAX)
				break;
			else
				break;
	}

	SetServiceStatus(serviceStatusHandle, &serviceStatus);
}

void WINAPI ServiceMain(DWORD /*argc*/, TCHAR* /*argv*/[])
{
	serviceStatus.dwServiceType = SERVICE_WIN32;
	serviceStatus.dwCurrentState = SERVICE_STOPPED;
	serviceStatus.dwControlsAccepted = 0;
	serviceStatus.dwWin32ExitCode = NO_ERROR;
	serviceStatus.dwServiceSpecificExitCode = NO_ERROR;
	serviceStatus.dwCheckPoint = 0;
	serviceStatus.dwWaitHint = 0;

	serviceStatusHandle = RegisterServiceCtrlHandler(serviceName, ServiceControlHandler);

	if (serviceStatusHandle)
	{
		serviceStatus.dwCurrentState = SERVICE_START_PENDING;
		SetServiceStatus(serviceStatusHandle, &serviceStatus);

		init();
		data1 dhcpr;
		data5 dnsr;
		tv.tv_sec = 20;
		tv.tv_usec = 0;

		stopServiceEvent = CreateEvent(0, FALSE, FALSE, 0);

		serviceStatus.dwControlsAccepted |= (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN);
		serviceStatus.dwCurrentState = SERVICE_RUNNING;
		SetServiceStatus(serviceStatusHandle, &serviceStatus);

		if (cfig.dhcpConn[0].server || cfig.dnsUdpConn[0].server)
		{
			do
			{
				FD_ZERO(&readfds);

				if (dhcpService)
				{
					for (int i = 0; i < MAX_SERVERS && cfig.dhcpConn[i].server; i++)
						FD_SET(cfig.dhcpConn[i].sock, &readfds);
				}

				if (dnsService)
				{
					for (int i = 0; i < MAX_SERVERS && cfig.dnsUdpConn[i].server; i++)
						FD_SET(cfig.dnsUdpConn[i].sock, &readfds);

					FD_SET(cfig.forwConn.sock, &readfds);

					for (int i = 0; i < MAX_SERVERS && cfig.dnsTcpConn[i].server; i++)
						FD_SET(cfig.dnsTcpConn[i].sock, &readfds);

				}

				//printf("%i\n",select(USHRT_MAX, &readfds, NULL, NULL, &tv));
				if (select(cfig.maxFD, &readfds, NULL, NULL, &tv))
				{
					if (dhcpService)
					{
						for (int i = 0; i < MAX_SERVERS && cfig.dhcpConn[i].server; i++)
						{
							if (FD_ISSET(cfig.dhcpConn[i].sock, &readfds))
							{
								if (gdmess(&dhcpr, i))
								{
									if (sdmess(&dhcpr))
									{
										if (alad(&dhcpr))
										{
											if (dhcpr.lease)
											{
												if (cfig.logLevel == 2)
												{
													sprintf(logBuff, "Host %s alotted %s for %u seconds", dhcpr.hostname, IP2String(tempbuff, dhcpr.dhcpp.header.bp_yiaddr), dhcpr.lease);
													logMess(logBuff, 2);
												}
											}
											else
											{
												if (cfig.logLevel == 2)
												{
													sprintf(logBuff, "Host %s alotted %s", dhcpr.hostname, IP2String(tempbuff, dhcpr.dhcpp.header.bp_yiaddr));
													logMess(logBuff, 2);
												}
											}
										}
									}
								}
							}
						}
					}

					if (dnsService)
					{
						for (int i = 0; i < MAX_SERVERS && cfig.dnsUdpConn[i].server; i++)
						{
							if (FD_ISSET(cfig.dnsUdpConn[i].sock, &readfds))
							{
								if (gdnmess(&dnsr, i))
								{
									if (dnsr.dnsp->header.rcode == RCODE_REFUSED)
									{
										if (cfig.logLevel)
										{
											sprintf(logBuff, "Client %s, DNS Query, Access Denied", inet_ntoa(dnsr.addr.sin_addr));
											logMess(logBuff, 1);
										}
										sdnmess(&dnsr);
									}
									else if (dnsr.dnsp->header.rcode == RCODE_NOTIMPL)
									{
										if (cfig.logLevel)
										{
											sprintf(logBuff, "Client %s, DNS Query Type %u not supported", inet_ntoa(dnsr.addr.sin_addr), dnsr.qtype);
											logMess(logBuff, 1);
										}
										sdnmess(&dnsr);
									}
									else if (scanloc(&dnsr))
									{
										if (dnsr.dnsp->header.rcode == RCODE_NOTIMPL)
										{
											if (cfig.logLevel)
											{
												sprintf(logBuff, "Client %s, DNS Query Type %u not supported", inet_ntoa(dnsr.addr.sin_addr), dnsr.qtype);
												logMess(logBuff, 1);
											}
										}
										else if (dnsr.dnsp->header.rcode == RCODE_NOTAUTH)
										{
											if (cfig.logLevel)
											{
												sprintf(logBuff, "Client %s, Server is not Authorized for Zone %s", inet_ntoa(dnsr.addr.sin_addr), dnsr.query);
												logMess(logBuff, 1);
											}
										}
										else if (htons(dnsr.dnsp->header.ancount))
										{
											if (cfig.logLevel == 2)
											{
												if (dnsr.qtype == DNS_TYPE_SOA)
														sprintf(logBuff, "Client %s, SOA Sent", inet_ntoa(dnsr.addr.sin_addr));
												else if (dnsr.qtype == DNS_TYPE_NS)
														sprintf(logBuff, "Client %s, NS Sent", inet_ntoa(dnsr.addr.sin_addr));
												else if (dnsr.cache.dataType == CACHED)
													sprintf(logBuff, "%s resolved from Cache to %s", dnsr.query, getResult(dnsr.dnsp));
												else
													sprintf(logBuff, "%s resolved Locally to %s", dnsr.query, getResult(dnsr.dnsp));

												logMess(logBuff, 2);
											}
										}
										else
										{
											if (cfig.logLevel == 2)
											{
												sprintf(logBuff, "%s not found", dnsr.cname);
												logMess(logBuff, 2);
											}
										}
										sdnmess(&dnsr);
									}
									else if (!fdnmess(&dnsr))
									{
										if (dnsr.localCode == 2)
										{
											if (cfig.logLevel)
											{
												sprintf(logBuff, "%s not found", dnsr.cname);
												logMess(logBuff, 2);
											}
										}
										else
										{
											if (cfig.logLevel)
											{
												sprintf(logBuff, "Failed to Forward %s", dnsr.cname);
												logMess(logBuff, 1);
											}
										}
									}
								}
							}
						}

						for (int i = 0; i < MAX_SERVERS && cfig.dnsTcpConn[i].server; i++)
						{
							if (FD_ISSET(cfig.dnsTcpConn[i].sock, &readfds))
							{
								data5 *req = (data5*)calloc(sizeof(data5), 1);
								if (!req)
								{
									sprintf(logBuff, "Memory Error");
									logMess(logBuff, 1);
									continue;
								}

								req->sockInd = i;
								req->sockLen = sizeof(req->addr);
								errno = 0;
								req->sock = accept(cfig.dnsTcpConn[i].sock, (sockaddr*)&req->addr, &req->sockLen);

								if (req->sock == -1)
								{
									if (cfig.logLevel)
									{
										sprintf(logBuff, "Accept Failed, Error=%u", WSAGetLastError());
										logMess(logBuff, 1);
										free(req);
									}
									continue;
								}

								if (_beginthread(
								    procTCP,              		// thread function
								    0,                         	// default security attributes
								    req) < 0)        			// argument to thread function
									{
										if (cfig.logLevel)
										{
											sprintf(logBuff, "Thread Creation Failed");
											logMess(logBuff, 1);
										}
										free(req);
									}
							}
						}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av在线影院| 国产精品伦理一区二区| 日韩黄色片在线观看| 欧美性猛交xxxx黑人交| 成人爽a毛片一区二区免费| 亚洲高清不卡在线观看| 国产日韩av一区| 欧美日免费三级在线| 久国产精品韩国三级视频| 国产欧美在线观看一区| 欧美日韩在线观看一区二区 | av在线不卡网| 日韩激情一二三区| 亚洲激情中文1区| 欧美成人精品福利| 精品不卡在线视频| 欧美色偷偷大香| 色噜噜狠狠色综合中国| 91丨九色丨蝌蚪丨老版| 从欧美一区二区三区| 成+人+亚洲+综合天堂| 成人激情开心网| 91视视频在线直接观看在线看网页在线看| 国产精品小仙女| 色综合欧美在线| 制服丝袜激情欧洲亚洲| 欧美一级一区二区| 欧美视频完全免费看| 欧美色男人天堂| 91精品国产日韩91久久久久久| 久久婷婷久久一区二区三区| 亚洲免费av高清| 经典三级视频一区| 99re这里只有精品6| 欧美日韩电影一区| 国产精品午夜免费| 亚洲欧美激情在线| 蜜臀久久久久久久| 91免费精品国自产拍在线不卡| 精品日韩在线观看| 亚洲国产毛片aaaaa无费看| 亚洲欧美另类小说视频| 五月天亚洲精品| 99视频有精品| 国产亚洲欧美在线| 卡一卡二国产精品| 欧美日韩电影一区| 日韩精品亚洲专区| 91精品国产综合久久香蕉的特点| 国产精品美女久久久久高潮| 免费观看在线综合| 4438x成人网最大色成网站| 亚洲美女一区二区三区| 成人av免费在线| 国产精品成人一区二区艾草 | 精品综合免费视频观看| 91在线精品一区二区三区| 国产精品国产自产拍高清av| 粉嫩蜜臀av国产精品网站| 中文字幕高清一区| 色综合久久88色综合天天免费| 亚洲国产日韩精品| 精品三级av在线| 在线看日韩精品电影| 日韩av成人高清| 久久色视频免费观看| 国产91丝袜在线观看| 中文字幕欧美激情| 91麻豆精品91久久久久同性| 国产成人在线看| 亚洲五码中文字幕| 久久精品一区蜜桃臀影院| 91香蕉视频黄| 国产精品91一区二区| 一区二区三区中文在线观看| 2023国产精华国产精品| 色综合中文字幕国产 | 国产精品久久久久久久久快鸭| 亚洲韩国精品一区| 国产欧美一区二区三区鸳鸯浴| 欧美日韩你懂得| heyzo一本久久综合| 国产精品18久久久久| 日韩成人一区二区| 国产精品福利av| 久久久久国产精品免费免费搜索| 7777精品伊人久久久大香线蕉经典版下载 | 精品成人一区二区三区| 日韩欧美国产一区二区三区| 日韩免费性生活视频播放| 久久婷婷国产综合精品青草| 国产蜜臀av在线一区二区三区| 中文字幕一区二区三区精华液| 国产精品成人网| 亚洲精品成人在线| 日本一道高清亚洲日美韩| 精品一区二区免费视频| 91日韩在线专区| 欧美xxxxxxxx| 免费观看30秒视频久久| 一本大道久久a久久综合| 日韩网站在线看片你懂的| 国产精品不卡在线观看| 日韩电影在线一区二区三区| 91美女蜜桃在线| 国产精品不卡一区| 麻豆成人免费电影| 欧美一区二区三区成人| 一区二区三区在线视频播放| 狠狠色丁香久久婷婷综合丁香| 欧美视频在线一区二区三区| 中文一区二区在线观看| 美女视频网站久久| 欧美日韩1区2区| 美女任你摸久久| 欧美变态口味重另类| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲精品在线三区| 精品一区二区免费| 国产欧美综合在线| jizz一区二区| 亚洲综合一区在线| 欧美亚洲动漫精品| 日韩成人午夜精品| 久久久久国色av免费看影院| 久久国产精品露脸对白| 国产精品色在线| 欧美日韩另类国产亚洲欧美一级| 日本美女一区二区三区| 精品日韩成人av| 99久久精品国产导航| 亚洲一区二区偷拍精品| 日韩免费在线观看| 欧美性感一类影片在线播放| 久久9热精品视频| 一区二区三区电影在线播| 欧美一区二区三区白人| 成人午夜激情影院| 男女男精品视频网| 亚洲中国最大av网站| 日韩精品在线网站| 日本韩国欧美一区二区三区| 国产麻豆日韩欧美久久| 免费av网站大全久久| 亚洲国产一区视频| 亚洲欧美国产77777| 国产欧美1区2区3区| 精品国一区二区三区| 欧美日韩国产精品自在自线| 91视频精品在这里| 国产成a人无v码亚洲福利| 性欧美大战久久久久久久久| 国产精品全国免费观看高清| 国产精品久久精品日日| 亚洲色图色小说| 亚洲精品福利视频网站| 午夜伊人狠狠久久| 免费美女久久99| 国产一区欧美日韩| caoporn国产一区二区| 99精品黄色片免费大全| 在线视频你懂得一区| 91精品在线一区二区| 久久久久久久综合日本| 亚洲乱码中文字幕| 日韩精品欧美成人高清一区二区| 精品一区二区三区久久| 色欲综合视频天天天| 日韩女优av电影| 水蜜桃久久夜色精品一区的特点 | 色94色欧美sute亚洲13| 欧美变态tickle挠乳网站| 亚洲欧美一区二区三区孕妇| 韩国成人福利片在线播放| 91福利小视频| 亚洲人成网站精品片在线观看| 国产精品自拍毛片| 精品国产青草久久久久福利| 天堂成人国产精品一区| 91在线精品一区二区三区| 日韩免费观看2025年上映的电影| 久久综合久久综合久久| 麻豆免费精品视频| 欧美精品xxxxbbbb| 亚洲超丰满肉感bbw| 欧美色偷偷大香| 天堂资源在线中文精品| 欧美特级限制片免费在线观看| 18成人在线视频| 777色狠狠一区二区三区| 一区二区三区高清在线| 欧美亚洲免费在线一区| 亚洲欧美日韩久久| 欧美日韩国产片| 国产一区中文字幕| 国产精品欧美久久久久无广告 | 国产日韩欧美综合一区| 色欧美日韩亚洲| 午夜精品爽啪视频| 久久久久久久久久久久久久久99 |