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

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

?? mttest.c

?? openssl包含TLS
?? C
?? 第 1 頁 / 共 2 頁
字號:
#endif					}				}			}		if (do_server && !(done & S_DONE))			{			if (!s_write)				{				i=BIO_read(s_bio,sbuf,100);				if (i < 0)					{					s_r=0;					s_w=0;					if (BIO_should_retry(s_bio))						{						if (BIO_should_read(s_bio))							s_r=1;						if (BIO_should_write(s_bio))							s_w=1;						}					else						{						fprintf(stderr,"ERROR in SERVER\n");						ERR_print_errors_fp(stderr);						return(1);						}					}				else if (i == 0)					{					fprintf(stderr,"SSL SERVER STARTUP FAILED\n");					return(1);					}				else					{					s_write=1;					s_w=1;#ifdef undef					fprintf(stdout,"SERVER:from client:");					fwrite(sbuf,1,i,stdout);					fflush(stdout);#endif					}				}			else				{				i=BIO_write(s_bio,"hello from server\n",18);				if (i < 0)					{					s_r=0;					s_w=0;					if (BIO_should_retry(s_bio))						{						if (BIO_should_read(s_bio))							s_r=1;						if (BIO_should_write(s_bio))							s_w=1;						}					else						{						fprintf(stderr,"ERROR in SERVER\n");						ERR_print_errors_fp(stderr);						return(1);						}					}				else if (i == 0)					{					fprintf(stderr,"SSL SERVER STARTUP FAILED\n");					return(1);					}				else					{					s_write=0;					s_r=1;					done|=S_DONE;					}				}			}		if ((done & S_DONE) && (done & C_DONE)) break;		}	SSL_set_shutdown(c_ssl,SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN);	SSL_set_shutdown(s_ssl,SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN);#ifdef undef	fprintf(stdout,"DONE\n");#endiferr:	/* We have to set the BIO's to NULL otherwise they will be	 * free()ed twice.  Once when th s_ssl is SSL_free()ed and	 * again when c_ssl is SSL_free()ed.	 * This is a hack required because s_ssl and c_ssl are sharing the same	 * BIO structure and SSL_set_bio() and SSL_free() automatically	 * BIO_free non NULL entries.	 * You should not normally do this or be required to do this */	if (s_ssl != NULL)		{		s_ssl->rbio=NULL;		s_ssl->wbio=NULL;		}	if (c_ssl != NULL)		{		c_ssl->rbio=NULL;		c_ssl->wbio=NULL;		}	/* The SSL's are optionally freed in the following calls */	if (c_to_s != NULL) BIO_free(c_to_s);	if (s_to_c != NULL) BIO_free(s_to_c);	if (c_bio != NULL) BIO_free(c_bio);	if (s_bio != NULL) BIO_free(s_bio);	return(0);	}int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)	{	char *s, buf[256];	if (verbose)		{		s=X509_NAME_oneline(X509_get_subject_name(ctx->current_cert),				    buf,256);		if (s != NULL)			{			if (ok)				fprintf(stderr,"depth=%d %s\n",					ctx->error_depth,buf);			else				fprintf(stderr,"depth=%d error=%d %s\n",					ctx->error_depth,ctx->error,buf);			}		}	return(ok);	}#define THREAD_STACK_SIZE (16*1024)#ifdef OPENSSL_SYS_WIN32static HANDLE *lock_cs;void thread_setup(void)	{	int i;	lock_cs=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(HANDLE));	for (i=0; i<CRYPTO_num_locks(); i++)		{		lock_cs[i]=CreateMutex(NULL,FALSE,NULL);		}	CRYPTO_set_locking_callback((void (*)(int,int,char *,int))win32_locking_callback);	/* id callback defined */	}void thread_cleanup(void)	{	int i;	CRYPTO_set_locking_callback(NULL);	for (i=0; i<CRYPTO_num_locks(); i++)		CloseHandle(lock_cs[i]);	OPENSSL_free(lock_cs);	}void win32_locking_callback(int mode, int type, char *file, int line)	{	if (mode & CRYPTO_LOCK)		{		WaitForSingleObject(lock_cs[type],INFINITE);		}	else		{		ReleaseMutex(lock_cs[type]);		}	}void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx)	{	double ret;	SSL_CTX *ssl_ctx[2];	DWORD thread_id[MAX_THREAD_NUMBER];	HANDLE thread_handle[MAX_THREAD_NUMBER];	int i;	SYSTEMTIME start,end;	ssl_ctx[0]=s_ctx;	ssl_ctx[1]=c_ctx;	GetSystemTime(&start);	for (i=0; i<thread_number; i++)		{		thread_handle[i]=CreateThread(NULL,			THREAD_STACK_SIZE,			(LPTHREAD_START_ROUTINE)ndoit,			(void *)ssl_ctx,			0L,			&(thread_id[i]));		}	printf("reaping\n");	for (i=0; i<thread_number; i+=50)		{		int j;		j=(thread_number < (i+50))?(thread_number-i):50;		if (WaitForMultipleObjects(j,			(CONST HANDLE *)&(thread_handle[i]),TRUE,INFINITE)			== WAIT_FAILED)			{			fprintf(stderr,"WaitForMultipleObjects failed:%d\n",GetLastError());			exit(1);			}		}	GetSystemTime(&end);	if (start.wDayOfWeek > end.wDayOfWeek) end.wDayOfWeek+=7;	ret=(end.wDayOfWeek-start.wDayOfWeek)*24;	ret=(ret+end.wHour-start.wHour)*60;	ret=(ret+end.wMinute-start.wMinute)*60;	ret=(ret+end.wSecond-start.wSecond);	ret+=(end.wMilliseconds-start.wMilliseconds)/1000.0;	printf("win32 threads done - %.3f seconds\n",ret);	}#endif /* OPENSSL_SYS_WIN32 */#ifdef SOLARISstatic mutex_t *lock_cs;/*static rwlock_t *lock_cs; */static long *lock_count;void thread_setup(void)	{	int i;	lock_cs=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(mutex_t));	lock_count=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(long));	for (i=0; i<CRYPTO_num_locks(); i++)		{		lock_count[i]=0;		/* rwlock_init(&(lock_cs[i]),USYNC_THREAD,NULL); */		mutex_init(&(lock_cs[i]),USYNC_THREAD,NULL);		}	CRYPTO_set_id_callback((unsigned long (*)())solaris_thread_id);	CRYPTO_set_locking_callback((void (*)())solaris_locking_callback);	}void thread_cleanup(void)	{	int i;	CRYPTO_set_locking_callback(NULL);	fprintf(stderr,"cleanup\n");	for (i=0; i<CRYPTO_num_locks(); i++)		{		/* rwlock_destroy(&(lock_cs[i])); */		mutex_destroy(&(lock_cs[i]));		fprintf(stderr,"%8ld:%s\n",lock_count[i],CRYPTO_get_lock_name(i));		}	OPENSSL_free(lock_cs);	OPENSSL_free(lock_count);	fprintf(stderr,"done cleanup\n");	}void solaris_locking_callback(int mode, int type, char *file, int line)	{#ifdef undef	fprintf(stderr,"thread=%4d mode=%s lock=%s %s:%d\n",		CRYPTO_thread_id(),		(mode&CRYPTO_LOCK)?"l":"u",		(type&CRYPTO_READ)?"r":"w",file,line);#endif	/*	if (CRYPTO_LOCK_SSL_CERT == type)	fprintf(stderr,"(t,m,f,l) %ld %d %s %d\n",		CRYPTO_thread_id(),		mode,file,line);	*/	if (mode & CRYPTO_LOCK)		{	/*	if (mode & CRYPTO_READ)			rw_rdlock(&(lock_cs[type]));		else			rw_wrlock(&(lock_cs[type])); */		mutex_lock(&(lock_cs[type]));		lock_count[type]++;		}	else		{/*		rw_unlock(&(lock_cs[type]));  */		mutex_unlock(&(lock_cs[type]));		}	}void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx)	{	SSL_CTX *ssl_ctx[2];	thread_t thread_ctx[MAX_THREAD_NUMBER];	int i;	ssl_ctx[0]=s_ctx;	ssl_ctx[1]=c_ctx;	thr_setconcurrency(thread_number);	for (i=0; i<thread_number; i++)		{		thr_create(NULL, THREAD_STACK_SIZE,			(void *(*)())ndoit,			(void *)ssl_ctx,			0L,			&(thread_ctx[i]));		}	printf("reaping\n");	for (i=0; i<thread_number; i++)		{		thr_join(thread_ctx[i],NULL,NULL);		}	printf("solaris threads done (%d,%d)\n",		s_ctx->references,c_ctx->references);	}unsigned long solaris_thread_id(void)	{	unsigned long ret;	ret=(unsigned long)thr_self();	return(ret);	}#endif /* SOLARIS */#ifdef IRIXstatic usptr_t *arena;static usema_t **lock_cs;void thread_setup(void)	{	int i;	char filename[20];	strcpy(filename,"/tmp/mttest.XXXXXX");	mktemp(filename);	usconfig(CONF_STHREADIOOFF);	usconfig(CONF_STHREADMALLOCOFF);	usconfig(CONF_INITUSERS,100);	usconfig(CONF_LOCKTYPE,US_DEBUGPLUS);	arena=usinit(filename);	unlink(filename);	lock_cs=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(usema_t *));	for (i=0; i<CRYPTO_num_locks(); i++)		{		lock_cs[i]=usnewsema(arena,1);		}	CRYPTO_set_id_callback((unsigned long (*)())irix_thread_id);	CRYPTO_set_locking_callback((void (*)())irix_locking_callback);	}void thread_cleanup(void)	{	int i;	CRYPTO_set_locking_callback(NULL);	for (i=0; i<CRYPTO_num_locks(); i++)		{		char buf[10];		sprintf(buf,"%2d:",i);		usdumpsema(lock_cs[i],stdout,buf);		usfreesema(lock_cs[i],arena);		}	OPENSSL_free(lock_cs);	}void irix_locking_callback(int mode, int type, char *file, int line)	{	if (mode & CRYPTO_LOCK)		{		printf("lock %d\n",type);		uspsema(lock_cs[type]);		}	else		{		printf("unlock %d\n",type);		usvsema(lock_cs[type]);		}	}void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx)	{	SSL_CTX *ssl_ctx[2];	int thread_ctx[MAX_THREAD_NUMBER];	int i;	ssl_ctx[0]=s_ctx;	ssl_ctx[1]=c_ctx;	for (i=0; i<thread_number; i++)		{		thread_ctx[i]=sproc((void (*)())ndoit,			PR_SADDR|PR_SFDS,(void *)ssl_ctx);		}	printf("reaping\n");	for (i=0; i<thread_number; i++)		{		wait(NULL);		}	printf("irix threads done (%d,%d)\n",		s_ctx->references,c_ctx->references);	}unsigned long irix_thread_id(void)	{	unsigned long ret;	ret=(unsigned long)getpid();	return(ret);	}#endif /* IRIX */#ifdef PTHREADSstatic pthread_mutex_t *lock_cs;static long *lock_count;void thread_setup(void)	{	int i;	lock_cs=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(pthread_mutex_t));	lock_count=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(long));	for (i=0; i<CRYPTO_num_locks(); i++)		{		lock_count[i]=0;		pthread_mutex_init(&(lock_cs[i]),NULL);		}	CRYPTO_set_id_callback((unsigned long (*)())pthreads_thread_id);	CRYPTO_set_locking_callback((void (*)())pthreads_locking_callback);	}void thread_cleanup(void)	{	int i;	CRYPTO_set_locking_callback(NULL);	fprintf(stderr,"cleanup\n");	for (i=0; i<CRYPTO_num_locks(); i++)		{		pthread_mutex_destroy(&(lock_cs[i]));		fprintf(stderr,"%8ld:%s\n",lock_count[i],			CRYPTO_get_lock_name(i));		}	OPENSSL_free(lock_cs);	OPENSSL_free(lock_count);	fprintf(stderr,"done cleanup\n");	}void pthreads_locking_callback(int mode, int type, char *file,	     int line)      {#ifdef undef	fprintf(stderr,"thread=%4d mode=%s lock=%s %s:%d\n",		CRYPTO_thread_id(),		(mode&CRYPTO_LOCK)?"l":"u",		(type&CRYPTO_READ)?"r":"w",file,line);#endif/*	if (CRYPTO_LOCK_SSL_CERT == type)		fprintf(stderr,"(t,m,f,l) %ld %d %s %d\n",		CRYPTO_thread_id(),		mode,file,line);*/	if (mode & CRYPTO_LOCK)		{		pthread_mutex_lock(&(lock_cs[type]));		lock_count[type]++;		}	else		{		pthread_mutex_unlock(&(lock_cs[type]));		}	}void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx)	{	SSL_CTX *ssl_ctx[2];	pthread_t thread_ctx[MAX_THREAD_NUMBER];	int i;	ssl_ctx[0]=s_ctx;	ssl_ctx[1]=c_ctx;	/*	thr_setconcurrency(thread_number);	*/	for (i=0; i<thread_number; i++)		{		pthread_create(&(thread_ctx[i]), NULL,			(void *(*)())ndoit, (void *)ssl_ctx);		}	printf("reaping\n");	for (i=0; i<thread_number; i++)		{		pthread_join(thread_ctx[i],NULL);		}	printf("pthreads threads done (%d,%d)\n",		s_ctx->references,c_ctx->references);	}unsigned long pthreads_thread_id(void)	{	unsigned long ret;	ret=(unsigned long)pthread_self();	return(ret);	}#endif /* PTHREADS */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美在线视频| 日韩视频国产视频| 一色屋精品亚洲香蕉网站| aa级大片欧美| 亚洲欧美日韩久久精品| 欧美少妇bbb| 久久激情五月激情| 国产欧美精品在线观看| 色偷偷一区二区三区| 首页国产欧美久久| 久久欧美中文字幕| 色综合视频一区二区三区高清| 亚洲国产一二三| 精品国产乱码久久久久久牛牛| 高清成人免费视频| 亚洲一区二区三区小说| 精品国产sm最大网站免费看| av高清久久久| 乱中年女人伦av一区二区| 国产精品美女久久久久久久| 欧美系列一区二区| 激情国产一区二区| 一区二区三区.www| 久久九九久久九九| 欧美亚洲一区二区在线| 国产一区二区0| 亚洲第一主播视频| 国产精品视频在线看| 欧美一区二区三区免费大片| 粉嫩久久99精品久久久久久夜| 亚洲国产精品久久艾草纯爱| 久久综合狠狠综合久久激情| 99re这里只有精品视频首页| 奇米777欧美一区二区| 亚洲视频在线观看三级| 2023国产一二三区日本精品2022| 日本国产一区二区| 国产精品66部| 三级精品在线观看| 亚洲免费观看高清完整| 欧美精品一区二区三区高清aⅴ| 欧美中文一区二区三区| 国产精品一区二区不卡| 日本中文字幕一区| 亚洲一区二区三区中文字幕| 国产精品人人做人人爽人人添| 欧美一二三在线| 欧美中文字幕久久 | 视频在线观看一区| 中文字幕日韩av资源站| 精品精品国产高清一毛片一天堂| 欧美日韩一区二区三区视频| 91丨九色porny丨蝌蚪| 国产精品影视天天线| 蜜臀a∨国产成人精品| 亚洲妇熟xx妇色黄| 亚洲精品日韩综合观看成人91| 亚洲国产高清在线观看视频| 精品久久久久av影院| 欧美日本乱大交xxxxx| 一本久久精品一区二区| 男女男精品视频网| 亚洲成人1区2区| 亚洲国产综合在线| 中文字幕在线不卡一区| 国产精品欧美一级免费| 国产午夜亚洲精品理论片色戒 | 91视频在线看| 97久久精品人人澡人人爽| 国产成人综合在线| 国产久卡久卡久卡久卡视频精品| 蜜桃av一区二区三区电影| 三级成人在线视频| 男女男精品视频| 狠狠色狠狠色综合| 精品写真视频在线观看| 韩国理伦片一区二区三区在线播放| 毛片不卡一区二区| 国内精品久久久久影院色| 精品一区二区三区在线播放视频| 精品在线一区二区三区| 国产一区二区免费视频| 成人一区二区视频| 99久久精品免费看国产| 91成人国产精品| 777午夜精品免费视频| 日韩精品一区国产麻豆| 国产日本欧洲亚洲| 亚洲欧美另类在线| 亚洲最新视频在线观看| 三级一区在线视频先锋| 久草热8精品视频在线观看| 国产一区二区三区四区在线观看| 国产成人午夜99999| 91色.com| 在线成人av网站| 久久久久国产精品人| 中文字幕在线播放不卡一区| 亚洲国产毛片aaaaa无费看 | 国产一区二区三区四区在线观看 | 日本不卡视频在线观看| 国产成人综合在线观看| 色综合久久久久久久| 欧美精品v国产精品v日韩精品| 欧美第一区第二区| ...xxx性欧美| 日韩不卡一区二区| 成人听书哪个软件好| 欧美日韩一区二区三区四区 | 1024亚洲合集| 美日韩一级片在线观看| voyeur盗摄精品| 欧美精品乱码久久久久久| 国产拍欧美日韩视频二区| 亚洲综合丁香婷婷六月香| 精品一区二区日韩| 91亚洲国产成人精品一区二区三 | 国产亚洲欧美一区在线观看| 亚洲综合色成人| 福利一区二区在线| 欧美美女一区二区| 国产精品高清亚洲| 激情小说欧美图片| 欧美三级在线视频| 中文字幕乱码久久午夜不卡| 日本特黄久久久高潮| 99re热这里只有精品免费视频| 日韩欧美一级二级| 亚洲一区二区美女| 成人午夜伦理影院| 欧美va天堂va视频va在线| 亚洲码国产岛国毛片在线| 国产精品综合二区| 欧美一区二区三区视频免费| 一区二区日韩av| 懂色av中文字幕一区二区三区| 日韩一级片在线播放| 夜夜嗨av一区二区三区| 国产乱码精品1区2区3区| 欧美精品成人一区二区三区四区| 日韩一区在线播放| 成人性色生活片免费看爆迷你毛片| 91精品久久久久久久99蜜桃| 亚洲一区二区偷拍精品| 97精品国产露脸对白| 亚洲国产成人私人影院tom| 激情综合五月婷婷| 欧美成人高清电影在线| 日韩成人精品在线| 欧美精品日韩一本| 亚洲va天堂va国产va久| 欧美伊人久久久久久久久影院| 亚洲日本一区二区| 99这里只有久久精品视频| 国产欧美精品一区二区三区四区| 国产一区二区三区免费观看| 日韩色在线观看| 免费观看久久久4p| 日韩欧美国产午夜精品| 免费不卡在线观看| 日韩亚洲欧美综合| 蜜桃av噜噜一区| 日韩欧美国产一区二区在线播放| 欧美aⅴ一区二区三区视频| 欧美日韩另类一区| 天堂蜜桃91精品| 欧美一区二区三区在| 久久se这里有精品| 精品动漫一区二区三区在线观看| 老司机午夜精品| 精品少妇一区二区三区在线播放| 麻豆91在线播放| 国产午夜精品一区二区三区视频| 国产成人免费在线观看| 国产精品国模大尺度视频| 91同城在线观看| 午夜精品福利视频网站| 日韩你懂的在线播放| 九九精品一区二区| 国产精品污污网站在线观看| 成人av午夜影院| 亚洲自拍偷拍麻豆| 日韩免费一区二区三区在线播放| 国产在线视频精品一区| 国产精品久久久久永久免费观看 | 国产精品福利一区二区三区| av综合在线播放| 亚洲丰满少妇videoshd| 欧美一级高清片| 国产suv精品一区二区三区| 亚洲激情在线播放| 91精品国产入口在线| 国产福利电影一区二区三区| 夜夜精品浪潮av一区二区三区| 欧美电影在线免费观看| 国产精品白丝jk黑袜喷水| 一区二区三区美女视频| 欧美tickle裸体挠脚心vk| 99久久精品免费观看| 日本美女视频一区二区|