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

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

?? b_sock.c

?? OpenSSL 0.9.8k 最新版OpenSSL
?? C
?? 第 1 頁 / 共 2 頁
字號:
			if (ghbn_cache[i].order > 0)				{				if (strncmp(name,ghbn_cache[i].name,128) == 0)					break;				}			}		}	else		i=GHBN_NUM;	if (i == GHBN_NUM) /* no hit*/		{		BIO_ghbn_miss++;		/* Note: under VMS with SOCKETSHR, it seems like the first		 * parameter is 'char *', instead of 'const char *'		 */#  ifndef CONST_STRICT		ret=gethostbyname((char *)name);#  else		ret=gethostbyname(name);#  endif		if (ret == NULL)			goto end;		if (j > 128) /* too big to cache */			{#  if 0			/* If we were trying to make this function thread-safe (which			 * is bound to fail), we'd have to give up in this case			 * (or allocate more memory). */			ret = NULL;#  endif			goto end;			}		/* else add to cache */		if (ghbn_cache[lowi].ent != NULL)			ghbn_free(ghbn_cache[lowi].ent); /* XXX not thread-safe */		ghbn_cache[lowi].name[0] = '\0';		if((ret=ghbn_cache[lowi].ent=ghbn_dup(ret)) == NULL)			{			BIOerr(BIO_F_BIO_GETHOSTBYNAME,ERR_R_MALLOC_FAILURE);			goto end;			}		strncpy(ghbn_cache[lowi].name,name,128);		ghbn_cache[lowi].order=BIO_ghbn_miss+BIO_ghbn_hits;		}	else		{		BIO_ghbn_hits++;		ret= ghbn_cache[i].ent;		ghbn_cache[i].order=BIO_ghbn_miss+BIO_ghbn_hits;		}end:#  if 0	CRYPTO_w_unlock(CRYPTO_LOCK_GETHOSTBYNAME);#  endif	return(ret);#endif	}int BIO_sock_init(void)	{#ifdef OPENSSL_SYS_WINDOWS	static struct WSAData wsa_state;	if (!wsa_init_done)		{		int err;	  		wsa_init_done=1;		memset(&wsa_state,0,sizeof(wsa_state));		if (WSAStartup(0x0101,&wsa_state)!=0)			{			err=WSAGetLastError();			SYSerr(SYS_F_WSASTARTUP,err);			BIOerr(BIO_F_BIO_SOCK_INIT,BIO_R_WSASTARTUP);			return(-1);			}		}#endif /* OPENSSL_SYS_WINDOWS */#ifdef WATT32	extern int _watt_do_exit;	_watt_do_exit = 0;    /* don't make sock_init() call exit() */	if (sock_init())		return (-1);#endif#if defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)    WORD wVerReq;    WSADATA wsaData;    int err;    if (!wsa_init_done)    {        wsa_init_done=1;        wVerReq = MAKEWORD( 2, 0 );        err = WSAStartup(wVerReq,&wsaData);        if (err != 0)        {            SYSerr(SYS_F_WSASTARTUP,err);            BIOerr(BIO_F_BIO_SOCK_INIT,BIO_R_WSASTARTUP);            return(-1);			}		}#endif	return(1);	}void BIO_sock_cleanup(void)	{#ifdef OPENSSL_SYS_WINDOWS	if (wsa_init_done)		{		wsa_init_done=0;#ifndef OPENSSL_SYS_WINCE		WSACancelBlockingCall();	/* Winsock 1.1 specific */#endif		WSACleanup();		}#elif defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)   if (wsa_init_done)        {        wsa_init_done=0;        WSACleanup();		}#endif	}#if !defined(OPENSSL_SYS_VMS) || __VMS_VER >= 70000000int BIO_socket_ioctl(int fd, long type, void *arg)	{	int i;#ifdef __DJGPP__	i=ioctlsocket(fd,type,(char *)arg);#else	i=ioctlsocket(fd,type,arg);#endif /* __DJGPP__ */	if (i < 0)		SYSerr(SYS_F_IOCTLSOCKET,get_last_socket_error());	return(i);	}#endif /* __VMS_VER *//* The reason I have implemented this instead of using sscanf is because * Visual C 1.52c gives an unresolved external when linking a DLL :-( */static int get_ip(const char *str, unsigned char ip[4])	{	unsigned int tmp[4];	int num=0,c,ok=0;	tmp[0]=tmp[1]=tmp[2]=tmp[3]=0;	for (;;)		{		c= *(str++);		if ((c >= '0') && (c <= '9'))			{			ok=1;			tmp[num]=tmp[num]*10+c-'0';			if (tmp[num] > 255) return(0);			}		else if (c == '.')			{			if (!ok) return(-1);			if (num == 3) return(0);			num++;			ok=0;			}		else if (c == '\0' && (num == 3) && ok)			break;		else			return(0);		}	ip[0]=tmp[0];	ip[1]=tmp[1];	ip[2]=tmp[2];	ip[3]=tmp[3];	return(1);	}int BIO_get_accept_socket(char *host, int bind_mode)	{	int ret=0;	struct sockaddr_in server,client;	int s=INVALID_SOCKET,cs;	unsigned char ip[4];	unsigned short port;	char *str=NULL,*e;	const char *h,*p;	unsigned long l;	int err_num;	if (BIO_sock_init() != 1) return(INVALID_SOCKET);	if ((str=BUF_strdup(host)) == NULL) return(INVALID_SOCKET);	h=p=NULL;	h=str;	for (e=str; *e; e++)		{		if (*e == ':')			{			p= &(e[1]);			*e='\0';			}		else if (*e == '/')			{			*e='\0';			break;			}		}	if (p == NULL)		{		p=h;		h="*";		}	if (!BIO_get_port(p,&port)) goto err;	memset((char *)&server,0,sizeof(server));	server.sin_family=AF_INET;	server.sin_port=htons(port);	if (strcmp(h,"*") == 0)		server.sin_addr.s_addr=INADDR_ANY;	else		{                if (!BIO_get_host_ip(h,&(ip[0]))) goto err;		l=(unsigned long)			((unsigned long)ip[0]<<24L)|			((unsigned long)ip[1]<<16L)|			((unsigned long)ip[2]<< 8L)|			((unsigned long)ip[3]);		server.sin_addr.s_addr=htonl(l);		}again:	s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);	if (s == INVALID_SOCKET)		{		SYSerr(SYS_F_SOCKET,get_last_socket_error());		ERR_add_error_data(3,"port='",host,"'");		BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET,BIO_R_UNABLE_TO_CREATE_SOCKET);		goto err;		}#ifdef SO_REUSEADDR	if (bind_mode == BIO_BIND_REUSEADDR)		{		int i=1;		ret=setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&i,sizeof(i));		bind_mode=BIO_BIND_NORMAL;		}#endif	if (bind(s,(struct sockaddr *)&server,sizeof(server)) == -1)		{#ifdef SO_REUSEADDR		err_num=get_last_socket_error();		if ((bind_mode == BIO_BIND_REUSEADDR_IF_UNUSED) &&			(err_num == EADDRINUSE))			{			memcpy((char *)&client,(char *)&server,sizeof(server));			if (strcmp(h,"*") == 0)				client.sin_addr.s_addr=htonl(0x7F000001);			cs=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);			if (cs != INVALID_SOCKET)				{				int ii;				ii=connect(cs,(struct sockaddr *)&client,					sizeof(client));				closesocket(cs);				if (ii == INVALID_SOCKET)					{					bind_mode=BIO_BIND_REUSEADDR;					closesocket(s);					goto again;					}				/* else error */				}			/* else error */			}#endif		SYSerr(SYS_F_BIND,err_num);		ERR_add_error_data(3,"port='",host,"'");		BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET,BIO_R_UNABLE_TO_BIND_SOCKET);		goto err;		}	if (listen(s,MAX_LISTEN) == -1)		{		SYSerr(SYS_F_BIND,get_last_socket_error());		ERR_add_error_data(3,"port='",host,"'");		BIOerr(BIO_F_BIO_GET_ACCEPT_SOCKET,BIO_R_UNABLE_TO_LISTEN_SOCKET);		goto err;		}	ret=1;err:	if (str != NULL) OPENSSL_free(str);	if ((ret == 0) && (s != INVALID_SOCKET))		{		closesocket(s);		s= INVALID_SOCKET;		}	return(s);	}int BIO_accept(int sock, char **addr)	{	int ret=INVALID_SOCKET;	static struct sockaddr_in from;	unsigned long l;	unsigned short port;	int len;	char *p;	memset((char *)&from,0,sizeof(from));	len=sizeof(from);	/* Note: under VMS with SOCKETSHR the fourth parameter is currently	 * of type (int *) whereas under other systems it is (void *) if	 * you don't have a cast it will choke the compiler: if you do	 * have a cast then you can either go for (int *) or (void *).	 */	ret=accept(sock,(struct sockaddr *)&from,(void *)&len);	if (ret == INVALID_SOCKET)		{		if(BIO_sock_should_retry(ret)) return -2;		SYSerr(SYS_F_ACCEPT,get_last_socket_error());		BIOerr(BIO_F_BIO_ACCEPT,BIO_R_ACCEPT_ERROR);		goto end;		}	if (addr == NULL) goto end;	l=ntohl(from.sin_addr.s_addr);	port=ntohs(from.sin_port);	if (*addr == NULL)		{		if ((p=OPENSSL_malloc(24)) == NULL)			{			BIOerr(BIO_F_BIO_ACCEPT,ERR_R_MALLOC_FAILURE);			goto end;			}		*addr=p;		}	BIO_snprintf(*addr,24,"%d.%d.%d.%d:%d",		     (unsigned char)(l>>24L)&0xff,		     (unsigned char)(l>>16L)&0xff,		     (unsigned char)(l>> 8L)&0xff,		     (unsigned char)(l     )&0xff,		     port);end:	return(ret);	}int BIO_set_tcp_ndelay(int s, int on)	{	int ret=0;#if defined(TCP_NODELAY) && (defined(IPPROTO_TCP) || defined(SOL_TCP))	int opt;#ifdef SOL_TCP	opt=SOL_TCP;#else#ifdef IPPROTO_TCP	opt=IPPROTO_TCP;#endif#endif		ret=setsockopt(s,opt,TCP_NODELAY,(char *)&on,sizeof(on));#endif	return(ret == 0);	}#endifint BIO_socket_nbio(int s, int mode)	{	int ret= -1;	int l;	l=mode;#ifdef FIONBIO	ret=BIO_socket_ioctl(s,FIONBIO,&l);#endif	return(ret == 0);	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美国欧美日韩国产在线播放| 91丝袜美腿高跟国产极品老师| 成人毛片在线观看| 91.xcao| 国产精品视频一二三区| 日韩av中文字幕一区二区| 99精品一区二区| 久久在线免费观看| 日本不卡一区二区三区高清视频| 成人的网站免费观看| 日韩欧美在线网站| 一区二区三区产品免费精品久久75| 国产成人精品一区二区三区四区| 欧美一级精品在线| 日韩成人精品在线| 欧美婷婷六月丁香综合色| 亚洲视频在线观看三级| 国产suv精品一区二区三区| 中文字幕av在线一区二区三区| 激情欧美一区二区| 日韩欧美你懂的| 天堂久久久久va久久久久| 色美美综合视频| 亚洲激情在线播放| 色婷婷久久久综合中文字幕| 亚洲欧洲另类国产综合| 成人性视频免费网站| 26uuu精品一区二区三区四区在线| 日韩主播视频在线| 欧美日本韩国一区二区三区视频| 亚洲一区二区三区四区中文字幕| 91在线国产福利| 亚洲人成精品久久久久久| av在线播放一区二区三区| 亚洲欧美视频在线观看视频| 91网站最新地址| 一区二区三区日韩欧美精品 | 91高清在线观看| 一区二区三区蜜桃网| 欧美在线一二三| 亚洲电影欧美电影有声小说| 制服丝袜中文字幕一区| 久久精品久久精品| 日本一区二区在线不卡| 91在线视频官网| 午夜久久久久久久久| 欧美电影免费观看完整版| 国产精品18久久久久| 亚洲欧美日韩人成在线播放| 欧美丝袜丝交足nylons图片| 人人狠狠综合久久亚洲| 久久久久久久久蜜桃| av在线播放成人| 天堂精品中文字幕在线| 精品日本一线二线三线不卡| 高清国产午夜精品久久久久久| 亚洲色图制服丝袜| 欧美日韩在线三级| 国产一区二区三区美女| 亚洲欧美另类久久久精品| 亚洲国产成人在线| 91国内精品野花午夜精品| 三级不卡在线观看| 中文字幕成人av| 91精品中文字幕一区二区三区| 久久99国产乱子伦精品免费| 国产精品久久久久影院色老大| 欧美三区免费完整视频在线观看| 精久久久久久久久久久| 亚洲黄色av一区| 精品国产精品一区二区夜夜嗨| 99久久伊人精品| 麻豆精品新av中文字幕| 日韩码欧中文字| 2020国产成人综合网| 欧美影院一区二区三区| 国产精品 欧美精品| 石原莉奈在线亚洲二区| 国产欧美日韩久久| 日韩欧美在线影院| 欧美日韩一区二区在线观看视频 | 91国偷自产一区二区开放时间| 美女mm1313爽爽久久久蜜臀| 亚洲少妇30p| 久久婷婷色综合| 欧美高清视频一二三区| 国产.欧美.日韩| 美日韩一区二区三区| 一区二区三区四区不卡视频| 国产人成亚洲第一网站在线播放| 欧美精品精品一区| 91浏览器在线视频| 粉嫩av一区二区三区粉嫩| 美女视频黄a大片欧美| 亚洲自拍都市欧美小说| 国产精品白丝在线| 国产亚洲va综合人人澡精品| 91精品福利在线一区二区三区| 91在线高清观看| 成人短视频下载| 国产精品系列在线观看| 青青青伊人色综合久久| 三级精品在线观看| 偷拍与自拍一区| 亚洲成av人片在www色猫咪| 亚洲精品成人悠悠色影视| 中文字幕亚洲视频| 久久精品99久久久| 日韩影院免费视频| 午夜电影网亚洲视频| 午夜伊人狠狠久久| 污片在线观看一区二区| 午夜久久久久久电影| 视频一区二区三区中文字幕| 日韩国产欧美三级| 久久成人免费网| 国产精品中文欧美| www.综合网.com| 一本色道亚洲精品aⅴ| 在线观看区一区二| 欧美日韩亚洲综合在线 | 欧美日本在线播放| 欧美日韩国产综合久久| 欧美一级日韩免费不卡| 日韩一区二区免费电影| 精品久久久久久久久久久久久久久| 日韩美女一区二区三区| 2020国产成人综合网| 国产精品午夜春色av| 亚洲老妇xxxxxx| 日韩电影一二三区| 国产在线国偷精品免费看| 成人午夜电影久久影院| 色综合激情久久| 欧美一三区三区四区免费在线看| 精品免费国产一区二区三区四区| 国产午夜精品久久久久久免费视 | 欧美激情一二三区| 自拍偷拍欧美激情| 午夜电影网亚洲视频| 狠狠色丁香九九婷婷综合五月| 成人免费视频视频在线观看免费| 在线免费精品视频| 欧美大胆一级视频| 国产精品麻豆视频| 午夜精品久久久久久久蜜桃app| 美腿丝袜在线亚洲一区| 白白色 亚洲乱淫| 欧美日韩国产综合一区二区三区 | 欧美成人一区二区| 国产精品热久久久久夜色精品三区 | 欧美成人高清电影在线| 国产精品乱码人人做人人爱| 五月婷婷激情综合| 成人h动漫精品一区二| 91精品国产综合久久久久久漫画| 国产精品天美传媒沈樵| 日欧美一区二区| 94色蜜桃网一区二区三区| 日韩欧美二区三区| 一区二区三区不卡视频在线观看| 老司机精品视频在线| 欧洲精品视频在线观看| 久久精品在线观看| 日韩国产一区二| 一本久道久久综合中文字幕| 久久色成人在线| 午夜伊人狠狠久久| 日韩三级在线观看| 亚洲国产一区二区三区青草影视| 国产精品一区二区久久不卡| 制服丝袜亚洲精品中文字幕| 中文字幕中文字幕一区二区| 精品无人码麻豆乱码1区2区| 9191国产精品| 亚洲精品欧美综合四区| av亚洲精华国产精华| 国产日韩欧美麻豆| 精品制服美女丁香| 91麻豆精品久久久久蜜臀| 一区二区三区高清不卡| 99久久精品免费看| 中文字幕欧美激情| 国产成+人+日韩+欧美+亚洲 | 色先锋aa成人| 国产精品国产三级国产aⅴ入口 | 久久成人久久爱| 欧美一级二级三级蜜桃| 亚洲成在线观看| 欧美三级午夜理伦三级中视频| 一区二区三区中文字幕在线观看| 夫妻av一区二区| 中文字幕免费在线观看视频一区| 国产精品影视网| 中文成人综合网| 成人激情开心网| 国产精品福利一区二区三区| 成a人片国产精品| 中文字幕一区二区三区蜜月| 99精品国产99久久久久久白柏 |