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

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

?? vsybase.c

?? 相當優秀的 UNIX 進程管理工具
?? C
字號:
/* * $Id: vsybase.c,v 1.9.2.1 2004/06/26 02:20:56 tomcollins Exp $ * Copyright (C) 1999-2003 Inter7 Internet Technologies, Inc. * * 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 */#include <pwd.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <string.h>#include <time.h>#include <sybfront.h>#include <sybdb.h>#include "config.h"#include "vpopmail.h"#include "vauth.h"#include "vlimits.h"#include "vsybase.h"static int is_open = 0;static LOGINREC *login;static DBPROCESS *dbproc;#define SQL_BUF_SIZE 2048static char SqlBuf[SQL_BUF_SIZE];static char SqlBuf1[SQL_BUF_SIZE];#define SMALL_BUFF 200char IUser[SMALL_BUFF];char IPass[SMALL_BUFF];char IGecos[SMALL_BUFF];char IDir[SMALL_BUFF];char IShell[SMALL_BUFF];void vcreate_relay_table();int err_handler(dbproc, severity, dberr, oserr, dberrstr, oserrstr)DBPROCESS       *dbproc;int             severity;int             dberr;int             oserr;char            *dberrstr;char            *oserrstr;{        if ((dbproc == NULL) || (DBDEAD(dbproc))) {                return(INT_EXIT);        } else {                return(INT_CANCEL);        }}int msg_handler(dbproc, msgno, msgstate, severity, msgtext,                srvname, procname, line)DBPROCESS       *dbproc;DBINT           msgno;int             msgstate;int             severity;char            *msgtext;char            *srvname;char            *procname;DBUSMALLINT     line;{        return(0);}int vauth_open(){	if ( is_open == 1 ) return(0);	is_open = 1;	if ( dbinit() == FAIL ) return(-1);	dberrhandle(err_handler);	dbmsghandle(msg_handler);	login=dblogin();        DBSETLUSER(login, SYBASE_USER);        DBSETLPWD(login, SYBASE_PASSWD);        DBSETLAPP(login, SYBASE_APP);        dbproc = dbopen(login,SYBASE_SERVER);	if ( dbuse(dbproc, SYBASE_DATABASE) == FAIL ) {		dbcancel(dbproc);		sprintf( SqlBuf, "create database %s", SYBASE_DATABASE );		dbcmd(dbproc, SqlBuf);		dbsqlexec(dbproc);		while(dbresults(dbproc) != NO_MORE_RESULTS)			continue;		dbuse(dbproc, SYBASE_DATABASE);	}	return(0);}int vauth_adddomain( char *domain ){	return(vauth_adddomain_size( domain, SITE_SIZE ));}int vauth_adddomain_size( char *domain, int site_size ){ char *tmpstr = NULL;		vauth_open();	vset_default_domain( domain );	if ( site_size == LARGE_SITE ) {		tmpstr = vauth_munch_domain( domain );		sprintf( SqlBuf1, "create table %s ( %s )",			 tmpstr, LARGE_TABLE_LAYOUT );	} else {		sprintf( SqlBuf1, "create table %s ( %s )",			SYBASE_DEFAULT_TABLE, SMALL_TABLE_LAYOUT);	}		dbcmd(dbproc, SqlBuf1);	dbsqlexec(dbproc);	while(dbresults(dbproc) != NO_MORE_RESULTS)		continue;	return(0);}int vauth_adduser(char *user, char *domain, char *pass, char *gecos, 	char *dir, int apop ){	return(vauth_adduser_size(user, domain, pass, gecos, dir, apop, SITE_SIZE ));}int vauth_adduser_size(char *user, char *domain, char *pass, char *gecos, 	char *dir, int apop, int site_size ){ char *domstr; int pop; char dom_dir[156]; int uid, gid; char dirbuf[200]; char quota[30];	vauth_open();	vset_default_domain( domain );	strncpy( quota, "NOQUOTA", 30 );	if ( apop == 0 ) {		pop = 1;	} else {		pop = 2;	}		domstr = vauth_munch_domain( domain );	if ( site_size == LARGE_SITE && (domain == NULL || domain[0] == 0) ) {		domstr = SYBASE_LARGE_USERS_TABLE;	}	if ( strlen(domain) <= 0 ) {		if ( strlen(dir) > 0 ) {			sprintf(dirbuf, "%s/users/%s/%s", VPOPMAILDIR, dir, user);		} else {			sprintf(dirbuf, "%s/users/%s", VPOPMAILDIR, user);		}	} else {		vget_assign(domain, dom_dir, 156, &uid, &gid );		if ( strlen(dir) > 0 ) {			sprintf(dirbuf,"%s/%s/%s", dom_dir,dir,user);		} else {			sprintf(dirbuf, "%s/%s", dom_dir, user);		}	}	if ( site_size == LARGE_SITE ) {		qnprintf( SqlBuf, sizeof(SqlBuf), LARGE_INSERT, domstr,  		user, pass, pop, gecos, dirbuf, quota);	} else {		qnprintf( SqlBuf, sizeof(SqlBuf), SMALL_INSERT, SYBASE_DEFAULT_TABLE,		user, domain, pass, pop, gecos, dirbuf, quota);	}	dbcmd(dbproc, SqlBuf);	if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 		if ( site_size == LARGE_SITE ) {			vauth_adddomain_size( SYBASE_LARGE_USERS_TABLE, LARGE_SITE );			dbcmd(dbproc, SqlBuf);			if ( dbsqlexec(dbproc)==FAIL || dbresults(dbproc)== FAIL ) { 				fprintf(stderr, "sybase adduser failed\n");				return(-1);			}			dbcancel(dbproc);		} else {			fprintf(stderr, "sybase adduser failed\n");			return(-1);		}	} 	dbcancel(dbproc);	return(0);}struct vqpasswd *vauth_getpw(char *user, char *domain){	return(vauth_getpw_size( user, domain, SITE_SIZE ));}struct vqpasswd *vauth_getpw_size(char *user, char *domain, int site_size){ char in_domain[156]; char *domstr; static struct vqpasswd pwent;	lowerit(user);	lowerit(domain);	snprintf(in_domain, sizeof(in_domain), "%s", domain);	vauth_open();	vset_default_domain( in_domain );	domstr = vauth_munch_domain( in_domain );	if ( domstr == NULL || domstr[0] == 0 ) {		domstr = SYBASE_LARGE_USERS_TABLE;	}	if ( site_size == LARGE_SITE ) {		qnprintf( SqlBuf, sizeof(SqlBuf), LARGE_SELECT, domstr, user);	} else {		qnprintf( SqlBuf, sizeof(SqlBuf), SMALL_SELECT, SYBASE_DEFAULT_TABLE, user, in_domain);	}	dbcmd(dbproc, SqlBuf);	if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 		printf("vsql_getpw: failed select\n");		return(NULL);	}	pwent.pw_name   = IUser;	pwent.pw_passwd = IPass;	pwent.pw_gecos  = IGecos;	pwent.pw_dir    = IDir;	pwent.pw_shell  = IShell;	dbbind(dbproc, 1, NTBSTRINGBIND, (DBINT)0, (BYTE *)pwent.pw_name);	dbbind(dbproc, 2, NTBSTRINGBIND, (DBINT)0, (BYTE *)pwent.pw_passwd);	dbbind(dbproc, 3, INTBIND, (DBINT)0, (BYTE *)&pwent.pw_uid);	dbbind(dbproc, 4, INTBIND, (DBINT)0, (BYTE *)&pwent.pw_gid);	dbbind(dbproc, 5, NTBSTRINGBIND, (DBINT)0, (BYTE *)pwent.pw_gecos);	dbbind(dbproc, 6, NTBSTRINGBIND, (DBINT)0, (BYTE *)pwent.pw_dir);	dbbind(dbproc, 7, NTBSTRINGBIND, (DBINT)0, (BYTE *)pwent.pw_shell);	mem_size = 0;	while( dbnextrow(dbproc) != NO_MORE_ROWS ) {		++mem_size;	}	dbcancel(dbproc);	if ( mem_size == 0 ) return(NULL);	vlimits_setflags (&pwent, in_domain);	return(&pwent);}int vauth_deldomain( char *domain ){	return(vauth_deldomain_size( domain, SITE_SIZE ));}int vauth_deldomain_size( char *domain, int site_size ){ char *tmpstr;	vauth_open();	vset_default_domain( domain );	tmpstr = vauth_munch_domain( domain );	if ( site_size == LARGE_SITE ) {		sprintf( SqlBuf, "drop table %s", tmpstr);	} else {		qnprintf( SqlBuf, sizeof(SqlBuf), "delete from %s where pw_domain = '%s'",			SYBASE_DEFAULT_TABLE, domain );	}	dbcmd(dbproc, SqlBuf);	if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 		return(-1);	} 	dbcancel(dbproc);	return(0);}int vauth_deluser( char *user, char *domain ){	return(vauth_deluser_size( user, domain, SITE_SIZE)); }int vauth_deluser_size( char *user, char *domain, int site_size ){ char *tmpstr;	vauth_open();	vset_default_domain( domain );	if ( site_size == LARGE_SITE ) {		if ( domain == NULL || domain[0] == 0 ) {			tmpstr = SYBASE_LARGE_USERS_TABLE;		} else {			tmpstr = vauth_munch_domain( domain );		}		qnprintf( SqlBuf, sizeof(SqlBuf), "delete from %s where pw_name = '%s'", 			tmpstr, user );	} else {		qnprintf( SqlBuf, sizeof(SqlBuf), 		"delete from %s where pw_name = '%s' and pw_domain = '%s'", 			SYBASE_DEFAULT_TABLE, user, domain );	}	dbcmd(dbproc, SqlBuf);	if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 		fprintf(stderr, "sybase query\n");		return(-1);	} 	dbcancel(dbproc);	return(0);}int vauth_setquota( char *user, char *domain, char *quota){	return(vauth_setquota_size( user, domain, quota, SITE_SIZE));}int vauth_setquota_size( char *user, char *domain, char *quota, int site_size){ char *tmpstr;	vauth_open();	vset_default_domain( domain );	if ( site_size == LARGE_SITE ) {		tmpstr = vauth_munch_domain( domain );		qnprintf( SqlBuf, sizeof(SqlBuf), 			"update %s set pw_shell = '%s' where pw_name = '%s'", 			tmpstr, quota, user );	} else {		qnprintf( SqlBuf, sizeof(SqlBuf), 			"update %s set pw_shell = '%s' where pw_name = '%s' and pw_domain = '%s'", 			SYBASE_DEFAULT_TABLE, quota, user, domain );	}	dbcmd(dbproc, SqlBuf);	if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 		fprintf(stderr, "sybase query\n");		return(-1);	} 	dbcancel(dbproc);	return(0);}int vauth_vpasswd( char *user, char *domain, char *pass, int apop ){	return(vauth_vpasswd_size( user, domain, pass, apop, SITE_SIZE ));}int vauth_vpasswd_size( char *user, char *domain, char *pass, 			int apop, int site_size ){ char *tmpstr; uid_t uid; gid_t gid; uid_t myuid; 	myuid = geteuid();	vget_assign(domain,NULL,0,&uid,&gid);	if (myuid != 0 && myuid != uid ) {		return(VA_BAD_UID);	}	vauth_open();	vset_default_domain( domain );	if ( site_size == LARGE_SITE ) {		tmpstr = vauth_munch_domain( domain );		qnprintf( SqlBuf, sizeof(SqlBuf), 			"update %s set pw_passwd = '%s' where pw_name = '%s'", 			tmpstr, pass, user );	} else {		qnprintf( SqlBuf, sizeof(SqlBuf), 			"update %s set pw_passwd = '%s' where pw_name = '%s' and pw_domain = '%s'", 			SYBASE_DEFAULT_TABLE, pass, user, domain );	}	dbcmd(dbproc, SqlBuf);	if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 		fprintf(stderr, "sybase query\n");		return(-1);	} 	dbcancel(dbproc);	return(0);}void vauth_end_getall(){}struct vqpasswd *vauth_getall(char *domain, int first, int sortit){	return(vauth_getall_size(domain, first, sortit, SITE_SIZE));}struct vqpasswd *vauth_getall_size(char *domain, int first, int sortit, int site_size){ char *domstr = NULL; static struct vqpasswd pwent; static int more = 0;	vset_default_domain( domain );	if ( site_size == LARGE_SITE ) {		domstr = vauth_munch_domain( domain );	}	if ( first == 1 ) {		vauth_open();		if ( site_size == LARGE_SITE ) {			qnprintf( SqlBuf, sizeof(SqlBuf), LARGE_GETALL, domstr);		} else {			qnprintf( SqlBuf, sizeof(SqlBuf), SMALL_GETALL, SYBASE_DEFAULT_TABLE, domain);		}		if ( sortit == 1 ) {			strcat( SqlBuf, " order by pw_name");		}		dbcmd(dbproc, SqlBuf);		if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 			printf("vsql_getpw: failed select\n");			return(NULL);		}	} else if ( more == 0 ) {		return(NULL);	}	pwent.pw_name   = IUser;	pwent.pw_passwd = IPass;	pwent.pw_gecos  = IGecos;	pwent.pw_dir    = IDir;	pwent.pw_shell  = IShell;	if ( dbnextrow(dbproc) != NO_MORE_ROWS ) {		strncpy(pwent.pw_name,(char *)dbretdata(dbproc,1),SMALL_BUFF);		strncpy(pwent.pw_passwd,(char *)dbretdata(dbproc,2),SMALL_BUFF);		pwent.pw_uid    = atoi(dbretdata(dbproc,3));		pwent.pw_gid    = atoi(dbretdata(dbproc,4));		strncpy(pwent.pw_gecos,dbretdata(dbproc,5),SMALL_BUFF);		strncpy(pwent.pw_dir,dbretdata(dbproc,6),SMALL_BUFF);		strncpy(pwent.pw_shell, dbretdata(dbproc,7),SMALL_BUFF);		more = 1;		return(&pwent);	}	more = 0;	dbcancel(dbproc);	return(NULL);}char *vauth_munch_domain( char *domain ){ int i; static char tmpbuf[50];	if ( domain == NULL || domain[0] == 0 ) return(domain);	for(i=0;domain[i]!=0;++i){		tmpbuf[i] = domain[i];		if ( domain[i] == '.' || domain[i] == '-' ) {			tmpbuf[i] = SYBASE_DOT_CHAR;		}	}	tmpbuf[i] = 0; 	return(tmpbuf);}int vauth_setpw( struct vqpasswd *inpw, char *domain ){	return(vauth_setpw_size( inpw, domain, SITE_SIZE));}int vauth_setpw_size( struct vqpasswd *inpw, char *domain, int site_size){ char *tmpstr; uid_t myuid; uid_t uid; gid_t gid; 	myuid = geteuid();	if ( myuid != VPOPMAIL && myuid != 0 ) return(VA_BAD_UID);	vauth_open();	vset_default_domain( domain );	if ( site_size == LARGE_SITE ) {		tmpstr = vauth_munch_domain( domain );		qnprintf( SqlBuf, sizeof(SqlBuf), LARGE_SETPW,			tmpstr, 			inpw->pw_passwd, 			inpw->pw_uid,			inpw->pw_gid, 			inpw->pw_gecos, 			inpw->pw_dir, 			inpw->pw_shell, 			inpw->pw_name );	} else {		qnprintf( SqlBuf, sizeof(SqlBuf), SMALL_SETPW,			SYBASE_DEFAULT_TABLE, 			inpw->pw_passwd, 			inpw->pw_uid, 			inpw->pw_gid, 			inpw->pw_gecos, 			inpw->pw_dir, 			inpw->pw_shell, 			inpw->pw_name, 			domain);	}	dbcmd(dbproc, SqlBuf);	if ( dbsqlexec(dbproc) == FAIL || dbresults(dbproc)== FAIL ) { 		fprintf(stderr, "sybase query\n");		return(-1);	} 	dbcancel(dbproc);#ifdef SQWEBMAIL_PASS	tmpstr = vget_assign(domain, NULL, 0, &uid, &gid );    vsqwebmail_pass( inpw->pw_dir, inpw->pw_passwd, uid, gid);#endif	return(0);}void vclear_open_smtp(time_t clear_minutes, time_t mytime){/* time_t delete_time; int err;		if ( (err=vauth_open()) != 0 ) exit(0);	delete_time = mytime - clear_minutes;	snprintf( SqlBuf, sizeof(SqlBuf), "delete from relay where timestamp <= %d", 		(int)delete_time);	if (mysql_query(&mysql,SqlBuf)) {		vcreate_relay_table();		return;	}*/}int vmkpasswd( char *domain ){	return(0);}void vclose(){	if ( is_open == 1 ) {		is_open = 0;		dbclose(proc);	}}#ifdef IP_ALIAS_DOMAINSint vget_ip_map( char *ip, char *domain, int domain_size){	if ( ip == NULL || strlen(ip) <= 0 ) return(0);	return(0);}int vadd_ip_map( char *ip, char *domain) {	return(0);}int vdel_ip_map( char *ip, char *domain) {	return(0);}int vshow_ip_map( int first, char *ip, char *domain);{	return(0);}#endifint vauth_crypt(char *user,char *domain,char *clear_pass,struct vqpasswd *vpw){  if ( vpw == NULL ) return(-1);  return(strcmp(crypt(clear_pass,vpw->pw_passwd),vpw->pw_passwd));}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲另类在线一区| 亚洲综合无码一区二区| 制服丝袜成人动漫| 在线观看欧美精品| jizzjizzjizz欧美| 成人一级视频在线观看| 国产在线麻豆精品观看| 麻豆成人免费电影| 蜜桃精品视频在线观看| 日本成人在线电影网| 美女视频黄a大片欧美| 蜜臀精品久久久久久蜜臀 | 蜜臀av一级做a爰片久久| 五月开心婷婷久久| 日韩福利视频网| 国产在线播精品第三| 国产成人精品免费视频网站| 9色porny自拍视频一区二区| 一本久久a久久免费精品不卡| 91福利小视频| 91精品免费在线| 2021中文字幕一区亚洲| 国产亚洲欧美日韩俺去了| 国产拍欧美日韩视频二区| 国产精品久久午夜夜伦鲁鲁| 亚洲黄色在线视频| 日韩电影免费在线看| 精品一区二区三区影院在线午夜| 国产成人综合亚洲网站| 成人av在线观| 欧美日韩国产片| 精品国产91亚洲一区二区三区婷婷| 国产免费观看久久| 亚洲精品一二三四区| 丝袜美腿亚洲色图| 国产精品一区二区在线看| 99久久综合精品| 在线播放一区二区三区| 久久久久国产免费免费 | 日本欧美加勒比视频| 国产精品香蕉一区二区三区| 91无套直看片红桃| 欧美男女性生活在线直播观看| 欧美精品一区二区三区蜜桃| 亚洲欧美日韩国产手机在线| 免费成人av资源网| 99久久精品国产一区二区三区 | 久久久一区二区三区捆绑**| 国产精品国模大尺度视频| 无码av中文一区二区三区桃花岛| 国产一区二区在线看| 91麻豆swag| 精品国产一二三区| 亚洲蜜臀av乱码久久精品蜜桃| 日本免费在线视频不卡一不卡二| 波多野结衣中文字幕一区 | 久久精品无码一区二区三区| 亚洲成人av在线电影| 国产精品77777竹菊影视小说| 精品视频123区在线观看| 国产亚洲精品7777| 日韩成人av影视| 91同城在线观看| 久久综合狠狠综合久久综合88| 亚洲一卡二卡三卡四卡 | 国产亚洲欧美日韩日本| 午夜精品一区二区三区免费视频| 成人激情午夜影院| 日韩欧美在线不卡| 亚洲图片自拍偷拍| 粉嫩aⅴ一区二区三区四区五区| 制服.丝袜.亚洲.中文.综合| 亚洲欧美偷拍卡通变态| 国产一区二区三区观看| 欧美日韩精品一区二区三区| 中文字幕一区视频| 国产成人在线观看免费网站| 欧美一级国产精品| 亚洲成人精品一区| 91麻豆免费观看| 国产精品视频免费看| 国产真实乱偷精品视频免| 欧美手机在线视频| **欧美大码日韩| 成人综合日日夜夜| 久久久久久久久久电影| 麻豆视频观看网址久久| 欧美日韩国产在线播放网站| 一区二区三区欧美| 成人听书哪个软件好| 久久这里只有精品6| 久久精品国产99国产| 欧美一级欧美一级在线播放| 亚洲第一精品在线| 欧美性猛片aaaaaaa做受| 亚洲日本一区二区三区| 成人av动漫在线| 亚洲欧洲在线观看av| 成人精品鲁一区一区二区| 久久久久久久久蜜桃| 国产精品自拍网站| 久久日一线二线三线suv| 国内久久精品视频| 日韩精品一区二| 韩国精品久久久| 久久综合九色综合欧美亚洲| 国产精选一区二区三区| 国产欧美日韩另类一区| 成人三级在线视频| 国产精品久久久久一区二区三区共 | 日本不卡在线视频| 日韩一卡二卡三卡国产欧美| 美腿丝袜亚洲色图| 欧美v日韩v国产v| 精久久久久久久久久久| 久久在线观看免费| 国产黑丝在线一区二区三区| 亚洲国产精品二十页| 91美女福利视频| 亚洲午夜激情av| 日韩美女一区二区三区四区| 韩国v欧美v亚洲v日本v| 国产校园另类小说区| zzijzzij亚洲日本少妇熟睡| 亚洲免费观看在线视频| 欧美视频一区二区三区四区| 日产欧产美韩系列久久99| 精品精品国产高清a毛片牛牛| 国产一区二区三区av电影| 中文天堂在线一区| 色婷婷综合激情| 日韩成人dvd| 国产精品婷婷午夜在线观看| 一本久久精品一区二区| 午夜精品一区在线观看| 精品国产电影一区二区| bt欧美亚洲午夜电影天堂| 国产成人综合网站| 亚洲视频图片小说| 3751色影院一区二区三区| 激情成人午夜视频| 亚洲色大成网站www久久九九| 69久久99精品久久久久婷婷| 国产精品91xxx| 亚洲成人你懂的| 国产午夜精品福利| 欧美在线一区二区| 久久99久国产精品黄毛片色诱| 国产精品高清亚洲| 欧美一区二区国产| caoporm超碰国产精品| 日本91福利区| 亚洲品质自拍视频| 精品国产亚洲在线| 99riav久久精品riav| 蜜臀av一级做a爰片久久| 国产精品久久久久久亚洲伦| 91精品国产免费| 色婷婷精品大在线视频| 国产一区亚洲一区| 亚洲一区中文日韩| 国产欧美日韩在线观看| 91精品蜜臀在线一区尤物| 99在线热播精品免费| 日本aⅴ免费视频一区二区三区| 亚洲欧洲韩国日本视频| 精品国产一区二区三区忘忧草| 欧美在线短视频| 成人激情免费电影网址| 免费成人结看片| 亚洲成人激情综合网| 中文幕一区二区三区久久蜜桃| 日韩欧美综合在线| 91精品福利视频| 成人午夜激情在线| 激情综合五月天| 亚欧色一区w666天堂| 中文字幕一区二区三区四区不卡| 亚洲精品一区二区三区香蕉| 精品视频全国免费看| 99精品国产99久久久久久白柏| 韩国女主播成人在线观看| 五月婷婷久久丁香| 一区二区三区中文字幕| 国产精品视频第一区| 精品盗摄一区二区三区| 69精品人人人人| 欧美色图12p| 日本高清无吗v一区| 97精品国产露脸对白| 精品国产一区二区三区四区四 | 欧美色视频一区| 色狠狠av一区二区三区| a级精品国产片在线观看| 国产精品99久久久久久似苏梦涵| 美女网站视频久久| 日日欢夜夜爽一区| 香蕉影视欧美成人| 亚洲成人tv网| 日韩精品电影一区亚洲|