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

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

?? lwtest.c

?? package of develop dns
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2002  Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. *//* $Id: lwtest.c,v 1.22.2.4.2.4 2004/03/08 04:04:37 marka Exp $ */#include <config.h>#include <assert.h>#include <stdlib.h>#include <string.h>#include <isc/net.h>#include <lwres/lwres.h>#include <lwres/netdb.h>#include <lwres/net.h>/* * XXX getnameinfo errors, which don't appear to be standard. */#define ENI_NOSERVNAME  1#define ENI_NOHOSTNAME  2#define ENI_MEMORY      3#define ENI_SYSTEM      4#define ENI_FAMILY      5#define ENI_SALEN       6#define ENI_NOSOCKET    7static int fails = 0;static voidCHECK(lwres_result_t val, const char *msg) {	if (val != 0) {		printf("I:%s returned %d\n", msg, val);		exit(1);	}}static unsigned char TESTSTRING[] =	"This is a test.  This is only a test.  !!!";static lwres_context_t *ctx;static voidtest_noop(void) {	lwres_result_t ret;	lwres_lwpacket_t pkt, pkt2;	lwres_nooprequest_t nooprequest, *nooprequest2;	lwres_noopresponse_t noopresponse, *noopresponse2;	lwres_buffer_t b;	pkt.pktflags = 0;	pkt.serial = 0x11223344;	pkt.recvlength = 0x55667788;	pkt.result = 0;	nooprequest.datalength = strlen((char *)TESTSTRING);	nooprequest.data = TESTSTRING;	ret = lwres_nooprequest_render(ctx, &nooprequest, &pkt, &b);	CHECK(ret, "lwres_nooprequest_render");	/*	 * Now, parse it into a new structure.	 */	lwres_buffer_first(&b);	ret = lwres_lwpacket_parseheader(&b, &pkt2);	CHECK(ret, "lwres_lwpacket_parseheader");	nooprequest2 = NULL;	ret = lwres_nooprequest_parse(ctx, &b, &pkt2, &nooprequest2);	CHECK(ret, "lwres_nooprequest_parse");	assert(nooprequest.datalength == nooprequest2->datalength);	assert(memcmp(nooprequest.data, nooprequest2->data,		       nooprequest.datalength) == 0);	lwres_nooprequest_free(ctx, &nooprequest2);	lwres_context_freemem(ctx, b.base, b.length);	b.base = NULL;	b.length = 0;	pkt.pktflags = 0;	pkt.serial = 0x11223344;	pkt.recvlength = 0x55667788;	pkt.result = 0xdeadbeef;	noopresponse.datalength = strlen((char *)TESTSTRING);	noopresponse.data = TESTSTRING;	ret = lwres_noopresponse_render(ctx, &noopresponse, &pkt, &b);	CHECK(ret, "lwres_noopresponse_render");	/*	 * Now, parse it into a new structure.	 */	lwres_buffer_first(&b);	ret = lwres_lwpacket_parseheader(&b, &pkt2);	CHECK(ret, "lwres_lwpacket_parseheader");	noopresponse2 = NULL;	ret = lwres_noopresponse_parse(ctx, &b, &pkt2, &noopresponse2);	CHECK(ret, "lwres_noopresponse_parse");	assert(noopresponse.datalength == noopresponse2->datalength);	assert(memcmp(noopresponse.data, noopresponse2->data,		       noopresponse.datalength) == 0);	lwres_noopresponse_free(ctx, &noopresponse2);	lwres_context_freemem(ctx, b.base, b.length);	b.base = NULL;	b.length = 0;}static voidtest_gabn(const char *target, lwres_result_t expected, const char *address,	  lwres_uint32_t af){	lwres_gabnresponse_t *res;	unsigned char addrbuf[16];	lwres_addr_t *addr;	char outbuf[64];	unsigned int len;	lwres_result_t ret;	res = NULL;	ret = lwres_getaddrsbyname(ctx, target,				   LWRES_ADDRTYPE_V4 | LWRES_ADDRTYPE_V6,				   &res);	if (ret != expected) {		printf("I:gabn(%s) failed: %d\n", target, ret);		if (res != NULL)			lwres_gabnresponse_free(ctx, &res);		fails++;		return;	}	if (ret == LWRES_R_SUCCESS) {		if (af == LWRES_ADDRTYPE_V4) {			len = 4;			ret = inet_pton(AF_INET, address, addrbuf);			assert(ret == 1);		} else {			len = 16;			ret = inet_pton(AF_INET6, address, addrbuf);			assert(ret == 1);		}		addr = LWRES_LIST_HEAD(res->addrs);		if (addr == NULL) {			printf("I:gabn(%s) returned empty list\n", target);			fails++;			return;		}		while (addr != NULL) {			if (addr->family != af || addr->length != len ||			    memcmp(addr->address, addrbuf, len) == 0)				break;			addr = LWRES_LIST_NEXT(addr, link);		}		if (addr == NULL) {			addr = LWRES_LIST_HEAD(res->addrs);			if (addr->family == LWRES_ADDRTYPE_V4)				(void)inet_ntop(AF_INET, addr->address,						outbuf, sizeof(outbuf));			else				(void)inet_ntop(AF_INET6, addr->address,						outbuf, sizeof(outbuf));			printf("I:gabn(%s) returned %s, expected %s\n",				target, outbuf, address);			fails++;			return;		}	}	if (res != NULL)		lwres_gabnresponse_free(ctx, &res);}static voidtest_gnba(const char *target, lwres_uint32_t af, lwres_result_t expected,	  const char *name){	lwres_gnbaresponse_t *res;	lwres_result_t ret;	unsigned char addrbuf[16];	unsigned int len;	if (af == LWRES_ADDRTYPE_V4) {		len = 4;		ret = inet_pton(AF_INET, target, addrbuf);		assert(ret == 1);	} else {		len = 16;		ret = inet_pton(AF_INET6, target, addrbuf);		assert(ret == 1);	}	res = NULL;	ret = lwres_getnamebyaddr(ctx, af, len, addrbuf, &res);	if (ret != expected) {		printf("I:gnba(%s) failed: %d\n", target, ret);		if (res != NULL)			lwres_gnbaresponse_free(ctx, &res);		fails++;		return;	}	if (ret == LWRES_R_SUCCESS && strcasecmp(res->realname, name) != 0) {		 printf("I:gnba(%s) returned %s, expected %s\n",			target, res->realname, name);		 fails++;		 return;	}	if (res != NULL)		lwres_gnbaresponse_free(ctx, &res);}static voidtest_gethostbyname(const char *name, const char *address) {	struct hostent *hp;	unsigned char addrbuf[16];	int ret;	hp = gethostbyname(name);	if (hp == NULL) {		if (address == NULL && h_errno == HOST_NOT_FOUND)			return;		else if (h_errno != HOST_NOT_FOUND) {			printf("I:gethostbyname(%s) failed: %s\n",			       name, hstrerror(h_errno));			fails++;			return;		} else {			printf("I:gethostbyname(%s) returned not found\n",			       name);			fails++;			return;		}	} else {		ret = inet_pton(AF_INET, address, addrbuf);		assert(ret == 1);		if (memcmp(hp->h_addr_list[0], addrbuf, hp->h_length) != 0) {			char outbuf[16];			(void)inet_ntop(AF_INET, hp->h_addr_list[0],					outbuf, sizeof(outbuf));			printf("I:gethostbyname(%s) returned %s, "			       "expected %s\n", name, outbuf, address);			fails++;			return;		}	}}static voidtest_gethostbyname2(const char *name, const char *address, int af) {	struct hostent *hp;	unsigned char addrbuf[16];	int len, ret;	hp = gethostbyname2(name, af);	if (hp == NULL) {		if (address == NULL && h_errno == HOST_NOT_FOUND)			return;		else if (h_errno != HOST_NOT_FOUND) {			printf("I:gethostbyname(%s) failed: %s\n",			       name, hstrerror(h_errno));			fails++;			return;		} else {			printf("I:gethostbyname(%s) returned not found\n",			       name);			fails++;			return;		}	} else {		if (af == AF_INET)			len = 4;		else			len = 16;		ret = inet_pton(af, address, addrbuf);		assert(ret == 1);		if (hp->h_addrtype != af) {			printf("I:gethostbyname(%s) returned wrong family\n",			       name);			fails++;			return;		}		if (len != (int)hp->h_length ||		    memcmp(hp->h_addr_list[0], addrbuf, hp->h_length) != 0)		{			char outbuf[16];			(void)inet_ntop(af, hp->h_addr_list[0],					outbuf, sizeof(outbuf));			printf("I:gethostbyname(%s) returned %s, "			       "expected %s\n", name, outbuf, address);			fails++;			return;		}	}}static voidtest_getipnodebyname(const char *name, const char *address, int af,		     int v4map, int all){	struct hostent *hp;	unsigned char addrbuf[16];	int len, ret;	int error_num;	int flags = 0;	if (v4map)		flags |= AI_V4MAPPED;	if (all)		flags |= AI_ALL;	hp = getipnodebyname(name, af, flags, &error_num);	if (hp == NULL) {		if (address == NULL && error_num == HOST_NOT_FOUND)			return;		else if (error_num != HOST_NOT_FOUND) {			printf("I:getipnodebyname(%s) failed: %d\n",			       name, error_num);			fails++;			return;		} else {			printf("I:getipnodebyname(%s) returned not found\n",			       name);			fails++;			return;		}	} else {		if (af == AF_INET)			len = 4;		else			len = 16;		ret = inet_pton(af, address, addrbuf);		assert(ret == 1);		if (hp->h_addrtype != af) {			printf("I:getipnodebyname(%s) returned wrong family\n",			       name);			fails++;			return;		}		if (len != (int)hp->h_length ||		    memcmp(hp->h_addr_list[0], addrbuf, hp->h_length) != 0)		{			char outbuf[16];			(void)inet_ntop(af, hp->h_addr_list[0],					outbuf, sizeof(outbuf));			printf("I:getipnodebyname(%s) returned %s, "			       "expected %s\n", name, outbuf, address);			fails++;			return;		}		freehostent(hp);	}}static voidtest_gethostbyaddr(const char *address, int af, const char *name) {	struct hostent *hp;	char addrbuf[16];	int len, ret;	if (af == AF_INET)		len = 4;	else		len = 16;	ret = inet_pton(af, address, addrbuf);	assert(ret == 1);	hp = gethostbyaddr(addrbuf, len, af);	if (hp == NULL) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99蜜桃精品| 亚洲免费视频中文字幕| 青青草原综合久久大伊人精品优势| 欧美日韩国产乱码电影| 亚洲一区二区三区国产| 91精品午夜视频| 蜜臀久久99精品久久久画质超高清| 欧美一区二区私人影院日本| 韩国成人福利片在线播放| 中文字幕日韩精品一区| 美国欧美日韩国产在线播放| 久久夜色精品一区| 97久久精品人人爽人人爽蜜臀| 亚洲一线二线三线久久久| 日韩亚洲欧美中文三级| 国产白丝精品91爽爽久久| 亚洲精品五月天| 欧美一区二区三区在线| 国产另类ts人妖一区二区| 亚洲少妇30p| 欧美一区二区久久| 成人综合婷婷国产精品久久| 亚洲综合色成人| 精品欧美乱码久久久久久| 成人黄色免费短视频| 亚洲一级二级三级| 精品久久久网站| 欧美在线啊v一区| 精品一区二区三区在线视频| 亚洲天堂精品在线观看| 欧美一区二区三区视频免费| 成人免费看的视频| 日韩精品三区四区| 综合久久给合久久狠狠狠97色| 51精品视频一区二区三区| 国产999精品久久久久久绿帽| 亚洲线精品一区二区三区八戒| 精品成人佐山爱一区二区| 色噜噜狠狠成人网p站| 激情五月婷婷综合网| 亚洲自拍欧美精品| 国产精品免费视频一区| 日韩欧美在线不卡| 在线这里只有精品| 国产91精品一区二区麻豆网站| 午夜久久福利影院| 亚洲精品国产第一综合99久久| 久久蜜臀精品av| 欧美一区二区啪啪| 欧美亚洲高清一区| 成人sese在线| 国产一区二区伦理片| 日本午夜精品视频在线观看| 一区二区三区国产精品| 国产精品国产精品国产专区不片| 欧美成人午夜电影| 欧美一区二区三区免费观看视频 | 久久久99精品免费观看| 欧美精品 国产精品| 欧美自拍丝袜亚洲| 99r精品视频| 白白色 亚洲乱淫| 国产成人精品三级麻豆| 国产一区二区三区免费看| 日本vs亚洲vs韩国一区三区二区 | 99re6这里只有精品视频在线观看| 国产一区二区三区在线观看免费视频| 日韩av成人高清| 午夜伦理一区二区| 日韩精品国产精品| 男女视频一区二区| 美国毛片一区二区| 激情五月婷婷综合网| 韩国午夜理伦三级不卡影院| 精品一区二区三区在线视频| 精品一区二区精品| 激情综合五月婷婷| 国产传媒欧美日韩成人| 国产成人精品三级| 成人网男人的天堂| 99久久婷婷国产综合精品| 99久久精品情趣| 色999日韩国产欧美一区二区| 一本久久综合亚洲鲁鲁五月天 | 秋霞影院一区二区| 精品一区中文字幕| 国产激情偷乱视频一区二区三区| 国产sm精品调教视频网站| 丰满亚洲少妇av| 99精品桃花视频在线观看| 91亚洲精品一区二区乱码| 在线观看免费成人| 日韩午夜在线观看| 国产日韩欧美综合在线| 国产精品国产自产拍高清av王其| 亚洲女厕所小便bbb| 日韩精品一级中文字幕精品视频免费观看 | 成人一区二区三区视频在线观看 | 日韩国产高清影视| 国产一区二区三区黄视频 | 中文字幕欧美日韩一区| 亚洲欧美欧美一区二区三区| 亚洲高清免费一级二级三级| 蜜臀99久久精品久久久久久软件 | 黄色日韩网站视频| 成人美女视频在线观看| 精品视频一区二区不卡| 26uuu色噜噜精品一区| 亚洲精品中文在线观看| 麻豆成人久久精品二区三区红 | 另类小说视频一区二区| 成人视屏免费看| 欧美性淫爽ww久久久久无| 精品国产免费一区二区三区四区| 亚洲日本一区二区| 蜜臂av日日欢夜夜爽一区| 91视频精品在这里| 精品国产91九色蝌蚪| 亚洲高清免费一级二级三级| 国产精品99久久不卡二区| 欧美日韩在线精品一区二区三区激情 | 精品一区精品二区高清| 97久久超碰精品国产| 欧美不卡一区二区三区四区| 亚洲精品一卡二卡| 国产一区在线不卡| 欧美日韩亚洲高清一区二区| 国产欧美va欧美不卡在线| 日韩av一级电影| 色婷婷久久99综合精品jk白丝| 精品国产电影一区二区| 亚洲一区二区三区中文字幕在线| 亚洲午夜久久久久中文字幕久| 高清久久久久久| 精品免费日韩av| 亚洲国产精品欧美一二99| 波多野结衣中文一区| 欧美成人一区二区三区片免费 | 石原莉奈在线亚洲二区| 色欧美88888久久久久久影院| 精品国产伦一区二区三区免费| 亚洲国产精品久久人人爱蜜臀| 成人福利视频网站| 欧美国产一区在线| 国产精品亚洲成人| 精品国偷自产国产一区| 蜜芽一区二区三区| 91精品在线免费| 日韩在线一区二区| 88在线观看91蜜桃国自产| 亚洲精品福利视频网站| 91在线视频在线| 国产精品网曝门| 成人国产电影网| 日本一区二区成人| 成人免费福利片| 国产精品婷婷午夜在线观看| 国产精品一级片在线观看| 精品精品国产高清a毛片牛牛| 免费观看久久久4p| 精品美女一区二区| 久久99精品久久久久| 精品国产成人系列| 狠狠色丁香久久婷婷综合_中| 欧美成人猛片aaaaaaa| 精久久久久久久久久久| 精品国产伦一区二区三区观看体验 | 国产麻豆精品视频| 久久久久国色av免费看影院| 国产一区二区三区综合| 久久夜色精品国产欧美乱极品| 激情av综合网| 国产精品女人毛片| 一本一道波多野结衣一区二区| 一区二区三区视频在线观看| 欧美午夜电影网| 日韩激情一二三区| 欧美va日韩va| 国产98色在线|日韩| 亚洲天堂中文字幕| 欧美日韩国产精品自在自线| 青青草97国产精品免费观看无弹窗版 | 国产白丝精品91爽爽久久| 欧美激情在线一区二区| 91丨porny丨最新| 亚洲大片一区二区三区| 在线91免费看| 国产精品88av| 亚洲在线中文字幕| 日韩欧美成人激情| 成人av电影免费观看| 亚洲伦理在线免费看| 91麻豆精品91久久久久久清纯| 激情综合网av| 亚洲天堂2014| 日韩欧美中文一区二区| www.成人网.com| 视频在线观看一区| 国产精品天天看| 欧美一区二区三区精品|