diff options
author | peter <peter@FreeBSD.org> | 1996-08-29 19:20:22 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1996-08-29 19:20:22 +0000 |
commit | 2d3cf9fcaf1ca2528c5fe3ba683d1f6c1268dc41 (patch) | |
tree | 8652a0312f865a787c6c1c3003491b4e62ce0ea7 /contrib/bind/README | |
download | FreeBSD-src-2d3cf9fcaf1ca2528c5fe3ba683d1f6c1268dc41.zip FreeBSD-src-2d3cf9fcaf1ca2528c5fe3ba683d1f6c1268dc41.tar.gz |
Take #2. Import bind-4.9.4-P1 into the intended directory!
This has most of the non-essential stuff removed (ie: what is not built)
bmake glue to follow.
Diffstat (limited to 'contrib/bind/README')
-rw-r--r-- | contrib/bind/README | 483 |
1 files changed, 483 insertions, 0 deletions
diff --git a/contrib/bind/README b/contrib/bind/README new file mode 100644 index 0000000..cc3d980 --- /dev/null +++ b/contrib/bind/README @@ -0,0 +1,483 @@ +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 + +BIND is currently sponsored by: The Internet Software Consortium + (send to <info@isc.org> for details.) + +----- 4.9.3 BETA33 - December, 1995 - paul@vix.com + +Take a look around in doc/misc/ and contrib/. Reread INSTALL. Have fun. + +----- 4.9.3 BETA11, BETA12 release - December, 1994 - paul@vix.com + +If you maintain a BSD or are otherwise running a 4.4BSD-based system and want +to integrate BIND into it, check out BSD/README. + +Read the top of CHANGES for interesting stuff. + +Don't forget to purge all your secondary zone files before upgrading to this +BIND if your existing one came from a vendor. + +The NOTIFY feature is turned off by default, but it's really cool and you +should consider turning it on if you are willing to risk having it not work +after the RFC process is complete (if the protocol has to change at all.) +It already does not conform to the draft protocol so you should consider it +"experimental" even if it happens to work fine. + +----- 4.9.3 BETA10 release - August, 1994 - paul@vix.com + +I recommend reading this ENTIRE FILE before you attempt to build or use BIND. +However, you can get started quickly by scanning down this file for "QUICK" in +the right margin and just reading those sections. You can also look at the +INSTALL file. You should look at doc/info/* if you have trouble building. + +There are at least two known bugs in this BIND: + +1. if you have two authoritative zones (primary or secondary) where + one is a subzone of the other, e.g., + primary pa.dec.com z/pa.dec.com + primary dec.com z/dec.com + and you remove or comment out the subzone (pa.dec.com in our example) + and SIGHUP named, the delegation and other RR's at "pa.dec.com" will + be missing from your cache. to avoid this, you should "named.restart" + rather than SIGHUP ("named.reload") when making changes of this kind. + +2. the /HS qualifier doesn't work on "cache" directives. you will have + to put your hesiod root information into your main "root.cache" file. + +Also, you may find that your utilities will not link with this -lresolv +unless you also install lib44bsd.a and link with -lresolv -l44bsd. This +is because older systems do not include inet_aton() and other functions. + +----- 4.9.3 BETA6 release - June, 1994 - paul@vix.com + +Several private beta test releases have come and gone, and we've fixed a +number of things. See CHANGES for details. + +There is a new Sun Shared Library update mechanism in place, and it works +quite well. See shres/*. + +Versions of NSLOOKUP up through BIND 4.8.3's used IQUERY to ask the local +server for information about the server's own name. I assume that this was +done in a "what the heck, nothing uses these, how can we contrive a need?" +sort of spirit. I removed this code as of BIND 4.9's NSLOOKUP and had it +use the standard gethostbyaddr() mechanisms (which depend on normal queries +of PTR data). Disabling INVQ and putting "options fake-iquery" in the boot +file will cause IQUERY to be answered bogusly but in a way that old nslookup +programs won't trip on. INVQ is disabled by default in conf/options.h. + +----- 4.9.3 BETA2 release - June, 1994 - paul@vix.com + +News flash! BIND development is now funded by the Internet Software Consortium. + +Look at CHANGES to see what's new. Check out doc/misc to see some interesting +papers from Purdue (and Bell Labs, if we're lucky) on DNS security that +motivated many of the security-related changes present in this release. + +Check out shres/Makefile for SunOS4 shared library support. + +INVQ now defaults to "undef". See OPTIONS and conf/options.h. + +ALLOW_UPDATES is no longer available, and will be removed next release. + +You should look hard at the SENSIBLE_DOTS option and convert your serial +numbers either to "sensible" ones or ones without dots (YYYYMMDD## preferred). +SENSIBLE_DOTS will be the default in the next release. + +NCACHE and VALIDATE are _working_ now. + +Read the BOG! It's been updated since the previous release. + +If you are a vendor and are including some or all of this code in your product, +please drop me a line to let me know. I field a lot of questions about BIND +and it is helpful for me to know which vendor releases contain which versions +of BIND. It's also helpful for me to have contacts within the engineering +groups of the various vendors, since when I find a heinous bug I can let you +know. + +----- 4.9.2 FINAL (940221) release - February, 1994 - paul@vix.com + +If you look at the last entry in TODO, you'll see that there are a lot +of things in the queue waiting to go in. However, I'm holding the line +so that 4.9.2-FINAL can be the same as what goes out with 4.4BSD-Lite. +I expect to open 4.9.3-ALPHA fairly soon, with patches comprising new +work; 4.9.2-FINAL will have patches released for it only to correct bugs. + +The official way to get BIND 4.9.2 is: ftp gatekeeper.dec.com OUT OF DATE!!! + cd pub/misc/vixie OUT OF DATE!!! + binary OUT OF DATE!!! + get bind-940221.tar.gz OUT OF DATE!!! + or: get bind-940221.tar.Z OUT OF DATE!!! + +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 + +My official e-mail address is: paul@vix.com + +----- 4.9.2 BETA5 (931205) release - December, 1993 - paul@vix.com + +no comments; see CHANGES file. + +----- 4.9.2 BETA4 (931104) release - November, 1993 - paul@vix.com + +All reported portability problems have been fixed. All core dumps have +had changes made for them and we are ready to have them tested again. As +usual, I am running this in production on my own zones and I am rather +confident in it. Note, again, that this is a BETA release and you should +not put it up for anon-ftp or otherwise republish it in any way. + +----- 4.9.2 ALPHA2 (930908) release - September, 1993 - paul@vix.com + +4.9.2 has fixes for most of the bugs that smb@bellcore's white paper talked +about, and CERT is going to be knocking on vendor's doors to get it shipped +with as many operating systems as possible. + +----- 4.9.2 ALPHA1 (930506) release - July, 1993 - Paul Vixie <paul@vix.com> + +I don't work for DEC any more, so note the new e-mail address. The old +<bind-4.9@pa.dec.com> list has been moved to <bind-workers@vix.com>; if +you intend to help hack BIND and you want to be advised of alpha-testing +releases, send mail to <bind-workers-request@vix.com> and ask to be added +to the list. + +Note that 4.9.1 was an interrim, nonpublished release intended to catch +the porting changes needed for 4.4BSD. It never really existed separately. + +----- 4.9 release - April, 1993 - Paul Vixie <vixie@pa.dec.com> + +For information on what's new in 4.9, see OPTIONS and CHANGES. Also note +that the man page for named(8) in man/named.8, and the entire Bind Operations +Guide in doc/BOG/*, has been updated for 4.9. Both make excellent reading. + +Those of you who are thinking of adding features should first read TODO to +see if someone else has already indicated an intention to work on the same +thing. If your feature is significant you should ask <bind-workers@vix.com> +before you hack, if for no other reason than to tell other maintainers to +expect a patch soon. + +Note that the resolver has a number of routines that may already be present +on your system. Efforts have been made to avoid generating code for them on +systems where they aren't needed; don't worry about them if they're +generated unneccessarily since the linker will sort things out. + +This software is protected under the U C Regents' copyright. Changes made +by or released through Digital Equipment Corporation are subject to a +subsidiary copyright. The entire copyright is as follows: + +++Copyright++ 1989 +- +Copyright (c) 1989 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +- +Portions Copyright (c) 1993 by Digital Equipment Corporation. + +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, and that +the name of Digital Equipment Corporation not be used in advertising or +publicity pertaining to distribution of the document or software without +specific, written prior permission. + +THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT +CORPORATION 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. +- +--Copyright-- + +To build this: QUICK + + (on SUNOS, use the BSD build environment or you will + get the wrong definition for O_NDELAY) + + look at conf/options.h and edit to your tastes. + The OPTIONS file here in this directory will help you + figure out what to do. + + You should also look at the Makefile to select the proper set + of definitions depending on whether you are using Ultrix, + SunOS, and other 4.[23] BSD-alikes or using BSD 4.4, BSD/386, + and other net2-alikes. + + "make links" will build a shadow source tree full + of symbolic links. the default name of this tree + is "./native.b", but you can override it by setting + the DST variable on the "make" command line, as in: + make DST=vax.b SRC=.. + if your DST is not a subdir of "here", you will need to + override the SRC variable's default (which is ".."), + as in: + make DST=/tmp/vax.b SRC=`pwd` + note that the DST directory must be nonexistent at + the time that you run "make links". + + after "make links", you can cd to the new build + directory, check the settings in the Makefile, and + run "make depend". if you aren't using "make links" + (shame on you), just use "make depend" from "here". + "make depend" may fail on your system; if so, look in + the bin/ directory and find a mkdep that does in fact + work for you. + + if you skip the "make depend" phase, or after you run it, + you can do "make all" (from the build directory if you + used "make links" or from "here" if you're just hacking + around). you will get the following new things out of it: + res/libresolv.a + compat/lib/lib44bsd.a (optional) + include/{netdb,resolv}.h + include/arpa/{inet,nameser}.h + compat/include/sys/{cdefs,bitypes}.h + tools/{nstest,nsquery,dig,host} + tools/nslookup/nslookup + named/named + named/named-xfer + if you have trouble with "make all", check conf/portability.h + for things that your system needs, or doesn't need, or whatever. + it is preferable to add #ifdef's to conf/portability.h than to + add them anywhere else. + + from the build directory (or "here" if you didn't + use "make links"), you can try "make -n install" + which will tell you what will be installed. it might + actually be right; however, what you will probably have to + do is copy the above files into the places you want + run them from. the other files you will need are: + tools/nslookup/nslookup.help + named/named.restart + named/named.reload + + resolver library notes: to install it, either put the .a + file into /usr/local/lib or /usr/lib (if you use -lresolv + on all the links of your networking software), or use "ar" + to put all res/*.o directly into your /lib/libc.a file. + either way you will want to copy the include files + (including those from compat/include/sys) over to + /usr/include (or /usr/local/include if you're willing to + use -I/usr/local/include on all your network-software + compiles). something like this: + cp res/libresolv.a /usr/lib; ranlib /usr/lib/libresolv.a + tar chf - include | (cd /usr/include; tar xvpf -) + cp compat/include/sys/*.h /usr/include/sys + + installing the man pages is left as an exercise for the + reader. there are just too many different versions of + "man" floating around for me to be able to help you figure + out what to do for the one you happen to be using. + + WARNING: If you were running a BIND 4.8.3 or earlier based + named you should remove all cache files prior to starting + named. It would generally be a good idea to remove all cache + files regardless when installing a new version. The creadability + code depends upon the cache files having been made with the + latest named-xfer for correct operation. + +(special compilation-related warning about SunOS systems:) + + From: Tom Limoncelli + To: vixie (Paul A Vixie) + Date: Mon, 11 Jan 93 11:30:39 EST + + Sun compiler v2.0.1 hates bind4.9 code. + + Sun has 3 compilers: + + /usr/ucb/cc -- the default for SunOS 4.1.[123], + dropped in Solaris 2.0. + /usr/lang/cc -- the "unbundled" cc v1.0 + (pretty good, but expensive), only + generates code for SunOS 4.1.x. + /usr/lang/cc.2.0.1 -- the latest "unbundled" cc, + for when they stop shipping the + bundled version altogether. This + generates code for SunOS 4.1.x and Solaris 2.x. + + Sun's 2.0.1 C compiler (the one with the floating licenses) for SunOS + 4.1.x outputs a HUGE number of warnings. They can be ignored. + +--------------------- (4.8.3 README -- mostly obsolete now) + +This directory contains all the info and sources +for the Berkeley Internet Name Domain server. +You should read and understand these directions before starting +to install the libraries and nameserver. Some of these steps +replace existing source and binary files; you should make backups +of all existing files before you begin this installation. +Two installation procedures are described. The first is for 4.3BSD +and other similar systems that are already configured to use earlier +versions of the nameserver, and which have the new version of <netdb.h> +(containing a h_addr_list field in the hostent structure). The second +procedure is for 4.2BSD and derived systems. This procedure requires +more decisions to be made, and may have to be varied due to system +or operation constraints. + +The subdirectories and their contents are: + +bin - shell scripts used by current Berkeley makefiles +man - manual pages & documentation +doc - copy of Bind Operations Guide, and other documents +include - include files to go in /usr/include +named - name server sources +res - source for C library resolver routines (and other libc additions) + (may be used as separate library, resolv.a) +conf/master - Sample data files +tools - some test programs + + +Here is how to install the name server on 4.3BSD: + +0) cp bin/mkdep.append /usr/ucb/mkdep + cp bin/manroff /usr/man/manroff +1) cp include/arpa/nameser.h /usr/include/arpa +2) cp include/*.h /usr/include +3) cp man/*.1 /usr/man/manl + cp man/*.3 /usr/man/man3 + cp man/*.5 /usr/man/man5 + cp man/*.7 /usr/man/man7 + cp man/*.8 /usr/man/man8 +4) NOTE: Don't install the Makefiles on 4.3 Tahoe Release + cp res/{res*.c,herror.c} /usr/src/lib/libc/net + cp res/Makefile.libc.net /usr/src/lib/libc/net/Makefile + cp res/strcasecmp.c /usr/src/lib/libc/gen + cp res/strpbrk.c /usr/src/lib/libc/compat-sys5 + cp res/named/{*.c,Makefile} /usr/src/lib/libc/net/named +5) add strcasecmp.[co] to the Makefile in /usr/src/lib/libc/gen +6) add strpbrk.[co] to the Makefile in /usr/src/lib/libc/compat-sys5 +7) rebuild and install /lib/libc.a. +8) edit named/pathnames.h to correpond with your system's configuration +9) cd named; make depend; make all; make install +10) cd tools/nslookup; make nslookup; make install +11) create the master files (samples in conf/master/*) +12) edit /etc/rc.local to include: + +if [ -f /etc/named ]; then + /etc/named; echo -n ' named' >/dev/console +fi + +13) recompile network client and server programs that use gethostbyname, etc. + + +Here is how to install the name server on 4.2BSD or similar systems. +First, a few notes on the choices that must be made. + +Rather than building libresolv.a, you may wish to integrate the resolver +routines into /lib/libc.a. This is recommended to make it easy to recompile +network programs once named is running. This procedure may require hand- +tayloring on some systems. + +You will have to choose a version of mkdep from the bin directory +that will work on your system: +If you've modified make(1) to use .depend files as described +in the current sendmail distribution, use mkdep; otherwise, +if you have the 4.3BSD cc -M option, use mkdep.append; on ultrix, +use mkdep.ultrix (uses cc -Em); otherwise, use mkdep.old.compiler. +The mkdep script is used by "make depend" to regenerate Makefile dependency +lists. + +You will need to chose a version of netdb.h. First, check /usr/include/netdb.h +on your system. If the hostent structure has a h_addr_list entry, you can +probably use your existing netdb.h or the one in include/netdb.h. +If the existing netdb.h in /usr/include does not have a h_addr_list field, +you will have to decide whether to update to the 4.3BSD format of the hostent +structure. This is the best approach, but cannot be used unless you plan +to upgrade entirely: if you use the new structure in /usr/include/resolv.h, +you must recompile everything that uses the hostent structure, including +the rest of the C library and all networking programs, without using +any pre-existing object files. If this isn't possible or desirable, +and /usr/include/netdb.h doesn't have an h_addr_list line, use +include/netdb.h.4.2 instead of netdb.h. The other version of netdb.h +(include/netdb.h.4.2.compat) may be used instead of include/netdb.h.4.2. +This version along with a change in res/named/gethostnamadr.c.compat +provide for using the new format of the hostent structure while having +binary compatibility with existing libraries. + +On systems with Sun RPC, you will have to merge include/netdb.h or +include/netdb.h.4.2 with /usr/include/netdb.h; copy the rpc-related lines +into the appropriate copy of netdb.h. Alternatively, use an alternate +include path when compiling the resolver library and programs that use it. + +0) cp bin/{whatever} /usr/ucb/mkdep (see above) + cp bin/manroff /usr/man/manroff +1) cp include/arpa/nameser.h /usr/include/arpa + Also, on ultrix 2.x, if you haven't fixed + the inet_addr definition in inet.h, do + cp include/arpa/inet.h /usr/include/arpa +2) cp include/resolv.h /usr/include +3) cp include/netdb.h /usr/include/netdb.h +OR + cp include/netdb.h.4.2 /usr/include/netdb.h +OR + edit /usr/include/netdb.h +4) cp man/*.1 /usr/man/manl + cp man/*.3 /usr/man/man3 + cp man/*.5 /usr/man/man5 + cp man/*.7 /usr/man/man7 + cp man/*.8 /usr/man/man8 +5) cd res; make depend; + make libresolv.a; + make install +OR + update the libc sources as in the 4.3BSD instructions above + and use res/Makefile as a guide for integration + and omit the RES=-lresolv in the next two steps +OR + compile the .o files in res according to Makefile, + then use place those object files in /lib/libc.a (keeping a backup!) + and omit the RES=-lresolv in the next two steps +6) edit named/pathnames.h to correpond with your system's configuration +7) cd named; make depend; make RES=-lresolv all; make install + (if your system defines signal-catching routines to return int + instead of void, use "make DEFINES=-DSIG_FN=int RES=-lresolv all") +8) edit tools/nslookup/pathnames.h to correpond with your system's + configuration +9) cd tools/nslookup; make RES=-lresolv nslookup install +10) create the master files (samples in conf/master/*) +11) edit /etc/rc.local to include: + +if [ -f /etc/named ]; then + /etc/named; echo -n ' named' >/dev/console +fi + +12) eventually, recompile network client and server programs that use +gethostbyname, etc. |