⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lib-libc-net

📁 被广泛使用的域名服务(DNS)软件
💻
📖 第 1 页 / 共 5 页
字号:
****************** 131,135 ****X  		elseX  			h_errno = TRY_AGAIN;- X  		return (NULL);X  	}--- 129,132 ----****************** 141,159 ****X  	haveanswer = 0;X  	while (--ancount >= 0 && cp < eom) {! 		if ((n = dn_expand((u_char *)answer->buf, (u_char *)eom,! 		    (u_char *)cp, (u_char *)bp, buflen)) < 0)X  			break;X  		cp += n;X  		ans[0] = '\0';! 		strcpy(&ans[0], bp);X  		GETSHORT(type, cp);X  		GETSHORT(class, cp);! 		cp += sizeof(u_long);	/* TTL */X  		GETSHORT(n, cp);X  		if (class == C_IN && type == T_PTR) {! 			if ((n = dn_expand((u_char *)answer->buf,! 			    (u_char *)eom, (u_char *)cp, (u_char *)bp, buflen))! 			    < 0)! 			{X  				cp += n;X  				return (NULL);--- 138,154 ----X  	haveanswer = 0;X  	while (--ancount >= 0 && cp < eom) {! 		n = dn_expand(answer->buf, eom, cp, bp, buflen);! 		if (n < 0)X  			break;X  		cp += n;X  		ans[0] = '\0';! 		(void)strcpy(&ans[0], bp);X  		GETSHORT(type, cp);X  		GETSHORT(class, cp);! 		cp += INT32SZ;		/* TTL */X  		GETSHORT(n, cp);X  		if (class == C_IN && type == T_PTR) {! 			n = dn_expand(answer->buf, eom, cp, bp, buflen);! 			if (n < 0) {X  				cp += n;X  				return (NULL);****************** 163,167 ****X  			bp += strlen(bp) + 1;X  			net_entry.n_addrtype =! 			    class == C_IN ? AF_INET : AF_UNSPEC;X  			haveanswer++;X  		}--- 158,162 ----X  			bp += strlen(bp) + 1;X  			net_entry.n_addrtype =! 				(class == C_IN) ? AF_INET : AF_UNSPEC;X  			haveanswer++;X  		}****************** 172,176 ****X  		case BYADDR:X  			net_entry.n_name = *net_entry.n_aliases;! 			net_entry.n_net = NULL;X  			break;X  		case BYNAME:--- 167,171 ----X  		case BYADDR:X  			net_entry.n_name = *net_entry.n_aliases;! 			net_entry.n_net = 0L;X  			break;X  		case BYNAME:****************** 180,190 ****X  			for (i = 0; i < 4; i++) {X  				for (st = in, nchar = 0;! 				    *st != '.';! 				    st++, nchar++)X  					;X  				if (nchar != 1 || *in != '0' || flag) {! 					flag=1;! 					strncpy(paux1, i == 0 ? in : in - 1,! 					    i == 0 ? nchar : nchar + 1);X  					pauxt = paux2;X  					paux2 = strcat(paux1, paux2);--- 175,187 ----X  			for (i = 0; i < 4; i++) {X  				for (st = in, nchar = 0;! 				     *st != '.';! 				     st++, nchar++)X  					;X  				if (nchar != 1 || *in != '0' || flag) {! 					flag = 1;! 					(void)strncpy(paux1,! 						      (i==0) ? in : in-1,! 						      (i==0) ?nchar : nchar+1);! 					paux1[(i==0) ? nchar : nchar+1] = '\0';X  					pauxt = paux2;X  					paux2 = strcat(paux1, paux2);****************** 236,240 ****X  		break;X  	}! 	anslen = res_query(qbuf, C_IN, T_PTR, (char *)&buf, sizeof(buf));X  	if (anslen < 0) {X  #ifdef DEBUG--- 233,237 ----X  		break;X  	}! 	anslen = res_query(qbuf, C_IN, T_PTR, (u_char *)&buf, sizeof(buf));X  	if (anslen < 0) {X  #ifdef DEBUG****************** 244,248 ****X  		if (errno == ECONNREFUSED)X  			return (_getnetbyaddr(net, net_type));! 		return (_getnetbyaddr(net, net_type));X  	}X  	net_entry = getnetanswer(&buf, anslen, BYADDR);--- 241,245 ----X  		if (errno == ECONNREFUSED)X  			return (_getnetbyaddr(net, net_type));! 		return (NULL);X  	}X  	net_entry = getnetanswer(&buf, anslen, BYADDR);****************** 270,274 ****X  X  	strcpy(&qbuf[0],net);! 	anslen = res_search(qbuf, C_IN, T_PTR, (char *)&buf, sizeof(buf));X  	if (anslen < 0) {X  #ifdef DEBUG--- 267,271 ----X  X  	strcpy(&qbuf[0],net);! 	anslen = res_search(qbuf, C_IN, T_PTR, (u_char *)&buf, sizeof(buf));X  	if (anslen < 0) {X  #ifdef DEBUG*** ../net-2.0b1/herror.c	Mon Nov  7 10:54:29 1994--- herror.c	Sun Dec 11 23:35:40 1994****************** 68,72 ****X  X  char	*h_errlist[] = {! 	"Error 0",X  	"Unknown host",				/* 1 HOST_NOT_FOUND */X  	"Host name lookup failure",		/* 2 TRY_AGAIN */--- 68,72 ----X  X  char	*h_errlist[] = {! 	"Resolver Error 0 (no error)",X  	"Unknown host",				/* 1 HOST_NOT_FOUND */X  	"Host name lookup failure",		/* 2 TRY_AGAIN */****************** 74,78 ****X  	"No address associated with name",	/* 4 NO_ADDRESS */X  };! int	h_nerr = { sizeof(h_errlist)/sizeof(h_errlist[0]) };X  X  extern int	h_errno;--- 74,78 ----X  	"No address associated with name",	/* 4 NO_ADDRESS */X  };! int	h_nerr = { sizeof h_errlist / sizeof h_errlist[0] };X  X  extern int	h_errno;****************** 97,102 ****X  		v++;X  	}! 	v->iov_base = (u_int)h_errno < h_nerr ?! 	    h_errlist[h_errno] : "Unknown error";X  	v->iov_len = strlen(v->iov_base);X  	v++;--- 97,101 ----X  		v++;X  	}! 	v->iov_base = hstrerror(h_errno);X  	v->iov_len = strlen(v->iov_base);X  	v++;****************** 110,115 ****X  	int err;X  {! ! 	if ((u_int)err < h_nerr)X  		return (h_errlist[err]);X  	return ("Unknown resolver error");--- 109,115 ----X  	int err;X  {! 	if (err < 0)! 		return ("Resolver internal error");! 	else if (err < h_nerr)X  		return (h_errlist[err]);X  	return ("Unknown resolver error");*** ../net-2.0b1/res_comp.c	Mon Nov  7 10:54:47 1994--- res_comp.c	Sun Dec 11 21:01:14 1994****************** 58,75 ****X  #if defined(LIBC_SCCS) && !defined(lint)X  static char sccsid[] = "@(#)res_comp.c	8.1 (Berkeley) 6/4/93";! static char rcsid[] = "=Id: res_comp.c,v 4.9.1.4 1993/11/12 01:23:34 vixie Exp =";X  #endif /* LIBC_SCCS and not lint */X  X  #include <sys/param.h>- #include <arpa/nameser.h>X  #include <netinet/in.h>X  X  #include <stdio.h>X  #include <resolv.h>! X  #include <unistd.h>X  #include <string.h>X  ! static int dn_find __P((u_char *, u_char *, u_char **, u_char **));X  X  /*--- 58,76 ----X  #if defined(LIBC_SCCS) && !defined(lint)X  static char sccsid[] = "@(#)res_comp.c	8.1 (Berkeley) 6/4/93";! static char rcsid[] = "=Id: res_comp.c,v 4.9.1.13 1994/12/05 18:59:22 vixie Exp =";X  #endif /* LIBC_SCCS and not lint */X  X  #include <sys/param.h>X  #include <netinet/in.h>+ #include <arpa/nameser.h>X  X  #include <stdio.h>X  #include <resolv.h>! #include <ctype.h>X  #include <unistd.h>X  #include <string.h>X  ! static int	dn_find __P((u_char *exp_dn, u_char *msg,! 			     u_char **dnptrs, u_char **lastdnptr));X  X  /******************* 80,95 ****X   * Return size of compressed name or -1 if there was an error.X   */X  dn_expand(msg, eomorig, comp_dn, exp_dn, length)X  	const u_char *msg, *eomorig, *comp_dn;! 	u_char *exp_dn;X  	int length;X  {! 	register u_char *cp, *dn;X  	register int n, c;! 	u_char *eom;X  	int len = -1, checked = 0;X  X  	dn = exp_dn;! 	cp = (u_char *)comp_dn;X  	eom = exp_dn + length;X  	/*--- 81,98 ----X   * Return size of compressed name or -1 if there was an error.X   */+ intX  dn_expand(msg, eomorig, comp_dn, exp_dn, length)X  	const u_char *msg, *eomorig, *comp_dn;! 	char *exp_dn;X  	int length;X  {! 	register const u_char *cp;! 	register char *dn;X  	register int n, c;! 	char *eom;X  	int len = -1, checked = 0;X  X  	dn = exp_dn;! 	cp = comp_dn;X  	eom = exp_dn + length;X  	/******************* 118,122 ****X  				*dn++ = c;X  				if (cp >= eomorig)	/* out of range */! 					return(-1);X  			}X  			break;--- 121,125 ----X  				*dn++ = c;X  				if (cp >= eomorig)	/* out of range */! 					return (-1);X  			}X  			break;****************** 125,131 ****X  			if (len < 0)X  				len = cp - comp_dn + 1;! 			cp = (u_char *)msg + (((n & 0x3f) << 8) | (*cp & 0xff));X  			if (cp < msg || cp >= eomorig)	/* out of range */! 				return(-1);X  			checked += 2;X  			/*--- 128,134 ----X  			if (len < 0)X  				len = cp - comp_dn + 1;! 			cp = msg + (((n & 0x3f) << 8) | (*cp & 0xff));X  			if (cp < msg || cp >= eomorig)	/* out of range */! 				return (-1);X  			checked += 2;X  			/******************* 143,146 ****--- 146,152 ----X  	}X  	*dn = '\0';+ 	for (dn = exp_dn; (c = *dn) != '\0'; dn++)+ 		if (isascii(c) && isspace(c))+ 			return (-1);X  	if (len < 0)X  		len = cp - comp_dn;****************** 160,165 ****X   * is NULL, we don't update the list.X   */X  dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)! 	const u_char *exp_dn;X  	u_char *comp_dn, **dnptrs, **lastdnptr;X  	int length;--- 166,172 ----X   * is NULL, we don't update the list.X   */+ intX  dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)! 	const char *exp_dn;X  	u_char *comp_dn, **dnptrs, **lastdnptr;X  	int length;****************** 173,176 ****--- 180,184 ----X  	cp = comp_dn;X  	eob = cp + length;+ 	lpp = cpp = NULL;X  	if (dnptrs != NULL) {X  		if ((msg = *dnptrs++) != NULL) {****************** 238,248 ****X   * Skip over a compressed domain name. Return the size or -1.X   */X  __dn_skipname(comp_dn, eom)X  	const u_char *comp_dn, *eom;X  {! 	register u_char *cp;X  	register int n;X  ! 	cp = (u_char *)comp_dn;X  	while (cp < eom && (n = *cp++)) {X  		/*--- 246,257 ----X   * Skip over a compressed domain name. Return the size or -1.X   */+ intX  __dn_skipname(comp_dn, eom)X  	const u_char *comp_dn, *eom;X  {! 	register const u_char *cp;X  	register int n;X  ! 	cp = comp_dn;X  	while (cp < eom && (n = *cp++)) {X  		/******************* 266,269 ****--- 275,287 ----X  }X  + static int+ mklower(ch)+ 	register int ch;+ {+ 	if (isascii(ch) && isupper(ch))+ 		return (tolower(ch));+ 	return (ch);+ }+ X  /*X   * Search for expanded name from a list of previously compressed names.****************** 295,299 ****X  					if (*dn == '\\')X  						dn++;! 					if (*dn++ != *cp++)X  						goto next;X  				}--- 313,317 ----X  					if (*dn == '\\')X  						dn++;! 					if (mklower(*dn++) != mklower(*cp++))X  						goto next;X  				}****************** 304,312 ****X  				goto next;X  - 			default:	/* illegal type */- 				return (-1);- X  			case INDIR_MASK:	/* indirection */X  				cp = msg + (((n & 0x3f) << 8) | *cp);X  			}X  		}--- 322,331 ----X  				goto next;X  X  			case INDIR_MASK:	/* indirection */X  				cp = msg + (((n & 0x3f) << 8) | *cp);+ 				break;+ + 			default:	/* illegal type */+ 				return (-1);X  			}X  		}****************** 328,332 ****X  u_int16_tX  _getshort(msgp)! 	register u_char *msgp;X  {X  	register u_int16_t u;--- 347,351 ----X  u_int16_tX  _getshort(msgp)! 	register const u_char *msgp;X  {X  	register u_int16_t u;****************** 338,342 ****X  u_int32_tX  _getlong(msgp)! 	register u_char *msgp;X  {X  	register u_int32_t u;--- 357,361 ----X  u_int32_tX  _getlong(msgp)! 	register const u_char *msgp;X  {X  	register u_int32_t u;****************** 348,352 ****X  voidX  #if defined(__STDC__) || defined(__cplusplus)! __putshort(register u_short s, register u_char *msgp)X  #elseX  __putshort(s, msgp)--- 367,371 ----X  voidX  #if defined(__STDC__) || defined(__cplusplus)! __putshort(register u_int16_t s, register u_char *msgp)	/* must match proto */X  #elseX  __putshort(s, msgp)*** ../net-2.0b1/res_debug.c	Mon Nov  7 10:54:49 1994--- res_debug.c	Mon Dec 12 00:07:34 1994****************** 58,62 ****X  #if defined(LIBC_SCCS) && !defined(lint)X  static char sccsid[] = "@(#)res_debug.c	8.1 (Berkeley) 6/4/93";! static char rcsid[] = "=Id: res_debug.c,v 4.9.1.6 1993/11/12 01:23:34 vixie Exp =";X  #endif /* LIBC_SCCS and not lint */X  --- 58,62 ----X  #if defined(LIBC_SCCS) && !defined(lint)X  static char sccsid[] = "@(#)res_debug.c	8.1 (Berkeley) 6/4/93";! static char rcsid[] = "=Id: res_debug.c,v 4.9.1.21 1994/12/11 19:47:17 vixie Exp =";X  #endif /* LIBC_SCCS and not lint */X  ****************** 70,84 ****X  #include <string.h>X  ! void __fp_query();! char *__p_class(), *__p_time(), *__p_type();! static char *p_cdname(), *p_fqname(), *p_rr();! static char *p_option __P((u_int32_t));X  ! char *_res_opcodes[] = {X  	"QUERY",X  	"IQUERY",X  	"CQUERYM",! 	"CQUERYU",! 	"4",X  	"5",X  	"6",--- 70,81 ----X  #include <string.h>X  ! #define DEBUG 1X  ! const char *_res_opcodes[] = {X  	"QUERY",X  	"IQUERY",X  	"CQUERYM",! 	"CQUERYU",	/* experimental */! 	"NOTIFY",	/* experimental */X  	"5",X  	"6",****************** 94,98 ****X  };X  ! char *_res_resultcodes[] = {X  	"NOERROR",X  	"FORMERR",--- 91,95 ----X  };X  ! const char *_res_resultcodes[] = {X  	"NOERROR",X  	"FORMERR",****************** 115,198 ****X  static char retbuf[16];X  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -