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

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

?? iis.cpp

?? pgp soucecode pgp soucecode
?? CPP
?? 第 1 頁 / 共 2 頁
字號(hào):
//____________________________________________________________________________
//	Copyright (C) 1998 Network Associates Inc. and affiliated companies.
//	All rights reserved.
//	
//	iis.c -- iis administration functions.
//  Author: Philip Nathan
//
//Id: iis.c,v 1.1 1999/02/10 00:06:08 philipn Exp $_______________________
//IIS

#define INITGUID 
#define STATUS_STRING_SIZE 2048

#include <stdio.h>
#include <windows.h>
#include "CrtVDir.h"
#include <iostream.h>
#include <winnt.h>
#include <ks.h>
#include "iadmw.h"							// COM Interface header 
#include "iiscnfg.h"						// MD_ & IIS_MD_ #defines 
#include "iwamreg.h"
#include "atlBase.h"						// ATL support for smart pointers

#include "install.h"
#include "prototype.h"


#if PGPCERTD
	//IIS admin 
	CComPtr <IMSAdminBase> g_spAdminBase;  
	CComPtr <IWamAdmin> g_spWamAdmin;  

	char*	Title = "IIS Configuration";
	int		g_nOperation;						// CD == 1, RD == 2, CA == 3, RA == 4
	DWORD	g_dwPermissions = 1, g_dwSite = 1;	// default to "read" permission and site 1
	DWORD	g_dwAuthorization = 5;				//default to MD_AUTH_ANONYMOUS | MD_AUTH_NT
	BOOL	g_bInProc = true;
	BOOL	g_CD = true;
	LPSTR	lpstrPath;
	char*	pName;


	int CreateIISVDir(int arg)
	{
		//getting path
		#define PATHTOCERTDKEY "SOFTWARE\\Network Associates\\PGP Certificate Server"
		LPSTR lpstrCertPath;
		LPSTR lpstrCgiPath;
		LPSTR lpstrDocPath;
		DWORD dwType;
		DWORD dwSize;
		LPBYTE pValue		= NULL;
		HKEY hMainKey		= HKEY_LOCAL_MACHINE;
		HKEY hOpenKey		= NULL;
		char* Name = "AppPath";	
		BOOL bNewDefaultFile = 0;
		char* NewDefaultFile = "";
		BOOL bSetCustomErr = 0;

		//Get usage
		if	((1 != arg)	&&
			(0 != arg))		
		{
			MessageBox (GetFocus(), "Usage error: use either CD or RD\n"
									"for CommandLine.\n\n"
									"1 = Create Directory\n"
									"0 = Remove Directory\n", Title, 0 | MB_ICONERROR);
			return 0;
		}

		if(1 == arg)
		{
			g_CD = true;
		}
		if(0 == arg)
		{
			g_CD = false;
		}


		CHAR szStatus[STATUS_STRING_SIZE];
		HRESULT hres = S_OK;

		// initialize COM
		hres = CoInitialize(NULL);

		if (FAILED(hres))
		{
			wsprintf(szStatus, "CoInitializeEx failed: %d (0x%08x)", hres, hres);
			//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			return 0;
		}

		// get a pointer to the IIS Admin Base Object
		hres = CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, 
				IID_IMSAdminBase, (void **) &g_spAdminBase);  

		if (FAILED(hres))  
		{
			wsprintf(szStatus, "CoCreateInstance failed for CLSID_MSAdminBase: %d (0x%08x)", hres, hres);
			//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			CoUninitialize();
			return 0;  
		}

		// get a pointer to the IWamAdmin Object
		hres = CoCreateInstance(CLSID_WamAdmin, NULL, CLSCTX_ALL, 
				IID_IWamAdmin, (void **) &g_spWamAdmin);  

		if (FAILED(hres))  
		{
			wsprintf(szStatus, "CoCreateInstance failed for CLSID_WamAdmin: %d (0x%08x)", hres, hres);
			//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			g_spAdminBase.Release();
			CoUninitialize();
			return 0;  
		}

		if(g_CD)
		{
			if (RegOpenKeyEx(hMainKey, PATHTOCERTDKEY, 0, KEY_ALL_ACCESS, &hOpenKey)
							== ERROR_SUCCESS)
			{
				lpstrCertPath = (char*)malloc (_MAX_PATH);
				lpstrCgiPath = (char*)malloc (_MAX_PATH);
				lpstrDocPath = (char*)malloc (_MAX_PATH);

				dwSize = _MAX_PATH;
				pValue = (LPBYTE) calloc(sizeof(BYTE), (DWORD)dwSize);
				
				RegQueryValueEx(hOpenKey, Name, NULL, &dwType, pValue, &dwSize);
				RegCloseKey (hOpenKey);	
			}
			else
			{
				MessageBox (GetFocus(), "Unable to open certd key.", Title, 0 | MB_ICONERROR);
				return 0;
			}

			memcpy (lpstrCertPath, pValue, dwSize);
			memcpy (lpstrCgiPath, pValue, dwSize);
			memcpy (lpstrDocPath, pValue, dwSize);

			strcat (lpstrCertPath, "\\Web\\HTDOCS");
			strcat (lpstrCgiPath, "\\Web\\cgi-bin");
			strcat (lpstrDocPath, "\\Documentation");

			// create the virtual root
			//g_dwPermissions set to default 1
			g_dwAuthorization = 4;
			bSetCustomErr = 1;
			if(!CreateVirtualRoot("certserver", lpstrCertPath, g_dwPermissions, g_dwSite, szStatus
								,bNewDefaultFile, NewDefaultFile, bSetCustomErr))
				MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);

			// create the virtual root
			bSetCustomErr = 0;
			if(!CreateVirtualRoot("certserver/docs", lpstrDocPath, g_dwPermissions, g_dwSite, szStatus
								,bNewDefaultFile, NewDefaultFile, bSetCustomErr))
				MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);

			// create the virtual root
			//g_dwPermissions reset to 4 for execute permission
			g_dwPermissions = 4;
			g_dwAuthorization =4;
			if(!CreateVirtualRoot("certserver/cgi-bin", lpstrCgiPath, g_dwPermissions, g_dwSite, szStatus
								,bNewDefaultFile, NewDefaultFile, bSetCustomErr))
				MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);

			// create the virtual root
			g_dwAuthorization = 0;
			g_dwPermissions = 0;
			if(!CreateVirtualRoot("pks", lpstrCgiPath, g_dwPermissions, g_dwSite, szStatus
								,bNewDefaultFile, NewDefaultFile, bSetCustomErr))
				MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);

			// create the virtual root
			//g_dwPermissions reset to 4 for execute permission
			bNewDefaultFile = 1;
			NewDefaultFile = "Add.exe";
			g_dwPermissions = 4;
			g_dwAuthorization = 1;
			if(!CreateVirtualRoot("pks/Add", lpstrCgiPath, g_dwPermissions, g_dwSite, szStatus
								,bNewDefaultFile, NewDefaultFile, bSetCustomErr))
				MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);

			// create the virtual root
			bNewDefaultFile = 1;
			NewDefaultFile = "Lookup.exe";
			g_dwPermissions = 4;
			g_dwAuthorization = 1;
			if(!CreateVirtualRoot("pks/Lookup", lpstrCgiPath, g_dwPermissions, g_dwSite, szStatus
								,bNewDefaultFile, NewDefaultFile, bSetCustomErr))
				MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);

			//cleanup
			if (pValue)
				free(pValue);
			if (lpstrCertPath)
				free(lpstrCertPath);
			if (lpstrCgiPath)
				free(lpstrCgiPath);
			if (lpstrDocPath)
				free(lpstrDocPath);
		}
		else
		{
			// delete the virtual root
			//dont show err msg
			if(!DeleteVirtualRoot("certserver/cgi-bin", g_dwSite, szStatus))
				Sleep(1);
				//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			// delete the virtual root
			if(!DeleteVirtualRoot("certserver/docs", g_dwSite, szStatus))
				Sleep(1);
				//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			// delete the virtual root
			if(!DeleteVirtualRoot("certserver", g_dwSite, szStatus))
				Sleep(1);
				//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			// delete the virtual root
			if(!DeleteVirtualRoot("pks/Lookup", g_dwSite, szStatus))
				Sleep(1);
				//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			// delete the virtual root
			if(!DeleteVirtualRoot("pks/Add", g_dwSite, szStatus))
				Sleep(1);
				//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
			// delete the virtual root
			if(!DeleteVirtualRoot("pks", g_dwSite, szStatus))
				Sleep(1);
				//MessageBox (GetFocus(), szStatus, Title, 0 | MB_ICONERROR);
		}

		// this needs to be released before we uninitialize COM
		g_spAdminBase.Release();
		g_spWamAdmin.Release();

		CoUninitialize();
		return 0;
	}

	/*
	Function :  CreateVirtualRoot

	Description:

		Creates the specified virtual root

	Arguments:

		szName - Name of the virtual root to add
		szPhysicalPath - Physical path of the virtual root
		dwPermissions - Access permissions for the virtual root
		dwSite - The site to which the virtual root is to be added
		szStatus - The function can report error descriptions in this string

	Return Value:

		Returns TRUE if successfull; otherwise FALSE.
	*/
	BOOL CreateVirtualRoot(
		LPSTR szName,
		LPSTR szPhysicalPath,
		DWORD dwPermissions,
		DWORD dwSite,
		CHAR szStatus[STATUS_STRING_SIZE],
		BOOL bNewDefaultFile,
		char* NewDefaultFile,
		BOOL bSetCustomErr
		)
	{
		CHAR szMetaPath[MAX_PATH];
		BOOL bResult;

		// Create the metabase path

		wsprintf(szMetaPath, "/LM/W3SVC/%d/ROOT/%s", dwSite, szName);

		// Create a new key for the virtual directory

		bResult = WrAddKey(szMetaPath);

		if (!bResult)
		{
			wsprintf(
				szStatus,
				"CreateVirtualRoot: Error %d (0x%08x) creating key for virtual root",
				GetLastError(),
				GetLastError()
				);

			goto Failed;
		}

		// Set the key type for the virtual directory

		bResult = WrSetData(
			szMetaPath,         // metabase path
			MD_KEY_TYPE,        // identifier
			METADATA_INHERIT,   // attributes
			IIS_MD_UT_FILE,     // user type
			STRING_METADATA,    // data type
			0,                  // data size (not used for STRING_METADATA)
			"IIsWebVirtualDir"  // data
			);

		if (!bResult)
		{
			wsprintf(szStatus, "CreateVirtualRoot: Error %d (0x%08x)setting key type for virtual root",
				GetLastError(), GetLastError());

			goto Failed;
		}
            
		// Set the VRPath for the virtual directory

		bResult = WrSetData(
			szMetaPath,         // metabase path
			MD_VR_PATH,         // identifier
			METADATA_INHERIT,   // attributes
			IIS_MD_UT_FILE,     // user type
			STRING_METADATA,    // data type
			0,                  // data size (not used for STRING_METADATA)
			szPhysicalPath      // data
			);

		if (!bResult)
		{
			wsprintf(szStatus, "CreateVirtualRoot: Error %d (0x%08x) setting vrpath for virtual root",
					GetLastError(), GetLastError());

			goto Failed;
		}

		// Set the permissions for the virtual directory

		bResult = WrSetData(
			szMetaPath,         // metabase path
			MD_ACCESS_PERM,     // identifier
			METADATA_INHERIT,   // attributes
			IIS_MD_UT_FILE,     // user type
			DWORD_METADATA,     // data type
			0,                  // data size (not used for DWORD_METADATA)
			&dwPermissions      // data
			);



		if (!bResult)
		{
			wsprintf(szStatus, "CreateVirtualRoot: Error %d (0x%08x) setting permissions for virtual root",
					GetLastError(), GetLastError());

			goto Failed;
		}
		
		
		// Set the Authorization for the virtual directory
		bResult = WrSetData(
			szMetaPath,         // metabase path
			MD_AUTHORIZATION,   // identifier
			METADATA_INHERIT,   // attributes
			IIS_MD_UT_FILE,     // user type
			DWORD_METADATA,     // data type
			0,                  // data size (not used for DWORD_METADATA)
			&g_dwAuthorization	// data
			);

		if (!bResult)
		{
			wsprintf(szStatus, "CreateVirtualRoot: Error %d (0x%08x) setting Authorization for virtual root",
					GetLastError(), GetLastError());
		}

		if(bNewDefaultFile)
		{
			// Set a new default load file
			bResult = WrSetData(
				szMetaPath,					// metabase path
				MD_DEFAULT_LOAD_FILE,		// identifier
				METADATA_INHERIT,			// attributes
				IIS_MD_UT_FILE,				// user type
				STRING_METADATA,			// data type
				0,							// data size (not used for STRING_METADATA)
				NewDefaultFile				// data
				);

			if (!bResult)
			{
				wsprintf(szStatus, "CreateVirtualRoot: Error %d (0x%08x) setting new default file for virtual root",
						GetLastError(), GetLastError());
			}
		}
		
//DONT SET CUSTOM ERROR UNTIL PROPER WAY IS FOUND
//		if(bSetCustomErr)
//		{
//			LPSTR lpstrCustomError;
//			LPSTR StringsA [5] = {"404,", "*,", "FILE,", szPhysicalPath, "\\error_doc.html"};
//			int i = 0;
//			int iTotalLength = 0;
//		
//			lpstrCustomError = (char*)malloc(strlen(szPhysicalPath)+27/*total chars*/+5/*nulls*/);
//			strcpy(lpstrCustomError, StringsA[0]);
//			strcat(lpstrCustomError, StringsA[1]);
//			strcat(lpstrCustomError, StringsA[2]);
//			strcat(lpstrCustomError, StringsA[3]);
//			strcat(lpstrCustomError, StringsA[4]);
//			//add extra null to end
//			lpstrCustomError [strlen (lpstrCustomError) + 1] = '\0';
//
//			// Set new custom error
//			bResult = WrSetData(
//				szMetaPath,         // metabase path
//				MD_CUSTOM_ERROR,    // identifier
//				METADATA_INHERIT,   // attributes
//				IIS_MD_UT_SERVER,   // user type
//				STRING_METADATA,	// data type
//				0,
//				lpstrCustomError	// data
//				);
//
//			if (!bResult)
//			{
//				wsprintf(szStatus, "CreateVirtualRoot: Error %d (0x%08x) setting custom error for virtual root",
//						GetLastError(), GetLastError());
//			}
//		}

		// Commit the changes and return

		g_spAdminBase->SaveData();

		wsprintf(szStatus, "CreateVirtualRoot completed successfully.");
    
		return TRUE;

	Failed:

		return FALSE;
	}

	/*
	Function :  DeleteVirtualRoot

	Description:

		Deletes the specified virtual root

	Arguments:

		szName - Name of the virtual root to be deleted
		dwSite - The site from which the virtual root will be deleted
		szStatus - The function can report error descriptions in this string

	Return Value:

		Returns TRUE if successfull; otherwise FALSE.

	*/

	BOOL DeleteVirtualRoot(
		LPSTR szName,
		DWORD dwSite,
		CHAR szStatus[STATUS_STRING_SIZE]
		)
	{
		CHAR szMetaPath[MAX_PATH];
		CHAR szParent[MAX_PATH];
		CHAR szVDir[MAX_PATH];
		LPSTR szPtr;
		LPWSTR szwParent = NULL;
		LPWSTR szwVDir = NULL;
		METADATA_HANDLE hMetaData;
		BOOL fMetaData = FALSE;
		BOOL bRes;
		HRESULT hres;
		DWORD dwLastError;

		wsprintf(szMetaPath, "/LM/W3SVC/%d/ROOT/%s", dwSite, szName);

		strcpy(szParent, szMetaPath);

		szPtr = strrchr(szParent, '/');

		strcpy(szVDir, szPtr + 1);

		*szPtr = 0;

		szwParent = MakeUnicode(szParent, 1);
		szwVDir = MakeUnicode(szVDir, 1);

		if (!szwParent || !szwVDir)
		{
			SetLastError(ERROR_NOT_ENOUGH_MEMORY);

			wsprintf(
				szStatus,
				"DeleteVirtualDirectory failed: %d",
				GetLastError()
				);

			goto Failed;
		}

		// Delete any applications on this directory

		bRes = DeleteApplication(
			szMetaPath,     // metabase path
			FALSE,          // not recoverable
			TRUE,           // recursive
			szStatus        // status string
			);

		if (!bRes)
			goto Failed;

		// Get a handle to the metabase

		hres = g_spAdminBase->OpenKey(
			METADATA_MASTER_ROOT_HANDLE,
			szwParent,
			METADATA_PERMISSION_READ|METADATA_PERMISSION_WRITE,
			60000,

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人小视频免费在线观看| 精品国产百合女同互慰| 成人午夜在线播放| 国产精品77777竹菊影视小说| 日本欧美一区二区| 欧美午夜精品理论片a级按摩| 91免费视频网址| 99精品欧美一区二区三区综合在线| 夫妻av一区二区| 不卡在线视频中文字幕| 成人av综合一区| 91同城在线观看| 一本久道久久综合中文字幕| 91日韩精品一区| 91美女蜜桃在线| 欧美色图第一页| 欧美人与禽zozo性伦| 欧美一区二区视频观看视频| 91精品中文字幕一区二区三区| 91精品久久久久久久91蜜桃| 日韩免费一区二区三区在线播放| 欧美刺激午夜性久久久久久久| 91精品免费在线观看| 日韩午夜av一区| 久久精品视频一区二区| 国产日韩欧美综合在线| 国产精品久久久久aaaa樱花| 亚洲欧美日韩在线不卡| 亚洲电影一级片| 久久精品国产免费| 成人v精品蜜桃久久一区| 一道本成人在线| 欧美日韩在线亚洲一区蜜芽| 欧美一级欧美一级在线播放| 久久久久久久国产精品影院| 中文文精品字幕一区二区| 亚洲综合色噜噜狠狠| 免费在线观看一区二区三区| 国产麻豆精品视频| 色综合天天做天天爱| 日韩一区二区电影在线| 久久久久久久综合日本| 亚洲人成网站色在线观看| 亚洲6080在线| 国产成人免费xxxxxxxx| 91久久精品一区二区| 日韩免费视频一区二区| 国产精品成人一区二区三区夜夜夜| 一区二区高清免费观看影视大全 | 亚洲精品国产成人久久av盗摄| 亚洲韩国精品一区| 国产精品12区| 精品视频免费看| 久久精品夜色噜噜亚洲aⅴ| 亚洲人成亚洲人成在线观看图片 | 国产呦精品一区二区三区网站| 99久久久免费精品国产一区二区| 91精品中文字幕一区二区三区| 国产精品国产三级国产aⅴ中文| 亚洲18女电影在线观看| 成人午夜免费电影| 3atv一区二区三区| 国产精品久久久久婷婷二区次| 日韩成人午夜精品| 波多野结衣视频一区| 欧美一区二区三区免费视频 | 欧美电影影音先锋| 国产欧美一区二区精品性色| 婷婷成人激情在线网| 成人免费视频视频| 日韩一区二区三区三四区视频在线观看 | 国产黑丝在线一区二区三区| 欧美性xxxxxxxx| 中文字幕不卡在线观看| 麻豆精品国产91久久久久久| 在线影院国内精品| 国产精品欧美综合在线| 美女精品一区二区| 欧美日韩在线三级| 亚洲婷婷综合色高清在线| 国产乱码精品一区二区三区忘忧草| 欧美日韩国产影片| 成人欧美一区二区三区在线播放| 国产在线精品一区二区夜色 | 亚洲综合丁香婷婷六月香| 国产xxx精品视频大全| 日韩欧美亚洲国产另类| 天使萌一区二区三区免费观看| 91精品福利视频| 亚洲欧洲性图库| 国产精品亚洲午夜一区二区三区| 欧美α欧美αv大片| 人人超碰91尤物精品国产| 欧美色老头old∨ideo| 亚洲精品久久嫩草网站秘色| 成a人片亚洲日本久久| 国产精品久久夜| 盗摄精品av一区二区三区| 久久久久久免费毛片精品| 久久av中文字幕片| 日韩天堂在线观看| 免费在线看一区| 欧美一级高清片| 日韩影院精彩在线| 日韩一级精品视频在线观看| 日本网站在线观看一区二区三区| 欧美性xxxxxxxx| 天堂va蜜桃一区二区三区漫画版| 欧美精品色一区二区三区| 亚洲综合色噜噜狠狠| 色94色欧美sute亚洲线路一久| 亚洲桃色在线一区| 色综合久久久久综合体| 一区二区在线观看视频 | 国产亲近乱来精品视频| 国产成人综合在线观看| 国产欧美日本一区二区三区| 波多野结衣一区二区三区| ●精品国产综合乱码久久久久| av亚洲产国偷v产偷v自拍| 亚洲欧美激情插 | 中文字幕中文字幕一区| 99久久精品国产导航| 亚洲精品视频免费看| 在线观看亚洲精品视频| 香蕉久久夜色精品国产使用方法 | 日韩限制级电影在线观看| 精品影视av免费| 久久一夜天堂av一区二区三区| 国产成a人亚洲精| 亚洲特级片在线| 欧美三片在线视频观看| 青青草伊人久久| 久久综合久久综合九色| 丰满少妇久久久久久久| 亚洲精品videosex极品| 欧美色电影在线| 精品一区二区日韩| 中文字幕精品一区二区三区精品| 99久久99久久久精品齐齐| 欧美性三三影院| 久久国产精品99久久久久久老狼| 欧美高清在线视频| 色悠悠亚洲一区二区| 天堂一区二区在线| 久久精品网站免费观看| 色噜噜狠狠成人中文综合| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕的久久| 欧美性大战久久久久久久| 精品一区二区日韩| 一区二区三区在线视频免费观看 | 五月综合激情日本mⅴ| 久久久精品日韩欧美| 欧美在线观看视频一区二区| 韩国精品一区二区| 自拍偷拍亚洲欧美日韩| 日韩亚洲国产中文字幕欧美| caoporn国产一区二区| 午夜视频一区在线观看| 中文在线一区二区| 欧美一级二级三级蜜桃| 91啪亚洲精品| 精品午夜久久福利影院| 亚洲风情在线资源站| 国产亚洲精品bt天堂精选| 欧洲一区在线观看| 国产成人午夜精品影院观看视频| 亚洲一区在线播放| 日本一区二区久久| 欧美一区二区视频在线观看2020| 91啪九色porn原创视频在线观看| 激情久久久久久久久久久久久久久久| 亚洲欧美激情视频在线观看一区二区三区| 日韩欧美色综合网站| 欧洲视频一区二区| 国产99久久久国产精品免费看 | 欧美系列在线观看| 国产91精品一区二区| 秋霞电影一区二区| 亚洲一区在线免费观看| 国产精品久久久久毛片软件| 久久久一区二区三区捆绑**| 3751色影院一区二区三区| 午夜精品在线看| 亚洲欧美偷拍卡通变态| 久久理论电影网| 欧美一级理论片| 在线电影国产精品| 欧美在线视频全部完| 99热精品一区二区| 国产91精品一区二区| 国产老女人精品毛片久久| 免费av网站大全久久| 性久久久久久久久| 亚洲六月丁香色婷婷综合久久| 欧美国产一区二区| 国产亚洲综合av| 国产亚洲婷婷免费| 精品久久一区二区|