diff --recurs m:\bindb32/BSD/Makefile.inc m:\bindrel/BSD/Makefile.inc
1c1
< # $Id: Makefile.inc,v 8.2 1995/06/19 08:34:25 vixie Exp $
---
> # $Id: Makefile.inc,v 8.3 1995/12/31 23:28:00 vixie Exp $
3,4c3,4
< .ifndef (Mk.Inc)
< Mk.Inc?=defined
---
> .ifndef (Mk.Inc)
> Mk.Inc?=defined
6c6
< BIND_DIR=	${.CURDIR}/../BIND
---
> BIND_DIR=	${.CURDIR}/../BIND
8,9c8,9
< VER!=		awk -F' *= *' '$$1 == "VER" { print $$2 ; exit }' \
< 		${BIND_DIR}/Makefile
---
> VER!=		awk -F' *= *' '$$1 == "VER" { print $$2 ; exit }' \
> 		${BIND_DIR}/Makefile
20a21
> LDADD+=		-lresolv
diff --recurs m:\bindb32/BSD/named-xfer/Makefile m:\bindrel/BSD/named-xfer/Makefile
1,7c1,8
< # $Id: Makefile,v 8.1 1994/12/15 06:23:46 vixie Exp $
< 
< .PATH:	${.CURDIR}/../BIND/named \
< 	${.CURDIR}/../BIND/man
< 
< PROG=	named-xfer
< SRCS=	named-xfer.c db_glue.c storage.c dmalloc.c
---
> # $Id: Makefile,v 8.2 1995/12/31 23:28:01 vixie Exp $
> 
> .PATH:	${.CURDIR}/../BIND/named \
> 	${.CURDIR}/../named \
> 	${.CURDIR}/../BIND/man
> 
> PROG=	named-xfer
> SRCS=	named-xfer.c db_glue.c storage.c dmalloc.c version.c
diff --recurs m:\bindb32/CHANGES m:\bindrel/CHANGES
1c1,53
< $Id: CHANGES,v 8.23 1995/12/25 07:48:08 vixie Exp $
---
> $Id: CHANGES,v 8.26 1995/12/31 23:27:58 vixie Exp $
> 
> 	--- 4.9.3-rel released ---
> 
> 573. [contrib]	put in "951231" version of contrib/host.
> 
> 572. [doc]	new file doc/info/SCO-2 concerning <sys/param.h> porting.
> 
> 571. [bug]	zones whose master files contained only $INCLUDEs were
> 		incorrectly considered to not have any RR's (old bug.)
> 
> 570. [doc]	trivial man/named.8 tweak.
> 
> 569. [doc]	minor documentation tweak to shres/solaris/ISSUES.
> 
> 	--- 4.9.3-beta34 released ---
> 
> 568. [bug]	very minor initialization bug fixed in tools/dig.c.
> 
> 567. [bug]	disabled VALIDATE; all this code is trash and will be removed
> 		along with ALLOW_UPDATES very early in the next alpha cycle.
> 		we are now back to the B26 level of stability, with several
> 		minor bug fixes from intervening betas.
> 
> 566. [bug]	fixed memory leak introduced in #565.
> 
> 	--- 4.9.3-beta33 released ---
> 
> 565. [proto]	we were generating truncated RRsets due to VALIDATE bugs.
> 
> 564. [proto]	we weren't stopping early enough on some kinds of truncation.
> 
> 563. [doc]	added doc/info/Solaris, concerning Sun Patch-ID# 102165-02.
> 
> 562. [bug]	named/ns_resp.c had an overzealous #ifdef.
> 
> 561. [port]	tools/nslookup/getinfo.c had an ANSI C nit.
> 
> 560. [port]	shres/netbsd and Makefile's netbsd stuff was wrong.
> 
> 559. [doc]	shres/* documentation had more pathname problems.
> 
> 558. [port]	SCO OSE5 portability problem (minor).
> 
> 557. [doc]	added doc/misc/style.txt out of my archives.
> 
> 556. [contrib]	updated contrib/arlib, contrib/dnsparse (really!).
> 
> 555. [bug]	quoted newlines were still broken even after #509.
> 
> 554. [bug]	dangling CNAME cache chains could make named dump core.
> 
> 553. [bug]	forwarders didn't work well with VALIDATE.
diff --recurs m:\bindb32/Makefile m:\bindrel/Makefile
4c4
< # $Id: Makefile,v 8.24 1995/12/25 07:48:08 vixie Exp $
---
> # $Id: Makefile,v 8.27 1995/12/31 23:27:58 vixie Exp $
6c6
< ## ++Copyright++ 1989
---
> ## ++Copyright++ 1989
8,9c8,9
< ## Copyright (c) 1989
< ##    The Regents of the University of California.  All rights reserved.
---
> ## Copyright (c) 1989
> ##    The Regents of the University of California.  All rights reserved.
11,13c11,13
< ## Redistribution and use in source and binary forms, with or without
< ## modification, are permitted provided that the following conditions
< ## are met:
---
> ## Redistribution and use in source and binary forms, with or without
> ## modification, are permitted provided that the following conditions
> ## are met:
59c59
< VER = 4.9.3-BETA32
---
> VER = 4.9.3-REL
104a105,110
> # (NetBSD - for details on shared library building, see shres/netbsd/INSTALL)
> #uncomment next three lines to build a shared library version of libresolv
> #SHRES = shres/netbsd
> #SHCC = cc
> #PIC = -fpic
> 
245a252,254
> #->and note that sun moved their nslookup to /usr/sbin for some odd reason;
> #  when you install this one in /usr/bin you should delete sun's or else you
> #  will get confusing results since you never know which nslookup you're using.
diff --recurs m:\bindb32/OPTIONS m:\bindrel/OPTIONS
3c3
<     Revised: $Id: OPTIONS,v 8.4 1995/12/24 06:43:57 vixie Exp $
---
>     Revised: $Id: OPTIONS,v 8.5 1995/12/29 21:08:13 vixie Exp $
5,6c5,6
< Options available in this version of BIND are controlled by conf/options.h,
< rather than by $(DEFS) in the Makefile.  The options are:
---
> Options available in this version of BIND are controlled by conf/options.h,
> rather than by $(DEFS) in the Makefile.  The options are:
8,12c8,12
< DEBUG (origin: U C Berkeley)
< 	enables the -d command line option, and allows SIGUSR1 to increment
< and SIGUSR2 to clear the internal variable "debug", which in turn controls
< hundreds of fprintf()'s out to /usr/tmp/named.run.
< 	you probably want this.  it makes the binary bigger but not slower (or
---
> DEBUG (origin: U C Berkeley)
> 	enables the -d command line option, and allows SIGUSR1 to increment
> and SIGUSR2 to clear the internal variable "debug", which in turn controls
> hundreds of fprintf()'s out to /usr/tmp/named.run.
> 	you probably want this.  it makes the binary bigger but not slower (or
206c206,207
< 	it is on by default.
---
> 	it is off by default because it is hopeless, and the code will all
> be ripped out of BIND in the near future.
diff --recurs m:\bindb32/README m:\bindrel/README
1,10c1,10
< The official way to get BIND is:	ftp ftp.vix.com		NOT TRUE YET!!
< 					cd pub/bind		NOT TRUE YET!!
< 					binary			NOT TRUE YET!!
< 					get bind.tar.gz		NOT TRUE YET!!
< 
< The official mailing lists are:		bind-users@vix.com	- users/admins
<   (use *-request@* for admin mail)	bind-workers@vix.com	- developers
< 
< The official Usenet newsgroups are:	comp.protocols.tcp-ip.domains
< 					
---
> The official way to get BIND is:	ftp ftp.vix.com
> 					cd pub/bind/release
> 					binary
> 					get bind.tar.gz
> 
> The official mailing lists are:		bind-users@vix.com	- users/admins
>   (use *-request@* for admin mail)	bind-workers@vix.com	- developers
> 
> The official Usenet newsgroups are:	comp.protocols.tcp-ip.domains
> 					
12a13,16
> 
> ----- 4.9.3 BETA33 - December, 1995 - paul@vix.com
> 
> Take a look around in doc/misc/ and contrib/.  Reread INSTALL.  Have fun.
Only in m:\bindrel: bind-4.9.3-REL.tar
diff --recurs m:\bindb32/conf/options.h m:\bindrel/conf/options.h
4c4
<  * $Id: options.h,v 8.6 1995/12/22 10:20:19 vixie Exp $
---
>  * $Id: options.h,v 8.7 1995/12/29 21:08:13 vixie Exp $
7,8c7,8
< /*
<  * ++Copyright++
---
> /*
>  * ++Copyright++
10,11c10,11
<  * Copyright (c) 
<  *    The Regents of the University of California.  All rights reserved.
---
>  * Copyright (c) 
>  *    The Regents of the University of California.  All rights reserved.
13c13
<  * Redistribution and use in source and binary forms, with or without
---
>  * Redistribution and use in source and binary forms, with or without
98c98
< #define VALIDATE	/* validation procedure (anant@isi.edu, marka) */
---
> /*#define VALIDATE	/* validation procedure (anant@isi.edu) (BUGGY!) */
diff --recurs m:\bindb32/contrib/arlib/Makefile m:\bindrel/contrib/arlib/Makefile
2,11c2,11
< # (C)1992, 1994 by Darren Reed.
< # avalon@coombs.anu.edu.au
< #
< CC=cc
< RM=/bin/rm
< MV=/bin/mv
< CP=/bin/cp
< CHMOD=/bin/chmod
< CFLAGS=-g -I../../include
< LIBDIR=/usr/local/lib
---
> # (C)1992, 1994, 1995 by Darren Reed.
> # darrenr@cyber.com.au
> #
> CC=cc
> RM=/bin/rm
> MV=/bin/mv
> CP=/bin/cp
> CHMOD=/bin/chmod
> CFLAGS=-g -I../../include -I../../compat/include
> LIBDIR=/usr/local/lib
13c13
< RES=-L../../res/ -lresolv -l44bsd
---
> RES=-L../../res/ -lresolv #-l44bsd
diff --recurs m:\bindb32/contrib/arlib/arlib.c m:\bindrel/contrib/arlib/arlib.c
29a30
> static	int	do_query_name(), do_query_number(), ar_resend_query();
32c33
<  * Statistics structure.
---
>  * Statistics structure.
34,39c35,40
< static	struct	resstats {
< 	int	re_errors;
< 	int	re_nu_look;
< 	int	re_na_look;
< 	int	re_replies;
< 	int	re_requests;
---
> static	struct	resstats {
> 	int	re_errors;
> 	int	re_nu_look;
> 	int	re_na_look;
> 	int	re_replies;
> 	int	re_requests;
96a98
> 			struct	sockaddr_in *sip;
98a101
> 			sip = _res.nsaddr_list;
106c109
< 			while (connect(ar_resfd, &(_res.nsaddr_list[i++]),
---
> 			while (connect(ar_resfd, (struct sockaddr *)sip++,
347c350
< 				   &(_res.nsaddr_list[i]),
---
> 				   (struct sockaddr *)&(_res.nsaddr_list[i]),
476c479
< 	len = strlen(strncpy(hname, name, sizeof(hname)-1));
---
> 	len = strlen((char *)strncpy(hname, name, sizeof(hname)-1));
diff --recurs m:\bindb32/contrib/arlib/arlib.h m:\bindrel/contrib/arlib/arlib.h
56c56
< extern	long    ar_timeout(long, char *, int);
---
> extern	long    ar_timeout(time_t, char *, int);
diff --recurs m:\bindb32/contrib/arlib/sample.c m:\bindrel/contrib/arlib/sample.c
61,69c61,70
< 			(void)ar_gethostbyname(line, &seq, sizeof(seq));
< 			lookup++;
< 		}
< 		else if (isdigit(*line))
< 		{
< 			(void)printf("Asking about IP#[%s] #%d.\n",
< 				line, ++seq);
< 			adr.s_addr = inet_addr(line);
< 			(void)ar_gethostbyaddr(&adr, &seq, sizeof(seq));
---
> 			(void)ar_gethostbyname(line, (char *)&seq, sizeof(seq));
> 			lookup++;
> 		}
> 		else if (isdigit(*line))
> 		{
> 			(void)printf("Asking about IP#[%s] #%d.\n",
> 				line, ++seq);
> 			adr.s_addr = inet_addr(line);
> 			(void)ar_gethostbyaddr((char *)&adr, (char *)&seq,
> 						sizeof(seq));
diff --recurs m:\bindb32/contrib/dnsparse/README m:\bindrel/contrib/dnsparse/README
1c1
<   $Id: README,v 2.0 90/09/11 11:06:43 hakanson Rel $
---
>   $Id: README,v 2.6 1995/12/24 20:17:42 hakanson Rel $
5c5
< 			dnsparse kit, version 2.0
---
> 			dnsparse kit, version 2.1
7c7
< 		 Copyright (c) 1990, Marion Hakanson
---
> 		 Copyright (c) 1990, 1991, Marion Hakanson
9,10c9,10
<     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
---
>     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
31,33c31,35
< "dnslex.c" into a program "dnslex" and install it somewhere in your
< search path.  The "dnsparse.pl" file must also be somewhere in the
< perl library search path, and perl must be available.
---
> "dnslex.c" into a program "dnslex" in the current directory, as the
> "dnsparse.pl" library will invoke it as "./dnslex".  Feel free to
> modify the invocation path to suit your needs.  The "dnsparse.pl" file
> must also be somewhere in the perl library search path, and perl must
> be available.
37,45c39
< then do something like (in csh syntax):
< 
< set ver=YY.MM.DD
< foreach dom ( ogi admin.ogi cbs.ogi cse.ogi ese.ogi mse.ogi )
<   echo $dom
<   set fil="HOSTS.${dom}.$ver"
<   ./dns2hosts -d${dom}.edu `cat zonelist` > $fil
<   chmod a-w,a+r $fil
< end
---
> then use the enclosed "mkhosts" script to spit out zone-specific files.
65,66c59
< Marion Hakanson         Domain: hakanson@cse.ogi.edu
<                         UUCP  : {hp-pcd,tektronix}!ogicse!hakanson
---
> Marion Hakanson <hakanson@cse.ogi.edu>
diff --recurs m:\bindb32/contrib/dnsparse/dnslex.c m:\bindrel/contrib/dnsparse/dnslex.c
2,4c2,3
< char rcsid_[] = "Id: dnslex.c,v 2.0 90/09/11 11:07:31 hakanson Rel $";
< char rcsid[] = "BIND $Id: dnslex.c,v 1.2 1994/04/09 03:43:03 vixie Exp $";
< #endif /* lint */
---
> char rcsid[] = "$Id: dnslex.c,v 2.1 1991/08/29 15:45:49 hakanson Rel $";
> #endif /* lint */
7,9c6,8
<  * A lexical analyzer for DNS master files.
<  *   Marion Hakanson (hakanson@cse.ogi.edu)
<  *   Oregon Graduate Institute of Science and Technology
---
>  * A lexical analyzer for DNS master files.
>  *   Marion Hakanson (hakanson@cse.ogi.edu)
>  *   Oregon Graduate Institute of Science and Technology
11c10
<  * Copyright (c) 1990, Marion Hakanson.
---
>  * Copyright (c) 1990, Marion Hakanson.
40c39
< #if !defined(SYSV) && !defined(__STDC__)
---
> #ifdef BSD
42c41,42
< #define strrchr index
---
> #define strrchr rindex
> #endif /* BSD */
44d43
< #endif
48,60d46
< 
< /*
<  *  Because Convex has true library function feof() which is
<  *  patently wrong (it test bit _IOREAD) we need feof() as
<  *  a macro.
<  *  Because also stdio.h is also broken on ConvexOS 10.2 we
<  *  don't get the macro. So we are left to our own devices
<  *  with it.
<  */
< 
< #if defined(__convex__) && !defined(feof)
< #  define   feof(p)	((p)->_flag&_IOEOF)
< #endif
diff --recurs m:\bindb32/contrib/dnsparse/dnsparse.pl m:\bindrel/contrib/dnsparse/dnsparse.pl
3c3
< # $Id: dnsparse.pl,v 2.0 90/09/11 11:07:36 hakanson Rel $
---
> # $Id: dnsparse.pl,v 2.1 1993/10/21 00:58:32 bruce Rel $
5,7c5,7
< # Subroutines to parse DNS master (RFC-1035) format files.
< #   Marion Hakanson (hakanson@cse.ogi.edu)
< #   Oregon Graduate Institute of Science and Technology
---
> # Subroutines to parse DNS master (RFC-1035) format files.
> #   Marion Hakanson (hakanson@cse.ogi.edu)
> #   Oregon Graduate Institute of Science and Technology
9c9
< # Copyright (c) 1990, Marion Hakanson.
---
> # Copyright (c) 1990, Marion Hakanson.
11,12c11,12
< # You may distribute under the terms of the GNU General Public License
< # as specified in the README file that comes with the dnsparse kit.
---
> # You may distribute under the terms of the GNU General Public License
> # as specified in the README file that comes with the dnsparse kit.
41c41
< $dnslex = 'dnslex';
---
> $dnslex = './dnslex';
Only in m:\bindrel/contrib/dnsparse: domlist
Only in m:\bindrel/contrib/dnsparse: mkhosts
diff --recurs m:\bindb32/contrib/dnsparse/zonelist m:\bindrel/contrib/dnsparse/zonelist
1,12c1,10
< /usr/local/named/conf/zone.ogi,ogi.edu
< /usr/local/named/conf/zone.ogi.admin,admin.ogi.edu
< /usr/local/named/conf/zone.ogi.cbs,cbs.ogi.edu
< /usr/local/named/conf/zone.ogi.cse,cse.ogi.edu
< /usr/local/named/conf/zone.ogi.ese,ese.ogi.edu
< /usr/local/named/conf/zone.ogi.mse,mse.ogi.edu
< /usr/local/named/conf/zone.ogc,ogc.edu
< /usr/local/named/conf/zone.ogc.admin,admin.ogc.edu
< /usr/local/named/conf/zone.ogc.cbs,cbs.ogc.edu
< /usr/local/named/conf/zone.ogc.cse,cse.ogc.edu
< /usr/local/named/conf/zone.ogc.ese,ese.ogc.edu
< /usr/local/named/conf/zone.ogc.mse,mse.ogc.edu
---
> /usr/etc/local/named/conf/zone.ogi,ogi.edu
> /usr/etc/local/named/conf/zone.ogi.admin,admin.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.atmos,atmos.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.cbs,cbs.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.ccalmr,ccalmr.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.conted,conted.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.cse,cse.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.eeap,eeap.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.ese,ese.ogi.edu
> /usr/etc/local/named/conf/zone.ogi.mse,mse.ogi.edu
diff --recurs m:\bindb32/contrib/host/Makefile m:\bindrel/contrib/host/Makefile
1c1
< #	@(#)Makefile            e07@nikhef.nl (Eric Wassenaar) 951024
---
> #	@(#)Makefile            e07@nikhef.nl (Eric Wassenaar) 951230
4c4
< # Adapt the installation directories to your local standards.
---
> # Adapt the installation directories to your local standards.
7,8c7,8
< # This is where the host executable will go.
< DESTBIN = /usr/local/bin
---
> # This is where the host executable will go.
> DESTBIN = /usr/local/bin
10c10
< # This is where the host manual page will go.
---
> # This is where the host manual page will go.
24a25,28
> #if defined(SCO) && You have either OpenDeskTop 3 or OpenServer 5
> SYSDEFS = -DSYSV
> #endif
>  
89a94,95
> # SCO keeps its own default resolver library inside libsocket.a
> #
91a98
> #
96a104,105
> RES = -lsocket				#if defined(SCO) && default
> RES =
180a190
> ABBREVIATIONS = sig key px gpos aaaa loc		# very new
diff --recurs m:\bindb32/contrib/host/RELEASE_NOTES m:\bindrel/contrib/host/RELEASE_NOTES
1c1
< 	@(#)RELEASE_NOTES       e07@nikhef.nl (Eric Wassenaar) 951024
---
> 	@(#)RELEASE_NOTES       e07@nikhef.nl (Eric Wassenaar) 951231
3,7c3,7
< yymmdd		Description of changes per release
< TODO		Things that still need to be done
< WISHLIST	Wishes expressed by various people
< NOTES		Important issues to keep in mind
< MISC		Miscellaneous reminders
---
> yymmdd		Description of changes per release
> TODO		Things that still need to be done
> WISHLIST	Wishes expressed by various people
> NOTES		Important issues to keep in mind
> MISC		Miscellaneous reminders
10c10
< # Description of changes per release
---
> # Description of changes per release
12a13,20
> 951231
> 	Cosmetic changes.
> 		Print all relevant messages in debug mode to stdout,
> 		and appropriately prefix them with ";; " to conform
> 		with the BIND 4.9.3 conventions.
> 	Miscellaneous changes.
> 		Consider the all-ones broadcast address a fake address.
> 
697a706
> 
707a717
> 
713a724
> 
718a730
> 		SUN will probably implement BIND 4.9.3 after its release.
733a746
> 
740a754
> 		(Things have been corrected in BIND 4.9.3).
742a757
> 
diff --recurs m:\bindb32/contrib/host/conf.h m:\bindrel/contrib/host/conf.h
4,5c4,5
< **	@(#)conf.h              e07@nikhef.nl (Eric Wassenaar) 950318
< */
---
> **	@(#)conf.h              e07@nikhef.nl (Eric Wassenaar) 951230
> */
8,9c8,9
<  * A special version of res_send() is included, which returns additional
<  * errno statuses, and which corrects some flaws in the BIND 4.8 version.
---
>  * A special version of res_send() is included, which returns additional
>  * errno statuses, and which corrects some flaws in the BIND 4.8 version.
12,13c12,13
< #if !defined(HOST_RES_SEND) && !defined(BIND_RES_SEND)
< #if defined(BIND_49)
---
> #if !defined(HOST_RES_SEND) && !defined(BIND_RES_SEND)
> #if defined(BIND_49)
53a54,63
> 
> /*
>  * Prefix for messages on stdout in debug mode.
>  */
> 
> #if defined(BIND_49)
> #define DBPREFIX	";; "
> #else
> #define DBPREFIX	""
> #endif
diff --recurs m:\bindb32/contrib/host/host.c m:\bindrel/contrib/host/host.c
39c39
< static char Version[] = "@(#)host.c	e07@nikhef.nl (Eric Wassenaar) 951024";
---
> static char Version[] = "@(#)host.c	e07@nikhef.nl (Eric Wassenaar) 951231";
42,43c42,43
< #if defined(apollo) && defined(lint)
< #define __attribute(x)
---
> #if defined(apollo) && defined(lint)
> #define __attribute(x)
46,48c46,48
< #define justfun			/* this is only for fun */
< #undef  obsolete		/* old code left as a reminder */
< #undef  notyet			/* new code for possible future use */
---
> #define justfun			/* this is only for fun */
> #undef  obsolete		/* old code left as a reminder */
> #undef  notyet			/* new code for possible future use */
286,287d285
< #include "type.h"		/* types should be in <arpa/nameser.h> */
< #include "exit.h"		/* exit codes come from <sysexits.h> */
289a288,289
> #include "type.h"		/* types should be in <arpa/nameser.h> */
> #include "exit.h"		/* exit codes come from <sysexits.h> */
315c315
< 
---
> #define BROADCAST_ADDR	((ipaddr_t)0xffffffff)
353c353,354
< extern char *version;		/* program version number */
---
> extern char *dbprefix;		/* prefix for debug messages (send.c) */
> extern char *version;		/* program version number (vers.c) */
378a380,381
> char *listhost = NULL;		/* actual host queried during zone listing */
> 
433,434d435
< char *listhost = NULL;		/* actual host queried during zone listing */
< 
451c452,453
< #define fakeaddr(a)	(((a) == 0) || ((a) == htonl(LOCALHOST_ADDR)))
---
> #define nulladdr(a)	(((a) == 0) || ((a) == BROADCAST_ADDR))
> #define fakeaddr(a)	(nulladdr(a) || ((a) == htonl(LOCALHOST_ADDR)))
1834c1836
< 			(void) fprintf(stderr, "res_mkquery failed\n");
---
> 			printf("%sres_mkquery failed\n", dbprefix);
1843c1845
< 			(void) fprintf(stderr, "res_send failed\n");
---
> 			printf("%sres_send failed\n", dbprefix);
4053c4055
< 			(void) fprintf(stderr, "res_mkquery failed\n");
---
> 			printf("%sres_mkquery failed\n", dbprefix);
4060c4062
< 		printf("get_zone()\n");
---
> 		printf("%sget_zone()\n", dbprefix);
4126c4128
< 			printf("got answer, %d bytes:\n", n);
---
> 			printf("%sgot answer, %d bytes:\n", dbprefix, n);
4141c4143
< 			if (verbose)
---
> 			if (debug || verbose)
6028c6030,6031
< 	printf("Query %s, %d answer%s%s, %sstatus: %s\n",
---
> 	printf("%sQuery %s, %d answer%s%s, %sstatus: %s\n",
> 		verbose ? "" : dbprefix,
diff --recurs m:\bindb32/contrib/host/send.c m:\bindrel/contrib/host/send.c
21,22c21,22
< static char Version[] = "@(#)send.c	e07@nikhef.nl (Eric Wassenaar) 951006";
< #endif
---
> static char Version[] = "@(#)send.c	e07@nikhef.nl (Eric Wassenaar) 951231";
> #endif
24,30c24,30
< #if defined(apollo) && defined(lint)
< #define __attribute(x)
< #endif
< 
< #include <stdio.h>
< #include <errno.h>
< #include <setjmp.h>
---
> #if defined(apollo) && defined(lint)
> #define __attribute(x)
> #endif
> 
> #include <stdio.h>
> #include <errno.h>
> #include <setjmp.h>
54a55,56
> char *dbprefix = DBPREFIX;	/* prefix for debug messages to stdout */
> 
118c120
< 		printf("res_send()\n");
---
> 		printf("%sres_send()\n", dbprefix);
149,150c151,152
< 			printf("Querying server (# %d) %s address = %s\n", ns+1,
< 			    v_circuit ? "tcp" : "udp", inet_ntoa(addr->sin_addr));
---
> 			printf("%sQuerying server (# %d) %s address = %s\n", dbprefix,
> 			    ns+1, v_circuit ? "tcp" : "udp", inet_ntoa(addr->sin_addr));
176c178
< 					(void) fprintf(stderr, "truncated answer\n");
---
> 					printf("%struncated answer\n", dbprefix);
205c207
< 			printf("got answer, %d bytes:\n", n);
---
> 			printf("%sgot answer, %d bytes:\n", dbprefix, n);
289c291
< 		printf("connected to %s\n", inet_ntoa(addr->sin_addr));
---
> 		printf("%sconnected to %s\n", dbprefix, inet_ntoa(addr->sin_addr));
403c405
< 			printf("old answer:\n");
---
> 			printf("%sold answer:\n", dbprefix);
626c628
< 			(void) fprintf(stderr, "response truncated\n");
---
> 			printf("%sresponse truncated\n", dbprefix);
diff --recurs m:\bindb32/contrib/host/vers.c m:\bindrel/contrib/host/vers.c
2,5c2,5
< static char Version[] = "@(#)vers.c	e07@nikhef.nl (Eric Wassenaar) 951024";
< #endif
< 
< char *version = "951024";
---
> static char Version[] = "@(#)vers.c	e07@nikhef.nl (Eric Wassenaar) 951231";
> #endif
> 
> char *version = "951231";
diff --recurs m:\bindb32/doc/bog/ack.me m:\bindrel/doc/bog/ack.me
242a243,251
> .ip [RFC1713]
> Romao, A.,
> .q "Tools for DNS debugging"
> .ul
> Internet Request For Comment 1713, also FYI27
> Network Information Center,
> SRI International,
> Menlo Park, California.
> November 1994.
Only in m:\bindrel/doc/bog: ack.me.orig
diff --recurs m:\bindb32/doc/bog/file.lst m:\bindrel/doc/bog/file.lst
2927,2935c2927,2940
< [Terry]   Terry,  D.  B.,  Painter,  M.,  Riggle, D. W., and
<           Zhou,  S.,  _T_h_e  _B_e_r_k_e_l_e_y  _I_n_t_e_r_n_e_t  _N_a_m_e   _D_o_m_a_i_n
<           _S_e_r_v_e_r_.   Proceedings  USENIX  Summer  Conference,
<           Salt Lake City, Utah.  June 1984, pages 23-31.
< 
< [Zhou]    Zhou, S., _T_h_e _D_e_s_i_g_n  _a_n_d  _I_m_p_l_e_m_e_n_t_a_t_i_o_n  _o_f  _t_h_e
<           _B_e_r_k_e_l_e_y  _I_n_t_e_r_n_e_t  _N_a_m_e  _D_o_m_a_i_n  _(_B_I_N_D_)  _S_e_r_v_e_r_s_.
<           UCB/CSD 84/177.  University of California,  Berke-
<           ley, Computer Science Division.  May 1984.
---
> [RFC1713] Romao,  A.,  "Tools  for  DNS  debugging" _I_n_t_e_r_n_e_t
>           _R_e_q_u_e_s_t  _F_o_r  _C_o_m_m_e_n_t  _1_7_1_3_,  _a_l_s_o  _F_Y_I_2_7  Network
>           Information Center, SRI International, Menlo Park,
>           California.  November 1994.
> 
> [Terry]   Terry, D. B., Painter,  M.,  Riggle,  D.  W.,  and
>           Zhou,   S.,  _T_h_e  _B_e_r_k_e_l_e_y  _I_n_t_e_r_n_e_t  _N_a_m_e  _D_o_m_a_i_n
>           _S_e_r_v_e_r_.   Proceedings  USENIX  Summer  Conference,
>           Salt Lake City, Utah.  June 1984, pages 23-31.
> 
> [Zhou]    Zhou,  S.,  _T_h_e  _D_e_s_i_g_n  _a_n_d _I_m_p_l_e_m_e_n_t_a_t_i_o_n _o_f _t_h_e
>           _B_e_r_k_e_l_e_y  _I_n_t_e_r_n_e_t  _N_a_m_e  _D_o_m_a_i_n  _(_B_I_N_D_)  _S_e_r_v_e_r_s_.
>           UCB/CSD  84/177.  University of California, Berke-
>           ley, Computer Science Division.  May 1984.
2938,2939c2943,2944
<           Mockapetris,  P.,  Dunlap,  K,  _D_e_v_e_l_o_p_m_e_n_t _o_f _t_h_e
<           _D_o_m_a_i_n _N_a_m_e  _S_y_s_t_e_m  ACM  Computer  Communications
---
>           Mockapetris, P., Dunlap,  K,  _D_e_v_e_l_o_p_m_e_n_t  _o_f  _t_h_e
>           _D_o_m_a_i_n  _N_a_m_e  _S_y_s_t_e_m  ACM  Computer Communications
2944c2949
<           ciates,    Sebastopol,   CA,   502   pages,   ISBN
---
>           ciates,   Sebastopol,   CA,   502   pages,    ISBN
2946,2950d2950
< 
< 
< 
< 
< 
diff --recurs m:\bindb32/doc/bog/file.psf m:\bindrel/doc/bog/file.psf
3,12c3,12
< %%CreationDate: Sat Dec 23 23:02:28 1995
< %%DocumentNeededResources: font Times-Bold
< %%+ font Times-Italic
< %%+ font Times-Roman
< %%DocumentSuppliedResources: procset grops 1.09 0
< %%Pages: 28
< %%PageOrder: Ascend
< %%Orientation: Portrait
< %%EndComments
< %%BeginProlog
---
> %%CreationDate: Sun Dec 31 15:30:30 1995
> %%DocumentNeededResources: font Times-Bold
> %%+ font Times-Italic
> %%+ font Times-Roman
> %%DocumentSuppliedResources: procset grops 1.09 0
> %%Pages: 29
> %%PageOrder: Ascend
> %%Orientation: Portrait
> %%EndComments
> %%BeginProlog
2788,2802c2788,2807
< E([T)72 570.6 Q 41.33(erry] T)-.7 F(erry)-.7 E 4.678(,D)-.65 G 4.678(.B)
< -4.678 G 2.178(., P)-4.678 F(ainter)-.15 E 4.678(,M)-.4 G 2.178
< (., Riggle, D. W)-4.678 F 2.178(., and Zhou, S.,)-.92 F F3 2.178
< (The Berk)4.678 F(ele)-.1 E 4.677(yI)-.3 G 2.177(nternet Name)-4.677 F
< .747(Domain Server)144 582.6 R(.)-1.11 E F2 .747
< (Proceedings USENIX Summer Conference, Salt Lak)5.747 F 3.247(eC)-.1 G
< (ity)-3.247 E 3.247(,U)-.65 G 3.247(tah. June)-3.247 F
< (1984, pages 23-31.)144 594.6 Q 41.73([Zhou] Zhou,)72 610.8 R(S.,)2.746
< E F3 .246(The Design and Implementation of the Berk)2.746 F(ele)-.1 E
< 2.746(yI)-.3 G .245(nternet Name Domain \(BIND\))-2.746 F(Server)144
< 622.8 Q(s.)-.1 E F2 .464(UCB/CSD 84/177.)5.464 F(Uni)5.464 E -.15(ve)
< -.25 G .464(rsity of California, Berk).15 F(ele)-.1 E 1.765 -.65(y, C)
< -.15 H .465(omputer Science Di).65 F(vi-)-.25 E 2.5(sion. May)144 634.8
< R(1984.)2.5 E 12.85([Mockapetris] Mockapetris,)72 651 R -1.11(P.)3.463 G
< 3.463(,D)1.11 G .963(unlap, K,)-3.463 F F3(De)3.463 E .963
---
> E 23.94([RFC1713] Romao,)72 570.6 R .174(A., \231T)2.674 F .174
> (ools for DNS deb)-.8 F(ugging\232)-.2 E F3 .173(Internet Request F)
> 2.673 F .173(or Comment 1713, also FYI27)-1.05 F F2(Netw)144 582.6 Q
> .018(ork Information Center)-.1 F 2.519(,S)-.4 G .019
> (RI International, Menlo P)-2.519 F .019(ark, California.)-.15 F(No)
> 5.019 E -.15(ve)-.15 G .019(mber 1994.).15 F([T)72 598.8 Q 41.33
> (erry] T)-.7 F(erry)-.7 E 4.678(,D)-.65 G 4.678(.B)-4.678 G 2.178(., P)
> -4.678 F(ainter)-.15 E 4.678(,M)-.4 G 2.178(., Riggle, D. W)-4.678 F
> 2.178(., and Zhou, S.,)-.92 F F3 2.178(The Berk)4.678 F(ele)-.1 E 4.677
> (yI)-.3 G 2.177(nternet Name)-4.677 F .747(Domain Server)144 610.8 R(.)
> -1.11 E F2 .747(Proceedings USENIX Summer Conference, Salt Lak)5.747 F
> 3.247(eC)-.1 G(ity)-3.247 E 3.247(,U)-.65 G 3.247(tah. June)-3.247 F
> (1984, pages 23-31.)144 622.8 Q 41.73([Zhou] Zhou,)72 639 R(S.,)2.746 E
> F3 .246(The Design and Implementation of the Berk)2.746 F(ele)-.1 E
> 2.746(yI)-.3 G .245(nternet Name Domain \(BIND\))-2.746 F(Server)144 651
> Q(s.)-.1 E F2 .464(UCB/CSD 84/177.)5.464 F(Uni)5.464 E -.15(ve)-.25 G
> .464(rsity of California, Berk).15 F(ele)-.1 E 1.765 -.65(y, C)-.15 H
> .465(omputer Science Di).65 F(vi-)-.25 E 2.5(sion. May)144 663 R(1984.)
> 2.5 E 12.85([Mockapetris] Mockapetris,)72 679.2 R -1.11(P.)3.463 G 3.463
> (,D)1.11 G .963(unlap, K,)-3.463 F F3(De)3.463 E .963
2804,2807c2809,2820
< .4 G(omputer)-3.462 E 2.057(Communications Re)144 663 R(vie)-.25 E 4.557
< (w1)-.25 G 2.057(8, 4:123-133.)-4.557 F 2.058(Proceedings A)7.057 F
< 2.058(CM SIGCOMM '88)-.4 F(Sympo-)7.058 E(sium, August 1988.)144 675 Q
< 48.95([Liu] Liu,)72 691.2 R 1.09(C., Albitz, P)3.59 F(.,)-1.11 E F3 1.09
---
> .4 G(omputer)-3.462 E 2.057(Communications Re)144 691.2 R(vie)-.25 E
> 4.557(w1)-.25 G 2.057(8, 4:123-133.)-4.557 F 2.058(Proceedings A)7.057 F
> 2.058(CM SIGCOMM '88)-.4 F(Sympo-)7.058 E(sium, August 1988.)144 703.2 Q
> EP
> %%Page: 29 29
> %%BeginPageSetup
> BP
> %%EndPageSetup
> /F0 10/Times-Bold@0 SF(Name Ser)72 60 Q -.1(ve)-.1 G 2.5(rO).1 G
> (perations Guide f)-2.5 E(or)-.25 E/F1 9/Times-Bold@0 SF 206.564
> (BIND SMM)2.5 F F0(:10-29)A/F2 10/Times-Roman@0 SF 48.95([Liu] Liu,)72
> 96 R 1.09(C., Albitz, P)3.59 F(.,)-1.11 E/F3 10/Times-Italic@0 SF 1.09
2810c2823
< (ISBN 0-937175-82-X 1992)144 703.2 Q EP
---
> (ISBN 0-937175-82-X 1992)144 108 Q EP
Only in m:\bindrel/doc/info: AIX4
Only in m:\bindrel/doc/info: SCO-2
Only in m:\bindrel/doc/info: Solaris
Only in m:\bindrel/doc/info: interactive-2
Only in m:\bindb32/doc/info: solaris
diff --recurs m:\bindb32/man/named.8 m:\bindrel/man/named.8
141,143c141,143
< limit	max-xfers 10
< limit	datasize 64M
< options	forward-only query-log fake-iquery
---
> limit	transfers-in 10
> limit	datasize 64M
> options	forward-only query-log fake-iquery
145c145
< .DT
---
> .DT
147,150c147,150
< .in
< The ``directory'' line causes the server to change its working directory to
< the directory specified.  This can be important for the correct processing
< of \s-1$INCLUDE\s+1 files in primary zone files.
---
> .in
> The ``directory'' line causes the server to change its working directory to
> the directory specified.  This can be important for the correct processing
> of \s-1$INCLUDE\s+1 files in primary zone files.
410,411c410,411
< /etc/named.pid	the process id (/var/run/named.pid on newer systems)
< /var/tmp/named.run	debug output
---
> /etc/named.pid	the process id (on older systems)
> /var/run/named.pid	the process id (on newer systems)
412a413
> /var/tmp/named.run	debug output
diff --recurs m:\bindb32/named/db_load.c m:\bindrel/named/db_load.c
3,4c3,4
< static char rcsid[] = "$Id: db_load.c,v 8.13 1995/12/22 10:20:30 vixie Exp $";
< #endif /* not lint */
---
> static char rcsid[] = "$Id: db_load.c,v 8.15 1995/12/31 23:28:17 vixie Exp $";
> #endif /* not lint */
7c7
<  * ++Copyright++ 1986, 1988, 1990
---
>  * ++Copyright++ 1986, 1988, 1990
9,10c9,10
<  * Copyright (c) 1986, 1988, 1990
<  *    The Regents of the University of California.  All rights reserved.
---
>  * Copyright (c) 1986, 1988, 1990
>  *    The Regents of the University of California.  All rights reserved.
12c12
<  * Redistribution and use in source and binary forms, with or without
---
>  * Redistribution and use in source and binary forms, with or without
172c172
< 	static int read_soa, read_ns;
---
> 	static int read_soa, read_ns, rrcount;
185c185
< 	int slineno, i, errs, didinclude, rrcount;
---
> 	int slineno, i, errs, didinclude;
196d195
< 	rrcount = 0;
198a198
> 		rrcount = 0;
437c437,438
< 					     (sizeof data) - (cp - data), fp, 1))
---
> 					     (sizeof data) - (cp - data),
> 					     fp, 1))
696c697
<                                   cp++; n++;
---
> 					cp++; n++;
699c700
<                                     ungetc(*cp, fp);
---
> 					ungetc(*cp, fp);
891c892
<  * getword(buf, size, fp, escape)
---
>  * getword(buf, size, fp, preserve)
892a894
>  *	'\' '\n' outside of "quotes" is considered a blank.
896a899
>  *	preserve - should we preserve \ before \\ and \.?
902c905
< getword(buf, size, fp, escape)
---
> getword(buf, size, fp, preserve)
906c909
< 	int escape;
---
> 	int preserve;
908c911
< 	register char *cp;
---
> 	register char *cp = buf;
911,912c914,915
< 	empty_token = 0;
< 	for (cp = buf; (c = getc(fp)) != EOF; ) {
---
> 	empty_token = 0;	/* XXX global side effect. */
> 	while ((c = getc(fp)) != EOF) {
913a917
> 			/* Comment.  Skip to end of line. */
915c919
< 				;
---
> 				NULL;
918a923,926
> 			/*
> 			 * Unescaped newline.  It's a terminator unless we're
> 			 * already midway into a token.
> 			 */
925,932d932
< 		if (isspace(c)) {
< 			while (isspace(c = getc(fp)) && c != '\n')
< 				;
< 			ungetc(c, fp);
< 			if (cp != buf)		/* Trailing whitespace */
< 				break;
< 			continue;		/* Leading whitespace */
< 		}
934c934,935
< 			while ((c = getc(fp)) != EOF && c != '"' && c != '\n') {
---
> 			/* "Quoted string."  Gather the whole string here. */
> 			while ((c = getc(fp)) != EOF && c!='"' && c!='\n') {
938,939c939,940
< 					if (escape &&
< 						((c == '\\' || c == '.'))) {
---
> 					if (preserve &&
> 					    (c == '\\' || c == '.')) {
950a952,955
> 			/*
> 			 * Newline string terminators are
> 			 * not token terminators.
> 			 */
954a960
> 			/* Sample following character, check for terminator. */
957c963
< 			if (c == EOF || isspace(c) || c == '\n') {
---
> 			if (c == EOF || isspace(c)) {
961,962c967
< 			else
< 				continue;
---
> 			continue;
964a970
> 			/* Do escape processing. */
967c973
< 			if (escape && ((c == '\\' || c == '.'))) {
---
> 			if (preserve && (c == '\\' || c == '.')) {
971a978,987
> 		}
> 		if (isspace(c)) {
> 			/* Blank of some kind.  Skip run. */
> 			while (isspace(c = getc(fp)) && c != '\n')
> 				NULL;
> 			ungetc(c, fp);
> 			/* Blank means terminator if the token is nonempty. */
> 			if (cp != buf)		/* Trailing whitespace */
> 				break;
> 			continue;		/* Leading whitespace */
diff --recurs m:\bindb32/named/ns_init.c m:\bindrel/named/ns_init.c
3,4c3,4
< static char rcsid[] = "$Id: ns_init.c,v 8.11 1995/12/22 10:20:30 vixie Exp $";
< #endif /* not lint */
---
> static char rcsid[] = "$Id: ns_init.c,v 8.12 1995/12/29 07:16:18 vixie Exp $";
> #endif /* not lint */
6,7c6,7
< /*
<  * ++Copyright++ 1986, 1990
---
> /*
>  * ++Copyright++ 1986, 1990
9,10c9,10
<  * Copyright (c) 1986, 1990
<  *    The Regents of the University of California.  All rights reserved.
---
>  * Copyright (c) 1986, 1990
>  *    The Regents of the University of California.  All rights reserved.
12c12
<  * Redistribution and use in source and binary forms, with or without
---
>  * Redistribution and use in source and binary forms, with or without
72d71
< #include <assert.h>
diff --recurs m:\bindb32/named/ns_main.c m:\bindrel/named/ns_main.c
3c3
< static char rcsid[] = "$Id: ns_main.c,v 8.11 1995/12/22 10:20:30 vixie Exp $";
---
> static char rcsid[] = "$Id: ns_main.c,v 8.12 1995/12/29 07:16:18 vixie Exp $";
7c7
<  * ++Copyright++ 1986, 1989, 1990
---
>  * ++Copyright++ 1986, 1989, 1990
9,10c9,10
<  * Copyright (c) 1986, 1989, 1990
<  *    The Regents of the University of California.  All rights reserved.
---
>  * Copyright (c) 1986, 1989, 1990
>  *    The Regents of the University of California.  All rights reserved.
12c12
<  * Redistribution and use in source and binary forms, with or without
---
>  * Redistribution and use in source and binary forms, with or without
936c936
< #if defined(AF_LINK) && !defined(RISCOS_BSD)
---
> #if defined(AF_LINK) && !defined(RISCOS_BSD) && !defined(M_UNIX)
diff --recurs m:\bindb32/named/ns_req.c m:\bindrel/named/ns_req.c
3,4c3,4
< static char rcsid[] = "$Id: ns_req.c,v 8.14 1995/12/22 21:55:45 vixie Exp $";
< #endif /* not lint */
---
> static char rcsid[] = "$Id: ns_req.c,v 8.15 1995/12/29 07:16:18 vixie Exp $";
> #endif /* not lint */
7c7
<  * ++Copyright++ 1986, 1988, 1990
---
>  * ++Copyright++ 1986, 1988, 1990
9,10c9,10
<  * Copyright (c) 1986, 1988, 1990
<  *    The Regents of the University of California.  All rights reserved.
---
>  * Copyright (c) 1986, 1988, 1990
>  *    The Regents of the University of California.  All rights reserved.
12c12
<  * Redistribution and use in source and binary forms, with or without
---
>  * Redistribution and use in source and binary forms, with or without
752a753
> fetchns:
759d759
< fetchns:
diff --recurs m:\bindb32/named/ns_resp.c m:\bindrel/named/ns_resp.c
3,4c3,4
< static char rcsid[] = "$Id: ns_resp.c,v 8.16 1995/12/24 06:44:21 vixie Exp $";
< #endif /* not lint */
---
> static char rcsid[] = "$Id: ns_resp.c,v 8.18 1995/12/29 21:08:13 vixie Exp $";
> #endif /* not lint */
7c7
<  * ++Copyright++ 1986, 1988, 1990
---
>  * ++Copyright++ 1986, 1988, 1990
9,10c9,10
<  * Copyright (c) 1986, 1988, 1990
<  *    The Regents of the University of California.  All rights reserved.
---
>  * Copyright (c) 1986, 1988, 1990
>  *    The Regents of the University of California.  All rights reserved.
12c12
<  * Redistribution and use in source and binary forms, with or without
---
>  * Redistribution and use in source and binary forms, with or without
181d180
< #ifdef VALIDATE
182a182
> #ifdef VALIDATE
183a184,185
> 	struct { char *name; int type, class; u_int cred; } defer_rm[99];
> 	int defer_rm_count;
691a694,696
> #ifdef VALIDATE
> 	defer_rm_count = 0;
> #endif
697c702
< 		u_int16_t type;
---
> 		u_int16_t type, class;
704c709
< 		/* Get the DNAME and be prepared to skip this RR. */
---
> 		/* Get the DNAME. */
712c717,718
< 		GETSHORT(type, tempcp);	/* type */
---
> 		GETSHORT(type, tempcp);
> 		GETSHORT(class, tempcp);
738,765c744
< 		/*
< 		 * dovalidate() currently tells us to trust anything from a
< 		 * forwarder, but we should only trust the answer section,
< 		 * as the authority and additional data sections may have
< 		 * been just passed on by the forwarder verbatim.  If the
< 		 * forwarder is using this version of the algorithm, the
< 		 * response will only be forwarded verbatim if the answer
< 		 * section it receives is totally validated.  If the answer
< 		 * section of a response the forwarder receives is not
< 		 * validated, its response to us will be synthesized using
< 		 * cached data which has passed validation, possibly after
< 		 * the forwarder has fetched more data.
< 		 * 
< 		 * If we are using a forwarder, we probably don't need the
< 		 * authority and additional data anyway, but in case we
< 		 * do, we can fetch it quickly from the forwarder if the
< 		 * data passed validation and was cached. If priming
< 		 * allow the additional data to be cached.
< 		 *
< 		 * Possible efficiency enhancement: count data in the
< 		 * answer section as validated for the purposes of
< 		 * forwarding the response to the client if the data
< 		 * matches our cached data, even though we wouldn't
< 		 * otherwise trust the data coming from this source.
< 		 * But how to handle the TTLs?
< 		 */
< 		if (VCode == INVALID || (fwd != NULL && i >= ancount &&
< 				!(qp->q_flags & Q_PRIMING))) {
---
> 		if (VCode == INVALID && !(qp->q_flags & Q_SYSTEM)) {
778a758,784
> 			/*
> 			 * Restart or no, if we're here it means we are not
> 			 * going to cache this RR.  That being the case, we
> 			 * must burn down whatever partial RRset we've got
> 			 * in the cache now, lest we inadvertently answer
> 			 * with a truncated RRset in some future section.
> 			 */
> 			for (c = 0; c < defer_rm_count; c++)
> 				if (!strcasecmp(defer_rm[c].name, name) &&
> 				    defer_rm[c].class == class &&
> 				    defer_rm[c].type == type)
> 					break;
> 			if (c < defer_rm_count) {
> 				if (defer_rm[c].cred < cred)
> 					defer_rm[c].cred = cred;
> 			} else {
> 				if (defer_rm_count+1 >=
> 				    (sizeof defer_rm / sizeof defer_rm[0])) {
> 					formerrmsg = "too many RRs in ns_resp";
> 					goto formerr;
> 				}
> 				defer_rm[defer_rm_count].name = savestr(name);
> 				defer_rm[defer_rm_count].type = type;
> 				defer_rm[defer_rm_count].class = class;
> 				defer_rm[defer_rm_count].cred = cred;
> 				defer_rm_count++;
> 			}
801d806
< 			/* Don't go to return_msg like before ... */
806a812,850
> #ifdef VALIDATE
> 	if (defer_rm_count > 0) {
> 		for (i = 0; i < defer_rm_count; i++) {
> 			register struct databuf *db = NULL;
> 
> 			fname = "";
> 			htp = hashtab;		/* lookup relative to root */
> 			np = nlookup(defer_rm[i].name, &htp, &fname, 0);
> 			if (np && fname == defer_rm[i].name &&
> 			    defer_rm[i].class != C_ANY &&
> 			    defer_rm[i].type != T_ANY) {
> 				/*
> 				 * If doupdate() wouldn't have cached this
> 				 * RR anyway, there's no need to delete it.
> 				 */
> 				for (db = np->n_data;
> 				     db != NULL;
> 				     db = db->d_next) {
> 					if (!db->d_zone &&
> 					    match(db, defer_rm[i].class,
> 						  defer_rm[i].type) &&
> 					    db->d_cred >= defer_rm[i].cred) {
> 						break;
> 					}
> 				}
> 				if (db == NULL)
> 					delete_all(np, defer_rm[i].class,
> 						   defer_rm[i].type);
> 				/* XXX: should delete name node if empty? */
> 			}
> 			syslog(LOG_DEBUG, "defer_rm [%s %s %s] (np%#x, db%#x)",
> 			       defer_rm[i].name,
> 			       p_class(defer_rm[i].class),
> 			       p_type(defer_rm[i].type),
> 			       np, db);
> 			free(defer_rm[i].name);
> 		}
> 	}
> #endif
851,866d894
< 	 * If we got an incomplete answer or part of the the
< 	 * answer didn't pass validation, meaning that we
< 	 * have a dangling CNAME *AND* this is the first time,
< 	 * save the original query message so that we can prepare
< 	 * the final answer to the client when the the query is
< 	 * complete.
< 	 *
< 	 */
< 	if (cname && restart && !qp->q_cmsglen) {
< 		qp->q_cmsg = qp->q_msg;
< 		qp->q_cmsglen = qp->q_msglen;
< 		qp->q_msg = NULL;
< 		qp->q_msglen = 0;
< 	}
< 
< 	/*
980a1009,1012
> 
> 	if (hp->tc)
> 		goto return_newmsg;
> 
1102c1134,1137
< 		if (qp->q_msg)
---
> 		if (!qp->q_cmsg) {
> 			qp->q_cmsg = qp->q_msg;
> 			qp->q_cmsglen = qp->q_msglen;
> 		} else if (qp->q_msg)
2534c2569,2570
<  *  timed out.  It is better to have no information, than to
---
>  *  become invalid either through a timeout or a validation
>  *  failure.  It is better to have no information, than to
Only in m:\bindb32/named: ns_resp.c.orig
Only in m:\bindb32/named: patch1.txt
diff --recurs m:\bindb32/shres/netbsd/INSTALL m:\bindrel/shres/netbsd/INSTALL
21,22c21,22
<     distribution, as shres/INSTALL.)  BIND's home site is
<     gatekeeper.dec.com, and it lives in /pub/misc/vixie.  *** FIXME XXX
---
>     distribution, as shres/netbsd/INSTALL.) See <URL:http://www.isc.org/isc/> 
>     for more information, including a pointer to the latest version.
24,25c24,25
<     In the remainder of this document, $BINDSRC represents the directory
<     you unpacked the BIND distribution into.
---
>     In the remainder of this document, $BINDSRC represents the directory
>     you unpacked the BIND distribution into.
27,30c27,30
< 2.  Configure it to your tastes by editing $BINDSRC/conf/options.h,
<     using $BINDSRC/OPTIONS as a guide to the available choices.  Not all
<     of the options affect the resolver library, but you probably want
<     the new named as well.  The one supplied with NetBSD 1.0 is from
---
> 2.  Configure it to your tastes by editing $BINDSRC/conf/options.h,
>     using $BINDSRC/OPTIONS as a guide to the available choices.  Not all
>     of the options affect the resolver library, but you probably want
>     the new named as well.  The one supplied with NetBSD 1.0 is from
75c75
< #ident	   "@(#)bind/shres/netbsd:$Name:  $:$Id: INSTALL,v 8.1 1995/12/22 21:57:03 vixie Exp $"
---
> #ident	   "@(#)bind/shres/netbsd:$Name:  $:$Id: INSTALL,v 8.2 1995/12/29 07:16:23 vixie Exp $"
diff --recurs m:\bindb32/shres/netbsd/makeshlib m:\bindrel/shres/netbsd/makeshlib
6c6
< #ident	   "@(#)bind/shres/netbsd:$Name:  $:$Id: makeshlib,v 8.2 1995/12/24 06:44:24 vixie Exp $"
---
> #ident	   "@(#)bind/shres/netbsd:$Name:  $:$Id: makeshlib,v 8.3 1995/12/29 07:16:23 vixie Exp $"
8,13c8,13
< # by Chris Davis <ckd@kei.com>
< # based on code by Piete Brooks <pb@cl.cam.ac.uk>
< #              and Dave Morrison <drmorris@mit.edu>
< # with additions by Greg A. Woods <woods@planix.com>
< # NetBSD support added by Matt Ragan <matt@ibmoto.com>
< # code cleanup and more error checking by Greg A. Woods <woods@planix.com>
---
> # by Chris Davis <ckd@kei.com>
> # based on code by Piete Brooks <pb@cl.cam.ac.uk>
> #              and Dave Morrison <drmorris@mit.edu>
> # with additions by Greg A. Woods <woods@planix.com>
> # NetBSD support added by Matt Ragan <matt@ibmoto.com>
> # code cleanup and more error checking by Greg A. Woods <woods@planix.com>
15c15
< # NOTE:  BIND doesn't build a profiled libresolv_p.a, but probably should.
---
> # NOTE:  BIND doesn't build a profiled libresolv_p.a, but probably should.
279c279
< LD_LIBRARY_PATH=`pwd` date
---
> LD_LIBRARY_PATH=`pwd` who am i
281c281
< echo -n 'Does the output of date shown above look normal? [n] '
---
> echo -n 'Does the output of who shown above look normal? [n] '
329c329
< 	echo "For a simple test of $SHLIBNAME run 'trace /usr/bin/date'"
---
> 	echo "For a simple test of $SHLIBNAME run 'trace /usr/bin/who'"
diff --recurs m:\bindb32/shres/solaris/INSTALL m:\bindrel/shres/solaris/INSTALL
4c4
< $Id: INSTALL,v 1.3 1995/10/07 21:49:57 dupuy Exp $
---
> $Id: INSTALL,v 1.4 1995/12/29 07:16:24 vixie Exp $
6c6
< by Alexander Dupuy <dupuy@smarts.com>
---
> by Alexander Dupuy <dupuy@smarts.com>
8,10c8,10
< Note that if you wish to modify this process, you should read and understand
< all of the file solshres/ISSUES.  In any case, you should read the first
< six items in shres/ISSUES.
---
> Note that if you wish to modify this process, you should read and understand
> all of the file shres/solaris/ISSUES.  In any case, you should read the first
> six items in shres/solaris/ISSUES.
12c12
< * The Solaris name service switch
---
> * The Solaris name service switch
57c57
<     distribution, as solshres/INSTALL.)  See <URL:http://www.isc.org/isc/>
---
>     distribution, as shres/solaris/INSTALL.)  See <URL:http://www.isc.org/isc/>
86c86
<     $BINDSRC/solshres/ISSUES for more details).  The SunPro cc can also do
---
>     $BINDSRC/shres/solaris/ISSUES for more details).  The SunPro cc can also do
diff --recurs m:\bindb32/shres/solaris/ISSUES m:\bindrel/shres/solaris/ISSUES
4c4
< $Id: ISSUES,v 1.3 1995/10/07 21:49:57 dupuy Exp $
---
> $Id: ISSUES,v 1.5 1995/12/31 23:28:19 vixie Exp $
6,9c6,9
< Shared library configuration for BIND on Solaris is probably even more of a
< black art than it is on SunOS (although, in fact, it is much simpler).  This
< file sets down some important issues that should be understood in order to
< upgrade the resolver library on Solaris.
---
> Shared library configuration for BIND on Solaris is probably even more of a
> black art than it is on SunOS (although, in fact, it is much simpler).  This
> file sets down some important issues that should be understood in order to
> upgrade the resolver library on Solaris.
11c11
< by Alexander Dupuy <dupuy@smarts.com>
---
> by Alexander Dupuy <dupuy@smarts.com>
15,16c15,16
< installation techniques and issues discussed in solshres/INSTALL, as well
< as items that may need to be addressed after installing BIND.
---
> installation techniques and issues discussed in shres/solaris/INSTALL, as
> well as items that may need to be addressed after installing BIND.
240c240
< Currently (4.9.3 resolv and gcc 2.5.8 on SPARC), the resolv library does
---
> Currently (4.9.3 resolv and gcc 2.7.0 on SPARC), the resolv library does
249a250,274
> 
> * gcc won't compile -fpic code, but cc will compile -pic
> 
> You probably installed gcc to use GNU as.  Run gcc -v to find gcc's
> library directory:
> 
> % gcc -v
> Reading specs from /usr/local/gnu/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/specs
> gcc version 2.7.0
> 
> In this case, if GCC is using GNU as, it's probably installed in this
> directory as /usr/local/gnu/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/as. 
> (It may also be in your path ahead of /usr/ccs/bin/as.)
> 
> GNU as does not support position-independent code.
> 
> Solutions:
> 
> - (best) change SHCC to "gcc -B/usr/ccs/bin/ -DSVR4 -D_SYS_STREAM_H".  
>   This will force gcc to use /usr/ccs/bin/as rather than any other one.
> 
> - use cc instead of gcc for SHCC.  Suboptimal, since cc can't share the
>   read-only data (strings and the like).
> 
> - remove GNU as and use Sun's as.
diff --recurs m:\bindb32/shres/sunos/INSTALL m:\bindrel/shres/sunos/INSTALL
4c4
< $Id: INSTALL,v 8.4 1995/12/25 07:48:25 vixie Exp $
---
> $Id: INSTALL,v 8.5 1995/12/29 07:16:25 vixie Exp $
6c6
< by Chris Davis <ckd@kei.com>
---
> by Chris Davis <ckd@kei.com>
8,13c8,13
< based on code, documentation, and suggestions by:
<   Paul Balyoz <pab@naucse.cse.nau.edu>
<   Piete Brooks <pb@cl.cam.ac.uk>
<   Dave Morrison <drmorris@mit.edu>
<   Hal Pomeranz <pomeranz@nas.nasa.gov>
<   Matt Ragan <matt@ibmoto.com>
---
> based on code, documentation, and suggestions by:
>   Paul Balyoz <pab@naucse.cse.nau.edu>
>   Piete Brooks <pb@cl.cam.ac.uk>
>   Dave Morrison <drmorris@mit.edu>
>   Hal Pomeranz <pomeranz@nas.nasa.gov>
>   Matt Ragan <matt@ibmoto.com>
19c19
< the file shres/ISSUES.
---
> the file shres/sunos/ISSUES.
21c21,22
< If you have problems with the process (or its aftermath), see shres/PROBLEMS.
---
> If you have problems with the process (or its aftermath) see; 
> shres/sunos/PROBLEMS.
26,27c27,28
< unhappy and so will your users.  You should also read shres/PROBLEMS before
< starting, if only to know what sort of things to watch out for.
---
> unhappy and so will your users.  You should also read shres/sunos/PROBLEMS 
> before starting, if only to know what sort of things to watch out for.
43,44c44,45
<     distribution, as shres/INSTALL.)  See <URL:http://www.isc.org/isc/> for
<     more information, including a pointer to the latest version.
---
>     distribution, as shres/sunos/INSTALL.)  See <URL:http://www.isc.org/isc/> 
>     for more information, including a pointer to the latest version.
73,74c74,75
<     data (see $BINDSRC/shres/ISSUES for more details).  I also use it as
<     CC to compile named, libresolv.a, and the tools.
---
>     data (see $BINDSRC/shres/sunos/ISSUES for more details).  I also use it
>     as CC to compile named, libresolv.a, and the tools.
114,115c115,116
< universes).  If you use the $BINDSRC/shres/makeshlib script, steps 8-18
< will be done for you; read them anyway.
---
> universes).  If you use the $BINDSRC/shres/sunos/makeshlib script, steps 
> 8-18 will be done for you; read them anyway.
121c122
< problem, or at least document it in shres/PROBLEMS.)
---
> problem, or at least document it in shres/sunos/PROBLEMS.)
126c127
< You may wish to run makeshlib as "sh -x shres/makeshlib" to view the
---
> You may wish to run makeshlib as "sh -x shres/sunos/makeshlib" to view the
131c132
< also fail if you try to run it before you compile shres/libresolv_pic.a,
---
> also fail if you try to run it before compiling shres/sunos/libresolv_pic.a,
148c149
<     wctomb_xccs.  (See shres/PROBLEMS for more details.)
---
>     wctomb_xccs.  (See shres/sunos/PROBLEMS for more details.)
160,161c161,162
<     have DNS entries for your networks (as in RFC 1101).  See shres/ISSUES
<     for details on why this is a Good Thing in my opinion.
---
>     have DNS entries for your networks (as in RFC 1101).  See the file
>     shres/sunos/ISSUES for details on why this is a Good Thing in my opinion.
174c175
<       ar x $BINDBUILD/shres/libresolv_pic.a
---
>       ar x $BINDBUILD/shres/sunos/libresolv_pic.a
191c192
<     patch file $BINDSRC/shres/sun-awkfile.patches.
---
>     patch file $BINDSRC/shres/sunos/sun-awkfile.patches.
194c195
<       patch < $BINDSRC/shres/sun-awkfile.patches
---
>       patch < $BINDSRC/shres/sunos/sun-awkfile.patches
203c204
<     the patch file $BINDSRC/shres/sun-lorder-sparc.patches.
---
>     the patch file $BINDSRC/shres/sunos/sun-lorder-sparc.patches.
271,272c272,275
<      to apply (using the 'patch' program) the two patch files
<      $BINDSRC/shres/sun-Makefile.patch1 & $BINDSRC/shres/sun-Makefile.patch2.
---
>      to apply (using the 'patch' program) the two patch files;
>      $BINDSRC/shres/sunos/sun-Makefile.patch1 
>      and
>      $BINDSRC/shres/sunos/sun-Makefile.patch2.
286,287c289,290
< 	  libresolv_pic.a that was built in $BINDBUILD/shres, and not the
< 	  "normal" libresolv.a built in $BINDBUILD/res.
---
> 	  libresolv_pic.a that was built in $BINDBUILD/shres/sunos, and not
> 	  the "normal" libresolv.a built in $BINDBUILD/res.
293,295c296,298
< 	  the C compiler when building shres/libresolv_pic.a.  Make sure
< 	  you're using libresolv_pic.a, and make sure that SHCC and PIC
< 	  were properly defined in $BINDBUILD/Makefile.
---
> 	  the C compiler when building shres/sunos/libresolv_pic.a.  Make
> 	  sure you're using libresolv_pic.a, and make sure that SHCC and
> 	  PIC were properly defined in $BINDBUILD/Makefile.
351c354
<      see $BINDSRC/shres/ISSUES.
---
>      see $BINDSRC/shres/sunos/ISSUES.
392c395
< You should now read the first four items in shres/ISSUES.
---
> You should now read the first four items in shres/sunos/ISSUES.
419c422
< shres/PROBLEMS.
---
> shres/sunos/PROBLEMS.
425c428
< you should read the entry in shres/PROBLEMS titled "undefined symbol
---
> you should read the entry in shres/sunos/PROBLEMS titled "undefined symbol
428c431
< shres/ISSUES), or link dynamically instead of statically.
---
> shres/sunos/ISSUES), or link dynamically instead of statically.
432c435
< you should read the entry in shres/PROBLEMS titled ""parse error" on
---
> you should read the entry in shres/sunos/PROBLEMS titled ""parse error" on
440,442c443,445
< you should read the entry in shres/PROBLEMS titled "login gives "hostname
< is bad for this system" errors (users can't log in)".  This will explain
< how to diagnose (and cure) this problem.
---
> you should read the entry in shres/sunos/PROBLEMS titled "login gives
> "hostname is bad for this system" errors (users can't log in)".  This 
> will explain how to diagnose (and cure) this problem.
diff --recurs m:\bindb32/shres/sunos/ISSUES m:\bindrel/shres/sunos/ISSUES
4c4
< $Id: ISSUES,v 1.1 1995/12/07 02:36:21 vixie Exp $
---
> $Id: ISSUES,v 1.2 1995/12/29 07:16:25 vixie Exp $
6,8c6,8
< Changes to the shared library setup have lots of little pitfalls and
< mines.  This is an attempt to map the minefield, for those who feel
< they've noticed something that they think should be done another way.
---
> Changes to the shared library setup have lots of little pitfalls and
> mines.  This is an attempt to map the minefield, for those who feel
> they've noticed something that they think should be done another way.
10c10
< by Chris Davis <ckd@kei.com>
---
> by Chris Davis <ckd@kei.com>
12c12
< heavily based on a document by Dave Morrison <drmorris@mit.edu>, 2/3/94
---
> heavily based on a document by Dave Morrison <drmorris@mit.edu>, 2/3/94
16c16
< installation techniques and issues discussed in shres/INSTALL, as well as
---
> installation techniques and issues discussed in shres/sunos/INSTALL, as well as
186c186
< This is why shres/Makefile does -D_res=_res_shlib.  The collision is
---
> This is why shres/sunos/Makefile does -D_res=_res_shlib.  The collision is
diff --recurs m:\bindb32/shres/sunos/PROBLEMS m:\bindrel/shres/sunos/PROBLEMS
4c4
< $Id: PROBLEMS,v 8.3 1995/01/11 08:58:09 vixie Exp $
---
> $Id: PROBLEMS,v 8.4 1995/12/29 07:16:25 vixie Exp $
6c6
< by Chris Davis <ckd@kei.com>
---
> by Chris Davis <ckd@kei.com>
8,11c8,11
< There are a number of potential trouble spots when installing BIND 4.9.3
< on a SunOS 4.1.x system (though the rewards, in my opinion, far outweigh
< the risks).  This file is an incomplete and partial list of them, with
< solutions and/or workarounds.  Comments and additions are appreciated.
---
> There are a number of potential trouble spots when installing BIND 4.9.3
> on a SunOS 4.1.x system (though the rewards, in my opinion, far outweigh
> the risks).  This file is an incomplete and partial list of them, with
> solutions and/or workarounds.  Comments and additions are appreciated.
13c13
< Note that you should read the file shres/INSTALL *thoroughly* before
---
> Note that you should read the file shres/sunos/INSTALL *thoroughly* before
31c31
< Solution: The file shres/sun-Makefile.patch2 will add -ldl to the
---
> Solution: The file shres/sunos/sun-Makefile.patch2 will add -ldl to the
47,48c47,48
< Solution: shres/INSTALL tells you about, and shres/makeshlib renames, all
< three files.
---
> Solution: shres/sunos/INSTALL tells you about, and shres/makeshlib renames, 
> all three files.
59c59
< include strerror.o in the non-shared libc as well (see shres/ISSUES,
---
> include strerror.o in the non-shared libc as well (see shres/sunos/ISSUES,
128c128
< shres/ISSUES, "global variable collision".
---
> shres/sunos/ISSUES, "global variable collision".
208,209c208,209
< of the DNS for network names.  (See shres/ISSUES for why I recommend using
< RFC 1101 for network names instead.)
---
> of the DNS for network names.  (See shres/sunos/ISSUES for why I recommend 
> using RFC 1101 for network names instead.)
diff --recurs m:\bindb32/tools/dig.c m:\bindrel/tools/dig.c
2c2
< static char rcsid[] = "$Id: dig.c,v 8.5 1995/12/03 08:31:18 vixie Exp $";
---
> static char rcsid[] = "$Id: dig.c,v 8.6 1995/12/29 21:08:13 vixie Exp $";
5,6c5,6
< /*
<  * ++Copyright++ 1989
---
> /*
>  * ++Copyright++ 1989
8,9c8,9
<  * Copyright (c) 1989
<  *    The Regents of the University of California.  All rights reserved.
---
>  * Copyright (c) 1989
>  *    The Regents of the University of California.  All rights reserved.
11c11
<  * Redistribution and use in source and binary forms, with or without
---
>  * Redistribution and use in source and binary forms, with or without
290a291
> 	bzero(domain, (sizeof domain));
diff --recurs m:\bindb32/tools/nslookup/getinfo.c m:\bindrel/tools/nslookup/getinfo.c
58,59c58,59
< static char rcsid[] = "$Id: getinfo.c,v 8.2 1995/12/03 08:31:19 vixie Exp $";
< #endif /* not lint */
---
> static char rcsid[] = "$Id: getinfo.c,v 8.3 1995/12/29 07:16:27 vixie Exp $";
> #endif /* not lint */
64c64
<  *  getinfo.c --
---
>  *  getinfo.c --
66,67c66,67
<  *	Routines to create requests to name servers
<  *	and interpret the answers.
---
>  *	Routines to create requests to name servers
>  *	and interpret the answers.
607c607
<     if (n >= _res.ndots) {
---
>     if (n >= (int)_res.ndots) {
