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

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

?? login.c

?? <B>Digital的Unix操作系統VAX 4.2源碼</B>
?? C
?? 第 1 頁 / 共 3 頁
字號:
		ar[i++] = host;	}	if(i < AUD_NPARAM)		tmask[i] = '\0';	if ( audgen ( LOGIN, tmask, ar ) == -1 ) perror ( "audgen" );#endif	NOAUDIT}/* * Cleanup() is the general error exit routine. */cleanup(time, code, message)int time;int code;char *message;{	int pid;		signal(SIGALRM, exit_handler);	if(code && message) {		audit_event(code, message);	}	alarm(60);	fflush(stdout);	fflush(stderr);	close(1);	close(2);	if(notty) {		for(pid=wait(0);pid != prompt_pid && pid != -1;pid = wait(0));	} else {		ioctl(0, TIOCHPCL, (struct sgttyb *) 0);		sleep(time);	}	close(0);	exit(code);}static int intcount = 0;void no_dir(i, j, k)int i, j, *k;{	intcount++;}/* * The main program. */main(argc, argv)	char *argv[];{	register char *namep;	int pflag = 0;		/* preserve environment from getty */	int t, f, c;	int invalid, quietlog;	int lcmask;	FILE *nlfd;	char *ttyn;	int ldisc = 0, zero = 0;	struct ttyent *t_ent;        char *cmd = NULL;	    char *prompter = NULL;	    static int first = TRUE;	REQ request;	REQ *req = &request;	extern int soft_exp, sec_level;	char theKey, *pKey, *pChar;	ver_t ultrix_v;	struct utsname un;        struct svcinfo *svcp;	int i, j, status, diff;	char lastmessage[100];#ifdef AUTHEN	char namebuf[ANAME_SZ];	char *ptr;#endif AUTHEN#ifndef	NOAUDIT/*  Turn off all auditing except for LOGIN and setgroups.*/	if ( audcntl ( SET_PROC_ACNTL, (char *)0, 0, AUDIT_AND, 0 ) == -1 ) perror ( "audcntl" );  	A_PROCMASK_SET ( buf, SYS_setgroups, 1, 1 );	A_PROCMASK_SET ( buf, LOGIN, 1, 1 );	if ( audcntl ( SET_PROC_AMASK, buf, LEN, 0, 0 ) == -1 ) perror ( "audcntl" );#endif	NOAUDIT	for (t = getdtablesize(); t >= 3; t--)	  close(t);	config_auth();	signal(SIGALRM, timedout);	signal(SIGQUIT, SIG_IGN);	signal(SIGINT, SIG_IGN);	setpriority(PRIO_PROCESS, 0, 0);	quota(Q_SETUID, 0, 0, 0);	/*	 * -r is used by rlogind to cause the autologin protocol;	 * -h is used by other servers to pass the name of the	 *     remote host to login so that it may be placed in utmp and wtmp	 * -p is used by getty to tell login not to destroy the environment	 * -P is used to specify a prompting program.	 * -C is used to specify a command to be execed by the users shell	 *     if the user passes the authentication and auth.	 * -e is used to specify extended prompter communications protocol.	 *     It is only meaningful in the presence of "-P".	 *//*	Initialize Kerberos if possibly needed 	*/#ifdef AUTHEN        if((svcp = getsvc()) == NULL)                {                fputs(" Cannot access security type\n", stderr);                exit(0);                }        if(svcp->svcauth.seclevel >= SEC_UPGRADE)                {                for (i = 0 ; svcp->svcpath[SVC_AUTH][i] != SVC_LAST; i++)                        if (svcp->svcpath[SVC_AUTH][i] == SVC_BIND) {                               if(gethostname(namebuf, sizeof(namebuf)) == -1)                                        {                                        fputs("gethostname failure\n", stderr);                                        }			if((ptr = index(namebuf, '.')) != (char *)0)				*ptr = '\0';                        if(krb_svc_init("hesiod", namebuf, (char *)NULL, 0,                               (char *)NULL, "/var/dss/kerberos/tkt/tkt.login")                                       != RET_OK) {                               fputs("Kerberos initialization failure\n",stderr);                                }			}                }#endif AUTHEN	if (argc > 1) {		if (strcmp(argv[1], "-r") == 0) {			rflag = doremotelogin(argv[2]);			SCPYN(utmp.ut_host, argv[2]);			argc = 0;		}		if (strcmp(argv[1], "-h") == 0 && getuid() == 0) {			dflag = dodecnetlogin();			SCPYN(utmp.ut_host, argv[2]);			argc = 0;		}		if (argc > 1 && strcmp(argv[1], "-p") == 0) {			argv++;			pflag = 1;			argc -= 1;		}		if (argc > 2 && strcmp(argv[1], "-P") == 0) {			if(getuid() == 0) {				notty = TRUE;				prompter = argv[2];			}			argv += 2;			argc -= 2;		}		if (argc > 2 && strcmp(argv[1], "-C") == 0) {			if(getuid() == 0) {				quietlog = TRUE;				cmd = argv[2];			}			argv += 2;			argc -= 2;		}		if (argc > 1 && strcmp(argv[1], "-e") == 0 && getuid() == 0) {			notty = TRUE;			eflag = 1;			argv++;			argc--;		}	}        if( ! notty ) {		ioctl(0, TIOCLGET, &lcmask);		lcmask &= LPASS8;		ioctl(0, TIOCLSET, &zero);		lcmask |= (LPRTERA | LCRTBS | LCRTERA);		ioctl(0, TIOCLSET, &lcmask);		ioctl(0, TIOCNXCL, 0);		ioctl(0, FIONBIO, &zero);		ioctl(0, FIOASYNC, &zero);		ioctl(0, TIOCGETP, &ttyb);		/* If on a LAT terminal, store the LAT server's name		 * into the host field of the utmp record.		 */		if (ioctl(0, LIOCTTYI, &ltattyi) == 0) {		    SCPYN(utmp.ut_host, ltattyi.lta_server_name);		}		/*		 * If talking to an rlogin process,		 * propagate the terminal type and		 * baud rate across the network.		 */		if (rflag)			doremoteterm(term, &ttyb);		ioctl(0, TIOCSLTC, &ltc);		ioctl(0, TIOCSETC, &tc);		ioctl(0, TIOCSETP, &ttyb);		ttyn = ttyname(0);		if (ttyn == (char *)0)			ttyn = "/dev/tty??";		tty = rindex(ttyn, '/');		if (tty == NULL)			tty = ttyn;		else			tty++;	} else {		if(argc > 1)		  tty = argv[1];		argc--;		argv++;	}	if(prompter != NULL) {		start_prompter(prompter, tty);	} else	  alarm(timeout);		openlog("login", 0);	if(eflag) {/* * If extended login protocol get rid of stderr to prevent spurious data * from getting into the prompter conversation.  All errors are reported * through the protocol using sendreq(). */		close(2);/* * Process the initial message from prompter. */		if(getreq(req) < 0)			cleanup(5, 1, "Prompter died");		if(req->opcode == INITIALIZE)			sendreq(INITIALIZE, VERSION);		else {			sendreq(ERRORNXIT, "Protocol error\n");			cleanup(10, 1, "Protocol error");		}	}	t = 0;	do {                if(!notty) {                        ldisc = 0;                        ioctl(0, TIOCSETD, &ldisc);		}		invalid = FALSE;		SCPYN(utmp.ut_name, "");		/*		 * Name specified, take it.		 */		if (argc > 1) {			SCPYN(utmp.ut_name, argv[1]);			argc = 0;		} else if (notty) {/* * Talking to prompter. */			/*			 * 029 - GAG			 * get the string and decypher			 */			sendreq(GETENAME, (char *)0);			if(getreq(req) < 0)				cleanup(5, 1, "Prompter died");			if(req->opcode != NAME) {				sendreq(ERRORNXIT, "Protocol error\n");				cleanup(10, 1, "Protocol error");			}/* * unsalt the string. */			pChar = req->data;			pKey = pChar++;			for (i = req->length; i && (*pChar) && (*pChar != '\n'); i--) {				*pKey ^= *pChar;				pKey = pChar++;			}			theKey = *pKey; /* save the Key */			*pKey = NULL;			if(!eflag) {				if(sscanf(req->data, "name: %s", utmp.ut_name) != 1)					utmp.ut_name[0] = '\0';			} else {				if(req->length > sizeof utmp.ut_name)					req->length = sizeof utmp.ut_name;				bzero(utmp.ut_name, sizeof utmp.ut_name);				bcopy(req->data, utmp.ut_name, req->length);			}			if(first) {				alarm(timeout);				first = FALSE;			}		}				/*		 * If remote login take given name,		 * otherwise prompt user for something.		 */		if (rflag || dflag) {			SCPYN(utmp.ut_name, lusername);			/* autologin failed, prompt for passwd */			if (rflag == -1)				rflag = 0;			if (dflag == -1)				dflag = 0;		} else			getloginname(&utmp);                if (!notty && !strcmp(pwd->pw_shell, "/bin/csh")) {			ldisc = NTTYDISC;			ioctl(0, TIOCSETD, &ldisc);		}		/*		 * If "termio" is specified in /etc/ttys then use the TERMIODISC		 * line discipline.		 */		if ((t_ent = getttynam(tty)) != NULL)			if (t_ent->ty_status & TTY_TERMIO){				ldisc = TERMIODISC;				ioctl(0, TIOCSETD, &ldisc);			}		/*		 * If no remote login authentication and		 * a password exists for this user, prompt		 * for one and verify it.		 */		if(sec_level >= SEC_UPGRADE && (auth == NULL || auth->a_uid != pwd->pw_uid))			auth = getauthuid(pwd->pw_uid);		if(!rflag && !dflag) {			setpriority(PRIO_PROCESS, 0, -4);			if( !notty ) {				if((sec_level < SEC_UPGRADE) ||				    sec_level == SEC_UPGRADE && strcmp(pwd->pw_passwd, "*")) {					if(*pwd->pw_passwd)						pp = getpass("Password:");					else						pp = "";				} else {					if(!auth || *auth->a_password)						pp = getpass("Password:");					else						pp = "";				}			} else {/* * Talking to prompter. */				int tmp = alarm(10);				void (*handler)();				/*				 * 029 - GAG				 * unbuffer stdin, line[0] is the Key,				 * line[1...] is the Cypher,				 */				handler = signal(SIGALRM, exit_handler);				if(!eflag)					setbuf(stdin, (char *) NULL);				sendreq(GETEPWD, (char *)0);				if(getreq(req) < 0)					cleanup(5, 1, "Prompter died");				if(req->opcode != PASSWD) {					sendreq(ERRORNXIT, "Protocol error\n");					cleanup(10, 1, "Protocol error");				}				if(eflag) {					LISTOFPASSWORDS *lop = (LISTOFPASSWORDS *)req->data;					pp = pChar = lop->passwords[0].data;					pKey = pChar++;					i = lop->passwords[0].length-1;				} else {					for(i=req->length+1; i; i--)						req->data[i] = req->data[i-1];					pChar = req->data;					pKey = pChar++;					*pKey = theKey;					i = req->length;				}				alarm(tmp);				signal(SIGALRM, handler);				/*				 * 029 - GAG				 * decypher line,				 * line[0...] becomes plaintext				 */				for (; i && (*pChar != '\n'); i--) {					*pKey ^= *pChar;					pKey = pChar++;				}				*pKey = NULL;					if(!eflag) { 					if(sscanf(req->data,"password: %[^\n]\n", req->data) != 1)						req->data[0] = '\0';					pp = req->data;				}			}			if(sec_level > SEC_UPGRADE || (sec_level == SEC_UPGRADE && !strcmp(pwd->pw_passwd, "*"))) {				if(auth && !(!*auth->a_password && *pp)) {					namep = crypt16(pp, auth->a_password);					pp = auth->a_password;				} else {					pp = "Nologin";					namep = "";				}			} else if(!(!*pwd->pw_passwd && *pp)) {				namep = crypt(pp, pwd->pw_passwd);				pp = pwd->pw_passwd;			} else {				pp = "Nologin";				namep = "";			}			setpriority(PRIO_PROCESS, 0, 0);			if (strcmp(namep, pp)) {				bzero(req->data, REQDATASIZ);				invalid = TRUE;				if(sec_level >= SEC_UPGRADE) {					if(auth=getauthuid(pwd->pw_uid))						if(svc_lastlookup == SVC_LOCAL) {							auth->a_fail_count++;							storeauthent(auth);						}				}			}			bzero(req->data, REQDATASIZ);		}		/*		 * If user not super-user, check for logins disabled.		 */		if (!invalid && pwd->pw_uid != 0 && (nlfd = fopen(nolog, "r")) > 0) {			char error[REQDATASIZ];			int i;			for(i=0; (c=getc(nlfd)) != EOF && i < REQDATASIZ-1; i++)				error[i] = c;			error[i++] = '\0';			sendreq(ERROR, error);                        cleanup(5, 1, "Logins disabled");		}		/*		 * If valid so far and root is logging in,		 * see if root logins on this terminal are permitted.		 */		if (!invalid && pwd->pw_uid == 0 && !rootterm(tty)) {			sendreq(ERROR, "Requires secure terminal\n");			syslog(LOG_INFO, "ROOT LOGIN REFUSED %s", tty);			invalid = TRUE;			cleanup(5, 1, "Unsecure terminal");		}		if(!invalid && sec_level >= SEC_UPGRADE) {			if(!(auth->a_authmask&A_LOGIN)) {				sendreq(ERROR, "This account has been disabled\n");				sendreq(ERRORNXIT, (char *)0);				cleanup(5, 1, "Account disabled");			}		}		if(!invalid && sec_level >= SEC_UPGRADE && auth->a_pw_maxexp) {/* * Check for password expiration. */			diff = auth->a_pass_mod				+ auth->a_pw_maxexp - time((long *) 0);			if(diff < 0) {				if(-diff > soft_exp || !(auth->a_authmask&A_CHANGE_PASSWORD)) {					sendreq(ERROR, "Your password has expired\n");					sendreq(ERRORNXIT, (char *)0);					invalid = TRUE;					cleanup(5, 1, "Password expired");				} else {					sendreq(CHGPWD, "Your password has expired, please change it\n");					endauthent();					if((i=vfork()) < 0) {						invalid = TRUE;						sendreq(ERRORNXIT, "Unable to fork\n");						cleanup(5, 1, "Unable to fork");					}					if(i == 0) {						chdir("/"); /* * Fire up passwd(1) to force user to set their password. */						if(eflag) 							execl("/bin/passwd", "/bin/passwd", "-ea", pwd->pw_name, (char *)0);						else {							setuid(pwd->pw_uid);							setgid(pwd->pw_gid);							execl("/bin/passwd", "passwd", pwd->pw_name, (char *) 0);						}						sendreq(ERROR, "Unable to exec passwd\n");						exit(1);					} else {						while((j=wait(&status)) != i && j >= 0) ;						if(status) {							invalid = TRUE;							sendreq(ERRORNXIT, "Failed to set new password\n");							cleanup(5, 1, "Failed to set new password");						} else {							if(svc_lastlookup == SVC_LOCAL) {								if(!(auth=getauthuid(pwd->pw_uid))) {									sendreq(ERRORNXIT, "Failed to retrieve auth record\n");									cleanup(5, 2, "No auth record");								}							} else								auth->a_pass_mod = time((long *) 0);						}					}				}			}		}		if (invalid) {			if (++t >= 5) {				sendreq(ERRORNXIT, "Login incorrect\n");				syslog(LOG_INFO,				    "REPEATED LOGIN FAILURES %s, %s",					tty, utmp.ut_name);                                cleanup(5, 1, "Repeated login failures");			} else {				if(pwd == &nouser)					audit_event(1, "Invalid account");				else					audit_event(1, "Failed authentication");				sendreq(ERROR, "Login incorrect\n");			}		} else {			if(sec_level >= SEC_UPGRADE) {				if(auth->a_fail_count) {					char line[BUFSIZ];					int i;					i = auth->a_fail_count;					auth->a_fail_count = 0;					if(svc_lastlookup == SVC_LOCAL)						storeauthent(auth);					sprintf(line, "There have been %d unsuccessful login attempts on your account\n", i);					sendreq(ERROR, line);					if(!notty)						fputs("", stdout);				}				diff = auth->a_pass_mod					+ auth->a_pw_maxexp - time((long *) 0);				if(auth->a_pw_maxexp && diff < 5*24*60*60) {					char line[BUFSIZ];					if(diff < 24*60*60)						strcpy(line, "Your password will expire very soon\n");					else						sprintf(line, "Your password will expire in %d days\n",							diff/(24*60*60));					sendreq(ERROR, line);				}			}			if(notty && !eflag) {				sendreq(VALIDNXIT, "Login succeeded\n");			}		}		if (*pwd->pw_shell == '\0')			pwd->pw_shell = "/bin/sh";		/*		 * Remote login invalid must have been because		 * of a restriction of some sort, no extra chances.		 */		if ((rflag|dflag) && invalid)			cleanup(0, 1, "Failed remote login");	} while (invalid);/* committed to login turn off timeout */	alarm(timeout);	if (quota(Q_SETUID, pwd->pw_uid, 0, 0) < 0) {		if (errno == EUSERS) {			sendreq(ERROR, "Too many users logged on already.\nTry again later.\n");			sendreq(ERRORNXIT, (char *) 0);			cleanup(5, 1, "Too many users");		} else if (errno == EPROCLIM) {			sendreq(ERROR, "You have too many processes running.\n");			sendreq(ERRORNXIT, (char *) 0);			cleanup(5, 1, "Too many processes for user");		} else {			sendreq(ERROR, "Error in quota call\n");			sendreq(ERRORNXIT, (char *) 0);			cleanup(5, 2, "Internal error in quota call");		}	}	/* Do the LMF check.         * The Ultrix version numbers are obtained from the kernel         * by uname().   The release date is defined on the command         * line which compiles this program, or by the pre-processor	 * lines below.	 */	uname(&un);	i = sscanf(un.release, "%hd.%hd", &ultrix_v.v_major, &ultrix_v.v_minor);	if (i==0) {		/* Try again in case it looks like `X4.6' */		i = sscanf(un.release, "%*[^0-9]%hd.%hd", &ultrix_v.v_major,			   &ultrix_v.v_minor);	}	if (i<2)		ultrix_v.v_minor = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产综合| 色av综合在线| 看国产成人h片视频| 亚洲一级在线观看| 国产精品情趣视频| 最新成人av在线| 粉嫩久久99精品久久久久久夜| 国产做a爰片久久毛片| 三级久久三级久久久| 蜜桃视频免费观看一区| 亚洲精品在线免费播放| 欧美日韩夫妻久久| 精品国产sm最大网站免费看 | 欧美日韩视频在线第一区 | 一区二区日韩av| 午夜欧美2019年伦理| 日韩美女一区二区三区四区| 免费一区二区视频| www.综合网.com| 4438成人网| 亚洲精品伦理在线| 成人动漫视频在线| 欧美性xxxxx极品少妇| 久久综合九色综合97婷婷女人| 国产精品视频第一区| 日韩有码一区二区三区| 成人影视亚洲图片在线| 91精品国产色综合久久不卡电影| 国产午夜精品美女毛片视频| 亚洲第一主播视频| 91蝌蚪porny九色| 国产精品日韩成人| 国产精品91xxx| 久久久久久久综合日本| 在线视频欧美精品| 久久只精品国产| 奇米影视在线99精品| 欧美四级电影在线观看| 精品综合久久久久久8888| 日韩综合小视频| 国产精品1024久久| 精品sm捆绑视频| 午夜精品一区在线观看| 欧美综合久久久| 亚洲高清不卡在线| 欧美丰满嫩嫩电影| 日韩国产精品久久| 欧美精品在线观看播放| 视频一区二区欧美| 日韩亚洲欧美一区| 老司机午夜精品| 久久久久久久av麻豆果冻| 亚洲日本一区二区三区| 91欧美激情一区二区三区成人| 一区二区三区小说| 日韩片之四级片| 精品一区二区在线免费观看| 久久久久九九视频| 大尺度一区二区| 亚洲精品美国一| 337p亚洲精品色噜噜| 国产精品一级在线| 亚洲视频资源在线| 欧美日韩成人一区| 丁香婷婷综合网| 亚洲国产精品一区二区久久| 久久先锋资源网| 99久久精品久久久久久清纯| 美国精品在线观看| 国产欧美日韩另类视频免费观看| 亚洲欧美一区二区三区极速播放 | 欧美一区二区三区思思人| 狠狠色狠狠色综合系列| 亚洲欧美日韩小说| 亚洲成人黄色小说| 制服丝袜激情欧洲亚洲| 国产精品中文字幕日韩精品| 一色桃子久久精品亚洲| 欧美电影免费观看高清完整版 | 欧美一区二区在线播放| 91久久奴性调教| fc2成人免费人成在线观看播放 | 麻豆成人在线观看| 欧美日韩激情一区二区三区| 91丨porny丨国产| 欧美日本高清视频在线观看| 国产乱子伦视频一区二区三区 | 国产精一区二区三区| 日本不卡不码高清免费观看| 亚洲第一成人在线| 亚洲国产中文字幕在线视频综合| 久久久久久**毛片大全| 欧美国产精品久久| 国产女人18水真多18精品一级做| 久久久国产一区二区三区四区小说 | 久久精品视频一区| 国产欧美一区二区三区鸳鸯浴| 欧美精品一区二区三区蜜桃视频 | 成年人午夜久久久| 日韩精品一二三区| 精品一区二区三区久久| 国产成人精品免费| 日本国产一区二区| 欧美日韩亚州综合| 欧美日本一区二区| 欧美www视频| 国产精品色一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 男女男精品视频| 国产精品一区二区黑丝| 99久久精品国产导航| 国产黄色精品网站| 欧美日韩一级视频| 久久精品人人爽人人爽| 又紧又大又爽精品一区二区| 亚洲影院免费观看| 蜜桃视频一区二区三区| 色婷婷精品久久二区二区蜜臂av| 欧美一区二区三区四区五区| 中文字幕中文在线不卡住| 亚洲mv大片欧洲mv大片精品| 国产91丝袜在线观看| 欧美刺激午夜性久久久久久久| 一区二区在线观看视频| 国内精品第一页| 日韩亚洲欧美一区二区三区| 91黄色激情网站| 亚洲日本va午夜在线电影| 国产激情一区二区三区四区| 精品区一区二区| 青青草原综合久久大伊人精品| 欧美日韩一本到| 亚洲精品高清在线| 99re这里只有精品视频首页| 中文字幕欧美日本乱码一线二线| 久久国产生活片100| 日韩一级片在线播放| 奇米综合一区二区三区精品视频| 中文字幕av不卡| 粉嫩欧美一区二区三区高清影视| 中文字幕在线一区免费| 开心九九激情九九欧美日韩精美视频电影| 色综合久久久久久久| 亚洲综合区在线| 日韩一级免费观看| 风间由美中文字幕在线看视频国产欧美| 国产一区不卡视频| 中文字幕中文字幕一区| 欧美日韩精品免费| 美女视频黄 久久| √…a在线天堂一区| 欧美日韩一区二区三区免费看 | 国产69精品久久久久毛片| 国产日韩欧美电影| 在线观看一区不卡| 激情欧美一区二区| 亚洲精品视频观看| 久久久久久久久99精品| 五月激情丁香一区二区三区| 精品国产污污免费网站入口 | 精品一区二区三区影院在线午夜| 精品国产1区二区| 精品视频全国免费看| 国产精品1024| 久久精品国产99国产精品| 亚洲桃色在线一区| 中文字幕成人av| 6080yy午夜一二三区久久| www.爱久久.com| 免费看欧美女人艹b| 一区二区理论电影在线观看| 国产精品美女久久久久aⅴ| 日韩欧美精品在线视频| 日韩欧美一区二区视频| 欧美体内she精高潮| 在线观看一区二区精品视频| 成人avav影音| 91在线播放网址| 51精品视频一区二区三区| 成人小视频在线观看| 奇米777欧美一区二区| 在线中文字幕一区| 色悠悠亚洲一区二区| 99久久国产免费看| 在线观看国产一区二区| 欧美精品精品一区| 制服丝袜亚洲色图| 亚洲男同1069视频| 久久久久久久综合| 欧美经典一区二区三区| 国产精品美女久久久久久久| 亚洲视频中文字幕| 偷拍一区二区三区| 国产传媒一区在线| 欧美色图第一页| 精品国产污网站| 洋洋成人永久网站入口| 免费在线一区观看| 91网站在线播放| 日韩欧美一二区|