From cd7c643f48aa77eafb5add065d5c2c77548385f6 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 27 May 2004 18:15:43 +0000 Subject: [PATCH] Attach bind-9.2.4rc4 to the base system. Rip out bind-8 binaries and add in / adjust for most bind-9 binaries. Note that some pre-generated header files have been hacked into /usr/src/usr.sbin/named and might have to be regenerated from the original distribution when incorporating updates to bind. But, for the most part, the build is clean. Clean up rc.d/named and etc/defaults/rc.conf, add a README file to /etc/namedb describing setup requirements, and change the default named.conf file and RCNG variables to (if named is enabled) run named in a chrooted environment as user 'bind'. Adapt the 'getroot' script that I have used for many years to provide a better root.zone master methodology instead of the root hints file that has been traditionally shipped. Adjust the mtree files and distrib-dirs target to create the necessary infrastructure in /etc/namedb for handling a chrooted named. NOTE: bind-8 had 'ndc' and 'named-xfer'. bind-8 has rndc and there is no named-xfer (it is builtin to named). nslookup still exists but is deprecated in favor of 'dig', and the old dnskeygen/dnsquery mechanism has been replaced by the newer dnssec-* mechanism. --- Makefile.upgrade | 256 ---- etc/Makefile | 11 +- etc/defaults/rc.conf | 15 +- etc/mtree/BSD.root.dist | 14 +- etc/namedb/README | 67 + etc/namedb/getroot | 37 + etc/namedb/named.conf | 130 +- etc/rc.d/named | 59 +- lib/libbind/Makefile | 120 +- lib/libbind/port_after.h | 395 ++++++ lib/libbind/port_before.h | 139 ++ lib/libisc/Makefile | 306 +++-- libexec/Makefile | 6 +- libexec/named-xfer/Makefile | 27 - share/doc/smm/10.named/Makefile | 16 - usr.bin/Makefile | 10 +- usr.bin/dig/Makefile | 9 +- usr.bin/dnskeygen/Makefile | 12 - usr.bin/dnsquery/Makefile | 12 - usr.bin/dnssec-keygen/Makefile | 16 + usr.bin/dnssec-makekeyset/Makefile | 16 + usr.bin/dnssec-signkey/Makefile | 16 + usr.bin/dnssec-signzone/Makefile | 16 + usr.bin/host/Makefile | 11 +- usr.sbin/Makefile | 7 +- usr.sbin/named-checkconf/Makefile | 18 + usr.sbin/named-checkzone/Makefile | 18 + usr.sbin/named.reload/Makefile | 4 +- usr.sbin/named.reload/named.reload.sh | 4 +- usr.sbin/named.restart/Makefile | 4 +- usr.sbin/named.restart/named.restart.sh | 4 +- usr.sbin/named/Makefile | 40 +- usr.sbin/named/Makefile.inc | 67 +- usr.sbin/named/code.h | 1398 +++++++++++++++++++++ usr.sbin/named/config.h | 243 ++++ usr.sbin/named/dns/enumclass.h | 47 + usr.sbin/named/dns/enumtype.h | 125 ++ usr.sbin/named/dns/rdatastruct.h | 1467 ++++++++++++++++++++++ usr.sbin/named/include/dns/enumclass.h | 47 + usr.sbin/named/include/dns/enumtype.h | 125 ++ usr.sbin/named/include/dns/rdatastruct.h | 1467 ++++++++++++++++++++++ usr.sbin/named/include/isc/os.h | 37 + usr.sbin/named/include/isc/platform.h | 198 +++ usr.sbin/named/include/lwres/netdb.h | 519 ++++++++ usr.sbin/named/include/lwres/platform.h | 92 ++ usr.sbin/named/include/named/os.h | 50 + usr.sbin/named/isc/os.h | 37 + usr.sbin/named/isc/platform.h | 198 +++ usr.sbin/named/lwres/netdb.h | 519 ++++++++ usr.sbin/named/lwres/platform.h | 92 ++ usr.sbin/named/named/os.h | 50 + usr.sbin/ndc/Makefile | 15 - usr.sbin/nslookup/Makefile | 22 +- usr.sbin/nsupdate/Makefile | 13 +- usr.sbin/rndc-confgen/Makefile | 20 + usr.sbin/rndc/Makefile | 20 + 56 files changed, 7949 insertions(+), 734 deletions(-) delete mode 100644 Makefile.upgrade create mode 100644 etc/namedb/README create mode 100644 etc/namedb/getroot create mode 100644 lib/libbind/port_after.h create mode 100644 lib/libbind/port_before.h delete mode 100644 libexec/named-xfer/Makefile delete mode 100644 share/doc/smm/10.named/Makefile delete mode 100644 usr.bin/dnskeygen/Makefile delete mode 100644 usr.bin/dnsquery/Makefile create mode 100644 usr.bin/dnssec-keygen/Makefile create mode 100644 usr.bin/dnssec-makekeyset/Makefile create mode 100644 usr.bin/dnssec-signkey/Makefile create mode 100644 usr.bin/dnssec-signzone/Makefile create mode 100644 usr.sbin/named-checkconf/Makefile create mode 100644 usr.sbin/named-checkzone/Makefile create mode 100644 usr.sbin/named/code.h create mode 100644 usr.sbin/named/config.h create mode 100644 usr.sbin/named/dns/enumclass.h create mode 100644 usr.sbin/named/dns/enumtype.h create mode 100644 usr.sbin/named/dns/rdatastruct.h create mode 100644 usr.sbin/named/include/dns/enumclass.h create mode 100644 usr.sbin/named/include/dns/enumtype.h create mode 100644 usr.sbin/named/include/dns/rdatastruct.h create mode 100644 usr.sbin/named/include/isc/os.h create mode 100644 usr.sbin/named/include/isc/platform.h create mode 100644 usr.sbin/named/include/lwres/netdb.h create mode 100644 usr.sbin/named/include/lwres/platform.h create mode 100644 usr.sbin/named/include/named/os.h create mode 100644 usr.sbin/named/isc/os.h create mode 100644 usr.sbin/named/isc/platform.h create mode 100644 usr.sbin/named/lwres/netdb.h create mode 100644 usr.sbin/named/lwres/platform.h create mode 100644 usr.sbin/named/named/os.h delete mode 100644 usr.sbin/ndc/Makefile create mode 100644 usr.sbin/rndc-confgen/Makefile create mode 100644 usr.sbin/rndc/Makefile diff --git a/Makefile.upgrade b/Makefile.upgrade deleted file mode 100644 index 2331066646..0000000000 --- a/Makefile.upgrade +++ /dev/null @@ -1,256 +0,0 @@ -# -# $FreeBSD: src/Makefile.upgrade,v 1.17 1999/08/28 01:35:58 peter Exp $ -# $DragonFly: src/Attic/Makefile.upgrade,v 1.2 2003/06/17 04:21:10 dillon Exp $ -# -# This makefile contains rules for preforming upgrades that are outside -# the scope of the normal build world process. -# - -# -# Make sure the PATH is set correctly -# -PATH=/sbin:/bin:/usr/sbin:/usr/bin - -# -# Build things relative to the user's preferred object directory, -# defaulting to /usr/obj if not defined. -# -MAKEOBJDIRPREFIX?=/usr/obj - -# -# The installed operating system release gives us the hint as to whether -# we need to build a kernel too. -# -INSTALLEDVERSION!=sh ${.CURDIR}/tools/tools/upgrade/getosreldate.sh -INSTALLEDNAME!=uname -r - -# -# Upgrade the installed make to the current version using the installed -# headers, libraries and build tools. This is required on installed versions -# prior to 2.2.5 in which the installed make doesn't support the -m argument. -# -make : - @echo - @echo "--------------------------------------------------------------" - @echo " Upgrading the installed make" - @echo "--------------------------------------------------------------" - @cd ${.CURDIR}/usr.bin/make; \ - make obj && make depend && make all && make install - -# -# Upgrade from aout to elf, doing an aout build first to ensure that there -# are up-to-date tools before building the initial elf world. The aout -# tools just built into the object directory tree and executed from there -# during the elf build. Then install the aout tools, build an aout kernel -# with them (in case the installed kernel is an older version), then -# install the elf world. -# -aout-to-elf aout-to-elf-install : /var/db/update.cfg \ - ${MAKEOBJDIRPREFIX}/do_aout_buildworld \ - ${MAKEOBJDIRPREFIX}/do_elf_buildworld \ - ${MAKEOBJDIRPREFIX}/do_move_aout_libs \ - ${MAKEOBJDIRPREFIX}/do_aout_installworld \ - ${MAKEOBJDIRPREFIX}/do_elf_installworld \ - ${MAKEOBJDIRPREFIX}/do_elf_kernel \ - ${MAKEOBJDIRPREFIX}/do_set_objformat \ - ${MAKEOBJDIRPREFIX}/do_reboot - -# front-load all the information we're going to need. -/var/db/update.cfg: - @if [ -f ${.CURDIR}/tools/tools/upgrade/doupgrade.sh ]; then \ - env MACHINE=${MACHINE} CURDIR=${.CURDIR} sh ${.CURDIR}/tools/tools/upgrade/doupgrade.sh 1 /var/db/update.cfg; \ - else \ - echo "Your source tree must not be fully populated; unable to find upgrade script"; echo "in ${.CURDIR}/tools/tools/upgrade/doupgrade.sh."; exit 1; \ - fi - -# -# Just do the build parts of the transition build. -# -aout-to-elf-build : \ - ${MAKEOBJDIRPREFIX}/do_aout_buildworld \ - ${MAKEOBJDIRPREFIX}/do_elf_buildworld - -# -# The installed system may not have tools capable of building an elf -# aware world, so a complete aout buildworld is required to get a known -# set of tools. -# -${MAKEOBJDIRPREFIX}/do_aout_buildworld : - @echo - @echo "--------------------------------------------------------------" - @echo " Doing an aout buildworld to get an up-to-date set of tools" - @echo "--------------------------------------------------------------" - @cd ${.CURDIR}; MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/aout \ - OBJFORMAT=aout REALLY_WANT_DEPRECIATED_AOUT=yes \ - ${MAKE} -f Makefile.inc1 -m ${.CURDIR}/share/mk buildworld - @touch ${MAKEOBJDIRPREFIX}/do_aout_buildworld - -# -# Temporary path for initial elf build. -# -AOUTTMPPATH= ${MAKEOBJDIRPREFIX}/aout${.CURDIR}/tmp/sbin:${MAKEOBJDIRPREFIX}/aout${.CURDIR}/tmp/bin:${MAKEOBJDIRPREFIX}/aout${.CURDIR}/tmp/usr/sbin:${MAKEOBJDIRPREFIX}/aout${.CURDIR}/tmp/usr/bin:${MAKEOBJDIRPREFIX}/aout${.CURDIR}/tmp/usr/games - -# -# Use the aout tools from the aout buildworld to do an elf buildworld. -# -${MAKEOBJDIRPREFIX}/do_elf_buildworld : - @echo - @echo "--------------------------------------------------------------" - @echo " Doing an elf buildworld using the aout tools in the aout" - @echo " obj tree." - @echo "--------------------------------------------------------------" - @cd ${.CURDIR}; MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/elf \ - PATH=${AOUTTMPPATH} OBJFORMAT=elf NOTOOLS=1 \ - TOOLROOT=${MAKEOBJDIRPREFIX}/aout${.CURDIR}/tmp \ - X11BASE=/nonexistent \ - ${MAKE} -f Makefile.inc1 -m ${.CURDIR}/share/mk buildworld - @touch ${MAKEOBJDIRPREFIX}/do_elf_buildworld - -# -# ldconfig should list the directories that the system is currently using. -# -CUSTOM_LIBDIRS!=ldconfig -r | grep search | sed "s/search directories: //" | sed "s/:/ /g" - -# -# These are the standard library directories that should end up containing -# just elf libraries. -# -LIBDIRS=/usr/lib /usr/lib/compat /usr/local/lib /usr/X11R6/lib - -# -# Go through the list of library directories from ldconfig and add any -# directory that doesn't contain an aout path component to the list of -# library directories to search. -# -.for _lib in ${CUSTOM_LIBDIRS} -_lib1=${_lib:S/\/aout//} -.if ${_lib1} == ${_lib} -.if ${LIBDIRS:R:M${_lib:R}} == "" -LIBDIRS+=${_lib} -.endif -.endif -.endfor - -# -# Go through the list of library directories and prepare a list of -# aout directories. -# -AOUTLIBDIRS= -.for _lib in ${LIBDIRS} -AOUTLIBDIRS+=${_lib}/aout -.endfor - -# -# Move the aout libraries into an aout sub-directory of each elf library -# directory. -# -${MAKEOBJDIRPREFIX}/do_move_aout_libs move-aout-libs : -.if !defined(NOCONFIRM) - @echo - @echo "--------------------------------------------------------------" - @echo " You are about to move all the installed a.out libraries into" - @echo " an aout sub-directory of each elf library directory. You can" - @echo " type Ctrl-C to abort now or press return to start the moving" - @echo " the libraries." - @echo "--------------------------------------------------------------" - @echo Directories to search: ${LIBDIRS} - @/bin/sh -c "read -p \"Return to continue or Ctrl-C to abort: \" _e" - @sh ${.CURDIR}/tools/tools/upgrade/move_aout_libs.sh ${LIBDIRS} -.else - @NOCONFIRM=1 sh ${.CURDIR}/tools/tools/upgrade/move_aout_libs.sh ${LIBDIRS} -.endif - @ldconfig ${AOUTLIBDIRS} - @touch ${MAKEOBJDIRPREFIX}/do_move_aout_libs - -# -# Before installing the aout world, allow for the possibility that the -# world about to be installed has some different syscalls to the installed -# kernel which will make shutting the system down problematic. We set aside -# copies of certain programs which match the running kernel. -# -# Install the aout world so that anything that isn't replaced by the -# elf world will be updated. -# -${MAKEOBJDIRPREFIX}/do_aout_installworld : -.if ${INSTALLEDVERSION} < 300003 - @echo - @echo "--------------------------------------------------------------" - @echo " Saving a copy of programs required to shut the system down" - @echo "--------------------------------------------------------------" - @cp /bin/sh ${MAKEOBJDIRPREFIX} - @cp /sbin/reboot ${MAKEOBJDIRPREFIX} -.endif - @touch ${MAKEOBJDIRPREFIX}/do_aout_installworld - -# -# Build and install a new kernel, as well as the boot blocks necessary to -# boot it. -# -${MAKEOBJDIRPREFIX}/do_elf_kernel : - @if [ -f /var/db/update.cfg -a -f ${.CURDIR}/tools/tools/upgrade/doupgrade.sh ]; then \ - env MACHINE=${MACHINE} CURDIR=${.CURDIR} sh ${.CURDIR}/tools/tools/upgrade/doupgrade.sh 2 /var/db/update.cfg; \ - fi - @touch ${MAKEOBJDIRPREFIX}/do_elf_kernel - @rm -f /var/db/update.cfg - -# -# Install the elf world overwriting just about all the previously installed -# aout world. Any aout things that need to be kept have already been -# installed in different places (typically in aout subdirectories). -# -${MAKEOBJDIRPREFIX}/do_elf_installworld : -.if !defined(NOCONFIRM) - @echo - @echo "--------------------------------------------------------------" - @echo " You are about to update the installed system (or the system" - @echo " that your DESTDIR points to) with the elf versions of" - @echo " everything, replacing the aout versions. You can type Ctrl-C" - @echo " to abort now, leaving just the aout world installed, or" - @echo " press return to start the second phase of the update." - @echo "--------------------------------------------------------------" - @/bin/sh -c "read -p \"Return to continue or Ctrl-C to abort: \" _e" -.endif - @echo - @echo "--------------------------------------------------------------" - @echo " Doing an elf installworld using the aout tools in the aout" - @echo " obj tree." - @echo "--------------------------------------------------------------" - @cd ${.CURDIR}; MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/elf \ - PATH=${AOUTTMPPATH} OBJFORMAT=elf NOTOOLS=1 \ - TOOLROOT=${MAKEOBJDIRPREFIX}/aout${.CURDIR}/tmp \ - ${MAKE} -f Makefile.inc1 -m ${.CURDIR}/share/mk installworld - @if [ ! -f /etc/pam.conf ]; then cp ${.CURDIR}/etc/pam.conf /etc; fi - @if [ ! -f /etc/auth.conf ]; then cp ${.CURDIR}/etc/auth.conf /etc; fi - @if [ ! -f /etc/login.conf ]; then cp ${.CURDIR}/etc/login.conf /etc; fi - @touch ${MAKEOBJDIRPREFIX}/do_elf_installworld - -# -# Now that the elf world has been installed, we can set the default -# object format to elf. -# -${MAKEOBJDIRPREFIX}/do_set_objformat : - @echo - @echo "--------------------------------------------------------------" - @echo " Setting the default object format to elf" - @echo "--------------------------------------------------------------" - @echo "OBJFORMAT=elf" > ${DESTDIR}/etc/objformat - @touch ${MAKEOBJDIRPREFIX}/do_set_objformat - -# -# Time to reboot! -${MAKEOBJDIRPREFIX}/do_reboot : -.if !defined(NOCONFIRM) - @echo - @echo "--------------------------------------------------------------" - @echo " Your system has now been fully updated to elf!" - @echo - @echo " It's now time to reboot from your new ELF kernel." - @echo " You can type Ctrl-C to abort this (at your own risk)" - @echo " or press return to reboot the system." - @echo "--------------------------------------------------------------" - @${MAKEOBJDIRPREFIX}/sh -c "read -p \"Return to continue or Ctrl-C to abort: \" _e" -.endif - @echo " Rebooting......." - @echo "--------------------------------------------------------------" - @touch ${MAKEOBJDIRPREFIX}/do_reboot - @-${MAKEOBJDIRPREFIX}/reboot diff --git a/etc/Makefile b/etc/Makefile index 1428b1af89..a8dd5da542 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -1,6 +1,6 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 # $FreeBSD: src/etc/Makefile,v 1.219.2.38 2003/03/04 09:49:00 ru Exp $ -# $DragonFly: src/etc/Makefile,v 1.19 2004/05/17 01:03:52 dillon Exp $ +# $DragonFly: src/etc/Makefile,v 1.20 2004/05/27 18:15:37 dillon Exp $ .if !defined(NO_SENDMAIL) SUBDIR= sendmail @@ -49,7 +49,7 @@ MTREE+= BSD.sendmail.dist .endif NAMEDB= PROTO.localhost.rev PROTO.localhost-v6.rev named.conf named.root \ - make-localhost + make-localhost getroot README PPPCNF= ppp.conf @@ -97,6 +97,12 @@ upgrade_etc: rm -f ${DESTDIR}/usr/include/machine/ioctl_bt848.h ln -s "../dev/video/bktr/ioctl_bt848.h" ${DESTDIR}/usr/include/machine/ioctl_bt848.h ln -s "../dev/video/meteor/ioctl_meteor.h" ${DESTDIR}/usr/include/machine/ioctl_meteor.h +.if exists(${DESTDIR}/usr/sbin/named-checkzone) + rm -f ${DESTDIR}/usr/libexec/named-xfer + rm -f ${DESTDIR}/usr/bin/dnsquery + rm -f ${DESTDIR}/usr/bin/dnskeygen + rm -f ${DESTDIR}/usr/sbin/ndc +.endif .if exists(${DESTDIR}/usr/libexec/binutils212/elf/as) ldconfig -m ${DESTDIR}/usr/lib/gcc2 rm -rf ${DESTDIR}/usr/libdata/ldscripts @@ -248,6 +254,7 @@ distrib-dirs: .if !defined(NO_SENDMAIL) mtree -deU -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/ .endif + cd ${DESTDIR}/etc/namedb; rm -f etc/namedb; ln -s ".." etc/namedb cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* . cd ${DESTDIR}/usr/share/man; \ diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index c6ba001aaf..c7d0bfcfe6 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -14,7 +14,7 @@ # All arguments must be in double or single quotes. # # $FreeBSD: src/etc/defaults/rc.conf,v 1.180 2003/06/26 09:50:50 smkelly Exp $ -# $DragonFly: src/etc/defaults/rc.conf,v 1.9 2004/04/15 01:02:45 cpressey Exp $ +# $DragonFly: src/etc/defaults/rc.conf,v 1.10 2004/05/27 18:15:40 dillon Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -131,20 +131,13 @@ inetd_program="/usr/sbin/inetd" # path to inetd, if you want a different one. inetd_flags="-wW" # Optional flags to inetd # # named. It may be possible to run named in a sandbox, man security for -# details. +# details. Note: when named_chrootdir is specified, RCNG automatically +# adds '-u bind'. # -named_rcng="NO" # XXX Temporary. Enable to use new rc - # functionality in support of named. See - # variables below. named_enable="NO" # Run named, the DNS server (or NO). named_program="/usr/sbin/named" # path to named, if you want a different one. -named_flags="-u bind -g bind" # Flags for named named_pidfile="/var/run/named.pid" # Pid file -named_chrootdir="" # Chroot directory (or "" not to auto-chroot it) -named_chroot_autoupdate="YES" # Automatically install/update chrooted - # components of named. See /etc/rc.d/named. -named_symlink_enable="YES" # Symlink ${named_pidfile} and /var/run/ndc - # to their chrooted counterparts. +named_chrootdir="/etc/namedb" # Chroot directory (or "" not to auto-chroot it) # # kerberos. Do not run the admin daemons on slave servers diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist index a1c2376eab..6a85d190a1 100644 --- a/etc/mtree/BSD.root.dist +++ b/etc/mtree/BSD.root.dist @@ -1,5 +1,5 @@ # $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.45.2.4 2002/06/10 15:33:27 obrien Exp $ -# $DragonFly: src/etc/mtree/BSD.root.dist,v 1.4 2003/08/05 07:45:39 asmodai Exp $ +# $DragonFly: src/etc/mtree/BSD.root.dist,v 1.5 2004/05/27 18:15:40 dillon Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -30,10 +30,14 @@ mtree .. namedb -# leave commented out until buildworld/installworld can -# handle new user ids -# s uname=bind gname=bind mode=0750 -# .. + etc + .. + var + run uname=bind gname=bind mode=0750 + .. + .. + s uname=bind gname=bind mode=0750 + .. .. periodic daily diff --git a/etc/namedb/README b/etc/namedb/README new file mode 100644 index 0000000000..588039375f --- /dev/null +++ b/etc/namedb/README @@ -0,0 +1,67 @@ +$DragonFly: src/etc/namedb/README,v 1.1 2004/05/27 18:15:40 dillon Exp $ + + Running BIND-9's NAMED + + First, note that if all you want to do is list a set of name servers, + you can simply edit /etc/resolv.conf. There is no need to run named. + + An example /etc/resolv.conf file might be: + + ---- cut here ---- + domain your.domain.blah + search your.domain.blah someother.domain.blah + nameserver 192.168.5.5 <<<< IP addresses of nameservers + nameserver 192.168.5.10 + ---- cut here ---- + + If you want to run named the 'named' and 'named.conf' manual pages, + and other manual pages, should be helpful. + + To get a basic named running you have to follow these steps: + + * Generate an rndc.key file in /etc/namedb so 'rndc' works + * Generate localhost.rev and localhost-v6.rev + * Obtain the latest root.zone file or use named.root. + * Edit named.conf as appropriate for what you are trying to do. + * Start named with rndc and enable it in /etc/rc.conf + + (1) Generating rndc.key + + cd /etc/namedb; rndc-confgen -a; chown bind rndc.key + + The default named.conf already contains the appropriate include + line and controls { } directive to allow rndc to access named + once a key has been generated. This program should generate + a 'rndc.key' file. Since we run named as user 'bind' by default, + the rndc.key file must be owned by the 'bind' user. + + (2) Running './make-localhost' in /etc/namedb will generate + "localhost.rev" and "localhost-v6.rev". The default named.conf + file references these files. It is important for your named.conf + to be a master for localhost lookups to avoid certain types of + spoofing attacks. + + (3) Obtain the latest root.zone file. Running "./getroot" in + /etc/namedb will download the latest root.zone file. Edit + your named.conf to comment out the named.root hint directive and + uncomment the root.zone master directive. + + Using a root.zone file is more reliable then using a hint file. + It is a good idea to run the getroot script once a week from a + cron job to keep your root.zone file up-to-date. + + (4) Edit named.conf. If you want to run named it must be for a reason, + so you need to edit named.conf to set up the desired environment. + named is typically used as a caching forwarding server, or a + straight caching server. + + (5) Start named. named is typically started using the + /usr/sbin/named.restart script. This script will pull in + rc.conf to figure out the appropriate arguments and then run rndc + with the appropriate options to [re]start named. + + Always test your running named to make sure it is operating as advertised. + Run 'rndc status' to double check rndc's access to the named process, + and use 'dig @localhost some.domain.name' to run a test lookup on a + domain using your name server to make sure it works properly. + diff --git a/etc/namedb/getroot b/etc/namedb/getroot new file mode 100644 index 0000000000..f2e7e22e7b --- /dev/null +++ b/etc/namedb/getroot @@ -0,0 +1,37 @@ +#!/bin/tcsh -f +# +# If you are running named and using root.zone as a master, the root.zone +# file should be updated periodicly from ftp.rs.internic.net. +# +# $DragonFly: src/etc/namedb/getroot,v 1.1 2004/05/27 18:15:40 dillon Exp $ + +umask 027 + +set hostname = 'ftp.rs.internic.net' +set remfile = domain/root.zone.gz +set locfile = root.zone.gz +set path = ( /bin /usr/bin /sbin /usr/sbin ) + +fetch ftp://${hostname}:/${remfile} +if ( $status != 0) then + rm -f ${locfile} + echo "Download failed" +else + gunzip < ${locfile} > root.zone.new + if ( $status == 0 ) then + rm -f ${locfile} + if ( -f root.zone ) then + mv -f root.zone root.zone.bak + endif + chmod 644 root.zone.new + mv -f root.zone.new root.zone + echo "Download succeeded, restarting named" + rndc reload + sleep 1 + rndc status + else + echo "Download failed: gunzip returned an error" + rm -f ${locfile} + endif +endif + diff --git a/etc/namedb/named.conf b/etc/namedb/named.conf index 6d1b886ce4..ce64ec62e6 100644 --- a/etc/namedb/named.conf +++ b/etc/namedb/named.conf @@ -1,5 +1,5 @@ // $FreeBSD: src/etc/namedb/named.conf,v 1.6.2.7 2003/02/13 13:16:51 keramida Exp $ -// $DragonFly: src/etc/namedb/named.conf,v 1.2 2003/06/17 04:24:48 dillon Exp $ +// $DragonFly: src/etc/namedb/named.conf,v 1.3 2004/05/27 18:15:40 dillon Exp $ // // Refer to the named.conf(5) and named(8) man pages for details. If // you are ever going to set up a primary server, make sure you @@ -7,7 +7,22 @@ // simple mistakes, you can break connectivity for affected parties, // or cause huge amounts of useless Internet traffic. +include "rndc.key"; + +controls { + inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndc-key"; }; +}; + +acl access { + localhost; + localnets; +}; + options { +// When running chroot /etc/namedb/etc/namedb is a softlink to ".." just +// so we can leave the directory directive set to something that works +// in both chroot and normal modes. +// directory "/etc/namedb"; // In addition to the "forwarders" clause, you can force your name @@ -19,35 +34,58 @@ options { // If you've got a DNS server around at your upstream provider, enter // its IP address here, and enable the line below. This will make you // benefit from its cache, thus reduce overall DNS traffic in the Internet. -/* - forwarders { - 127.0.0.1; - }; -*/ - /* - * If there is a firewall between you and nameservers you want - * to talk to, you might need to uncomment the query-source - * directive below. Previous versions of BIND always asked - * questions using port 53, but BIND 8.1 uses an unprivileged - * port by default. - */ - // query-source address * port 53; - - /* - * If running in a sandbox, you may have to specify a different - * location for the dumpfile. - */ - // dump-file "s/named_dump.db"; +// +// forwarders { +// 127.0.0.1; +// }; + +// If there is a firewall between you and nameservers you want +// to talk to, you might need to uncomment the query-source +// directive below. Previous versions of BIND always asked +// questions using port 53, but BIND 8.1 uses an unprivileged +// port by default. +// +// query-source address * port 53; + +// If running in a sandbox the base directory is typically not writable, +// store the dump file in the secondaries directory. +// + dump-file "s/named_dump.db"; }; // Note: the following will be supported in a future release. -/* -host { any; } { - topology { - 127.0.0.0/8; - }; +// +// host { any; } { +// topology { +// 127.0.0.0/8; +// }; +// }; + +// If you intend to run a recursive name server you need some hints to +// find the root zone ".", or you need a root.zone file which contains +// records for all top level domains (e.g. like '.com'). +// +// A hint file is included and can be used for a quick-and-dirty +// configuration, but it is better to use the 'getroot' script and pull +// the real root.zone file. +// +// If you use a root.zone file then comment out the hint directive below +// and uncomment the root.zone directive. Set up a cron job to run the +// ./getroot script once a week to keep the root.zone file up-to-date. +// +// FOR SAFETY, THE "/etc/namedb" DIRECTORY and the "getroot" SCRIPT SHOULD +// BE OWNED BY ROOT AND ONLY WRITABLE BY ROOT. + +zone "." { + type hint; + file "named.root"; }; -*/ + +// zone "." { +// type master; +// file "root.zone"; +// }; + // Setting up secondaries is way easier and a rough example for this // is provided below. @@ -56,11 +94,6 @@ host { any; } { // first in your /etc/resolv.conf so this server will be queried. // Also, make sure to enable it in /etc/rc.conf. -zone "." { - type hint; - file "named.root"; -}; - zone "0.0.127.IN-ADDR.ARPA" { type master; file "localhost.rev"; @@ -104,22 +137,21 @@ zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" { // mkdir /etc/namedb/s // chown bind:bind /etc/namedb/s // chmod 750 /etc/namedb/s - -/* -zone "domain.com" { - type slave; - file "s/domain.com.bak"; - masters { - 192.168.1.1; - }; -}; - -zone "0.168.192.in-addr.arpa" { - type slave; - file "s/0.168.192.in-addr.arpa.bak"; - masters { - 192.168.1.1; - }; -}; -*/ +// +// +// zone "domain.com" { +// type slave; +// file "s/domain.com.bak"; +// masters { +// 192.168.1.1; +// }; +// }; +// +// zone "0.168.192.in-addr.arpa" { +// type slave; +// file "s/0.168.192.in-addr.arpa.bak"; +// masters { +// 192.168.1.1; +// }; +// }; diff --git a/etc/rc.d/named b/etc/rc.d/named index e568fa02bf..c15239f69b 100644 --- a/etc/rc.d/named +++ b/etc/rc.d/named @@ -2,7 +2,7 @@ # # $NetBSD: named,v 1.10 2002/03/22 04:33:59 thorpej Exp $ # $FreeBSD: src/etc/rc.d/named,v 1.6 2003/01/12 04:53:54 mtm Exp $ -# $DragonFly: src/etc/rc.d/named,v 1.3 2004/03/26 13:32:27 drhodus Exp $ +# $DragonFly: src/etc/rc.d/named,v 1.4 2004/05/27 18:15:40 dillon Exp $ # # PROVIDE: named @@ -20,71 +20,18 @@ required_dirs="$named_chrootdir" # if it is set, it must exist extra_commands="reload" nuser=bind -ngroup=bind - -# If running in a chroot cage, ensure that the appropriate files -# exist inside the cage, as well as helper symlinks into the cage -# from outside. -# -# As this is called after the is_running and required_dir checks -# are made in run_rc_command(), we can safely assume ${named_chrootdir} -# exists and named isn't running at this point (unless forcestart -# is used). -# -chroot_autoupdate() -{ - # If the named-xfer in the system is newer than the one in the - # chroot directory or if it (in the chrootdir) doesn't exist - # copy it over - # - if [ ! -x "${named_chrootdir}/usr/libexec/named-xfer" -o \ - "${named_chrootdir}/usr/libexec/named-xfer" -ot \ - /usr/libexec/named-xfer ]; then - rm -f "${named_chrootdir}/usr/libexec/named-xfer" - cp -p /usr/libexec/named-xfer "${named_chrootdir}/usr/libexec" - fi - - # Copy /dev/null over, if neccessary. Preserve everything (perms, - # ownership, mod times). - # - if [ ! -c "${named_chrootdir}/dev/null" ]; then - rm -f "${named_chrootdir}/dev/null" - ( cd /dev ; /bin/pax -rw -pe null "${named_chrootdir}/dev" ) - fi - - # Copy local timezone information if it's not up-to-date. - # - if [ -f /etc/localtime ]; then - cmp -s /etc/localtime "${named_chrootdir}/etc/localtime" || \ - cp -p /etc/localtime "${named_chrootdir}/etc/localtime" - fi -} - -# Make symlinks to the correct pid and ndc socket files -# -make_symlinks() -{ - ln -fs "${named_chrootdir}${named_pidfile}" ${named_pidfile} - ln -fs "${named_chrootdir}/var/run/ndc" /var/run/ndc - -} named_precmd() { - ! checkyesno named_rcng && return 0 # Is the user using a sandbox? if [ -z "$named_chrootdir" ]; then - rc_flags="-u $nuser -g $ngroup $rc_flags" + rc_flags="-u $nuser $rc_flags" return 0 fi - # Do the following checks only if the user wants them done - checkyesno named_chroot_autoupdate && chroot_autoupdate - checkyesno named_symlink_enable && make_symlinks # Change run_rc_commands()'s internal copy of $named_flags # - ! checkyesno named_rcng && return - rc_flags="-u $nuser -g $ngroup -t ${named_chrootdir} $rc_flags" + rc_flags="-u $nuser -t ${named_chrootdir} $rc_flags" } load_rc_config $name diff --git a/lib/libbind/Makefile b/lib/libbind/Makefile index af2474b82b..e95bba1ce5 100644 --- a/lib/libbind/Makefile +++ b/lib/libbind/Makefile @@ -1,93 +1,67 @@ # $FreeBSD: src/lib/libbind/Makefile,v 1.5.2.2 2002/07/19 18:46:25 ru Exp $ -# $DragonFly: src/lib/libbind/Makefile,v 1.4 2004/02/03 05:12:51 dillon Exp $ +# $DragonFly: src/lib/libbind/Makefile,v 1.5 2004/05/27 18:15:40 dillon Exp $ -BIND_DIR=${.CURDIR}/../../contrib/bind +BIND_DIR=${.CURDIR}/../../contrib/bind-9.2.4rc4 -LIB= bind -WANT_IRS= for now - -# Required to avoid a setpwent() prototype conflict. This is normally -# set in the freebsd port subdir header files in contrib/bind, but it's -# conditionalized on __FreeBSD__. +# note: lib/bind/include/isc/list.h must come before lib/isc/include/isc/list.h # -CFLAGS += -DSETPWENT_VOID +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/lib/bind/include + +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" +.include "${BIND_DIR}/lib/bind/api" + +LIB= bind +WANT_IRS= for now # This may or may not work yet. It's not compatible with the core # system components since it overrides the master.passwd handling etc. .if defined(WANT_IRS) -.PATH: ${BIND_DIR}/lib/irs -SRCS+= dns.c dns_gr.c dns_ho.c dns_nw.c dns_pr.c dns_pw.c \ - dns_sv.c gai_strerror.c gen.c gen_gr.c gen_ho.c \ - gen_ng.c gen_nw.c gen_pr.c gen_pw.c gen_sv.c \ - getaddrinfo.c getgrent.c getgrent_r.c gethostent.c \ - gethostent_r.c getnameinfo.c getnetent.c getnetent_r.c \ - getnetgrent.c getnetgrent_r.c getprotoent.c \ - getprotoent_r.c getpwent.c getpwent_r.c getservent.c \ - getservent_r.c hesiod.c irs_data.c \ - irp.c irp_gr.c irp_ho.c irp_ng.c irp_nw.c \ - irp_pr.c irp_pw.c irp_sv.c irpmarshall.c \ - lcl.c lcl_gr.c \ - lcl_ho.c lcl_ng.c lcl_nw.c lcl_pr.c lcl_pw.c \ - lcl_sv.c nis.c nis_gr.c nis_ho.c nis_ng.c nis_nw.c \ - nis_pr.c nis_pw.c nis_sv.c nul_ng.c util.c +.PATH: ${BIND_DIR}/lib/bind/irs +SRCS+= gethostent_r.c getnetgrent_r.c getprotoent_r.c getservent_r.c \ + dns_gr.c irp_gr.c lcl_gr.c gen_gr.c getgrent.c getpwent_r.c \ + nis_pw.c irp_pw.c lcl_pw.c dns_pw.c gen_pw.c getpwent.c \ + nis_ho.c nis_ng.c nis_nw.c nis_pr.c nis_sv.c \ + dns.c dns_ho.c dns_nw.c dns_pr.c \ + dns_sv.c gai_strerror.c gen.c gen_ho.c \ + gen_ng.c gen_nw.c gen_pr.c gen_sv.c \ + getaddrinfo.c gethostent.c getnameinfo.c \ + getnetent.c getnetent_r.c getnetgrent.c \ + getprotoent.c getservent.c hesiod.c \ + irp.c irp_ho.c irp_ng.c irp_nw.c \ + irp_pr.c irp_sv.c irpmarshall.c irs_data.c \ + lcl.c lcl_ho.c lcl_ng.c lcl_nw.c \ + lcl_pr.c lcl_sv.c nis.c nul_ng.c util.c \ + getgrent_r.c \ -.PATH: ${BIND_DIR}/lib/nameser -SRCS+= ns_parse.c ns_print.c ns_netint.c ns_ttl.c ns_name.c \ - ns_sign.c ns_verify.c ns_date.c ns_samedomain.c +.PATH: ${BIND_DIR}/lib/bind/nameser +SRCS+= ns_date.c ns_name.c ns_netint.c \ + ns_parse.c ns_print.c ns_samedomain.c \ + ns_sign.c ns_ttl.c ns_verify.c -.PATH: ${BIND_DIR}/lib/resolv -SRCS+= herror.c res_debug.c res_data.c res_comp.c res_init.c \ - res_mkquery.c res_query.c res_send.c res_sendsigned.c \ - res_mkupdate.c res_update.c res_findzonecut.c -.endif +.PATH: ${BIND_DIR}/lib/bind/resolv +SRCS+= herror.c res_comp.c res_data.c \ + res_debug.c res_findzonecut.c res_init.c \ + res_mkquery.c res_mkupdate.c res_query.c \ + res_send.c res_sendsigned.c res_update.c -.if defined(WANT_CYLINK) && exists(${BIND_DIR}/lib/cylink) -.PATH: ${BIND_DIR}/lib/cylink -CFLAGS+=-DCYLINK_DSS -I${BIND_DIR}/lib/cylink -SRCS+= bn.c bn00.c lbn00.c lbnmem.c legal.c \ - bits.c dss.c math.c ctk_prime.c rand.c sha.c swap.c .endif -.if defined(WANT_DNSSAFE) && exists(${BIND_DIR}/lib/dnssafe) -.PATH: ${BIND_DIR}/lib/dnssafe -CFLAGS+=-DDNSSAFE -I${BIND_DIR}/lib/dnssafe -SRCS+= bgclrbit.c bgmdmpyx.c bgmdsqx.c bgmodexp.c \ - bgpegcd.c big2exp.c bigabs.c bigacc.c bigarith.c \ - bigcmp.c bigconst.c biginv.c biglen.c bigmodx.c \ - bigmpy.c bigpdiv.c bigpmpy.c bigpmpyh.c bigpmpyl.c \ - bigpsq.c bigqrx.c bigsmod.c bigtocan.c bigu.c \ - bigunexp.c cantobig.c crt2.c \ - digrand.c intbits.c md5.c md5rand.c prime.c \ - rsa.c rsakeygn.c seccbcd.c seccbce.c surrendr.c \ - ahchdig.c ahchencr.c ahchgen.c ahchrand.c ahdigest.c \ - ahencryp.c ahgen.c ahrandom.c ahrsaenc.c ahrsaepr.c \ - ahrsaepu.c aichdig.c aichenc8.c aichencn.c aichencr.c \ - aichgen.c aichrand.c aimd5.c \ - aimd5ran.c ainfotyp.c ainull.c airsaepr.c airsaepu.c \ - airsakgn.c airsaprv.c airsapub.c algchoic.c algobj.c \ - amcrte.c ammd5.c ammd5r.c \ - amrkg.c amrsae.c balg.c binfocsh.c bkey.c bmempool.c \ - digest.c encrypt.c generate.c intitem.c \ - keyobj.c ki8byte.c kiitem.c kinfotyp.c \ - kifulprv.c kipkcrpr.c kirsacrt.c kirsapub.c random.c -.endif - -.PATH: ${BIND_DIR}/lib/dst +.PATH: ${BIND_DIR}/lib/bind/dst CFLAGS+=-DHMAC_MD5 -DUSE_MD5 -SRCS+= dst_api.c prandom.c rsaref_link.c support.c bsafe_link.c \ - cylink_link.c hmac_link.c md5_dgst.c eay_dss_link.c +SRCS+= dst_api.c hmac_link.c md5_dgst.c support.c + +.PATH: ${BIND_DIR}/lib/bind/isc +SRCS+= assertions.c base64.c bitncmp.c ctl_clnt.c \ + ctl_p.c ctl_srvr.c ev_connects.c ev_files.c \ + ev_streams.c ev_timers.c ev_waits.c \ + eventlib.c heap.c hex.c logging.c \ + memcluster.c movefile.c tree.c -.PATH: ${BIND_DIR}/lib/isc -SRCS+= tree.c bitncmp.c assertions.c \ - memcluster.c logging.c heap.c \ - ctl_p.c ctl_srvr.c ctl_clnt.c \ - eventlib.c ev_connects.c ev_files.c \ - ev_timers.c ev_streams.c ev_waits.c -# base64.c +.PATH: ${BIND_DIR}/lib/bind/bsd +SRCS+= gettimeofday.c INTERNALLIB= true .include -# XXX contrib/bind/include/* must not override any real system includes -CFLAGS:= -I${BIND_DIR}/port/freebsd/include -I${BIND_DIR}/include ${CFLAGS} diff --git a/lib/libbind/port_after.h b/lib/libbind/port_after.h new file mode 100644 index 0000000000..32bcaca507 --- /dev/null +++ b/lib/libbind/port_after.h @@ -0,0 +1,395 @@ +/* $DragonFly: src/lib/libbind/port_after.h,v 1.1 2004/05/27 18:15:40 dillon Exp $ */ +#ifndef port_after_h +#define port_after_h + +#include +#include +#include +#include +#if (!defined(BSD)) || (BSD < 199306) +#include +#endif + +#define NEED_PSELECT +#define HAVE_SA_LEN 1 +#define HAVE_MINIMUM_IFREQ 1 +#undef NEED_DAEMON +#undef NEED_STRSEP +#undef NEED_STRERROR +#define HAS_INET6_STRUCTS 1 +#define HAVE_SIN6_SCOPE_ID 1 +#undef NEED_IN6ADDR_ANY +#undef HAS_IN_ADDR6 +#define HAVE_SOCKADDR_STORAGE 1 +#undef NEED_GETTIMEOFDAY +#undef HAVE_STRNDUP +#undef USE_FIONBIO_IOCTL +#undef USE_SYSERROR_LIST +#undef INNETGR_ARGS +#undef SETNETGRENT_ARGS + +/* XXX sunos and cygwin needs O_NDELAY */ +#define PORT_NONBLOCK O_NONBLOCK + +/* + * We need to know the IPv6 address family number even on IPv4-only systems. + * Note that this is NOT a protocol constant, and that if the system has its + * own AF_INET6, different from ours below, all of BIND's libraries and + * executables will need to be recompiled after the system + * has had this type added. The type number below is correct on most BSD- + * derived systems for which AF_INET6 is defined. + */ +#ifndef AF_INET6 +#define AF_INET6 24 +#endif + +#ifndef PF_INET6 +#define PF_INET6 AF_INET6 +#endif + +#ifdef HAS_IN_ADDR6 +/* Map to pre-RFC structure. */ +#define in6_addr in_addr6 +#endif + +#ifndef HAS_INET6_STRUCTS +/* Replace with structure from later rev of O/S if known. */ +struct in6_addr { + u_int8_t s6_addr[16]; +}; + +#define IN6ADDR_ANY_INIT \ + {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }} + +#define IN6ADDR_LOOPBACK_INIT \ + {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }} + +/* Replace with structure from later rev of O/S if known. */ +struct sockaddr_in6 { +#ifdef HAVE_SA_LEN + u_int8_t sin6_len; /* length of this struct */ + u_int8_t sin6_family; /* AF_INET6 */ +#else + u_int16_t sin6_family; /* AF_INET6 */ +#endif + u_int16_t sin6_port; /* transport layer port # */ + u_int32_t sin6_flowinfo; /* IPv6 flow information */ + struct in6_addr sin6_addr; /* IPv6 address */ + u_int32_t sin6_scope_id; /* set of interfaces for a scope */ +}; +#endif /* HAS_INET6_STRUCTS */ + +#ifdef BROKEN_IN6ADDR_INIT_MACROS +#undef IN6ADDR_ANY_INIT +#undef IN6ADDR_LOOPBACK_INIT +#endif + +#ifndef IN6ADDR_ANY_INIT +#ifdef s6_addr +#define IN6ADDR_ANY_INIT \ + {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}} +#else +#define IN6ADDR_ANY_INIT \ + {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }} +#endif + +#endif +#ifndef IN6ADDR_LOOPBACK_INIT +#ifdef s6_addr +#define IN6ADDR_LOOPBACK_INIT \ + {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} +#else +#define IN6ADDR_LOOPBACK_INIT \ + {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }} +#endif +#endif + +#ifndef HAVE_SOCKADDR_STORAGE +#define __SS_MAXSIZE 128 +#define __SS_ALLIGSIZE (sizeof (long)) + +struct sockaddr_storage { +#ifdef HAVE_SA_LEN + u_int8_t ss_len; /* address length */ + u_int8_t ss_family; /* address family */ + char __ss_pad1[__SS_ALLIGSIZE - 2 * sizeof(u_int8_t)]; + long __ss_align; + char __ss_pad2[__SS_MAXSIZE - 2 * __SS_ALLIGSIZE]; +#else + u_int16_t ss_family; /* address family */ + char __ss_pad1[__SS_ALLIGSIZE - sizeof(u_int16_t)]; + long __ss_align; + char __ss_pad2[__SS_MAXSIZE - 2 * __SS_ALLIGSIZE]; +#endif +}; +#endif + + +#if !defined(HAS_INET6_STRUCTS) || defined(NEED_IN6ADDR_ANY) +#define in6addr_any isc_in6addr_any +extern const struct in6_addr in6addr_any; +#endif + +/* + * IN6_ARE_ADDR_EQUAL, IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_V4COMPAT and + * IN6_IS_ADDR_V4MAPPED are broken in glibc 2.1. + */ +#ifdef __GLIBC__ +#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2) +#undef IN6_ARE_ADDR_EQUAL +#undef IN6_IS_ADDR_UNSPECIFIED +#undef IN6_IS_ADDR_V4COMPAT +#undef IN6_IS_ADDR_V4MAPPED +#endif +#endif + +#ifndef IN6_ARE_ADDR_EQUAL +#define IN6_ARE_ADDR_EQUAL(a,b) \ + (memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0) +#endif + +#ifndef IN6_IS_ADDR_UNSPECIFIED +#define IN6_IS_ADDR_UNSPECIFIED(a) \ + IN6_ARE_ADDR_EQUAL(a, &in6addr_any) +#endif + +#ifndef IN6_IS_ADDR_LOOPBACK +extern const struct in6_addr isc_in6addr_loopback; +#define IN6_IS_ADDR_LOOPBACK(a) \ + IN6_ARE_ADDR_EQUAL(a, &isc_in6addr_loopback) +#endif + +#ifndef IN6_IS_ADDR_V4MAPPED +#define IN6_IS_ADDR_V4MAPPED(a) \ + ((a)->s6_addr[0] == 0x00 && (a)->s6_addr[1] == 0x00 && \ + (a)->s6_addr[2] == 0x00 && (a)->s6_addr[3] == 0x00 && \ + (a)->s6_addr[4] == 0x00 && (a)->s6_addr[5] == 0x00 && \ + (a)->s6_addr[6] == 0x00 && (a)->s6_addr[9] == 0x00 && \ + (a)->s6_addr[8] == 0x00 && (a)->s6_addr[9] == 0x00 && \ + (a)->s6_addr[10] == 0xff && (a)->s6_addr[11] == 0xff) +#endif + +#ifndef IN6_IS_ADDR_SITELOCAL +#define IN6_IS_ADDR_SITELOCAL(a) \ + (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0)) +#endif + +#ifndef IN6_IS_ADDR_LINKLOCAL +#define IN6_IS_ADDR_LINKLOCAL(a) \ + (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80)) +#endif + +#ifndef IN6_IS_ADDR_MULTICAST +#define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff) +#endif + +#ifndef __IPV6_ADDR_MC_SCOPE +#define __IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f) +#endif + +#ifndef __IPV6_ADDR_SCOPE_SITELOCAL +#define __IPV6_ADDR_SCOPE_SITELOCAL 0x05 +#endif +#ifndef __IPV6_ADDR_SCOPE_ORGLOCAL +#define __IPV6_ADDR_SCOPE_ORGLOCAL 0x08 +#endif + +#ifndef IN6_IS_ADDR_MC_SITELOCAL +#define IN6_IS_ADDR_MC_SITELOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && \ + (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_SITELOCAL)) +#endif + +#ifndef IN6_IS_ADDR_MC_ORGLOCAL +#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && \ + (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_ORGLOCAL)) +#endif + +#ifndef INADDR_NONE +#define INADDR_NONE 0xffffffff +#endif + +#ifndef MAXHOSTNAMELEN +#define MAXHOSTNAMELEN 256 +#endif + +#ifndef INET6_ADDRSTRLEN +/* sizeof("aaaa:bbbb:cccc:dddd:eeee:ffff:123.123.123.123") */ +#define INET6_ADDRSTRLEN 46 +#endif + +#ifndef MIN +#define MIN(x,y) (((x) <= (y)) ? (x) : (y)) +#endif + +#ifndef MAX +#define MAX(x,y) (((x) >= (y)) ? (x) : (y)) +#endif + +#ifdef NEED_DAEMON +int daemon(int nochdir, int noclose); +#endif + +#ifdef NEED_STRSEP +char * strsep(char **stringp, const char *delim); +#endif + +#ifndef ALIGN +#define ALIGN(p) (((unsigned int)(p) + (sizeof(int) - 1)) & ~(sizeof(int) - 1)) +#endif + +#ifdef NEED_SETGROUPENT +int setgroupent(int stayopen); +#endif + +#ifdef NEED_GETGROUPLIST +int getgrouplist(GETGROUPLIST_ARGS); +#endif + +#ifdef POSIX_GETGRNAM_R +int +__posix_getgrnam_r(const char *, struct group *, char *, int, struct group **); +#endif + +#ifdef NEED_GETGRNAM_R +int +getgrnam_r(const char *, struct group *, char *, size_t, struct group **); +#endif + +#ifdef POSIX_GETGRGID_R +int +__posix_getgrgid_r(gid_t, struct group *, char *, int, struct group **) ; +#endif + +#ifdef NEED_GETGRGID_R +int +getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); +#endif + +#ifdef NEED_GETGRENT_R +GROUP_R_RETURN getgrent_r(struct group *gptr, GROUP_R_ARGS); +#endif + +#ifdef NEED_SETGRENT_R +GROUP_R_SET_RETURN setgrent_r(GROUP_R_ENT_ARGS); +#endif + +#ifdef NEED_ENDGRENT_R +GROUP_R_END_RETURN endgrent_r(GROUP_R_ENT_ARGS); +#endif + +#ifdef NEED_INNETGR_R +NGR_R_RETURN +innetgr_r(const char *, const char *, const char *, const char *); +#endif + +#ifdef NEED_SETNETGRENT_R +#ifdef NGR_R_ENT_ARGS +NGR_R_SET_RETURN setnetgrent_r(const char *netgroup, NGR_R_ENT_ARGS); +#else +NGR_R_SET_RETURN setnetgrent_r(const char *netgroup); +#endif +#endif + +#ifdef NEED_ENDNETGRENT_R +#ifdef NGR_R_ENT_ARGS +NGR_R_END_RETURN endnetgrent_r(NGR_R_ENT_ARGS); +#else +NGR_R_END_RETURN endnetgrent_r(void); +#endif +#endif + +#ifdef POSIX_GETPWNAM_R +int +__posix_getpwnam_r(const char *login, struct passwd *pwptr, + char *buf, size_t buflen, struct passwd **result); +#endif + +#ifdef NEED_GETPWNAM_R +int +getpwnam_r(const char *login, struct passwd *pwptr, + char *buf, size_t buflen, struct passwd **result); +#endif + +#ifdef POSIX_GETPWUID_R +int +__posix_getpwuid_r(uid_t uid, struct passwd *pwptr, + char *buf, int buflen, struct passwd **result); +#endif + +#ifdef NEED_GETPWUID_R +int +getpwuid_r(uid_t uid, struct passwd *pwptr, + char *buf, size_t buflen, struct passwd **result); +#endif + +#ifdef NEED_SETPWENT_R +#ifdef PASS_R_ENT_ARGS +PASS_R_SET_RETURN setpwent_r(PASS_R_ENT_ARGS); +#else +PASS_R_SET_RETURN setpwent_r(void); +#endif + +#endif + +#ifdef NEED_SETPASSENT_R +#ifdef PASS_R_ENT_ARGS +PASS_R_SET_RETURN setpassent_r(int stayopen, PASS_R_ENT_ARGS); +#else +PASS_R_SET_RETURN setpassent_r(int stayopen); +#endif +#endif + +#ifdef NEED_GETPWENT_R +PASS_R_RETURN getpwent_r(struct passwd *pwptr, PASS_R_ARGS); +#endif + +#ifdef NEED_ENDPWENT_R +void endpwent_r(void); +#endif + +#ifdef NEED_SETPASSENT +int setpassent(int stayopen); +#endif + +#define gettimeofday isc__gettimeofday +#ifdef NEED_GETTIMEOFDAY +int isc__gettimeofday(struct timeval *tvp, struct _TIMEZONE *tzp); +#else +int isc__gettimeofday(struct timeval *tp, struct timezone *tzp); +#endif + +int getnetgrent(char **machinep, char **userp, char **domainp); + +int getnetgrent_r(char **machinep, char **userp, char **domainp, NGR_R_ARGS); + +#ifdef SETNETGRENT_ARGS +void setnetgrent(SETNETGRENT_ARGS); +#else +void setnetgrent(const char *netgroup); +#endif + +void endnetgrent(void); + +#ifdef INNETGR_ARGS +int innetgr(INNETGR_ARGS); +#else +int innetgr(const char *netgroup, const char *machine, + const char *user, const char *domain); +#endif + +#ifdef NGR_R_ENT_ARGS +NGR_R_SET_RETURN +setnetgrent_r(const char *netgroup, NGR_R_ENT_ARGS); +#else +NGR_R_SET_RETURN +setnetgrent_r(const char *netgroup); +#endif +#endif diff --git a/lib/libbind/port_before.h b/lib/libbind/port_before.h new file mode 100644 index 0000000000..b0ba3ab89b --- /dev/null +++ b/lib/libbind/port_before.h @@ -0,0 +1,139 @@ +/* $DragonFly: src/lib/libbind/port_before.h,v 1.1 2004/05/27 18:15:40 dillon Exp $ */ +#ifndef port_before_h +#define port_before_h +#include + +struct group; /* silence warning */ +struct passwd; /* silence warning */ +struct timeval; /* silence warning */ +struct timezone; /* silence warning */ + +#ifdef HAVE_SYS_TIMERS_H +#include +#endif +#include + + +#undef WANT_IRS_GR +#undef WANT_IRS_NIS +#undef WANT_IRS_PW + +#undef BSD_COMP + +#undef DO_PTHREADS +#define GETGROUPLIST_ARGS const char *name, int basegid, int *groups, int *ngroups +#define GETNETBYADDR_ADDR_T long +#define SETPWENT_VOID 1 +#undef SETGRENT_VOID + +#define NET_R_ARGS char *buf, int buflen +#define NET_R_BAD NULL +#define NET_R_COPY buf, buflen +#define NET_R_COPY_ARGS NET_R_ARGS +#define NET_R_END_RESULT(x) /*empty*/ +#define NET_R_END_RETURN void +#undef NET_R_ENT_ARGS /*empty*/ +#define NET_R_OK nptr +#define NET_R_RETURN struct netent * +#undef NET_R_SET_RESULT /*empty*/ +#undef NET_R_SETANSWER +#define NET_R_SET_RETURN void +#undef NETENT_DATA + +#define GROUP_R_RETURN struct group * +#define GROUP_R_SET_RETURN void +#undef GROUP_R_SET_RESULT /*empty*/ +#define GROUP_R_END_RETURN void +#define GROUP_R_END_RESULT(x) /*empty*/ +#define GROUP_R_ARGS char *buf, int buflen +#define GROUP_R_ENT_ARGS void +#define GROUP_R_OK gptr +#define GROUP_R_BAD NULL + +#define HOST_R_ARGS char *buf, int buflen, int *h_errnop +#define HOST_R_BAD NULL +#define HOST_R_COPY buf, buflen +#define HOST_R_COPY_ARGS char *buf, int buflen +#define HOST_R_END_RESULT(x) /*empty*/ +#define HOST_R_END_RETURN void +#undef HOST_R_ENT_ARGS /*empty*/ +#define HOST_R_ERRNO *h_errnop = h_errno +#define HOST_R_OK hptr +#define HOST_R_RETURN struct hostent * +#undef HOST_R_SETANSWER +#undef HOST_R_SET_RESULT +#define HOST_R_SET_RETURN void +#undef HOSTENT_DATA + +#define NGR_R_ARGS char *buf, int buflen +#define NGR_R_BAD (0) +#define NGR_R_COPY buf, buflen +#define NGR_R_COPY_ARGS NGR_R_ARGS +#define NGR_R_END_RESULT(x) /*empty*/ +#define NGR_R_END_RETURN void +#undef NGR_R_ENT_ARGS /*empty*/ +#define NGR_R_OK 1 +#define NGR_R_RETURN int +#undef NGR_R_SET_RESULT /*empty*/ +#define NGR_R_SET_RETURN void + + +#define PROTO_R_ARGS char *buf, int buflen +#define PROTO_R_BAD NULL +#define PROTO_R_COPY buf, buflen +#define PROTO_R_COPY_ARGS PROTO_R_ARGS +#define PROTO_R_END_RESULT(x) /*empty*/ +#define PROTO_R_END_RETURN void +#undef PROTO_R_ENT_ARGS /*empty*/ +#define PROTO_R_OK pptr +#undef PROTO_R_SETANSWER +#define PROTO_R_RETURN struct protoent * +#undef PROTO_R_SET_RESULT +#define PROTO_R_SET_RETURN void + +#define PASS_R_ARGS char *buf, int buflen +#define PASS_R_BAD NULL +#define PASS_R_COPY buf, buflen +#define PASS_R_COPY_ARGS PASS_R_ARGS +#define PASS_R_END_RESULT(x) /*empty*/ +#define PASS_R_END_RETURN void +#undef PASS_R_ENT_ARGS +#define PASS_R_OK pwptr +#define PASS_R_RETURN struct passwd * +#undef PASS_R_SET_RESULT /*empty*/ +#define PASS_R_SET_RETURN void + +#define SERV_R_ARGS char *buf, int buflen +#define SERV_R_BAD NULL +#define SERV_R_COPY buf, buflen +#define SERV_R_COPY_ARGS SERV_R_ARGS +#define SERV_R_END_RESULT(x) /*empty*/ +#define SERV_R_END_RETURN void +#undef SERV_R_ENT_ARGS /*empty*/ +#define SERV_R_OK sptr +#undef SERV_R_SETANSWER +#define SERV_R_RETURN struct servent * +#undef SERV_R_SET_RESULT +#define SERV_R_SET_RETURN void + + +#define DE_CONST(konst, var) \ + do { \ + union { const void *k; void *v; } _u; \ + _u.k = konst; \ + var = _u.v; \ + } while (0) + +#define UNUSED(x) (x) = (x) + +#undef NEED_SOLARIS_BITTYPES +#define ISC_SOCKLEN_T socklen_t + +#ifdef __GNUC__ +#define ISC_FORMAT_PRINTF(fmt, args) \ + __attribute__((__format__(__printf__, fmt, args))) +#else +#define ISC_FORMAT_PRINTF(fmt, args) +#endif + +#endif diff --git a/lib/libisc/Makefile b/lib/libisc/Makefile index 696305be10..1d61d48f57 100644 --- a/lib/libisc/Makefile +++ b/lib/libisc/Makefile @@ -1,132 +1,206 @@ # $FreeBSD: src/lib/libisc/Makefile,v 1.1.2.6 2002/07/22 14:21:49 ru Exp $ -# $DragonFly: src/lib/libisc/Makefile,v 1.2 2003/06/17 04:26:49 dillon Exp $ +# $DragonFly: src/lib/libisc/Makefile,v 1.3 2004/05/27 18:15:41 dillon Exp $ -BIND_DIR= ${.CURDIR}/../../contrib/bind +BIND_DIR= ${.CURDIR}/../../contrib/bind-9.2.4rc4 + +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" +.include "${BIND_DIR}/lib/isc/api" LIB= isc SHLIB_MAJOR= 1 SHLIB_MINOR= 0 -.PATH: ${BIND_DIR}/lib/isc -SRCS= assertions.c ev_connects.c ev_files.c ev_streams.c \ - ev_timers.c ev_waits.c eventlib.c heap.c hex.c tree.c \ - logging.c memcluster.c bitncmp.c ctl_clnt.c ctl_p.c \ - ctl_srvr.c movefile.c +.PATH: ${BIND_DIR}/lib +SRCS+= isc/nls/msgcat.c + +SRCS+= isc/unix/app.c isc/unix/dir.c isc/unix/entropy.c \ + isc/unix/errno2result.c isc/unix/file.c isc/unix/fsaccess.c \ + isc/unix/interfaceiter.c isc/unix/keyboard.c isc/unix/net.c \ + isc/unix/os.c isc/unix/resource.c isc/unix/socket.c \ + isc/unix/stdio.c isc/unix/stdtime.c isc/unix/strerror.c \ + isc/unix/syslog.c isc/unix/time.c + +SRCS+= isc/assertions.c isc/base64.c isc/bitstring.c isc/buffer.c \ + isc/bufferlist.c isc/commandline.c isc/error.c isc/event.c \ + isc/hash.c isc/heap.c isc/hex.c isc/hmacmd5.c \ + isc/inet_pton.c \ + isc/lex.c isc/lfsr.c isc/lib.c isc/log.c \ + isc/md5.c isc/mem.c isc/mutexblock.c isc/netaddr.c \ + isc/ondestroy.c isc/quota.c isc/random.c \ + isc/ratelimiter.c isc/result.c isc/rwlock.c \ + isc/serial.c isc/sha1.c isc/sockaddr.c isc/string.c \ + isc/symtab.c isc/task.c isc/taskpool.c isc/timer.c \ + isc/version.c + +SRCS+= isccfg/check.c isccfg/log.c isccfg/parser.c + +SRCS+= dns/a6.c dns/acl.c dns/adb.c dns/byaddr.c \ + dns/cache.c dns/callbacks.c dns/compress.c \ + dns/db.c dns/dbiterator.c dns/dbtable.c dns/diff.c \ + dns/dispatch.c dns/dnssec.c dns/forward.c dns/journal.c \ + dns/keytable.c dns/lib.c dns/log.c dns/lookup.c \ + dns/master.c dns/masterdump.c dns/message.c \ + dns/name.c dns/ncache.c dns/nxt.c dns/peer.c \ + dns/rbt.c dns/rbtdb.c dns/rbtdb64.c dns/rdata.c \ + dns/rdatalist.c dns/rdataset.c dns/rdatasetiter.c \ + dns/rdataslab.c dns/request.c dns/resolver.c dns/result.c \ + dns/rootns.c dns/sdb.c dns/soa.c dns/ssu.c \ + dns/stats.c dns/tcpmsg.c dns/time.c dns/timer.c dns/tkey.c \ + dns/tsig.c dns/ttl.c dns/validator.c \ + dns/version.c dns/view.c dns/xfrin.c dns/zone.c \ + dns/zonekey.c dns/zt.c + +SRCS+= dns/sec/dst/dst_api.c dns/sec/dst/dst_lib.c \ + dns/sec/dst/dst_parse.c dns/sec/dst/dst_result.c \ + dns/sec/dst/gssapi_link.c dns/sec/dst/gssapictx.c \ + dns/sec/dst/hmac_link.c dns/sec/dst/key.c \ + dns/sec/dst/openssl_link.c dns/sec/dst/openssldh_link.c \ + dns/sec/dst/openssldsa_link.c dns/sec/dst/opensslrsa_link.c + +SRCS+= isccc/alist.c isccc/base64.c isccc/cc.c isccc/ccmsg.c \ + isccc/lib.c isccc/result.c isccc/sexpr.c isccc/symtab.c \ + isccc/version.c + +SRCS+= lwres/context.c lwres/gai_strerror.c lwres/getaddrinfo.c \ + lwres/gethost.c lwres/getipnode.c lwres/getnameinfo.c \ + lwres/getrrset.c lwres/herror.c lwres/lwbuffer.c \ + lwres/lwconfig.c lwres/lwpacket.c lwres/lwresutil.c \ + lwres/lwres_gabn.c lwres/lwres_gnba.c lwres/lwres_grbn.c \ + lwres/lwres_noop.c lwres/lwinetaton.c lwres/lwinetpton.c \ + lwres/lwinetntop.c # contrib/bind/include/* must not override any real system includes -CFLAGS+= -I${BIND_DIR}/port/freebsd/include -I${BIND_DIR}/include +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named + CFLAGS+= -Wall -Wmissing-prototypes -INCS= ${BIND_DIR}/include/isc/assertions.h \ - ${BIND_DIR}/include/isc/ctl.h \ - ${BIND_DIR}/include/isc/dst.h \ - ${BIND_DIR}/include/isc/eventlib.h \ - ${BIND_DIR}/include/isc/heap.h \ - ${BIND_DIR}/include/isc/irpmarshall.h \ - ${BIND_DIR}/include/isc/list.h \ - ${BIND_DIR}/include/isc/logging.h \ - ${BIND_DIR}/include/isc/memcluster.h \ - ${BIND_DIR}/include/isc/misc.h \ - ${BIND_DIR}/include/isc/tree.h +CFLAGS+= -DLIBINTERFACE=${LIBINTERFACE} \ + -DLIBREVISION=${LIBREVISION} \ + -DLIBAGE=${LIBAGE} + +HEADERS = app.h assertions.h base64.h bitstring.h boolean.h buffer.h \ + bufferlist.h commandline.h entropy.h error.h event.h \ + eventclass.h \ + file.h formatcheck.h fsaccess.h heap.h hex.h hmacmd5.h \ + interfaceiter.h ipv6.h lang.h lex.h \ + lfsr.h lib.h list.h log.h magic.h md5.h mem.h msgcat.h msgs.h \ + mutexblock.h netaddr.h ondestroy.h os.h \ + print.h quota.h random.h ratelimiter.h \ + refcount.h region.h resource.h \ + result.h resultclass.h rwlock.h serial.h sha1.h sockaddr.h \ + socket.h stdio.h string.h symtab.h task.h taskpool.h timer.h \ + types.h util.h + +INCS= ${HEADERS:S/^/${BIND_DIR}\/lib\/isc\/include\/isc\//g} INCSDIR= ${INCLUDEDIR}/isc -MAN= assertions.3 bitncmp.3 eventlib.3 heap.3 \ - logging.3 memcluster.3 tree.3 -CLEANFILES+= ${MAN} - -MLINKS+= assertions.3 ENSURE.3 \ - assertions.3 ENSURE_ERR.3 \ - assertions.3 INSIST.3 \ - assertions.3 INSIST_ERR.3 \ - assertions.3 INVARIANT.3 \ - assertions.3 INVARIANT_ERR.3 \ - assertions.3 REQUIRE.3 \ - assertions.3 REQUIRE_ERR.3 \ - assertions.3 assertion_type_to_text.3 \ - assertions.3 set_assertion_failure_callback.3 \ - eventlib.3 evAddTime.3 \ - eventlib.3 evCancelConn.3 \ - eventlib.3 evCancelRW.3 \ - eventlib.3 evClearIdleTimer.3 \ - eventlib.3 evClearTimer.3 \ - eventlib.3 evCmpTime.3 \ - eventlib.3 evConnFunc.3 \ - eventlib.3 evConnect.3 \ - eventlib.3 evConsIovec.3 \ - eventlib.3 evConsTime.3 \ - eventlib.3 evCreate.3 \ - eventlib.3 evDefer.3 \ - eventlib.3 evDeselectFD.3 \ - eventlib.3 evDestroy.3 \ - eventlib.3 evDispatch.3 \ - eventlib.3 evDo.3 \ - eventlib.3 evDrop.3 \ - eventlib.3 evFileFunc.3 \ - eventlib.3 evGetNext.3 \ - eventlib.3 evHold.3 \ - eventlib.3 evInitID.3 \ - eventlib.3 evLastEventTime.3 \ - eventlib.3 evListen.3 \ - eventlib.3 evMainLoop.3 \ - eventlib.3 evNowTime.3 \ - eventlib.3 evPrintf.3 \ - eventlib.3 evRead.3 \ - eventlib.3 evResetTimer.3 \ - eventlib.3 evSelectFD.3 \ - eventlib.3 evSetDebug.3 \ - eventlib.3 evSetIdleTimer.3 \ - eventlib.3 evSetTimer.3 \ - eventlib.3 evStreamFunc.3 \ - eventlib.3 evSubTime.3 \ - eventlib.3 evTestID.3 \ - eventlib.3 evTimeRW.3 \ - eventlib.3 evTimeSpec.3 \ - eventlib.3 evTimeVal.3 \ - eventlib.3 evTimerFunc.3 \ - eventlib.3 evTouchIdleTimer.3 \ - eventlib.3 evTryAccept.3 \ - eventlib.3 evUnhold.3 \ - eventlib.3 evUntimeRW.3 \ - eventlib.3 evUnwait.3 \ - eventlib.3 evWaitFor.3 \ - eventlib.3 evWaitFunc.3 \ - eventlib.3 evWrite.3 \ - heap.3 heap_decreased.3 \ - heap.3 heap_delete.3 \ - heap.3 heap_element.3 \ - heap.3 heap_for_each.3 \ - heap.3 heap_free.3 \ - heap.3 heap_increased.3 \ - heap.3 heap_insert.3 \ - heap.3 heap_new.3 \ - logging.3 log_add_channel.3 \ - logging.3 log_category_is_active.3 \ - logging.3 log_close_stream.3 \ - logging.3 log_dec_references.3 \ - logging.3 log_free_channel.3 \ - logging.3 log_free_context.3 \ - logging.3 log_get_filename.3 \ - logging.3 log_get_stream.3 \ - logging.3 log_inc_references.3 \ - logging.3 log_new_context.3 \ - logging.3 log_new_file_channel.3 \ - logging.3 log_new_null_channel.3 \ - logging.3 log_new_syslog_channel.3 \ - logging.3 log_open_stream.3 \ - logging.3 log_option.3 \ - logging.3 log_remove_channel.3 \ - logging.3 log_set_file_owner.3 \ - logging.3 log_vwrite.3 \ - logging.3 log_write.3 \ - memcluster.3 memget.3 \ - memcluster.3 memput.3 \ - memcluster.3 memstats.3 \ - tree.3 tree_add.3 \ - tree.3 tree_delete.3 \ - tree.3 tree_init.3 \ - tree.3 tree_mung.3 \ - tree.3 tree_srch.3 \ - tree.3 tree_trav.3 +# there are a lot of duplicate names in the libraries we are combining, +# give each library its own subdirectory. +# +beforedepend: isc isccc dns dns/sec/dst isc/nls isc/unix isccfg lwres + +isc isccc dns dns/sec/dst isc/nls isc/unix isccfg lwres: + mkdir -p ${.TARGET} + +CLEANDIRS+= isc isccc dns isc/nls isc/unix isccfg lwres + +#MAN= assertions.3 bitncmp.3 eventlib.3 heap.3 \ +# logging.3 memcluster.3 tree.3 +#CLEANFILES+= ${MAN} + +#MLINKS+= assertions.3 ENSURE.3 \ +# assertions.3 ENSURE_ERR.3 \ +# assertions.3 INSIST.3 \ +# assertions.3 INSIST_ERR.3 \ +# assertions.3 INVARIANT.3 \ +# assertions.3 INVARIANT_ERR.3 \ +# assertions.3 REQUIRE.3 \ +# assertions.3 REQUIRE_ERR.3 \ +# assertions.3 assertion_type_to_text.3 \ +# assertions.3 set_assertion_failure_callback.3 \ +# eventlib.3 evAddTime.3 \ +# eventlib.3 evCancelConn.3 \ +# eventlib.3 evCancelRW.3 \ +# eventlib.3 evClearIdleTimer.3 \ +# eventlib.3 evClearTimer.3 \ +# eventlib.3 evCmpTime.3 \ +# eventlib.3 evConnFunc.3 \ +# eventlib.3 evConnect.3 \ +# eventlib.3 evConsIovec.3 \ +# eventlib.3 evConsTime.3 \ +# eventlib.3 evCreate.3 \ +# eventlib.3 evDefer.3 \ +# eventlib.3 evDeselectFD.3 \ +# eventlib.3 evDestroy.3 \ +# eventlib.3 evDispatch.3 \ +# eventlib.3 evDo.3 \ +# eventlib.3 evDrop.3 \ +# eventlib.3 evFileFunc.3 \ +# eventlib.3 evGetNext.3 \ +# eventlib.3 evHold.3 \ +# eventlib.3 evInitID.3 \ +# eventlib.3 evLastEventTime.3 \ +# eventlib.3 evListen.3 \ +# eventlib.3 evMainLoop.3 \ +# eventlib.3 evNowTime.3 \ +# eventlib.3 evPrintf.3 \ +# eventlib.3 evRead.3 \ +# eventlib.3 evResetTimer.3 \ +# eventlib.3 evSelectFD.3 \ +# eventlib.3 evSetDebug.3 \ +# eventlib.3 evSetIdleTimer.3 \ +# eventlib.3 evSetTimer.3 \ +# eventlib.3 evStreamFunc.3 \ +# eventlib.3 evSubTime.3 \ +# eventlib.3 evTestID.3 \ +# eventlib.3 evTimeRW.3 \ +# eventlib.3 evTimeSpec.3 \ +# eventlib.3 evTimeVal.3 \ +# eventlib.3 evTimerFunc.3 \ +# eventlib.3 evTouchIdleTimer.3 \ +# eventlib.3 evTryAccept.3 \ +# eventlib.3 evUnhold.3 \ +# eventlib.3 evUntimeRW.3 \ +# eventlib.3 evUnwait.3 \ +# eventlib.3 evWaitFor.3 \ +# eventlib.3 evWaitFunc.3 \ +# eventlib.3 evWrite.3 \ +# heap.3 heap_decreased.3 \ +# heap.3 heap_delete.3 \ +# heap.3 heap_element.3 \ +# heap.3 heap_for_each.3 \ +# heap.3 heap_free.3 \ +# heap.3 heap_increased.3 \ +# heap.3 heap_insert.3 \ +# heap.3 heap_new.3 \ +# logging.3 log_add_channel.3 \ +# logging.3 log_category_is_active.3 \ +# logging.3 log_close_stream.3 \ +# logging.3 log_dec_references.3 \ +# logging.3 log_free_channel.3 \ +# logging.3 log_free_context.3 \ +# logging.3 log_get_filename.3 \ +# logging.3 log_get_stream.3 \ +# logging.3 log_inc_references.3 \ +# logging.3 log_new_context.3 \ +# logging.3 log_new_file_channel.3 \ +# logging.3 log_new_null_channel.3 \ +# logging.3 log_new_syslog_channel.3 \ +# logging.3 log_open_stream.3 \ +# logging.3 log_option.3 \ +# logging.3 log_remove_channel.3 \ +# logging.3 log_set_file_owner.3 \ +# logging.3 log_vwrite.3 \ +# logging.3 log_write.3 \ +# memcluster.3 memget.3 \ +# memcluster.3 memput.3 \ +# memcluster.3 memstats.3 \ +# tree.3 tree_add.3 \ +# tree.3 tree_delete.3 \ +# tree.3 tree_init.3 \ +# tree.3 tree_mung.3 \ +# tree.3 tree_srch.3 \ +# tree.3 tree_trav.3 .include diff --git a/libexec/Makefile b/libexec/Makefile index 2d1be399ee..61b7294acf 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 # $FreeBSD: src/libexec/Makefile,v 1.42.2.5 2002/11/12 17:32:48 obrien Exp $ -# $DragonFly: src/libexec/Makefile,v 1.7 2004/03/25 18:05:48 joerg Exp $ +# $DragonFly: src/libexec/Makefile,v 1.8 2004/05/27 18:15:41 dillon Exp $ # Present but disabled: kpasswdd SUBDIR= atrun \ @@ -31,10 +31,6 @@ SUBDIR= atrun \ xtend \ ypxfr -.if !defined(NO_BIND) -SUBDIR+=named-xfer -.endif - .if !defined(NO_SENDMAIL) SUBDIR+=mail.local smrsh .endif diff --git a/libexec/named-xfer/Makefile b/libexec/named-xfer/Makefile deleted file mode 100644 index 9fe301caab..0000000000 --- a/libexec/named-xfer/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# $FreeBSD: src/libexec/named-xfer/Makefile,v 1.9.2.2 2001/04/25 10:40:53 ru Exp $ -# $DragonFly: src/libexec/named-xfer/Attic/Makefile,v 1.2 2003/06/17 04:27:07 dillon Exp $ - -USE_LIBBIND= true -.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" - -.PATH: ${BIND_DIR}/bin/named-xfer -.PATH: ${BIND_DIR}/bin/named -.PATH: ${BIND_DIR}/doc/man - -PROG= named-xfer -SRCS= pathnames.h \ - named-xfer.c db_glue.c ns_glue.c tmp_version.c - -.if exists(${.OBJDIR}/../../lib/libisc) -LIBISCDIR:= ${.OBJDIR}/../../lib/libisc -.else -LIBISCDIR!= cd ${.CURDIR}/../../lib/libisc; make -V .OBJDIR -.endif -LIBISC:= ${LIBISCDIR}/libisc.a - -DPADD+= ${LIBISC} -LDADD+= ${LIBISC} - -MAN= named-xfer.8 - -.include diff --git a/share/doc/smm/10.named/Makefile b/share/doc/smm/10.named/Makefile deleted file mode 100644 index 9e088e270f..0000000000 --- a/share/doc/smm/10.named/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD: src/share/doc/smm/10.named/Makefile,v 1.4.2.1 2000/12/01 13:52:21 ru Exp $ -# $DragonFly: src/share/doc/smm/10.named/Attic/Makefile,v 1.2 2003/06/17 04:36:57 dillon Exp $ - -SRCDIR= ${.CURDIR}/../../../../contrib/bind/doc/bog - -VOLUME= smm/10.named -SRCS= 00macs.me 00title.me intro.me ns.me types.me \ - files.me named.boot.primary \ - named.boot.secondary named.boot.cache resolv.conf \ - root.cache named.local ucbhosts.rev ucbhosts \ - setup.me manage.me build.me ack.me - -MACROS= -me -USE_TBL=yes - -.include diff --git a/usr.bin/Makefile b/usr.bin/Makefile index edc00cbc25..1a6ff278d8 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -1,6 +1,6 @@ # From: @(#)Makefile 8.3 (Berkeley) 1/7/94 # $FreeBSD: src/usr.bin/Makefile,v 1.144.2.17 2003/01/04 17:17:07 obrien Exp $ -# $DragonFly: src/usr.bin/Makefile,v 1.11 2004/03/25 18:05:48 joerg Exp $ +# $DragonFly: src/usr.bin/Makefile,v 1.12 2004/05/27 18:15:41 dillon Exp $ # XXX MISSING: deroff diction graph learn plot # spell spline struct xsend @@ -216,9 +216,11 @@ SUBDIR+=telnet .if !defined(NO_BIND) SUBDIR+=dig \ - dnskeygen \ - dnsquery \ - host + host \ + dnssec-keygen \ + dnssec-makekeyset \ + dnssec-signkey \ + dnssec-signzone .endif .if !defined(NO_SENDMAIL) diff --git a/usr.bin/dig/Makefile b/usr.bin/dig/Makefile index 9710ea28d1..1433cfacef 100644 --- a/usr.bin/dig/Makefile +++ b/usr.bin/dig/Makefile @@ -1,14 +1,17 @@ # $FreeBSD: src/usr.bin/dig/Makefile,v 1.7 1999/11/30 06:25:16 peter Exp $ -# $DragonFly: src/usr.bin/dig/Makefile,v 1.2 2003/06/17 04:29:25 dillon Exp $ +# $DragonFly: src/usr.bin/dig/Makefile,v 1.3 2004/05/27 18:15:41 dillon Exp $ USE_LIBBIND= yes +USE_LIBISC= yes .include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" .PATH: ${BIND_DIR}/bin/dig -.PATH: ${BIND_DIR}/bin/nslookup .PATH: ${BIND_DIR}/doc/man PROG= dig -SRCS= dig.c list.c subr.c debug.c send.c +SRCS= dig.c dighost.c + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/bin/dig/include .include diff --git a/usr.bin/dnskeygen/Makefile b/usr.bin/dnskeygen/Makefile deleted file mode 100644 index f696f5550e..0000000000 --- a/usr.bin/dnskeygen/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD: src/usr.bin/dnskeygen/Makefile,v 1.1.4.1 2001/04/25 11:29:18 ru Exp $ -# $DragonFly: src/usr.bin/dnskeygen/Attic/Makefile,v 1.2 2003/06/17 04:29:25 dillon Exp $ - -USE_LIBBIND= true -.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" - -.PATH: ${BIND_DIR}/bin/dnskeygen -.PATH: ${BIND_DIR}/doc/man - -PROG= dnskeygen - -.include diff --git a/usr.bin/dnsquery/Makefile b/usr.bin/dnsquery/Makefile deleted file mode 100644 index 65e4aab2f1..0000000000 --- a/usr.bin/dnsquery/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD: src/usr.bin/dnsquery/Makefile,v 1.7 1999/11/30 06:25:18 peter Exp $ -# $DragonFly: src/usr.bin/dnsquery/Attic/Makefile,v 1.2 2003/06/17 04:29:25 dillon Exp $ - -USE_LIBBIND= yes -.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" - -.PATH: ${BIND_DIR}/bin/dnsquery -.PATH: ${BIND_DIR}/doc/man - -PROG= dnsquery - -.include diff --git a/usr.bin/dnssec-keygen/Makefile b/usr.bin/dnssec-keygen/Makefile new file mode 100644 index 0000000000..afc5ec4b88 --- /dev/null +++ b/usr.bin/dnssec-keygen/Makefile @@ -0,0 +1,16 @@ +# +# $DragonFly: src/usr.bin/dnssec-keygen/Makefile,v 1.1 2004/05/27 18:15:41 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/dnssec + +PROG= dnssec-keygen +SRCS= dnssec-keygen.c dnssectool.c +MAN= dnssec-keygen.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named + +.include diff --git a/usr.bin/dnssec-makekeyset/Makefile b/usr.bin/dnssec-makekeyset/Makefile new file mode 100644 index 0000000000..18c92cc62c --- /dev/null +++ b/usr.bin/dnssec-makekeyset/Makefile @@ -0,0 +1,16 @@ +# +# $DragonFly: src/usr.bin/dnssec-makekeyset/Attic/Makefile,v 1.1 2004/05/27 18:15:41 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/dnssec + +PROG= dnssec-makekeyset +SRCS= dnssec-makekeyset.c dnssectool.c +MAN= dnssec-makekeyset.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named + +.include diff --git a/usr.bin/dnssec-signkey/Makefile b/usr.bin/dnssec-signkey/Makefile new file mode 100644 index 0000000000..fc3a51742c --- /dev/null +++ b/usr.bin/dnssec-signkey/Makefile @@ -0,0 +1,16 @@ +# +# $DragonFly: src/usr.bin/dnssec-signkey/Attic/Makefile,v 1.1 2004/05/27 18:15:42 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/dnssec + +PROG= dnssec-signkey +SRCS= dnssec-signkey.c dnssectool.c +MAN= dnssec-signkey.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named + +.include diff --git a/usr.bin/dnssec-signzone/Makefile b/usr.bin/dnssec-signzone/Makefile new file mode 100644 index 0000000000..57922fb22b --- /dev/null +++ b/usr.bin/dnssec-signzone/Makefile @@ -0,0 +1,16 @@ +# +# $DragonFly: src/usr.bin/dnssec-signzone/Makefile,v 1.1 2004/05/27 18:15:42 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/dnssec + +PROG= dnssec-signzone +SRCS= dnssec-signzone.c dnssectool.c +MAN= dnssec-signzone.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named + +.include diff --git a/usr.bin/host/Makefile b/usr.bin/host/Makefile index a11033b0f6..795e365ca7 100644 --- a/usr.bin/host/Makefile +++ b/usr.bin/host/Makefile @@ -1,12 +1,17 @@ -# $FreeBSD: src/usr.bin/host/Makefile,v 1.7 1999/11/30 06:25:19 peter Exp $ -# $DragonFly: src/usr.bin/host/Makefile,v 1.2 2003/06/17 04:29:27 dillon Exp $ +# $FreeBSD: src/usr.bin/dig/Makefile,v 1.7 1999/11/30 06:25:16 peter Exp $ +# $DragonFly: src/usr.bin/host/Makefile,v 1.3 2004/05/27 18:15:42 dillon Exp $ USE_LIBBIND= yes +USE_LIBISC= yes .include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" -.PATH: ${BIND_DIR}/bin/host +.PATH: ${BIND_DIR}/bin/dig .PATH: ${BIND_DIR}/doc/man PROG= host +SRCS= host.c dighost.c + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/bin/dig/include .include diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index 278749495e..15cf7db2a9 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -1,6 +1,6 @@ # From: @(#)Makefile 5.20 (Berkeley) 6/12/93 # $FreeBSD: src/usr.sbin/Makefile,v 1.183.2.14 2003/04/16 11:01:51 ru Exp $ -# $DragonFly: src/usr.sbin/Makefile,v 1.8 2004/05/20 19:09:27 cpressey Exp $ +# $DragonFly: src/usr.sbin/Makefile,v 1.9 2004/05/27 18:15:42 dillon Exp $ # XXX MISSING: mkproto SUBDIR= IPXrouted \ @@ -132,7 +132,10 @@ SUBDIR+=ipftest \ SUBDIR+=named \ named.reload \ named.restart \ - ndc \ + named-checkconf \ + named-checkzone \ + rndc \ + rndc-confgen \ nslookup \ nsupdate .endif diff --git a/usr.sbin/named-checkconf/Makefile b/usr.sbin/named-checkconf/Makefile new file mode 100644 index 0000000000..4478c87025 --- /dev/null +++ b/usr.sbin/named-checkconf/Makefile @@ -0,0 +1,18 @@ +# +# $DragonFly: src/usr.sbin/named-checkconf/Makefile,v 1.1 2004/05/27 18:15:43 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/check + +PROG= named-checkconf +SRCS= named-checkconf.c check-tool.c +MAN= named-checkconf.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/bin/check \ + -DNAMED_CONFFILE=\"${DESTETC}/named.conf\" + +.include diff --git a/usr.sbin/named-checkzone/Makefile b/usr.sbin/named-checkzone/Makefile new file mode 100644 index 0000000000..6a0d044304 --- /dev/null +++ b/usr.sbin/named-checkzone/Makefile @@ -0,0 +1,18 @@ +# +# $DragonFly: src/usr.sbin/named-checkzone/Makefile,v 1.1 2004/05/27 18:15:43 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/check + +PROG= named-checkzone +SRCS= named-checkzone.c check-tool.c +MAN= named-checkzone.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/bin/check \ + -DNAMED_CONFFILE=\"${DESTETC}/named.conf\" + +.include diff --git a/usr.sbin/named.reload/Makefile b/usr.sbin/named.reload/Makefile index 6e3685b08d..352238db91 100644 --- a/usr.sbin/named.reload/Makefile +++ b/usr.sbin/named.reload/Makefile @@ -1,5 +1,5 @@ # $FreeBSD: src/usr.sbin/named.reload/Makefile,v 1.6.2.2 2001/04/25 14:04:54 ru Exp $ -# $DragonFly: src/usr.sbin/named.reload/Makefile,v 1.2 2003/06/17 04:29:57 dillon Exp $ +# $DragonFly: src/usr.sbin/named.reload/Makefile,v 1.3 2004/05/27 18:15:43 dillon Exp $ .include "${.CURDIR}/../named/Makefile.inc" @@ -8,7 +8,7 @@ MAN= named.reload.8 CLEANFILES+= ${SCRIPTS} SCRIPTSNAME= ${SCRIPTS} -named.reload: named.reload.sh ${BIND_DIR}/Makefile +named.reload: named.reload.sh sed -e "s|%INDOT%|${INDOT}|" \ -e "s|%DESTSBIN%|${DESTSBIN}|" \ < ${.CURDIR}/named.reload.sh > ${.TARGET} diff --git a/usr.sbin/named.reload/named.reload.sh b/usr.sbin/named.reload/named.reload.sh index bd812aba78..717bb30ec1 100644 --- a/usr.sbin/named.reload/named.reload.sh +++ b/usr.sbin/named.reload/named.reload.sh @@ -2,7 +2,7 @@ # # from named.reload 5.2 (Berkeley) 6/27/89 # $FreeBSD: src/usr.sbin/named.reload/named.reload.sh,v 1.2 1999/08/28 01:17:23 peter Exp $ -# $DragonFly: src/usr.sbin/named.reload/named.reload.sh,v 1.2 2003/06/17 04:29:57 dillon Exp $ +# $DragonFly: src/usr.sbin/named.reload/named.reload.sh,v 1.3 2004/05/27 18:15:43 dillon Exp $ # -exec %DESTSBIN%/%INDOT%ndc reload +exec %DESTSBIN%/%INDOT%rndc reload diff --git a/usr.sbin/named.restart/Makefile b/usr.sbin/named.restart/Makefile index 57a7b37673..8de89cddff 100644 --- a/usr.sbin/named.restart/Makefile +++ b/usr.sbin/named.restart/Makefile @@ -1,5 +1,5 @@ # $FreeBSD: src/usr.sbin/named.restart/Makefile,v 1.6.2.2 2001/04/25 14:04:55 ru Exp $ -# $DragonFly: src/usr.sbin/named.restart/Makefile,v 1.2 2003/06/17 04:29:57 dillon Exp $ +# $DragonFly: src/usr.sbin/named.restart/Makefile,v 1.3 2004/05/27 18:15:43 dillon Exp $ .include "${.CURDIR}/../named/Makefile.inc" @@ -8,7 +8,7 @@ MAN= named.restart.8 CLEANFILES+= ${SCRIPTS} SCRIPTSNAME= ${SCRIPTS} -named.restart: named.restart.sh ${BIND_DIR}/Makefile +named.restart: named.restart.sh sed -e "s|%INDOT%|${INDOT}|" \ -e "s|%DESTSBIN%|${DESTSBIN}|" \ < ${.CURDIR}/named.restart.sh > named.restart diff --git a/usr.sbin/named.restart/named.restart.sh b/usr.sbin/named.restart/named.restart.sh index 6a7836922c..b584a6df82 100644 --- a/usr.sbin/named.restart/named.restart.sh +++ b/usr.sbin/named.restart/named.restart.sh @@ -2,7 +2,7 @@ # # from named.restart 5.4 (Berkeley) 6/27/89 # $FreeBSD: src/usr.sbin/named.restart/named.restart.sh,v 1.2.2.1 2001/07/19 05:11:06 kris Exp $ -# $DragonFly: src/usr.sbin/named.restart/named.restart.sh,v 1.2 2003/06/17 04:29:57 dillon Exp $ +# $DragonFly: src/usr.sbin/named.restart/named.restart.sh,v 1.3 2004/05/27 18:15:43 dillon Exp $ # if [ -r /etc/defaults/rc.conf ]; then @@ -11,4 +11,4 @@ if [ -r /etc/defaults/rc.conf ]; then elif [ -r /etc/rc.conf ]; then . /etc/rc.conf fi -exec %DESTSBIN%/%INDOT%ndc -n ${named_program} restart ${named_flags} +exec %DESTSBIN%/%INDOT%rndc -n ${named_program} restart ${named_flags} diff --git a/usr.sbin/named/Makefile b/usr.sbin/named/Makefile index 1a0702b4a2..e06874a818 100644 --- a/usr.sbin/named/Makefile +++ b/usr.sbin/named/Makefile @@ -1,24 +1,28 @@ # $FreeBSD: src/usr.sbin/named/Makefile,v 1.25.2.5 2002/07/07 08:17:07 dougb Exp $ -# $DragonFly: src/usr.sbin/named/Makefile,v 1.3 2004/01/24 20:16:24 joerg Exp $ +# $DragonFly: src/usr.sbin/named/Makefile,v 1.4 2004/05/27 18:15:42 dillon Exp $ USE_LIBBIND= true .include "${.CURDIR}/Makefile.inc" .PATH: ${BIND_DIR}/bin/named +.PATH: ${BIND_DIR}/bin/nsupdate .PATH: ${BIND_DIR}/doc/man PROG= named -MAN= named.conf.5 named.8 named-bootconf.8 nsupdate.8 -SRCS= tmp_version.c pathnames.h \ - db_dump.c db_load.c db_lookup.c db_save.c db_update.c \ - db_glue.c db_ixfr.c db_sec.c db_tsig.c \ - ns_parser.y ns_lexer.c ns_parseutil.c ns_ctl.c \ - ns_forw.c ns_init.c ns_main.c ns_maint.c ns_req.c \ - ns_resp.c ns_stats.c ns_ncache.c ns_xfr.c ns_glue.c \ - ns_udp.c ns_config.c ns_update.c ns_ixfr.c ns_signal.c \ - ns_sort.c ns_notify.c - -CFLAGS+= -I${BIND_DIR}/bin/named +# named.conf.5 named-bootconf.8 +MAN= named.8 nsupdate.8 +SRCS= aclconf.c client.c config.c control.c controlconf.c interfacemgr.c \ + listenlist.c log.c logconf.c main.c notify.c \ + query.c server.c sortlist.c \ + tkeyconf.c tsigconf.c update.c xfrout.c \ + zoneconf.c \ + lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \ + lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c \ + +.PATH: ${BIND_DIR}/bin/named/unix +SRCS+= os.c + +CFLAGS+= -I${BIND_DIR}/bin/named/include .if exists(${.OBJDIR}/../../lib/libisc) LIBISCDIR:= ${.OBJDIR}/../../lib/libisc @@ -30,11 +34,13 @@ LIBISC:= ${LIBISCDIR}/libisc.a DPADD+= ${LIBISC} LDADD+= ${LIBISC} -HTMLS= acl.html address_list.html comments.html config.html controls.html \ - docdef.html example.html include.html index.html key.html \ - logging.html master.html options.html server.html trusted-keys.html \ - zone.html -MISCS= DynamicUpdate FAQ.1of2 FAQ.2of2 rfc2317-notes.txt style.txt +#HTMLS= acl.html address_list.html comments.html config.html controls.html \ +# docdef.html example.html include.html index.html key.html \ +# logging.html master.html options.html server.html trusted-keys.html \ +# zone.html +HTMLS= +#MISCS= DynamicUpdate FAQ.1of2 FAQ.2of2 rfc2317-notes.txt style.txt +MISCS= FILES= ${HTMLS} ${MISCS} .PATH: ${BIND_DIR}/doc/html ${BIND_DIR}/doc/misc diff --git a/usr.sbin/named/Makefile.inc b/usr.sbin/named/Makefile.inc index aba195d396..3c62e23dee 100644 --- a/usr.sbin/named/Makefile.inc +++ b/usr.sbin/named/Makefile.inc @@ -1,13 +1,13 @@ # From: Id: Makefile.inc,v 8.4 1996/03/03 17:42:43 vixie Exp # $FreeBSD: src/usr.sbin/named/Makefile.inc,v 1.12.2.3 2001/07/22 18:57:06 dillon Exp $ -# $DragonFly: src/usr.sbin/named/Makefile.inc,v 1.3 2004/01/25 22:16:45 drhodus Exp $ +# $DragonFly: src/usr.sbin/named/Makefile.inc,v 1.4 2004/05/27 18:15:42 dillon Exp $ .ifndef (Mk.Inc) Mk.Inc?=defined -BIND_DIR= ${.CURDIR}/../../contrib/bind +BIND_DIR?= ${.CURDIR}/../../contrib/bind-9.2.4rc4 -VER!= cat ${BIND_DIR}/Version +VER= 9.2.4rc4 PS= ps PIDDIR= /var/run @@ -17,13 +17,30 @@ DESTRUN= /var/run DESTSBIN= /usr/sbin DESTHELP= /usr/share/misc -CFLAGS+= -I${BIND_DIR}/port/freebsd/include +# note: lib/bind/include not included here because we may want to +# use the system resolv.h and friends instead of the one in libbind. +# +CFLAGS+= -I${BIND_DIR}/port/freebsd/include \ + -I${BIND_DIR}/lib/dns/include \ + -I${BIND_DIR}/lib/isc/nothreads/include \ + -I${BIND_DIR}/lib/isc/unix/include \ + -I${BIND_DIR}/lib/isc/include \ + -I${BIND_DIR}/lib/isccc/include \ + -I${BIND_DIR}/lib/lwres/unix/include \ + -I${BIND_DIR}/lib/lwres/include \ + -I${BIND_DIR}/lib/isccfg/include \ + -I${BIND_DIR}/lib/dns/sec/dst/include \ + -I${BIND_DIR}/lib/dns -# This is mostly for named and named-xfer +CFLAGS+= -I. -I${.CURDIR} + +CFLAGS+= -DVERSION=\"${VER}\" \ + -DNS_LOCALSTATEDIR=\"/var\" \ + -DNS_SYSCONFDIR=\"${DESTETC}\" + +# This is for dig and other utilities +# .if defined(USE_LIBBIND) -# Sadly, mkdep doesn't know about -idirafter, which would be ideal here. -#CFLAGS+= -I${.CURDIR}/../../include -I${BIND_DIR}/include -CFLAGS+= -I${BIND_DIR}/include .if exists(${.OBJDIR}/../../lib/libbind) LIBBINDDIR:= ${.OBJDIR}/../../lib/libbind @@ -35,23 +52,23 @@ LIBBIND:= ${LIBBINDDIR}/libbind.a DPADD+= ${LIBBIND} LDADD+= ${LIBBIND} -CLEANFILES+= tmp_version.c pathnames.h -CFLAGS+= -I. - -tmp_version.c: version.c ${BIND_DIR}/Version - (u=$${USER-root} d=`pwd` h=`hostname` t=`LC_ALL=C date`; \ - sed -e "s|%WHEN%|$${t}|" -e "s|%VERSION%|"${VER}"|" \ - -e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \ - < ${BIND_DIR}/bin/named/version.c > tmp_version.c) - -pathnames.h: ${BIND_DIR}/bin/named/pathtemplate.h \ - ${.CURDIR}/../../usr.sbin/named/Makefile.inc - rm -f pathnames.h - sed -e "s|%DESTSBIN%|${DESTSBIN}|" \ - -e "s|%DESTEXEC%|${DESTEXEC}|" \ - -e "s|%DESTETC%|${DESTETC}|" \ - -e "s|%DESTRUN%|${DESTRUN}|" \ - < ${BIND_DIR}/bin/named/pathtemplate.h > pathnames.h +CLEANFILES+= + +.endif + +.if defined(USE_LIBISC) + +.if exists(${.OBJDIR}/../../lib/libisc) +LIBISCDIR:= ${.OBJDIR}/../../lib/libisc +.else +LIBISCDIR!= cd ${.CURDIR}/../../lib/libisc; make -V .OBJDIR +.endif +LIBISC:= ${LIBISCDIR}/libisc.a + +DPADD+= ${LIBISC} +LDADD+= ${LIBISC} + +CLEANFILES+= .endif diff --git a/usr.sbin/named/code.h b/usr.sbin/named/code.h new file mode 100644 index 0000000000..f8db0bbc3b --- /dev/null +++ b/usr.sbin/named/code.h @@ -0,0 +1,1398 @@ +/* + * Copyright (C) 1998-2004 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ +/* $DragonFly: src/usr.sbin/named/code.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +/*************** + *************** + *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c. + *************** DO NOT EDIT! + *************** + ***************/ + +#ifndef DNS_CODE_H +#define DNS_CODE_H 1 + +#include +#include + +#include + +#include "./rdata/in_1/a_1.c" +#include "./rdata/hs_4/a_1.c" +#include "./rdata/generic/ns_2.c" +#include "./rdata/generic/md_3.c" +#include "./rdata/generic/mf_4.c" +#include "./rdata/generic/cname_5.c" +#include "./rdata/generic/soa_6.c" +#include "./rdata/generic/mb_7.c" +#include "./rdata/generic/mg_8.c" +#include "./rdata/generic/mr_9.c" +#include "./rdata/generic/null_10.c" +#include "./rdata/in_1/wks_11.c" +#include "./rdata/generic/ptr_12.c" +#include "./rdata/generic/hinfo_13.c" +#include "./rdata/generic/minfo_14.c" +#include "./rdata/generic/mx_15.c" +#include "./rdata/generic/txt_16.c" +#include "./rdata/generic/rp_17.c" +#include "./rdata/generic/afsdb_18.c" +#include "./rdata/generic/x25_19.c" +#include "./rdata/generic/isdn_20.c" +#include "./rdata/generic/rt_21.c" +#include "./rdata/in_1/nsap_22.c" +#include "./rdata/in_1/nsap-ptr_23.c" +#include "./rdata/generic/sig_24.c" +#include "./rdata/generic/key_25.c" +#include "./rdata/in_1/px_26.c" +#include "./rdata/generic/gpos_27.c" +#include "./rdata/in_1/aaaa_28.c" +#include "./rdata/generic/loc_29.c" +#include "./rdata/generic/nxt_30.c" +#include "./rdata/in_1/srv_33.c" +#include "./rdata/in_1/naptr_35.c" +#include "./rdata/in_1/kx_36.c" +#include "./rdata/generic/cert_37.c" +#include "./rdata/in_1/a6_38.c" +#include "./rdata/generic/dname_39.c" +#include "./rdata/generic/opt_41.c" +#include "./rdata/generic/unspec_103.c" +#include "./rdata/generic/tkey_249.c" +#include "./rdata/any_255/tsig_250.c" + + + +#define FROMTEXTSWITCH \ + switch (type) { \ + case 1: switch (rdclass) { \ + case 1: result = fromtext_in_a(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 4: result = fromtext_hs_a(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 2: result = fromtext_ns(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 3: result = fromtext_md(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 4: result = fromtext_mf(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 5: result = fromtext_cname(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 6: result = fromtext_soa(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 7: result = fromtext_mb(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 8: result = fromtext_mg(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 9: result = fromtext_mr(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 10: result = fromtext_null(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 11: switch (rdclass) { \ + case 1: result = fromtext_in_wks(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 12: result = fromtext_ptr(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 13: result = fromtext_hinfo(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 14: result = fromtext_minfo(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 15: result = fromtext_mx(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 16: result = fromtext_txt(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 17: result = fromtext_rp(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 18: result = fromtext_afsdb(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 19: result = fromtext_x25(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 20: result = fromtext_isdn(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 21: result = fromtext_rt(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 22: switch (rdclass) { \ + case 1: result = fromtext_in_nsap(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 23: switch (rdclass) { \ + case 1: result = fromtext_in_nsap_ptr(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 24: result = fromtext_sig(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 25: result = fromtext_key(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 26: switch (rdclass) { \ + case 1: result = fromtext_in_px(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 27: result = fromtext_gpos(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 28: switch (rdclass) { \ + case 1: result = fromtext_in_aaaa(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 29: result = fromtext_loc(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 30: result = fromtext_nxt(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 33: switch (rdclass) { \ + case 1: result = fromtext_in_srv(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 35: switch (rdclass) { \ + case 1: result = fromtext_in_naptr(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 36: switch (rdclass) { \ + case 1: result = fromtext_in_kx(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 37: result = fromtext_cert(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 38: switch (rdclass) { \ + case 1: result = fromtext_in_a6(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + case 39: result = fromtext_dname(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 41: result = fromtext_opt(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 103: result = fromtext_unspec(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 249: result = fromtext_tkey(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + case 250: switch (rdclass) { \ + case 255: result = fromtext_any_tsig(rdclass, type, lexer, origin, downcase, target, callbacks); break; \ + default: result = DNS_R_UNKNOWN; break; \ + } \ + break; \ + default: result = DNS_R_UNKNOWN; break; \ + } + +#define TOTEXTSWITCH \ + switch (rdata->type) { \ + case 1: switch (rdata->rdclass) { \ + case 1: result = totext_in_a(rdata, tctx, target); break; \ + case 4: result = totext_hs_a(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = totext_ns(rdata, tctx, target); break; \ + case 3: result = totext_md(rdata, tctx, target); break; \ + case 4: result = totext_mf(rdata, tctx, target); break; \ + case 5: result = totext_cname(rdata, tctx, target); break; \ + case 6: result = totext_soa(rdata, tctx, target); break; \ + case 7: result = totext_mb(rdata, tctx, target); break; \ + case 8: result = totext_mg(rdata, tctx, target); break; \ + case 9: result = totext_mr(rdata, tctx, target); break; \ + case 10: result = totext_null(rdata, tctx, target); break; \ + case 11: switch (rdata->rdclass) { \ + case 1: result = totext_in_wks(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = totext_ptr(rdata, tctx, target); break; \ + case 13: result = totext_hinfo(rdata, tctx, target); break; \ + case 14: result = totext_minfo(rdata, tctx, target); break; \ + case 15: result = totext_mx(rdata, tctx, target); break; \ + case 16: result = totext_txt(rdata, tctx, target); break; \ + case 17: result = totext_rp(rdata, tctx, target); break; \ + case 18: result = totext_afsdb(rdata, tctx, target); break; \ + case 19: result = totext_x25(rdata, tctx, target); break; \ + case 20: result = totext_isdn(rdata, tctx, target); break; \ + case 21: result = totext_rt(rdata, tctx, target); break; \ + case 22: switch (rdata->rdclass) { \ + case 1: result = totext_in_nsap(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdata->rdclass) { \ + case 1: result = totext_in_nsap_ptr(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = totext_sig(rdata, tctx, target); break; \ + case 25: result = totext_key(rdata, tctx, target); break; \ + case 26: switch (rdata->rdclass) { \ + case 1: result = totext_in_px(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = totext_gpos(rdata, tctx, target); break; \ + case 28: switch (rdata->rdclass) { \ + case 1: result = totext_in_aaaa(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = totext_loc(rdata, tctx, target); break; \ + case 30: result = totext_nxt(rdata, tctx, target); break; \ + case 33: switch (rdata->rdclass) { \ + case 1: result = totext_in_srv(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdata->rdclass) { \ + case 1: result = totext_in_naptr(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdata->rdclass) { \ + case 1: result = totext_in_kx(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = totext_cert(rdata, tctx, target); break; \ + case 38: switch (rdata->rdclass) { \ + case 1: result = totext_in_a6(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = totext_dname(rdata, tctx, target); break; \ + case 41: result = totext_opt(rdata, tctx, target); break; \ + case 103: result = totext_unspec(rdata, tctx, target); break; \ + case 249: result = totext_tkey(rdata, tctx, target); break; \ + case 250: switch (rdata->rdclass) { \ + case 255: result = totext_any_tsig(rdata, tctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define FROMWIRESWITCH \ + switch (type) { \ + case 1: switch (rdclass) { \ + case 1: result = fromwire_in_a(rdclass, type, source, dctx, downcase, target); break; \ + case 4: result = fromwire_hs_a(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = fromwire_ns(rdclass, type, source, dctx, downcase, target); break; \ + case 3: result = fromwire_md(rdclass, type, source, dctx, downcase, target); break; \ + case 4: result = fromwire_mf(rdclass, type, source, dctx, downcase, target); break; \ + case 5: result = fromwire_cname(rdclass, type, source, dctx, downcase, target); break; \ + case 6: result = fromwire_soa(rdclass, type, source, dctx, downcase, target); break; \ + case 7: result = fromwire_mb(rdclass, type, source, dctx, downcase, target); break; \ + case 8: result = fromwire_mg(rdclass, type, source, dctx, downcase, target); break; \ + case 9: result = fromwire_mr(rdclass, type, source, dctx, downcase, target); break; \ + case 10: result = fromwire_null(rdclass, type, source, dctx, downcase, target); break; \ + case 11: switch (rdclass) { \ + case 1: result = fromwire_in_wks(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = fromwire_ptr(rdclass, type, source, dctx, downcase, target); break; \ + case 13: result = fromwire_hinfo(rdclass, type, source, dctx, downcase, target); break; \ + case 14: result = fromwire_minfo(rdclass, type, source, dctx, downcase, target); break; \ + case 15: result = fromwire_mx(rdclass, type, source, dctx, downcase, target); break; \ + case 16: result = fromwire_txt(rdclass, type, source, dctx, downcase, target); break; \ + case 17: result = fromwire_rp(rdclass, type, source, dctx, downcase, target); break; \ + case 18: result = fromwire_afsdb(rdclass, type, source, dctx, downcase, target); break; \ + case 19: result = fromwire_x25(rdclass, type, source, dctx, downcase, target); break; \ + case 20: result = fromwire_isdn(rdclass, type, source, dctx, downcase, target); break; \ + case 21: result = fromwire_rt(rdclass, type, source, dctx, downcase, target); break; \ + case 22: switch (rdclass) { \ + case 1: result = fromwire_in_nsap(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdclass) { \ + case 1: result = fromwire_in_nsap_ptr(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = fromwire_sig(rdclass, type, source, dctx, downcase, target); break; \ + case 25: result = fromwire_key(rdclass, type, source, dctx, downcase, target); break; \ + case 26: switch (rdclass) { \ + case 1: result = fromwire_in_px(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = fromwire_gpos(rdclass, type, source, dctx, downcase, target); break; \ + case 28: switch (rdclass) { \ + case 1: result = fromwire_in_aaaa(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = fromwire_loc(rdclass, type, source, dctx, downcase, target); break; \ + case 30: result = fromwire_nxt(rdclass, type, source, dctx, downcase, target); break; \ + case 33: switch (rdclass) { \ + case 1: result = fromwire_in_srv(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdclass) { \ + case 1: result = fromwire_in_naptr(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdclass) { \ + case 1: result = fromwire_in_kx(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = fromwire_cert(rdclass, type, source, dctx, downcase, target); break; \ + case 38: switch (rdclass) { \ + case 1: result = fromwire_in_a6(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = fromwire_dname(rdclass, type, source, dctx, downcase, target); break; \ + case 41: result = fromwire_opt(rdclass, type, source, dctx, downcase, target); break; \ + case 103: result = fromwire_unspec(rdclass, type, source, dctx, downcase, target); break; \ + case 249: result = fromwire_tkey(rdclass, type, source, dctx, downcase, target); break; \ + case 250: switch (rdclass) { \ + case 255: result = fromwire_any_tsig(rdclass, type, source, dctx, downcase, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define TOWIRESWITCH \ + switch (rdata->type) { \ + case 1: switch (rdata->rdclass) { \ + case 1: result = towire_in_a(rdata, cctx, target); break; \ + case 4: result = towire_hs_a(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = towire_ns(rdata, cctx, target); break; \ + case 3: result = towire_md(rdata, cctx, target); break; \ + case 4: result = towire_mf(rdata, cctx, target); break; \ + case 5: result = towire_cname(rdata, cctx, target); break; \ + case 6: result = towire_soa(rdata, cctx, target); break; \ + case 7: result = towire_mb(rdata, cctx, target); break; \ + case 8: result = towire_mg(rdata, cctx, target); break; \ + case 9: result = towire_mr(rdata, cctx, target); break; \ + case 10: result = towire_null(rdata, cctx, target); break; \ + case 11: switch (rdata->rdclass) { \ + case 1: result = towire_in_wks(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = towire_ptr(rdata, cctx, target); break; \ + case 13: result = towire_hinfo(rdata, cctx, target); break; \ + case 14: result = towire_minfo(rdata, cctx, target); break; \ + case 15: result = towire_mx(rdata, cctx, target); break; \ + case 16: result = towire_txt(rdata, cctx, target); break; \ + case 17: result = towire_rp(rdata, cctx, target); break; \ + case 18: result = towire_afsdb(rdata, cctx, target); break; \ + case 19: result = towire_x25(rdata, cctx, target); break; \ + case 20: result = towire_isdn(rdata, cctx, target); break; \ + case 21: result = towire_rt(rdata, cctx, target); break; \ + case 22: switch (rdata->rdclass) { \ + case 1: result = towire_in_nsap(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdata->rdclass) { \ + case 1: result = towire_in_nsap_ptr(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = towire_sig(rdata, cctx, target); break; \ + case 25: result = towire_key(rdata, cctx, target); break; \ + case 26: switch (rdata->rdclass) { \ + case 1: result = towire_in_px(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = towire_gpos(rdata, cctx, target); break; \ + case 28: switch (rdata->rdclass) { \ + case 1: result = towire_in_aaaa(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = towire_loc(rdata, cctx, target); break; \ + case 30: result = towire_nxt(rdata, cctx, target); break; \ + case 33: switch (rdata->rdclass) { \ + case 1: result = towire_in_srv(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdata->rdclass) { \ + case 1: result = towire_in_naptr(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdata->rdclass) { \ + case 1: result = towire_in_kx(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = towire_cert(rdata, cctx, target); break; \ + case 38: switch (rdata->rdclass) { \ + case 1: result = towire_in_a6(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = towire_dname(rdata, cctx, target); break; \ + case 41: result = towire_opt(rdata, cctx, target); break; \ + case 103: result = towire_unspec(rdata, cctx, target); break; \ + case 249: result = towire_tkey(rdata, cctx, target); break; \ + case 250: switch (rdata->rdclass) { \ + case 255: result = towire_any_tsig(rdata, cctx, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define COMPARESWITCH \ + switch (rdata1->type) { \ + case 1: switch (rdata1->rdclass) { \ + case 1: result = compare_in_a(rdata1, rdata2); break; \ + case 4: result = compare_hs_a(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = compare_ns(rdata1, rdata2); break; \ + case 3: result = compare_md(rdata1, rdata2); break; \ + case 4: result = compare_mf(rdata1, rdata2); break; \ + case 5: result = compare_cname(rdata1, rdata2); break; \ + case 6: result = compare_soa(rdata1, rdata2); break; \ + case 7: result = compare_mb(rdata1, rdata2); break; \ + case 8: result = compare_mg(rdata1, rdata2); break; \ + case 9: result = compare_mr(rdata1, rdata2); break; \ + case 10: result = compare_null(rdata1, rdata2); break; \ + case 11: switch (rdata1->rdclass) { \ + case 1: result = compare_in_wks(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = compare_ptr(rdata1, rdata2); break; \ + case 13: result = compare_hinfo(rdata1, rdata2); break; \ + case 14: result = compare_minfo(rdata1, rdata2); break; \ + case 15: result = compare_mx(rdata1, rdata2); break; \ + case 16: result = compare_txt(rdata1, rdata2); break; \ + case 17: result = compare_rp(rdata1, rdata2); break; \ + case 18: result = compare_afsdb(rdata1, rdata2); break; \ + case 19: result = compare_x25(rdata1, rdata2); break; \ + case 20: result = compare_isdn(rdata1, rdata2); break; \ + case 21: result = compare_rt(rdata1, rdata2); break; \ + case 22: switch (rdata1->rdclass) { \ + case 1: result = compare_in_nsap(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdata1->rdclass) { \ + case 1: result = compare_in_nsap_ptr(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = compare_sig(rdata1, rdata2); break; \ + case 25: result = compare_key(rdata1, rdata2); break; \ + case 26: switch (rdata1->rdclass) { \ + case 1: result = compare_in_px(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = compare_gpos(rdata1, rdata2); break; \ + case 28: switch (rdata1->rdclass) { \ + case 1: result = compare_in_aaaa(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = compare_loc(rdata1, rdata2); break; \ + case 30: result = compare_nxt(rdata1, rdata2); break; \ + case 33: switch (rdata1->rdclass) { \ + case 1: result = compare_in_srv(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdata1->rdclass) { \ + case 1: result = compare_in_naptr(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdata1->rdclass) { \ + case 1: result = compare_in_kx(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = compare_cert(rdata1, rdata2); break; \ + case 38: switch (rdata1->rdclass) { \ + case 1: result = compare_in_a6(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = compare_dname(rdata1, rdata2); break; \ + case 41: result = compare_opt(rdata1, rdata2); break; \ + case 103: result = compare_unspec(rdata1, rdata2); break; \ + case 249: result = compare_tkey(rdata1, rdata2); break; \ + case 250: switch (rdata1->rdclass) { \ + case 255: result = compare_any_tsig(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define FROMSTRUCTSWITCH \ + switch (type) { \ + case 1: switch (rdclass) { \ + case 1: result = fromstruct_in_a(rdclass, type, source, target); break; \ + case 4: result = fromstruct_hs_a(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = fromstruct_ns(rdclass, type, source, target); break; \ + case 3: result = fromstruct_md(rdclass, type, source, target); break; \ + case 4: result = fromstruct_mf(rdclass, type, source, target); break; \ + case 5: result = fromstruct_cname(rdclass, type, source, target); break; \ + case 6: result = fromstruct_soa(rdclass, type, source, target); break; \ + case 7: result = fromstruct_mb(rdclass, type, source, target); break; \ + case 8: result = fromstruct_mg(rdclass, type, source, target); break; \ + case 9: result = fromstruct_mr(rdclass, type, source, target); break; \ + case 10: result = fromstruct_null(rdclass, type, source, target); break; \ + case 11: switch (rdclass) { \ + case 1: result = fromstruct_in_wks(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = fromstruct_ptr(rdclass, type, source, target); break; \ + case 13: result = fromstruct_hinfo(rdclass, type, source, target); break; \ + case 14: result = fromstruct_minfo(rdclass, type, source, target); break; \ + case 15: result = fromstruct_mx(rdclass, type, source, target); break; \ + case 16: result = fromstruct_txt(rdclass, type, source, target); break; \ + case 17: result = fromstruct_rp(rdclass, type, source, target); break; \ + case 18: result = fromstruct_afsdb(rdclass, type, source, target); break; \ + case 19: result = fromstruct_x25(rdclass, type, source, target); break; \ + case 20: result = fromstruct_isdn(rdclass, type, source, target); break; \ + case 21: result = fromstruct_rt(rdclass, type, source, target); break; \ + case 22: switch (rdclass) { \ + case 1: result = fromstruct_in_nsap(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdclass) { \ + case 1: result = fromstruct_in_nsap_ptr(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = fromstruct_sig(rdclass, type, source, target); break; \ + case 25: result = fromstruct_key(rdclass, type, source, target); break; \ + case 26: switch (rdclass) { \ + case 1: result = fromstruct_in_px(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = fromstruct_gpos(rdclass, type, source, target); break; \ + case 28: switch (rdclass) { \ + case 1: result = fromstruct_in_aaaa(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = fromstruct_loc(rdclass, type, source, target); break; \ + case 30: result = fromstruct_nxt(rdclass, type, source, target); break; \ + case 33: switch (rdclass) { \ + case 1: result = fromstruct_in_srv(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdclass) { \ + case 1: result = fromstruct_in_naptr(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdclass) { \ + case 1: result = fromstruct_in_kx(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = fromstruct_cert(rdclass, type, source, target); break; \ + case 38: switch (rdclass) { \ + case 1: result = fromstruct_in_a6(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = fromstruct_dname(rdclass, type, source, target); break; \ + case 41: result = fromstruct_opt(rdclass, type, source, target); break; \ + case 103: result = fromstruct_unspec(rdclass, type, source, target); break; \ + case 249: result = fromstruct_tkey(rdclass, type, source, target); break; \ + case 250: switch (rdclass) { \ + case 255: result = fromstruct_any_tsig(rdclass, type, source, target); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define TOSTRUCTSWITCH \ + switch (rdata->type) { \ + case 1: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_a(rdata, target, mctx); break; \ + case 4: result = tostruct_hs_a(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = tostruct_ns(rdata, target, mctx); break; \ + case 3: result = tostruct_md(rdata, target, mctx); break; \ + case 4: result = tostruct_mf(rdata, target, mctx); break; \ + case 5: result = tostruct_cname(rdata, target, mctx); break; \ + case 6: result = tostruct_soa(rdata, target, mctx); break; \ + case 7: result = tostruct_mb(rdata, target, mctx); break; \ + case 8: result = tostruct_mg(rdata, target, mctx); break; \ + case 9: result = tostruct_mr(rdata, target, mctx); break; \ + case 10: result = tostruct_null(rdata, target, mctx); break; \ + case 11: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_wks(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = tostruct_ptr(rdata, target, mctx); break; \ + case 13: result = tostruct_hinfo(rdata, target, mctx); break; \ + case 14: result = tostruct_minfo(rdata, target, mctx); break; \ + case 15: result = tostruct_mx(rdata, target, mctx); break; \ + case 16: result = tostruct_txt(rdata, target, mctx); break; \ + case 17: result = tostruct_rp(rdata, target, mctx); break; \ + case 18: result = tostruct_afsdb(rdata, target, mctx); break; \ + case 19: result = tostruct_x25(rdata, target, mctx); break; \ + case 20: result = tostruct_isdn(rdata, target, mctx); break; \ + case 21: result = tostruct_rt(rdata, target, mctx); break; \ + case 22: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_nsap(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_nsap_ptr(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = tostruct_sig(rdata, target, mctx); break; \ + case 25: result = tostruct_key(rdata, target, mctx); break; \ + case 26: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_px(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = tostruct_gpos(rdata, target, mctx); break; \ + case 28: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_aaaa(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = tostruct_loc(rdata, target, mctx); break; \ + case 30: result = tostruct_nxt(rdata, target, mctx); break; \ + case 33: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_srv(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_naptr(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_kx(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = tostruct_cert(rdata, target, mctx); break; \ + case 38: switch (rdata->rdclass) { \ + case 1: result = tostruct_in_a6(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = tostruct_dname(rdata, target, mctx); break; \ + case 41: result = tostruct_opt(rdata, target, mctx); break; \ + case 103: result = tostruct_unspec(rdata, target, mctx); break; \ + case 249: result = tostruct_tkey(rdata, target, mctx); break; \ + case 250: switch (rdata->rdclass) { \ + case 255: result = tostruct_any_tsig(rdata, target, mctx); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define FREESTRUCTSWITCH \ + switch (common->rdtype) { \ + case 1: switch (common->rdclass) { \ + case 1: freestruct_in_a(source); break; \ + case 4: freestruct_hs_a(source); break; \ + default: break; \ + } \ + break; \ + case 2: freestruct_ns(source); break; \ + case 3: freestruct_md(source); break; \ + case 4: freestruct_mf(source); break; \ + case 5: freestruct_cname(source); break; \ + case 6: freestruct_soa(source); break; \ + case 7: freestruct_mb(source); break; \ + case 8: freestruct_mg(source); break; \ + case 9: freestruct_mr(source); break; \ + case 10: freestruct_null(source); break; \ + case 11: switch (common->rdclass) { \ + case 1: freestruct_in_wks(source); break; \ + default: break; \ + } \ + break; \ + case 12: freestruct_ptr(source); break; \ + case 13: freestruct_hinfo(source); break; \ + case 14: freestruct_minfo(source); break; \ + case 15: freestruct_mx(source); break; \ + case 16: freestruct_txt(source); break; \ + case 17: freestruct_rp(source); break; \ + case 18: freestruct_afsdb(source); break; \ + case 19: freestruct_x25(source); break; \ + case 20: freestruct_isdn(source); break; \ + case 21: freestruct_rt(source); break; \ + case 22: switch (common->rdclass) { \ + case 1: freestruct_in_nsap(source); break; \ + default: break; \ + } \ + break; \ + case 23: switch (common->rdclass) { \ + case 1: freestruct_in_nsap_ptr(source); break; \ + default: break; \ + } \ + break; \ + case 24: freestruct_sig(source); break; \ + case 25: freestruct_key(source); break; \ + case 26: switch (common->rdclass) { \ + case 1: freestruct_in_px(source); break; \ + default: break; \ + } \ + break; \ + case 27: freestruct_gpos(source); break; \ + case 28: switch (common->rdclass) { \ + case 1: freestruct_in_aaaa(source); break; \ + default: break; \ + } \ + break; \ + case 29: freestruct_loc(source); break; \ + case 30: freestruct_nxt(source); break; \ + case 33: switch (common->rdclass) { \ + case 1: freestruct_in_srv(source); break; \ + default: break; \ + } \ + break; \ + case 35: switch (common->rdclass) { \ + case 1: freestruct_in_naptr(source); break; \ + default: break; \ + } \ + break; \ + case 36: switch (common->rdclass) { \ + case 1: freestruct_in_kx(source); break; \ + default: break; \ + } \ + break; \ + case 37: freestruct_cert(source); break; \ + case 38: switch (common->rdclass) { \ + case 1: freestruct_in_a6(source); break; \ + default: break; \ + } \ + break; \ + case 39: freestruct_dname(source); break; \ + case 41: freestruct_opt(source); break; \ + case 103: freestruct_unspec(source); break; \ + case 249: freestruct_tkey(source); break; \ + case 250: switch (common->rdclass) { \ + case 255: freestruct_any_tsig(source); break; \ + default: break; \ + } \ + break; \ + default: break; \ + } + +#define ADDITIONALDATASWITCH \ + switch (rdata->type) { \ + case 1: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_a(rdata, add, arg); break; \ + case 4: result = additionaldata_hs_a(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = additionaldata_ns(rdata, add, arg); break; \ + case 3: result = additionaldata_md(rdata, add, arg); break; \ + case 4: result = additionaldata_mf(rdata, add, arg); break; \ + case 5: result = additionaldata_cname(rdata, add, arg); break; \ + case 6: result = additionaldata_soa(rdata, add, arg); break; \ + case 7: result = additionaldata_mb(rdata, add, arg); break; \ + case 8: result = additionaldata_mg(rdata, add, arg); break; \ + case 9: result = additionaldata_mr(rdata, add, arg); break; \ + case 10: result = additionaldata_null(rdata, add, arg); break; \ + case 11: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_wks(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = additionaldata_ptr(rdata, add, arg); break; \ + case 13: result = additionaldata_hinfo(rdata, add, arg); break; \ + case 14: result = additionaldata_minfo(rdata, add, arg); break; \ + case 15: result = additionaldata_mx(rdata, add, arg); break; \ + case 16: result = additionaldata_txt(rdata, add, arg); break; \ + case 17: result = additionaldata_rp(rdata, add, arg); break; \ + case 18: result = additionaldata_afsdb(rdata, add, arg); break; \ + case 19: result = additionaldata_x25(rdata, add, arg); break; \ + case 20: result = additionaldata_isdn(rdata, add, arg); break; \ + case 21: result = additionaldata_rt(rdata, add, arg); break; \ + case 22: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_nsap(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_nsap_ptr(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = additionaldata_sig(rdata, add, arg); break; \ + case 25: result = additionaldata_key(rdata, add, arg); break; \ + case 26: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_px(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = additionaldata_gpos(rdata, add, arg); break; \ + case 28: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_aaaa(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = additionaldata_loc(rdata, add, arg); break; \ + case 30: result = additionaldata_nxt(rdata, add, arg); break; \ + case 33: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_srv(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_naptr(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_kx(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = additionaldata_cert(rdata, add, arg); break; \ + case 38: switch (rdata->rdclass) { \ + case 1: result = additionaldata_in_a6(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = additionaldata_dname(rdata, add, arg); break; \ + case 41: result = additionaldata_opt(rdata, add, arg); break; \ + case 103: result = additionaldata_unspec(rdata, add, arg); break; \ + case 249: result = additionaldata_tkey(rdata, add, arg); break; \ + case 250: switch (rdata->rdclass) { \ + case 255: result = additionaldata_any_tsig(rdata, add, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define DIGESTSWITCH \ + switch (rdata->type) { \ + case 1: switch (rdata->rdclass) { \ + case 1: result = digest_in_a(rdata, digest, arg); break; \ + case 4: result = digest_hs_a(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = digest_ns(rdata, digest, arg); break; \ + case 3: result = digest_md(rdata, digest, arg); break; \ + case 4: result = digest_mf(rdata, digest, arg); break; \ + case 5: result = digest_cname(rdata, digest, arg); break; \ + case 6: result = digest_soa(rdata, digest, arg); break; \ + case 7: result = digest_mb(rdata, digest, arg); break; \ + case 8: result = digest_mg(rdata, digest, arg); break; \ + case 9: result = digest_mr(rdata, digest, arg); break; \ + case 10: result = digest_null(rdata, digest, arg); break; \ + case 11: switch (rdata->rdclass) { \ + case 1: result = digest_in_wks(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = digest_ptr(rdata, digest, arg); break; \ + case 13: result = digest_hinfo(rdata, digest, arg); break; \ + case 14: result = digest_minfo(rdata, digest, arg); break; \ + case 15: result = digest_mx(rdata, digest, arg); break; \ + case 16: result = digest_txt(rdata, digest, arg); break; \ + case 17: result = digest_rp(rdata, digest, arg); break; \ + case 18: result = digest_afsdb(rdata, digest, arg); break; \ + case 19: result = digest_x25(rdata, digest, arg); break; \ + case 20: result = digest_isdn(rdata, digest, arg); break; \ + case 21: result = digest_rt(rdata, digest, arg); break; \ + case 22: switch (rdata->rdclass) { \ + case 1: result = digest_in_nsap(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdata->rdclass) { \ + case 1: result = digest_in_nsap_ptr(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = digest_sig(rdata, digest, arg); break; \ + case 25: result = digest_key(rdata, digest, arg); break; \ + case 26: switch (rdata->rdclass) { \ + case 1: result = digest_in_px(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = digest_gpos(rdata, digest, arg); break; \ + case 28: switch (rdata->rdclass) { \ + case 1: result = digest_in_aaaa(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = digest_loc(rdata, digest, arg); break; \ + case 30: result = digest_nxt(rdata, digest, arg); break; \ + case 33: switch (rdata->rdclass) { \ + case 1: result = digest_in_srv(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdata->rdclass) { \ + case 1: result = digest_in_naptr(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdata->rdclass) { \ + case 1: result = digest_in_kx(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = digest_cert(rdata, digest, arg); break; \ + case 38: switch (rdata->rdclass) { \ + case 1: result = digest_in_a6(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = digest_dname(rdata, digest, arg); break; \ + case 41: result = digest_opt(rdata, digest, arg); break; \ + case 103: result = digest_unspec(rdata, digest, arg); break; \ + case 249: result = digest_tkey(rdata, digest, arg); break; \ + case 250: switch (rdata->rdclass) { \ + case 255: result = digest_any_tsig(rdata, digest, arg); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + default: use_default = ISC_TRUE; break; \ + } + +typedef struct { + const char *name; + unsigned int flags; +} typeattr_t; +static typeattr_t typeattr[] = { + { "RESERVED0", DNS_RDATATYPEATTR_RESERVED }, + { "A", RRTYPE_A_ATTRIBUTES }, + { "NS", RRTYPE_NS_ATTRIBUTES }, + { "MD", RRTYPE_MD_ATTRIBUTES }, + { "MF", RRTYPE_MF_ATTRIBUTES }, + { "CNAME", RRTYPE_CNAME_ATTRIBUTES }, + { "SOA", RRTYPE_SOA_ATTRIBUTES }, + { "MB", RRTYPE_MB_ATTRIBUTES }, + { "MG", RRTYPE_MG_ATTRIBUTES }, + { "MR", RRTYPE_MR_ATTRIBUTES }, + { "NULL", RRTYPE_NULL_ATTRIBUTES }, + { "WKS", RRTYPE_WKS_ATTRIBUTES }, + { "PTR", RRTYPE_PTR_ATTRIBUTES }, + { "HINFO", RRTYPE_HINFO_ATTRIBUTES }, + { "MINFO", RRTYPE_MINFO_ATTRIBUTES }, + { "MX", RRTYPE_MX_ATTRIBUTES }, + { "TXT", RRTYPE_TXT_ATTRIBUTES }, + { "RP", RRTYPE_RP_ATTRIBUTES }, + { "AFSDB", RRTYPE_AFSDB_ATTRIBUTES }, + { "X25", RRTYPE_X25_ATTRIBUTES }, + { "ISDN", RRTYPE_ISDN_ATTRIBUTES }, + { "RT", RRTYPE_RT_ATTRIBUTES }, + { "NSAP", RRTYPE_NSAP_ATTRIBUTES }, + { "NSAP-PTR", RRTYPE_NSAP_PTR_ATTRIBUTES }, + { "SIG", RRTYPE_SIG_ATTRIBUTES }, + { "KEY", RRTYPE_KEY_ATTRIBUTES }, + { "PX", RRTYPE_PX_ATTRIBUTES }, + { "GPOS", RRTYPE_GPOS_ATTRIBUTES }, + { "AAAA", RRTYPE_AAAA_ATTRIBUTES }, + { "LOC", RRTYPE_LOC_ATTRIBUTES }, + { "NXT", RRTYPE_NXT_ATTRIBUTES }, + { "EID", DNS_RDATATYPEATTR_RESERVED }, + { "NIMLOC", DNS_RDATATYPEATTR_RESERVED }, + { "SRV", RRTYPE_SRV_ATTRIBUTES }, + { "ATMA", DNS_RDATATYPEATTR_RESERVED }, + { "NAPTR", RRTYPE_NAPTR_ATTRIBUTES }, + { "KX", RRTYPE_KX_ATTRIBUTES }, + { "CERT", RRTYPE_CERT_ATTRIBUTES }, + { "A6", RRTYPE_A6_ATTRIBUTES }, + { "DNAME", RRTYPE_DNAME_ATTRIBUTES }, + { "TYPE40", DNS_RDATATYPEATTR_UNKNOWN}, + { "OPT", RRTYPE_OPT_ATTRIBUTES }, + { "TYPE42", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE43", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE44", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE45", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE46", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE47", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE48", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE49", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE50", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE51", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE52", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE53", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE54", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE55", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE56", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE57", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE58", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE59", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE60", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE61", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE62", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE63", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE64", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE65", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE66", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE67", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE68", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE69", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE70", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE71", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE72", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE73", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE74", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE75", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE76", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE77", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE78", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE79", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE80", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE81", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE82", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE83", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE84", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE85", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE86", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE87", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE88", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE89", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE90", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE91", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE92", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE93", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE94", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE95", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE96", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE97", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE98", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE99", DNS_RDATATYPEATTR_UNKNOWN}, + { "UINFO", DNS_RDATATYPEATTR_RESERVED }, + { "UID", DNS_RDATATYPEATTR_RESERVED }, + { "GID", DNS_RDATATYPEATTR_RESERVED }, + { "UNSPEC", RRTYPE_UNSPEC_ATTRIBUTES }, + { "TYPE104", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE105", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE106", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE107", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE108", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE109", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE110", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE111", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE112", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE113", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE114", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE115", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE116", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE117", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE118", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE119", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE120", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE121", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE122", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE123", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE124", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE125", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE126", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE127", DNS_RDATATYPEATTR_UNKNOWN}, + { "TYPE128", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE129", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE130", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE131", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE132", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE133", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE134", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE135", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE136", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE137", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE138", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE139", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE140", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE141", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE142", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE143", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE144", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE145", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE146", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE147", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE148", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE149", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE150", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE151", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE152", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE153", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE154", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE155", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE156", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE157", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE158", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE159", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE160", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE161", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE162", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE163", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE164", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE165", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE166", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE167", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE168", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE169", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE170", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE171", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE172", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE173", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE174", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE175", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE176", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE177", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE178", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE179", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE180", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE181", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE182", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE183", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE184", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE185", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE186", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE187", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE188", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE189", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE190", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE191", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE192", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE193", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE194", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE195", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE196", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE197", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE198", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE199", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE200", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE201", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE202", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE203", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE204", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE205", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE206", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE207", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE208", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE209", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE210", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE211", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE212", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE213", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE214", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE215", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE216", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE217", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE218", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE219", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE220", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE221", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE222", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE223", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE224", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE225", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE226", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE227", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE228", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE229", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE230", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE231", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE232", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE233", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE234", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE235", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE236", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE237", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE238", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE239", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE240", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE241", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE242", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE243", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE244", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE245", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE246", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE247", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TYPE248", DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META}, + { "TKEY", RRTYPE_TKEY_ATTRIBUTES }, + { "TSIG", RRTYPE_TSIG_ATTRIBUTES }, + { "IXFR", DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY }, + { "AXFR", DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY }, + { "MAILB", DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY }, + { "MAILA", DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY }, + { "ANY", DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY } +}; +#define RDATATYPE_COMPARE(_s, _d, _tn, _n, _tp) \ + do { \ + if (sizeof(_s) - 1 == _n && \ + strncasecmp(_s,(_tn),(sizeof(_s) - 1)) == 0) { \ + if ((typeattr[_d].flags & DNS_RDATATYPEATTR_RESERVED) != 0) \ + return (ISC_R_NOTIMPLEMENTED); \ + *(_tp) = _d; \ + return (ISC_R_SUCCESS); \ + } \ + } while (0) + +#define RDATATYPE_FROMTEXT_SW(_hash,_typename,_length,_typep) \ + switch (_hash) { \ + case 16: \ + RDATATYPE_COMPARE("reserved0", 0, _typename, _length, _typep); \ + break; \ + case 34: \ + RDATATYPE_COMPARE("a", 1, _typename, _length, _typep); \ + break; \ + case 80: \ + RDATATYPE_COMPARE("ns", 2, _typename, _length, _typep); \ + break; \ + case 92: \ + RDATATYPE_COMPARE("md", 3, _typename, _length, _typep); \ + break; \ + case 58: \ + RDATATYPE_COMPARE("mf", 4, _typename, _length, _typep); \ + break; \ + case 8: \ + RDATATYPE_COMPARE("cname", 5, _typename, _length, _typep); \ + RDATATYPE_COMPARE("mx", 15, _typename, _length, _typep); \ + break; \ + case 182: \ + RDATATYPE_COMPARE("soa", 6, _typename, _length, _typep); \ + break; \ + case 126: \ + RDATATYPE_COMPARE("mb", 7, _typename, _length, _typep); \ + break; \ + case 169: \ + RDATATYPE_COMPARE("mg", 8, _typename, _length, _typep); \ + break; \ + case 110: \ + RDATATYPE_COMPARE("mr", 9, _typename, _length, _typep); \ + RDATATYPE_COMPARE("minfo", 14, _typename, _length, _typep); \ + break; \ + case 24: \ + RDATATYPE_COMPARE("null", 10, _typename, _length, _typep); \ + RDATATYPE_COMPARE("kx", 36, _typename, _length, _typep); \ + break; \ + case 206: \ + RDATATYPE_COMPARE("wks", 11, _typename, _length, _typep); \ + break; \ + case 54: \ + RDATATYPE_COMPARE("ptr", 12, _typename, _length, _typep); \ + RDATATYPE_COMPARE("naptr", 35, _typename, _length, _typep); \ + break; \ + case 67: \ + RDATATYPE_COMPARE("hinfo", 13, _typename, _length, _typep); \ + break; \ + case 236: \ + RDATATYPE_COMPARE("txt", 16, _typename, _length, _typep); \ + break; \ + case 192: \ + RDATATYPE_COMPARE("rp", 17, _typename, _length, _typep); \ + break; \ + case 12: \ + RDATATYPE_COMPARE("afsdb", 18, _typename, _length, _typep); \ + break; \ + case 119: \ + RDATATYPE_COMPARE("x25", 19, _typename, _length, _typep); \ + break; \ + case 214: \ + RDATATYPE_COMPARE("isdn", 20, _typename, _length, _typep); \ + break; \ + case 144: \ + RDATATYPE_COMPARE("rt", 21, _typename, _length, _typep); \ + break; \ + case 224: \ + RDATATYPE_COMPARE("nsap", 22, _typename, _length, _typep); \ + RDATATYPE_COMPARE("uid", 101, _typename, _length, _typep); \ + break; \ + case 140: \ + RDATATYPE_COMPARE("nsap-ptr", 23, _typename, _length, _typep); \ + break; \ + case 122: \ + RDATATYPE_COMPARE("sig", 24, _typename, _length, _typep); \ + break; \ + case 254: \ + RDATATYPE_COMPARE("key", 25, _typename, _length, _typep); \ + break; \ + case 112: \ + RDATATYPE_COMPARE("px", 26, _typename, _length, _typep); \ + break; \ + case 17: \ + RDATATYPE_COMPARE("gpos", 27, _typename, _length, _typep); \ + break; \ + case 69: \ + RDATATYPE_COMPARE("aaaa", 28, _typename, _length, _typep); \ + RDATATYPE_COMPARE("atma", 34, _typename, _length, _typep); \ + break; \ + case 237: \ + RDATATYPE_COMPARE("loc", 29, _typename, _length, _typep); \ + break; \ + case 52: \ + RDATATYPE_COMPARE("nxt", 30, _typename, _length, _typep); \ + break; \ + case 160: \ + RDATATYPE_COMPARE("eid", 31, _typename, _length, _typep); \ + break; \ + case 220: \ + RDATATYPE_COMPARE("nimloc", 32, _typename, _length, _typep); \ + break; \ + case 100: \ + RDATATYPE_COMPARE("srv", 33, _typename, _length, _typep); \ + break; \ + case 172: \ + RDATATYPE_COMPARE("cert", 37, _typename, _length, _typep); \ + break; \ + case 226: \ + RDATATYPE_COMPARE("a6", 38, _typename, _length, _typep); \ + break; \ + case 109: \ + RDATATYPE_COMPARE("dname", 39, _typename, _length, _typep); \ + break; \ + case 168: \ + RDATATYPE_COMPARE("opt", 41, _typename, _length, _typep); \ + break; \ + case 230: \ + RDATATYPE_COMPARE("uinfo", 100, _typename, _length, _typep); \ + break; \ + case 104: \ + RDATATYPE_COMPARE("gid", 102, _typename, _length, _typep); \ + break; \ + case 145: \ + RDATATYPE_COMPARE("unspec", 103, _typename, _length, _typep); \ + break; \ + case 184: \ + RDATATYPE_COMPARE("tkey", 249, _typename, _length, _typep); \ + break; \ + case 72: \ + RDATATYPE_COMPARE("tsig", 250, _typename, _length, _typep); \ + break; \ + case 138: \ + RDATATYPE_COMPARE("ixfr", 251, _typename, _length, _typep); \ + break; \ + case 250: \ + RDATATYPE_COMPARE("axfr", 252, _typename, _length, _typep); \ + break; \ + case 164: \ + RDATATYPE_COMPARE("mailb", 253, _typename, _length, _typep); \ + break; \ + case 50: \ + RDATATYPE_COMPARE("maila", 254, _typename, _length, _typep); \ + break; \ + case 68: \ + RDATATYPE_COMPARE("any", 255, _typename, _length, _typep); \ + break; \ + } +#endif /* DNS_CODE_H */ diff --git a/usr.sbin/named/config.h b/usr.sbin/named/config.h new file mode 100644 index 0000000000..874034a56f --- /dev/null +++ b/usr.sbin/named/config.h @@ -0,0 +1,243 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ +/* + * Copyright (C) 1999-2001, 2003 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: config.h.in,v 1.47.2.4 2003/08/05 00:44:43 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/config.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +/*** + *** This file is not to be included by any public header files, because + *** it does not get installed. + ***/ + +/* define to `int' if doesn't define. */ +/* #undef ssize_t */ + +/* define on DEC OSF to enable 4.4BSD style sa_len support */ +/* #undef _SOCKADDR_LEN */ + +/* define if your system needs pthread_init() before using pthreads */ +/* #undef NEED_PTHREAD_INIT */ + +/* define if your system has sigwait() */ +/* #undef HAVE_SIGWAIT */ + +/* define if sigwait() is the UnixWare flavor */ +/* #undef HAVE_UNIXWARE_SIGWAIT */ + +/* define on Solaris to get sigwait() to work using pthreads semantics */ +/* #undef _POSIX_PTHREAD_SEMANTICS */ + +/* define if LinuxThreads is in use */ +/* #undef HAVE_LINUXTHREADS */ + +/* define if sysconf() is available */ +/* #undef HAVE_SYSCONF */ + +/* define if sysctlbyname() is available */ +#define HAVE_SYSCTLBYNAME 1 + +/* define if catgets() is available */ +#define HAVE_CATGETS 1 + +/* define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */ +#define HAVE_IFLIST_SYSCTL 1 + +/* define if you need to #define _XPG4_2 before including sys/socket.h */ +/* #undef NEED_XPG4_2_BEFORE_SOCKET_H */ + +/* define if you need to #define _XOPEN_SOURCE_ENTENDED before including + * sys/socket.h + */ +/* #undef NEED_XSE_BEFORE_SOCKET_H */ + +/* define if chroot() is available */ +#define HAVE_CHROOT 1 + +/* define if struct addrinfo exists */ +#define HAVE_ADDRINFO 1 + +/* define if getaddrinfo() exists */ +#define HAVE_GETADDRINFO 1 + +/* define if gai_strerror() exists */ +#define HAVE_GAISTRERROR 1 + +/* define if arc4random() exists */ +#define HAVE_ARC4RANDOM 1 + +/* define if pthread_setconcurrency() should be called to tell the + * OS how many threads we might want to run. + */ +/* #undef CALL_PTHREAD_SETCONCURRENCY */ + +/* define if IPv6 is not disabled */ +#define WANT_IPV6 1 + +/* define if flockfile() is available */ +#define HAVE_FLOCKFILE 1 + +/* define if getc_unlocked() is available */ +/* #undef HAVE_GETCUNLOCKED */ + +/* Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */ +/* #undef SHUTUP_SPUTAUX */ +#ifdef SHUTUP_SPUTAUX +struct __sFILE; +extern __inline int __sputaux(int _c, struct __sFILE *_p); +#endif + +/* Shut up warnings about missing sigwait prototype on BSD/OS 4.0* */ +/* #undef SHUTUP_SIGWAIT */ +#ifdef SHUTUP_SIGWAIT +int sigwait(const unsigned int *set, int *sig); +#endif + +/* Shut up warnings from gcc -Wcast-qual on BSD/OS 4.1. */ +/* #undef SHUTUP_STDARG_CAST */ +#if defined(SHUTUP_STDARG_CAST) && defined(__GNUC__) +#include /* Grr. Must be included *every time*. */ +/* + * The silly continuation line is to keep configure from + * commenting out the #undef. + */ +#undef \ + va_start +#define va_start(ap, last) \ + do { \ + union { const void *konst; long *var; } _u; \ + _u.konst = &(last); \ + ap = (va_list)(_u.var + __va_words(__typeof(last))); \ + } while (0) +#endif /* SHUTUP_STDARG_CAST && __GNUC__ */ + +/* define if the system has a random number generating device */ +#define PATH_RANDOMDEV "/dev/urandom" + +/* define if pthread_attr_getstacksize() is available */ +/* #undef HAVE_PTHREAD_ATTR_GETSTACKSIZE */ + +/* define if pthread_attr_setstacksize() is available */ +/* #undef HAVE_PTHREAD_ATTR_SETSTACKSIZE */ + +/* define if you have strerror in the C library. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `c' library (-lc). */ +/* #undef HAVE_LIBC */ + +/* Define to 1 if you have the `c_r' library (-lc_r). */ +/* #undef HAVE_LIBC_R */ + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +/* #undef HAVE_LIBNSL */ + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +/* #undef HAVE_LIBPTHREAD */ + +/* Define to 1 if you have the `socket' library (-lsocket). */ +/* #undef HAVE_LIBSOCKET */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LINUX_CAPABILITY_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PRCTL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +/* #undef inline */ + +/* Define to `unsigned' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/usr.sbin/named/dns/enumclass.h b/usr.sbin/named/dns/enumclass.h new file mode 100644 index 0000000000..4683ade9de --- /dev/null +++ b/usr.sbin/named/dns/enumclass.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 1998-2004 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ +/* $DragonFly: src/usr.sbin/named/dns/Attic/enumclass.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +/*************** + *************** + *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c. + *************** DO NOT EDIT! + *************** + ***************/ + +#ifndef DNS_ENUMCLASS_H +#define DNS_ENUMCLASS_H 1 + +enum { + dns_rdataclass_reserved0 = 0, +#define dns_rdataclass_reserved0 \ + ((dns_rdataclass_t)dns_rdataclass_reserved0) + dns_rdataclass_in = 1, +#define dns_rdataclass_in ((dns_rdataclass_t)dns_rdataclass_in) + dns_rdataclass_ch = 3, +#define dns_rdataclass_ch ((dns_rdataclass_t)dns_rdataclass_ch) + dns_rdataclass_chaos = 3, +#define dns_rdataclass_chaos ((dns_rdataclass_t)dns_rdataclass_chaos) + dns_rdataclass_hs = 4, +#define dns_rdataclass_hs ((dns_rdataclass_t)dns_rdataclass_hs) + dns_rdataclass_none = 254, +#define dns_rdataclass_none ((dns_rdataclass_t)dns_rdataclass_none) + dns_rdataclass_any = 255 +#define dns_rdataclass_any ((dns_rdataclass_t)dns_rdataclass_any) +}; + +#endif /* DNS_ENUMCLASS_H */ diff --git a/usr.sbin/named/dns/enumtype.h b/usr.sbin/named/dns/enumtype.h new file mode 100644 index 0000000000..09f4d6837c --- /dev/null +++ b/usr.sbin/named/dns/enumtype.h @@ -0,0 +1,125 @@ +/* + * Copyright (C) 1998-2004 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ +/* $DragonFly: src/usr.sbin/named/dns/Attic/enumtype.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +/*************** + *************** + *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c. + *************** DO NOT EDIT! + *************** + ***************/ + +#ifndef DNS_ENUMTYPE_H +#define DNS_ENUMTYPE_H 1 + +enum { + dns_rdatatype_none = 0, + dns_rdatatype_a = 1, + dns_rdatatype_ns = 2, + dns_rdatatype_md = 3, + dns_rdatatype_mf = 4, + dns_rdatatype_cname = 5, + dns_rdatatype_soa = 6, + dns_rdatatype_mb = 7, + dns_rdatatype_mg = 8, + dns_rdatatype_mr = 9, + dns_rdatatype_null = 10, + dns_rdatatype_wks = 11, + dns_rdatatype_ptr = 12, + dns_rdatatype_hinfo = 13, + dns_rdatatype_minfo = 14, + dns_rdatatype_mx = 15, + dns_rdatatype_txt = 16, + dns_rdatatype_rp = 17, + dns_rdatatype_afsdb = 18, + dns_rdatatype_x25 = 19, + dns_rdatatype_isdn = 20, + dns_rdatatype_rt = 21, + dns_rdatatype_nsap = 22, + dns_rdatatype_nsap_ptr = 23, + dns_rdatatype_sig = 24, + dns_rdatatype_key = 25, + dns_rdatatype_px = 26, + dns_rdatatype_gpos = 27, + dns_rdatatype_aaaa = 28, + dns_rdatatype_loc = 29, + dns_rdatatype_nxt = 30, + dns_rdatatype_srv = 33, + dns_rdatatype_naptr = 35, + dns_rdatatype_kx = 36, + dns_rdatatype_cert = 37, + dns_rdatatype_a6 = 38, + dns_rdatatype_dname = 39, + dns_rdatatype_opt = 41, + dns_rdatatype_unspec = 103, + dns_rdatatype_tkey = 249, + dns_rdatatype_tsig = 250, + dns_rdatatype_ixfr = 251, + dns_rdatatype_axfr = 252, + dns_rdatatype_mailb = 253, + dns_rdatatype_maila = 254, + dns_rdatatype_any = 255 +}; + +#define dns_rdatatype_none ((dns_rdatatype_t)dns_rdatatype_none) +#define dns_rdatatype_a ((dns_rdatatype_t)dns_rdatatype_a) +#define dns_rdatatype_ns ((dns_rdatatype_t)dns_rdatatype_ns) +#define dns_rdatatype_md ((dns_rdatatype_t)dns_rdatatype_md) +#define dns_rdatatype_mf ((dns_rdatatype_t)dns_rdatatype_mf) +#define dns_rdatatype_cname ((dns_rdatatype_t)dns_rdatatype_cname) +#define dns_rdatatype_soa ((dns_rdatatype_t)dns_rdatatype_soa) +#define dns_rdatatype_mb ((dns_rdatatype_t)dns_rdatatype_mb) +#define dns_rdatatype_mg ((dns_rdatatype_t)dns_rdatatype_mg) +#define dns_rdatatype_mr ((dns_rdatatype_t)dns_rdatatype_mr) +#define dns_rdatatype_null ((dns_rdatatype_t)dns_rdatatype_null) +#define dns_rdatatype_wks ((dns_rdatatype_t)dns_rdatatype_wks) +#define dns_rdatatype_ptr ((dns_rdatatype_t)dns_rdatatype_ptr) +#define dns_rdatatype_hinfo ((dns_rdatatype_t)dns_rdatatype_hinfo) +#define dns_rdatatype_minfo ((dns_rdatatype_t)dns_rdatatype_minfo) +#define dns_rdatatype_mx ((dns_rdatatype_t)dns_rdatatype_mx) +#define dns_rdatatype_txt ((dns_rdatatype_t)dns_rdatatype_txt) +#define dns_rdatatype_rp ((dns_rdatatype_t)dns_rdatatype_rp) +#define dns_rdatatype_afsdb ((dns_rdatatype_t)dns_rdatatype_afsdb) +#define dns_rdatatype_x25 ((dns_rdatatype_t)dns_rdatatype_x25) +#define dns_rdatatype_isdn ((dns_rdatatype_t)dns_rdatatype_isdn) +#define dns_rdatatype_rt ((dns_rdatatype_t)dns_rdatatype_rt) +#define dns_rdatatype_nsap ((dns_rdatatype_t)dns_rdatatype_nsap) +#define dns_rdatatype_nsap_ptr ((dns_rdatatype_t)dns_rdatatype_nsap_ptr) +#define dns_rdatatype_sig ((dns_rdatatype_t)dns_rdatatype_sig) +#define dns_rdatatype_key ((dns_rdatatype_t)dns_rdatatype_key) +#define dns_rdatatype_px ((dns_rdatatype_t)dns_rdatatype_px) +#define dns_rdatatype_gpos ((dns_rdatatype_t)dns_rdatatype_gpos) +#define dns_rdatatype_aaaa ((dns_rdatatype_t)dns_rdatatype_aaaa) +#define dns_rdatatype_loc ((dns_rdatatype_t)dns_rdatatype_loc) +#define dns_rdatatype_nxt ((dns_rdatatype_t)dns_rdatatype_nxt) +#define dns_rdatatype_srv ((dns_rdatatype_t)dns_rdatatype_srv) +#define dns_rdatatype_naptr ((dns_rdatatype_t)dns_rdatatype_naptr) +#define dns_rdatatype_kx ((dns_rdatatype_t)dns_rdatatype_kx) +#define dns_rdatatype_cert ((dns_rdatatype_t)dns_rdatatype_cert) +#define dns_rdatatype_a6 ((dns_rdatatype_t)dns_rdatatype_a6) +#define dns_rdatatype_dname ((dns_rdatatype_t)dns_rdatatype_dname) +#define dns_rdatatype_opt ((dns_rdatatype_t)dns_rdatatype_opt) +#define dns_rdatatype_unspec ((dns_rdatatype_t)dns_rdatatype_unspec) +#define dns_rdatatype_tkey ((dns_rdatatype_t)dns_rdatatype_tkey) +#define dns_rdatatype_tsig ((dns_rdatatype_t)dns_rdatatype_tsig) +#define dns_rdatatype_ixfr ((dns_rdatatype_t)dns_rdatatype_ixfr) +#define dns_rdatatype_axfr ((dns_rdatatype_t)dns_rdatatype_axfr) +#define dns_rdatatype_mailb ((dns_rdatatype_t)dns_rdatatype_mailb) +#define dns_rdatatype_maila ((dns_rdatatype_t)dns_rdatatype_maila) +#define dns_rdatatype_any ((dns_rdatatype_t)dns_rdatatype_any) + +#endif /* DNS_ENUMTYPE_H */ diff --git a/usr.sbin/named/dns/rdatastruct.h b/usr.sbin/named/dns/rdatastruct.h new file mode 100644 index 0000000000..73c0401fe5 --- /dev/null +++ b/usr.sbin/named/dns/rdatastruct.h @@ -0,0 +1,1467 @@ +/* + * Copyright (C) 1998-2004 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +/*************** + *************** + *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c. + *************** DO NOT EDIT! + *************** + ***************/ + +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: rdatastructpre.h,v 1.13 2001/01/09 21:53:45 bwelling Exp $ */ +/* $DragonFly: src/usr.sbin/named/dns/Attic/rdatastruct.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef DNS_RDATASTRUCT_H +#define DNS_RDATASTRUCT_H 1 + +#include +#include + +#include +#include + +ISC_LANG_BEGINDECLS + +typedef struct dns_rdatacommon { + dns_rdataclass_t rdclass; + dns_rdatatype_t rdtype; + ISC_LINK(struct dns_rdatacommon) link; +} dns_rdatacommon_t; + +#define DNS_RDATACOMMON_INIT(_data, _rdtype, _rdclass) \ + do { \ + (_data)->common.rdtype = (_rdtype); \ + (_data)->common.rdclass = (_rdclass); \ + ISC_LINK_INIT(&(_data)->common, link); \ + } while (0) +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_A_1_H +#define IN_1_A_1_H 1 + +/* $Id: a_1.h,v 1.23 2001/01/09 21:55:04 bwelling Exp $ */ + +typedef struct dns_rdata_in_a { + dns_rdatacommon_t common; + struct in_addr in_addr; +} dns_rdata_in_a_t; + +#endif /* IN_1_A_1_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef HS_4_A_1_H +#define HS_4_A_1_H 1 + +/* $Id: a_1.h,v 1.7 2001/01/09 21:54:59 bwelling Exp $ */ + +typedef struct dns_rdata_hs_a { + dns_rdatacommon_t common; + struct in_addr in_addr; +} dns_rdata_hs_a_t; + +#endif /* HS_4_A_1_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_NS_2_H +#define GENERIC_NS_2_H 1 + +/* $Id: ns_2.h,v 1.22 2001/01/09 21:54:27 bwelling Exp $ */ + +typedef struct dns_rdata_ns { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t name; +} dns_rdata_ns_t; + + +#endif /* GENERIC_NS_2_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MD_3_H +#define GENERIC_MD_3_H 1 + +/* $Id: md_3.h,v 1.23 2001/01/09 21:54:14 bwelling Exp $ */ + +typedef struct dns_rdata_md { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t md; +} dns_rdata_md_t; + + +#endif /* GENERIC_MD_3_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MF_4_H +#define GENERIC_MF_4_H 1 + +/* $Id: mf_4.h,v 1.21 2001/01/09 21:54:16 bwelling Exp $ */ + +typedef struct dns_rdata_mf { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mf; +} dns_rdata_mf_t; + +#endif /* GENERIC_MF_4_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: cname_5.h,v 1.23 2001/01/09 21:53:56 bwelling Exp $ */ + +#ifndef GENERIC_CNAME_5_H +#define GENERIC_CNAME_5_H 1 + +typedef struct dns_rdata_cname { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t cname; +} dns_rdata_cname_t; + +#endif /* GENERIC_CNAME_5_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_SOA_6_H +#define GENERIC_SOA_6_H 1 + +/* $Id: soa_6.h,v 1.27 2001/07/30 01:09:12 marka Exp $ */ + +typedef struct dns_rdata_soa { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t origin; + dns_name_t contact; + isc_uint32_t serial; /* host order */ + isc_uint32_t refresh; /* host order */ + isc_uint32_t retry; /* host order */ + isc_uint32_t expire; /* host order */ + isc_uint32_t minimum; /* host order */ +} dns_rdata_soa_t; + + +#endif /* GENERIC_SOA_6_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MB_7_H +#define GENERIC_MB_7_H 1 + +/* $Id: mb_7.h,v 1.22 2001/01/09 21:54:11 bwelling Exp $ */ + +typedef struct dns_rdata_mb { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mb; +} dns_rdata_mb_t; + +#endif /* GENERIC_MB_7_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MG_8_H +#define GENERIC_MG_8_H 1 + +/* $Id: mg_8.h,v 1.21 2001/01/09 21:54:18 bwelling Exp $ */ + +typedef struct dns_rdata_mg { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mg; +} dns_rdata_mg_t; + +#endif /* GENERIC_MG_8_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MR_9_H +#define GENERIC_MR_9_H 1 + +/* $Id: mr_9.h,v 1.21 2001/01/09 21:54:23 bwelling Exp $ */ + +typedef struct dns_rdata_mr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mr; +} dns_rdata_mr_t; + +#endif /* GENERIC_MR_9_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_NULL_10_H +#define GENERIC_NULL_10_H 1 + +/* $Id: null_10.h,v 1.20 2001/01/09 21:54:30 bwelling Exp $ */ + +typedef struct dns_rdata_null { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t length; + unsigned char *data; +} dns_rdata_null_t; + + +#endif /* GENERIC_NULL_10_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_WKS_11_H +#define IN_1_WKS_11_H 1 + +/* $Id: wks_11.h,v 1.19 2001/01/09 21:55:22 bwelling Exp $ */ + +typedef struct dns_rdata_in_wks { + dns_rdatacommon_t common; + isc_mem_t *mctx; + struct in_addr in_addr; + isc_uint16_t protocol; + unsigned char *map; + isc_uint16_t map_len; +} dns_rdata_in_wks_t; + +#endif /* IN_1_WKS_11_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_PTR_12_H +#define GENERIC_PTR_12_H 1 + +/* $Id: ptr_12.h,v 1.22 2001/01/09 21:54:39 bwelling Exp $ */ + +typedef struct dns_rdata_ptr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t ptr; +} dns_rdata_ptr_t; + +#endif /* GENERIC_PTR_12_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_HINFO_13_H +#define GENERIC_HINFO_13_H 1 + +/* $Id: hinfo_13.h,v 1.22 2001/01/09 21:54:03 bwelling Exp $ */ + +typedef struct dns_rdata_hinfo { + dns_rdatacommon_t common; + isc_mem_t *mctx; + char *cpu; + char *os; + isc_uint8_t cpu_len; + isc_uint8_t os_len; +} dns_rdata_hinfo_t; + +#endif /* GENERIC_HINFO_13_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MINFO_14_H +#define GENERIC_MINFO_14_H 1 + +/* $Id: minfo_14.h,v 1.22 2001/01/09 21:54:21 bwelling Exp $ */ + +typedef struct dns_rdata_minfo { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t rmailbox; + dns_name_t emailbox; +} dns_rdata_minfo_t; + +#endif /* GENERIC_MINFO_14_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MX_15_H +#define GENERIC_MX_15_H 1 + +/* $Id: mx_15.h,v 1.24 2001/01/09 21:54:25 bwelling Exp $ */ + +typedef struct dns_rdata_mx { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t pref; + dns_name_t mx; +} dns_rdata_mx_t; + +#endif /* GENERIC_MX_15_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_TXT_16_H +#define GENERIC_TXT_16_H 1 + +/* $Id: txt_16.h,v 1.23 2001/01/09 21:54:52 bwelling Exp $ */ + +typedef struct dns_rdata_txt_string { + isc_uint8_t length; + unsigned char *data; +} dns_rdata_txt_string_t; + +typedef struct dns_rdata_txt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *txt; + isc_uint16_t txt_len; + /* private */ + isc_uint16_t offset; +} dns_rdata_txt_t; + +/* + * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done + * via rdatastructpre.h and rdatastructsuf.h. + */ + +isc_result_t +dns_rdata_txt_first(dns_rdata_txt_t *); + +isc_result_t +dns_rdata_txt_next(dns_rdata_txt_t *); + +isc_result_t +dns_rdata_txt_current(dns_rdata_txt_t *, dns_rdata_txt_string_t *); + +#endif /* GENERIC_TXT_16_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_RP_17_H +#define GENERIC_RP_17_H 1 + +/* $Id: rp_17.h,v 1.16 2001/01/09 21:54:41 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_rp { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mail; + dns_name_t text; +} dns_rdata_rp_t; + + +#endif /* GENERIC_RP_17_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_AFSDB_18_H +#define GENERIC_AFSDB_18_H 1 + +/* $Id: afsdb_18.h,v 1.15 2001/01/09 21:53:51 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_afsdb { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t subtype; + dns_name_t server; +} dns_rdata_afsdb_t; + +#endif /* GENERIC_AFSDB_18_H */ + +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_X25_19_H +#define GENERIC_X25_19_H 1 + +/* $Id: x25_19.h,v 1.13 2001/01/09 21:54:57 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_x25 { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *x25; + isc_uint8_t x25_len; +} dns_rdata_x25_t; + +#endif /* GENERIC_X25_19_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_ISDN_20_H +#define GENERIC_ISDN_20_H 1 + +/* $Id: isdn_20.h,v 1.13 2001/01/09 21:54:05 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_isdn { + dns_rdatacommon_t common; + isc_mem_t *mctx; + char *isdn; + char *subaddress; + isc_uint8_t isdn_len; + isc_uint8_t subaddress_len; +} dns_rdata_isdn_t; + +#endif /* GENERIC_ISDN_20_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_RT_21_H +#define GENERIC_RT_21_H 1 + +/* $Id: rt_21.h,v 1.16 2001/01/09 21:54:43 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_rt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t preference; + dns_name_t host; +} dns_rdata_rt_t; + +#endif /* GENERIC_RT_21_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_NSAP_22_H +#define IN_1_NSAP_22_H 1 + +/* $Id: nsap_22.h,v 1.13 2001/01/09 21:55:15 bwelling Exp $ */ + +/* RFC 1706 */ + +typedef struct dns_rdata_in_nsap { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *nsap; + isc_uint16_t nsap_len; +} dns_rdata_in_nsap_t; + +#endif /* IN_1_NSAP_22_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_NSAP_PTR_23_H +#define IN_1_NSAP_PTR_23_H 1 + +/* $Id: nsap-ptr_23.h,v 1.14 2001/01/09 21:55:13 bwelling Exp $ */ + +/* RFC 1348. Obsoleted in RFC 1706 - use PTR instead. */ + +typedef struct dns_rdata_in_nsap_ptr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t owner; +} dns_rdata_in_nsap_ptr_t; + +#endif /* IN_1_NSAP_PTR_23_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_SIG_24_H +#define GENERIC_SIG_24_H 1 + +/* $Id: sig_24.h,v 1.21 2001/01/09 21:54:45 bwelling Exp $ */ + +/* RFC 2535 */ + +typedef struct dns_rdata_sig_t { + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_rdatatype_t covered; + dns_secalg_t algorithm; + isc_uint8_t labels; + isc_uint32_t originalttl; + isc_uint32_t timeexpire; + isc_uint32_t timesigned; + isc_uint16_t keyid; + dns_name_t signer; + isc_uint16_t siglen; + unsigned char * signature; +} dns_rdata_sig_t; + + +#endif /* GENERIC_SIG_24_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_KEY_25_H +#define GENERIC_KEY_25_H 1 + +/* $Id: key_25.h,v 1.14 2001/01/09 21:54:07 bwelling Exp $ */ + +/* RFC 2535 */ + +typedef struct dns_rdata_key_t { + dns_rdatacommon_t common; + isc_mem_t * mctx; + isc_uint16_t flags; + isc_uint8_t protocol; + isc_uint8_t algorithm; + isc_uint16_t datalen; + unsigned char * data; +} dns_rdata_key_t; + + +#endif /* GENERIC_KEY_25_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_PX_26_H +#define IN_1_PX_26_H 1 + +/* $Id: px_26.h,v 1.14 2001/01/09 21:55:17 bwelling Exp $ */ + +/* RFC 2163 */ + +typedef struct dns_rdata_in_px { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t preference; + dns_name_t map822; + dns_name_t mapx400; +} dns_rdata_in_px_t; + +#endif /* IN_1_PX_26_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_GPOS_27_H +#define GENERIC_GPOS_27_H 1 + +/* $Id: gpos_27.h,v 1.12 2001/01/09 21:54:00 bwelling Exp $ */ + +/* RFC 1712 */ + +typedef struct dns_rdata_gpos { + dns_rdatacommon_t common; + isc_mem_t *mctx; + char *longitude; + char *latitude; + char *altitude; + isc_uint8_t long_len; + isc_uint8_t lat_len; + isc_uint8_t alt_len; +} dns_rdata_gpos_t; + +#endif /* GENERIC_GPOS_27_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_AAAA_28_H +#define IN_1_AAAA_28_H 1 + +/* $Id: aaaa_28.h,v 1.16 2001/01/09 21:55:06 bwelling Exp $ */ + +/* RFC 1886 */ + +typedef struct dns_rdata_in_aaaa { + dns_rdatacommon_t common; + struct in6_addr in6_addr; +} dns_rdata_in_aaaa_t; + +#endif /* IN_1_AAAA_28_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_LOC_29_H +#define GENERIC_LOC_29_H 1 + +/* $Id: loc_29.h,v 1.14 2001/01/09 21:54:09 bwelling Exp $ */ + +/* RFC 1876 */ + +typedef struct dns_rdata_loc_0 { + isc_uint8_t version; /* must be first and zero */ + isc_uint8_t size; + isc_uint8_t horizontal; + isc_uint8_t vertical; + isc_uint32_t latitude; + isc_uint32_t longitude; + isc_uint32_t altitude; +} dns_rdata_loc_0_t; + +typedef struct dns_rdata_loc { + dns_rdatacommon_t common; + union { + dns_rdata_loc_0_t v0; + } v; +} dns_rdata_loc_t; + +#endif /* GENERIC_LOC_29_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_NXT_30_H +#define GENERIC_NXT_30_H 1 + +/* $Id: nxt_30.h,v 1.18 2001/01/09 21:54:32 bwelling Exp $ */ + +/* RFC 2065 */ + +typedef struct dns_rdata_nxt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t next; + unsigned char *typebits; + isc_uint16_t len; +} dns_rdata_nxt_t; + +#endif /* GENERIC_NXT_30_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_SRV_33_H +#define IN_1_SRV_33_H 1 + +/* $Id: srv_33.h,v 1.14 2001/01/09 21:55:20 bwelling Exp $ */ + +/* Reviewed: Fri Mar 17 13:01:00 PST 2000 by bwelling */ + +/* RFC 2782 */ + +typedef struct dns_rdata_in_srv { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t priority; + isc_uint16_t weight; + isc_uint16_t port; + dns_name_t target; +} dns_rdata_in_srv_t; + +#endif /* IN_1_SRV_33_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_NAPTR_35_H +#define IN_1_NAPTR_35_H 1 + +/* $Id: naptr_35.h,v 1.18 2001/01/18 22:05:41 bwelling Exp $ */ + +/* RFC 2915 */ + +typedef struct dns_rdata_in_naptr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t order; + isc_uint16_t preference; + char *flags; + isc_uint8_t flags_len; + char *service; + isc_uint8_t service_len; + char *regexp; + isc_uint8_t regexp_len; + dns_name_t replacement; +} dns_rdata_in_naptr_t; + +#endif /* IN_1_NAPTR_35_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_KX_36_H +#define IN_1_KX_36_H 1 + +/* $Id: kx_36.h,v 1.15 2001/01/09 21:55:08 bwelling Exp $ */ + +/* RFC 2230 */ + +typedef struct dns_rdata_in_kx { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t preference; + dns_name_t exchange; +} dns_rdata_in_kx_t; + +#endif /* IN_1_KX_36_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: cert_37.h,v 1.15 2001/01/09 21:53:53 bwelling Exp $ */ + +/* RFC 2538 */ +#ifndef GENERIC_CERT_37_H +#define GENERIC_CERT_37_H 1 + +typedef struct dns_rdata_cert { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t type; + isc_uint16_t key_tag; + isc_uint8_t algorithm; + isc_uint16_t length; + unsigned char *certificate; +} dns_rdata_cert_t; + +#endif /* GENERIC_CERT_37_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_A6_38_H +#define IN_1_A6_38_H 1 + +/* $Id: a6_38.h,v 1.19 2001/07/26 21:34:02 gson Exp $ */ + +/* RFC2874 */ + +typedef struct dns_rdata_in_a6 { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t prefix; + isc_uint8_t prefixlen; + struct in6_addr in6_addr; +} dns_rdata_in_a6_t; + +#endif /* IN_1_A6_38_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_DNAME_39_H +#define GENERIC_DNAME_39_H 1 + +/* $Id: dname_39.h,v 1.16 2001/04/27 21:02:01 gson Exp $ */ + +/* RFC2672 */ + +typedef struct dns_rdata_dname { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t dname; +} dns_rdata_dname_t; + +#endif /* GENERIC_DNAME_39_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_OPT_41_H +#define GENERIC_OPT_41_H 1 + +/* $Id: opt_41.h,v 1.13 2001/01/09 21:54:34 bwelling Exp $ */ + +/* RFC 2671 */ + +typedef struct dns_rdata_opt_opcode { + isc_uint16_t opcode; + isc_uint16_t length; + unsigned char *data; +} dns_rdata_opt_opcode_t; + +typedef struct dns_rdata_opt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *options; + isc_uint16_t length; + /* private */ + isc_uint16_t offset; +} dns_rdata_opt_t; + +/* + * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done + * via rdatastructpre.h and rdatastructsuf.h. + */ + +isc_result_t +dns_rdata_opt_first(dns_rdata_opt_t *); + +isc_result_t +dns_rdata_opt_next(dns_rdata_opt_t *); + +isc_result_t +dns_rdata_opt_current(dns_rdata_opt_t *, dns_rdata_opt_opcode_t *); + +#endif /* GENERIC_OPT_41_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_UNSPEC_103_H +#define GENERIC_UNSPEC_103_H 1 + +/* $Id: unspec_103.h,v 1.12 2001/01/09 21:54:54 bwelling Exp $ */ + +typedef struct dns_rdata_unspec_t { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *data; + isc_uint16_t datalen; +} dns_rdata_unspec_t; + +#endif /* GENERIC_UNSPEC_103_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_TKEY_249_H +#define GENERIC_TKEY_249_H 1 + +/* $Id: tkey_249.h,v 1.18 2001/01/09 21:54:50 bwelling Exp $ */ + +/* draft-ietf-dnsind-tkey-00.txt */ + +typedef struct dns_rdata_key { + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t algorithm; + isc_uint32_t inception; + isc_uint32_t expire; + isc_uint16_t mode; + isc_uint16_t error; + isc_uint16_t keylen; + unsigned char * key; + isc_uint16_t otherlen; + unsigned char * other; +} dns_rdata_tkey_t; + + +#endif /* GENERIC_TKEY_249_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: tsig_250.h,v 1.20 2001/01/09 21:53:49 bwelling Exp $ */ + +/* RFC 2845 */ + +#ifndef ANY_255_TSIG_250_H +#define ANY_255_TSIG_250_H 1 + +typedef struct dns_rdata_any_tsig { + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t algorithm; + isc_uint64_t timesigned; + isc_uint16_t fudge; + isc_uint16_t siglen; + unsigned char * signature; + isc_uint16_t originalid; + isc_uint16_t error; + isc_uint16_t otherlen; + unsigned char * other; +} dns_rdata_any_tsig_t; + +#endif /* ANY_255_TSIG_250_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: rdatastructsuf.h,v 1.7 2001/01/09 21:53:46 bwelling Exp $ */ + +ISC_LANG_ENDDECLS + +#endif /* DNS_RDATASTRUCT_H */ diff --git a/usr.sbin/named/include/dns/enumclass.h b/usr.sbin/named/include/dns/enumclass.h new file mode 100644 index 0000000000..89bef016e1 --- /dev/null +++ b/usr.sbin/named/include/dns/enumclass.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 1998-2004 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ +/* $DragonFly: src/usr.sbin/named/include/dns/enumclass.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +/*************** + *************** + *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c. + *************** DO NOT EDIT! + *************** + ***************/ + +#ifndef DNS_ENUMCLASS_H +#define DNS_ENUMCLASS_H 1 + +enum { + dns_rdataclass_reserved0 = 0, +#define dns_rdataclass_reserved0 \ + ((dns_rdataclass_t)dns_rdataclass_reserved0) + dns_rdataclass_in = 1, +#define dns_rdataclass_in ((dns_rdataclass_t)dns_rdataclass_in) + dns_rdataclass_ch = 3, +#define dns_rdataclass_ch ((dns_rdataclass_t)dns_rdataclass_ch) + dns_rdataclass_chaos = 3, +#define dns_rdataclass_chaos ((dns_rdataclass_t)dns_rdataclass_chaos) + dns_rdataclass_hs = 4, +#define dns_rdataclass_hs ((dns_rdataclass_t)dns_rdataclass_hs) + dns_rdataclass_none = 254, +#define dns_rdataclass_none ((dns_rdataclass_t)dns_rdataclass_none) + dns_rdataclass_any = 255 +#define dns_rdataclass_any ((dns_rdataclass_t)dns_rdataclass_any) +}; + +#endif /* DNS_ENUMCLASS_H */ diff --git a/usr.sbin/named/include/dns/enumtype.h b/usr.sbin/named/include/dns/enumtype.h new file mode 100644 index 0000000000..86d92844fb --- /dev/null +++ b/usr.sbin/named/include/dns/enumtype.h @@ -0,0 +1,125 @@ +/* + * Copyright (C) 1998-2004 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ +/* $DragonFly: src/usr.sbin/named/include/dns/enumtype.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +/*************** + *************** + *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c. + *************** DO NOT EDIT! + *************** + ***************/ + +#ifndef DNS_ENUMTYPE_H +#define DNS_ENUMTYPE_H 1 + +enum { + dns_rdatatype_none = 0, + dns_rdatatype_a = 1, + dns_rdatatype_ns = 2, + dns_rdatatype_md = 3, + dns_rdatatype_mf = 4, + dns_rdatatype_cname = 5, + dns_rdatatype_soa = 6, + dns_rdatatype_mb = 7, + dns_rdatatype_mg = 8, + dns_rdatatype_mr = 9, + dns_rdatatype_null = 10, + dns_rdatatype_wks = 11, + dns_rdatatype_ptr = 12, + dns_rdatatype_hinfo = 13, + dns_rdatatype_minfo = 14, + dns_rdatatype_mx = 15, + dns_rdatatype_txt = 16, + dns_rdatatype_rp = 17, + dns_rdatatype_afsdb = 18, + dns_rdatatype_x25 = 19, + dns_rdatatype_isdn = 20, + dns_rdatatype_rt = 21, + dns_rdatatype_nsap = 22, + dns_rdatatype_nsap_ptr = 23, + dns_rdatatype_sig = 24, + dns_rdatatype_key = 25, + dns_rdatatype_px = 26, + dns_rdatatype_gpos = 27, + dns_rdatatype_aaaa = 28, + dns_rdatatype_loc = 29, + dns_rdatatype_nxt = 30, + dns_rdatatype_srv = 33, + dns_rdatatype_naptr = 35, + dns_rdatatype_kx = 36, + dns_rdatatype_cert = 37, + dns_rdatatype_a6 = 38, + dns_rdatatype_dname = 39, + dns_rdatatype_opt = 41, + dns_rdatatype_unspec = 103, + dns_rdatatype_tkey = 249, + dns_rdatatype_tsig = 250, + dns_rdatatype_ixfr = 251, + dns_rdatatype_axfr = 252, + dns_rdatatype_mailb = 253, + dns_rdatatype_maila = 254, + dns_rdatatype_any = 255 +}; + +#define dns_rdatatype_none ((dns_rdatatype_t)dns_rdatatype_none) +#define dns_rdatatype_a ((dns_rdatatype_t)dns_rdatatype_a) +#define dns_rdatatype_ns ((dns_rdatatype_t)dns_rdatatype_ns) +#define dns_rdatatype_md ((dns_rdatatype_t)dns_rdatatype_md) +#define dns_rdatatype_mf ((dns_rdatatype_t)dns_rdatatype_mf) +#define dns_rdatatype_cname ((dns_rdatatype_t)dns_rdatatype_cname) +#define dns_rdatatype_soa ((dns_rdatatype_t)dns_rdatatype_soa) +#define dns_rdatatype_mb ((dns_rdatatype_t)dns_rdatatype_mb) +#define dns_rdatatype_mg ((dns_rdatatype_t)dns_rdatatype_mg) +#define dns_rdatatype_mr ((dns_rdatatype_t)dns_rdatatype_mr) +#define dns_rdatatype_null ((dns_rdatatype_t)dns_rdatatype_null) +#define dns_rdatatype_wks ((dns_rdatatype_t)dns_rdatatype_wks) +#define dns_rdatatype_ptr ((dns_rdatatype_t)dns_rdatatype_ptr) +#define dns_rdatatype_hinfo ((dns_rdatatype_t)dns_rdatatype_hinfo) +#define dns_rdatatype_minfo ((dns_rdatatype_t)dns_rdatatype_minfo) +#define dns_rdatatype_mx ((dns_rdatatype_t)dns_rdatatype_mx) +#define dns_rdatatype_txt ((dns_rdatatype_t)dns_rdatatype_txt) +#define dns_rdatatype_rp ((dns_rdatatype_t)dns_rdatatype_rp) +#define dns_rdatatype_afsdb ((dns_rdatatype_t)dns_rdatatype_afsdb) +#define dns_rdatatype_x25 ((dns_rdatatype_t)dns_rdatatype_x25) +#define dns_rdatatype_isdn ((dns_rdatatype_t)dns_rdatatype_isdn) +#define dns_rdatatype_rt ((dns_rdatatype_t)dns_rdatatype_rt) +#define dns_rdatatype_nsap ((dns_rdatatype_t)dns_rdatatype_nsap) +#define dns_rdatatype_nsap_ptr ((dns_rdatatype_t)dns_rdatatype_nsap_ptr) +#define dns_rdatatype_sig ((dns_rdatatype_t)dns_rdatatype_sig) +#define dns_rdatatype_key ((dns_rdatatype_t)dns_rdatatype_key) +#define dns_rdatatype_px ((dns_rdatatype_t)dns_rdatatype_px) +#define dns_rdatatype_gpos ((dns_rdatatype_t)dns_rdatatype_gpos) +#define dns_rdatatype_aaaa ((dns_rdatatype_t)dns_rdatatype_aaaa) +#define dns_rdatatype_loc ((dns_rdatatype_t)dns_rdatatype_loc) +#define dns_rdatatype_nxt ((dns_rdatatype_t)dns_rdatatype_nxt) +#define dns_rdatatype_srv ((dns_rdatatype_t)dns_rdatatype_srv) +#define dns_rdatatype_naptr ((dns_rdatatype_t)dns_rdatatype_naptr) +#define dns_rdatatype_kx ((dns_rdatatype_t)dns_rdatatype_kx) +#define dns_rdatatype_cert ((dns_rdatatype_t)dns_rdatatype_cert) +#define dns_rdatatype_a6 ((dns_rdatatype_t)dns_rdatatype_a6) +#define dns_rdatatype_dname ((dns_rdatatype_t)dns_rdatatype_dname) +#define dns_rdatatype_opt ((dns_rdatatype_t)dns_rdatatype_opt) +#define dns_rdatatype_unspec ((dns_rdatatype_t)dns_rdatatype_unspec) +#define dns_rdatatype_tkey ((dns_rdatatype_t)dns_rdatatype_tkey) +#define dns_rdatatype_tsig ((dns_rdatatype_t)dns_rdatatype_tsig) +#define dns_rdatatype_ixfr ((dns_rdatatype_t)dns_rdatatype_ixfr) +#define dns_rdatatype_axfr ((dns_rdatatype_t)dns_rdatatype_axfr) +#define dns_rdatatype_mailb ((dns_rdatatype_t)dns_rdatatype_mailb) +#define dns_rdatatype_maila ((dns_rdatatype_t)dns_rdatatype_maila) +#define dns_rdatatype_any ((dns_rdatatype_t)dns_rdatatype_any) + +#endif /* DNS_ENUMTYPE_H */ diff --git a/usr.sbin/named/include/dns/rdatastruct.h b/usr.sbin/named/include/dns/rdatastruct.h new file mode 100644 index 0000000000..8d66949df6 --- /dev/null +++ b/usr.sbin/named/include/dns/rdatastruct.h @@ -0,0 +1,1467 @@ +/* + * Copyright (C) 1998-2004 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +/*************** + *************** + *************** THIS FILE IS AUTOMATICALLY GENERATED BY gen.c. + *************** DO NOT EDIT! + *************** + ***************/ + +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: rdatastructpre.h,v 1.13 2001/01/09 21:53:45 bwelling Exp $ */ +/* $DragonFly: src/usr.sbin/named/include/dns/rdatastruct.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef DNS_RDATASTRUCT_H +#define DNS_RDATASTRUCT_H 1 + +#include +#include + +#include +#include + +ISC_LANG_BEGINDECLS + +typedef struct dns_rdatacommon { + dns_rdataclass_t rdclass; + dns_rdatatype_t rdtype; + ISC_LINK(struct dns_rdatacommon) link; +} dns_rdatacommon_t; + +#define DNS_RDATACOMMON_INIT(_data, _rdtype, _rdclass) \ + do { \ + (_data)->common.rdtype = (_rdtype); \ + (_data)->common.rdclass = (_rdclass); \ + ISC_LINK_INIT(&(_data)->common, link); \ + } while (0) +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_A_1_H +#define IN_1_A_1_H 1 + +/* $Id: a_1.h,v 1.23 2001/01/09 21:55:04 bwelling Exp $ */ + +typedef struct dns_rdata_in_a { + dns_rdatacommon_t common; + struct in_addr in_addr; +} dns_rdata_in_a_t; + +#endif /* IN_1_A_1_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef HS_4_A_1_H +#define HS_4_A_1_H 1 + +/* $Id: a_1.h,v 1.7 2001/01/09 21:54:59 bwelling Exp $ */ + +typedef struct dns_rdata_hs_a { + dns_rdatacommon_t common; + struct in_addr in_addr; +} dns_rdata_hs_a_t; + +#endif /* HS_4_A_1_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_NS_2_H +#define GENERIC_NS_2_H 1 + +/* $Id: ns_2.h,v 1.22 2001/01/09 21:54:27 bwelling Exp $ */ + +typedef struct dns_rdata_ns { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t name; +} dns_rdata_ns_t; + + +#endif /* GENERIC_NS_2_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MD_3_H +#define GENERIC_MD_3_H 1 + +/* $Id: md_3.h,v 1.23 2001/01/09 21:54:14 bwelling Exp $ */ + +typedef struct dns_rdata_md { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t md; +} dns_rdata_md_t; + + +#endif /* GENERIC_MD_3_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MF_4_H +#define GENERIC_MF_4_H 1 + +/* $Id: mf_4.h,v 1.21 2001/01/09 21:54:16 bwelling Exp $ */ + +typedef struct dns_rdata_mf { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mf; +} dns_rdata_mf_t; + +#endif /* GENERIC_MF_4_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: cname_5.h,v 1.23 2001/01/09 21:53:56 bwelling Exp $ */ + +#ifndef GENERIC_CNAME_5_H +#define GENERIC_CNAME_5_H 1 + +typedef struct dns_rdata_cname { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t cname; +} dns_rdata_cname_t; + +#endif /* GENERIC_CNAME_5_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_SOA_6_H +#define GENERIC_SOA_6_H 1 + +/* $Id: soa_6.h,v 1.27 2001/07/30 01:09:12 marka Exp $ */ + +typedef struct dns_rdata_soa { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t origin; + dns_name_t contact; + isc_uint32_t serial; /* host order */ + isc_uint32_t refresh; /* host order */ + isc_uint32_t retry; /* host order */ + isc_uint32_t expire; /* host order */ + isc_uint32_t minimum; /* host order */ +} dns_rdata_soa_t; + + +#endif /* GENERIC_SOA_6_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MB_7_H +#define GENERIC_MB_7_H 1 + +/* $Id: mb_7.h,v 1.22 2001/01/09 21:54:11 bwelling Exp $ */ + +typedef struct dns_rdata_mb { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mb; +} dns_rdata_mb_t; + +#endif /* GENERIC_MB_7_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MG_8_H +#define GENERIC_MG_8_H 1 + +/* $Id: mg_8.h,v 1.21 2001/01/09 21:54:18 bwelling Exp $ */ + +typedef struct dns_rdata_mg { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mg; +} dns_rdata_mg_t; + +#endif /* GENERIC_MG_8_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MR_9_H +#define GENERIC_MR_9_H 1 + +/* $Id: mr_9.h,v 1.21 2001/01/09 21:54:23 bwelling Exp $ */ + +typedef struct dns_rdata_mr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mr; +} dns_rdata_mr_t; + +#endif /* GENERIC_MR_9_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_NULL_10_H +#define GENERIC_NULL_10_H 1 + +/* $Id: null_10.h,v 1.20 2001/01/09 21:54:30 bwelling Exp $ */ + +typedef struct dns_rdata_null { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t length; + unsigned char *data; +} dns_rdata_null_t; + + +#endif /* GENERIC_NULL_10_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_WKS_11_H +#define IN_1_WKS_11_H 1 + +/* $Id: wks_11.h,v 1.19 2001/01/09 21:55:22 bwelling Exp $ */ + +typedef struct dns_rdata_in_wks { + dns_rdatacommon_t common; + isc_mem_t *mctx; + struct in_addr in_addr; + isc_uint16_t protocol; + unsigned char *map; + isc_uint16_t map_len; +} dns_rdata_in_wks_t; + +#endif /* IN_1_WKS_11_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_PTR_12_H +#define GENERIC_PTR_12_H 1 + +/* $Id: ptr_12.h,v 1.22 2001/01/09 21:54:39 bwelling Exp $ */ + +typedef struct dns_rdata_ptr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t ptr; +} dns_rdata_ptr_t; + +#endif /* GENERIC_PTR_12_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_HINFO_13_H +#define GENERIC_HINFO_13_H 1 + +/* $Id: hinfo_13.h,v 1.22 2001/01/09 21:54:03 bwelling Exp $ */ + +typedef struct dns_rdata_hinfo { + dns_rdatacommon_t common; + isc_mem_t *mctx; + char *cpu; + char *os; + isc_uint8_t cpu_len; + isc_uint8_t os_len; +} dns_rdata_hinfo_t; + +#endif /* GENERIC_HINFO_13_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MINFO_14_H +#define GENERIC_MINFO_14_H 1 + +/* $Id: minfo_14.h,v 1.22 2001/01/09 21:54:21 bwelling Exp $ */ + +typedef struct dns_rdata_minfo { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t rmailbox; + dns_name_t emailbox; +} dns_rdata_minfo_t; + +#endif /* GENERIC_MINFO_14_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_MX_15_H +#define GENERIC_MX_15_H 1 + +/* $Id: mx_15.h,v 1.24 2001/01/09 21:54:25 bwelling Exp $ */ + +typedef struct dns_rdata_mx { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t pref; + dns_name_t mx; +} dns_rdata_mx_t; + +#endif /* GENERIC_MX_15_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_TXT_16_H +#define GENERIC_TXT_16_H 1 + +/* $Id: txt_16.h,v 1.23 2001/01/09 21:54:52 bwelling Exp $ */ + +typedef struct dns_rdata_txt_string { + isc_uint8_t length; + unsigned char *data; +} dns_rdata_txt_string_t; + +typedef struct dns_rdata_txt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *txt; + isc_uint16_t txt_len; + /* private */ + isc_uint16_t offset; +} dns_rdata_txt_t; + +/* + * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done + * via rdatastructpre.h and rdatastructsuf.h. + */ + +isc_result_t +dns_rdata_txt_first(dns_rdata_txt_t *); + +isc_result_t +dns_rdata_txt_next(dns_rdata_txt_t *); + +isc_result_t +dns_rdata_txt_current(dns_rdata_txt_t *, dns_rdata_txt_string_t *); + +#endif /* GENERIC_TXT_16_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_RP_17_H +#define GENERIC_RP_17_H 1 + +/* $Id: rp_17.h,v 1.16 2001/01/09 21:54:41 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_rp { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t mail; + dns_name_t text; +} dns_rdata_rp_t; + + +#endif /* GENERIC_RP_17_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_AFSDB_18_H +#define GENERIC_AFSDB_18_H 1 + +/* $Id: afsdb_18.h,v 1.15 2001/01/09 21:53:51 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_afsdb { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t subtype; + dns_name_t server; +} dns_rdata_afsdb_t; + +#endif /* GENERIC_AFSDB_18_H */ + +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_X25_19_H +#define GENERIC_X25_19_H 1 + +/* $Id: x25_19.h,v 1.13 2001/01/09 21:54:57 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_x25 { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *x25; + isc_uint8_t x25_len; +} dns_rdata_x25_t; + +#endif /* GENERIC_X25_19_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_ISDN_20_H +#define GENERIC_ISDN_20_H 1 + +/* $Id: isdn_20.h,v 1.13 2001/01/09 21:54:05 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_isdn { + dns_rdatacommon_t common; + isc_mem_t *mctx; + char *isdn; + char *subaddress; + isc_uint8_t isdn_len; + isc_uint8_t subaddress_len; +} dns_rdata_isdn_t; + +#endif /* GENERIC_ISDN_20_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_RT_21_H +#define GENERIC_RT_21_H 1 + +/* $Id: rt_21.h,v 1.16 2001/01/09 21:54:43 bwelling Exp $ */ + +/* RFC 1183 */ + +typedef struct dns_rdata_rt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t preference; + dns_name_t host; +} dns_rdata_rt_t; + +#endif /* GENERIC_RT_21_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_NSAP_22_H +#define IN_1_NSAP_22_H 1 + +/* $Id: nsap_22.h,v 1.13 2001/01/09 21:55:15 bwelling Exp $ */ + +/* RFC 1706 */ + +typedef struct dns_rdata_in_nsap { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *nsap; + isc_uint16_t nsap_len; +} dns_rdata_in_nsap_t; + +#endif /* IN_1_NSAP_22_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_NSAP_PTR_23_H +#define IN_1_NSAP_PTR_23_H 1 + +/* $Id: nsap-ptr_23.h,v 1.14 2001/01/09 21:55:13 bwelling Exp $ */ + +/* RFC 1348. Obsoleted in RFC 1706 - use PTR instead. */ + +typedef struct dns_rdata_in_nsap_ptr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t owner; +} dns_rdata_in_nsap_ptr_t; + +#endif /* IN_1_NSAP_PTR_23_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_SIG_24_H +#define GENERIC_SIG_24_H 1 + +/* $Id: sig_24.h,v 1.21 2001/01/09 21:54:45 bwelling Exp $ */ + +/* RFC 2535 */ + +typedef struct dns_rdata_sig_t { + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_rdatatype_t covered; + dns_secalg_t algorithm; + isc_uint8_t labels; + isc_uint32_t originalttl; + isc_uint32_t timeexpire; + isc_uint32_t timesigned; + isc_uint16_t keyid; + dns_name_t signer; + isc_uint16_t siglen; + unsigned char * signature; +} dns_rdata_sig_t; + + +#endif /* GENERIC_SIG_24_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_KEY_25_H +#define GENERIC_KEY_25_H 1 + +/* $Id: key_25.h,v 1.14 2001/01/09 21:54:07 bwelling Exp $ */ + +/* RFC 2535 */ + +typedef struct dns_rdata_key_t { + dns_rdatacommon_t common; + isc_mem_t * mctx; + isc_uint16_t flags; + isc_uint8_t protocol; + isc_uint8_t algorithm; + isc_uint16_t datalen; + unsigned char * data; +} dns_rdata_key_t; + + +#endif /* GENERIC_KEY_25_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_PX_26_H +#define IN_1_PX_26_H 1 + +/* $Id: px_26.h,v 1.14 2001/01/09 21:55:17 bwelling Exp $ */ + +/* RFC 2163 */ + +typedef struct dns_rdata_in_px { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t preference; + dns_name_t map822; + dns_name_t mapx400; +} dns_rdata_in_px_t; + +#endif /* IN_1_PX_26_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_GPOS_27_H +#define GENERIC_GPOS_27_H 1 + +/* $Id: gpos_27.h,v 1.12 2001/01/09 21:54:00 bwelling Exp $ */ + +/* RFC 1712 */ + +typedef struct dns_rdata_gpos { + dns_rdatacommon_t common; + isc_mem_t *mctx; + char *longitude; + char *latitude; + char *altitude; + isc_uint8_t long_len; + isc_uint8_t lat_len; + isc_uint8_t alt_len; +} dns_rdata_gpos_t; + +#endif /* GENERIC_GPOS_27_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_AAAA_28_H +#define IN_1_AAAA_28_H 1 + +/* $Id: aaaa_28.h,v 1.16 2001/01/09 21:55:06 bwelling Exp $ */ + +/* RFC 1886 */ + +typedef struct dns_rdata_in_aaaa { + dns_rdatacommon_t common; + struct in6_addr in6_addr; +} dns_rdata_in_aaaa_t; + +#endif /* IN_1_AAAA_28_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_LOC_29_H +#define GENERIC_LOC_29_H 1 + +/* $Id: loc_29.h,v 1.14 2001/01/09 21:54:09 bwelling Exp $ */ + +/* RFC 1876 */ + +typedef struct dns_rdata_loc_0 { + isc_uint8_t version; /* must be first and zero */ + isc_uint8_t size; + isc_uint8_t horizontal; + isc_uint8_t vertical; + isc_uint32_t latitude; + isc_uint32_t longitude; + isc_uint32_t altitude; +} dns_rdata_loc_0_t; + +typedef struct dns_rdata_loc { + dns_rdatacommon_t common; + union { + dns_rdata_loc_0_t v0; + } v; +} dns_rdata_loc_t; + +#endif /* GENERIC_LOC_29_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_NXT_30_H +#define GENERIC_NXT_30_H 1 + +/* $Id: nxt_30.h,v 1.18 2001/01/09 21:54:32 bwelling Exp $ */ + +/* RFC 2065 */ + +typedef struct dns_rdata_nxt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t next; + unsigned char *typebits; + isc_uint16_t len; +} dns_rdata_nxt_t; + +#endif /* GENERIC_NXT_30_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_SRV_33_H +#define IN_1_SRV_33_H 1 + +/* $Id: srv_33.h,v 1.14 2001/01/09 21:55:20 bwelling Exp $ */ + +/* Reviewed: Fri Mar 17 13:01:00 PST 2000 by bwelling */ + +/* RFC 2782 */ + +typedef struct dns_rdata_in_srv { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t priority; + isc_uint16_t weight; + isc_uint16_t port; + dns_name_t target; +} dns_rdata_in_srv_t; + +#endif /* IN_1_SRV_33_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_NAPTR_35_H +#define IN_1_NAPTR_35_H 1 + +/* $Id: naptr_35.h,v 1.18 2001/01/18 22:05:41 bwelling Exp $ */ + +/* RFC 2915 */ + +typedef struct dns_rdata_in_naptr { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t order; + isc_uint16_t preference; + char *flags; + isc_uint8_t flags_len; + char *service; + isc_uint8_t service_len; + char *regexp; + isc_uint8_t regexp_len; + dns_name_t replacement; +} dns_rdata_in_naptr_t; + +#endif /* IN_1_NAPTR_35_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_KX_36_H +#define IN_1_KX_36_H 1 + +/* $Id: kx_36.h,v 1.15 2001/01/09 21:55:08 bwelling Exp $ */ + +/* RFC 2230 */ + +typedef struct dns_rdata_in_kx { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t preference; + dns_name_t exchange; +} dns_rdata_in_kx_t; + +#endif /* IN_1_KX_36_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: cert_37.h,v 1.15 2001/01/09 21:53:53 bwelling Exp $ */ + +/* RFC 2538 */ +#ifndef GENERIC_CERT_37_H +#define GENERIC_CERT_37_H 1 + +typedef struct dns_rdata_cert { + dns_rdatacommon_t common; + isc_mem_t *mctx; + isc_uint16_t type; + isc_uint16_t key_tag; + isc_uint8_t algorithm; + isc_uint16_t length; + unsigned char *certificate; +} dns_rdata_cert_t; + +#endif /* GENERIC_CERT_37_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef IN_1_A6_38_H +#define IN_1_A6_38_H 1 + +/* $Id: a6_38.h,v 1.19 2001/07/26 21:34:02 gson Exp $ */ + +/* RFC2874 */ + +typedef struct dns_rdata_in_a6 { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t prefix; + isc_uint8_t prefixlen; + struct in6_addr in6_addr; +} dns_rdata_in_a6_t; + +#endif /* IN_1_A6_38_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_DNAME_39_H +#define GENERIC_DNAME_39_H 1 + +/* $Id: dname_39.h,v 1.16 2001/04/27 21:02:01 gson Exp $ */ + +/* RFC2672 */ + +typedef struct dns_rdata_dname { + dns_rdatacommon_t common; + isc_mem_t *mctx; + dns_name_t dname; +} dns_rdata_dname_t; + +#endif /* GENERIC_DNAME_39_H */ +/* + * Copyright (C) 1998-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_OPT_41_H +#define GENERIC_OPT_41_H 1 + +/* $Id: opt_41.h,v 1.13 2001/01/09 21:54:34 bwelling Exp $ */ + +/* RFC 2671 */ + +typedef struct dns_rdata_opt_opcode { + isc_uint16_t opcode; + isc_uint16_t length; + unsigned char *data; +} dns_rdata_opt_opcode_t; + +typedef struct dns_rdata_opt { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *options; + isc_uint16_t length; + /* private */ + isc_uint16_t offset; +} dns_rdata_opt_t; + +/* + * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done + * via rdatastructpre.h and rdatastructsuf.h. + */ + +isc_result_t +dns_rdata_opt_first(dns_rdata_opt_t *); + +isc_result_t +dns_rdata_opt_next(dns_rdata_opt_t *); + +isc_result_t +dns_rdata_opt_current(dns_rdata_opt_t *, dns_rdata_opt_opcode_t *); + +#endif /* GENERIC_OPT_41_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_UNSPEC_103_H +#define GENERIC_UNSPEC_103_H 1 + +/* $Id: unspec_103.h,v 1.12 2001/01/09 21:54:54 bwelling Exp $ */ + +typedef struct dns_rdata_unspec_t { + dns_rdatacommon_t common; + isc_mem_t *mctx; + unsigned char *data; + isc_uint16_t datalen; +} dns_rdata_unspec_t; + +#endif /* GENERIC_UNSPEC_103_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM 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. + */ + +#ifndef GENERIC_TKEY_249_H +#define GENERIC_TKEY_249_H 1 + +/* $Id: tkey_249.h,v 1.18 2001/01/09 21:54:50 bwelling Exp $ */ + +/* draft-ietf-dnsind-tkey-00.txt */ + +typedef struct dns_rdata_key { + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t algorithm; + isc_uint32_t inception; + isc_uint32_t expire; + isc_uint16_t mode; + isc_uint16_t error; + isc_uint16_t keylen; + unsigned char * key; + isc_uint16_t otherlen; + unsigned char * other; +} dns_rdata_tkey_t; + + +#endif /* GENERIC_TKEY_249_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: tsig_250.h,v 1.20 2001/01/09 21:53:49 bwelling Exp $ */ + +/* RFC 2845 */ + +#ifndef ANY_255_TSIG_250_H +#define ANY_255_TSIG_250_H 1 + +typedef struct dns_rdata_any_tsig { + dns_rdatacommon_t common; + isc_mem_t * mctx; + dns_name_t algorithm; + isc_uint64_t timesigned; + isc_uint16_t fudge; + isc_uint16_t siglen; + unsigned char * signature; + isc_uint16_t originalid; + isc_uint16_t error; + isc_uint16_t otherlen; + unsigned char * other; +} dns_rdata_any_tsig_t; + +#endif /* ANY_255_TSIG_250_H */ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: rdatastructsuf.h,v 1.7 2001/01/09 21:53:46 bwelling Exp $ */ + +ISC_LANG_ENDDECLS + +#endif /* DNS_RDATASTRUCT_H */ diff --git a/usr.sbin/named/include/isc/os.h b/usr.sbin/named/include/isc/os.h new file mode 100644 index 0000000000..9dff0aa5ca --- /dev/null +++ b/usr.sbin/named/include/isc/os.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2000, 2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: os.h,v 1.5 2001/01/09 21:57:19 bwelling Exp $ */ +/* $DragonFly: src/usr.sbin/named/include/isc/os.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef ISC_OS_H +#define ISC_OS_H 1 + +#include + +ISC_LANG_BEGINDECLS + +unsigned int +isc_os_ncpus(void); +/* + * Return the number of CPUs available on the system, or 1 if this cannot + * be determined. + */ + +ISC_LANG_ENDDECLS + +#endif /* ISC_OS_H */ diff --git a/usr.sbin/named/include/isc/platform.h b/usr.sbin/named/include/isc/platform.h new file mode 100644 index 0000000000..5f4f8718e4 --- /dev/null +++ b/usr.sbin/named/include/isc/platform.h @@ -0,0 +1,198 @@ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: platform.h.in,v 1.24.2.1 2001/11/02 00:20:07 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/include/isc/platform.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef ISC_PLATFORM_H +#define ISC_PLATFORM_H 1 + +/***** + ***** Platform-dependent defines. + *****/ + +/*** + *** Network. + ***/ + +/* + * Define if this system needs the header file included + * for full IPv6 support (pretty much only UnixWare). + */ +#undef ISC_PLATFORM_NEEDNETINETIN6H + +/* + * Define if this system needs the header file included + * to support in6_pkinfo (pretty much only BSD/OS). + */ +#undef ISC_PLATFORM_NEEDNETINET6IN6H + +/* + * If sockaddrs on this system have an sa_len field, ISC_PLATFORM_HAVESALEN + * will be defined. + */ +#define ISC_PLATFORM_HAVESALEN 1 + +/* + * If this system has the IPv6 structure definitions, ISC_PLATFORM_HAVEIPV6 + * will be defined. + */ +#define ISC_PLATFORM_HAVEIPV6 1 + +/* + * If this system is missing in6addr_any, ISC_PLATFORM_NEEDIN6ADDRANY will + * be defined. + */ +#undef ISC_PLATFORM_NEEDIN6ADDRANY + +/* + * If this system is missing in6addr_loopback, ISC_PLATFORM_NEEDIN6ADDRLOOPBACK + * will be defined. + */ +#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK + +/* + * If this system has in6_pktinfo, ISC_PLATFORM_HAVEIN6PKTINFO will be + * defined. + */ +#define ISC_PLATFORM_HAVEIN6PKTINFO 1 + +/* + * If this system has in_addr6, rather than in6_addr, ISC_PLATFORM_HAVEINADDR6 + * will be defined. + */ +#undef ISC_PLATFORM_HAVEINADDR6 + +/* + * If this system needs inet_ntop(), ISC_PLATFORM_NEEDNTOP will be defined. + */ +#undef ISC_PLATFORM_NEEDNTOP + +/* + * If this system needs inet_pton(), ISC_PLATFORM_NEEDPTON will be defined. + */ +#define ISC_PLATFORM_NEEDPTON 1 + +/* + * If this system needs inet_aton(), ISC_PLATFORM_NEEDATON will be defined. + */ +#undef ISC_PLATFORM_NEEDATON + +/* + * If this system needs in_port_t, ISC_PLATFORM_NEEDPORTT will be defined. + */ +#undef ISC_PLATFORM_NEEDPORTT + +/* + * If the system needs strsep(), ISC_PLATFORM_NEEDSTRSEP will be defined. + */ +#undef ISC_PLATFORM_NEEDSTRSEP + +/* + * Define either ISC_PLATFORM_BSD44MSGHDR or ISC_PLATFORM_BSD43MSGHDR. + */ +#define ISC_NET_BSD44MSGHDR 1 + +/* + * Define if PTHREAD_ONCE_INIT should be surrounded by braces to + * prevent compiler warnings (such as with gcc on Solaris 2.8). + */ +#undef ISC_PLATFORM_BRACEPTHREADONCEINIT + +/* + * Define on some UnixWare systems to fix erroneous definitions of various + * IN6_IS_ADDR_* macros. + */ +#undef ISC_PLATFORM_FIXIN6ISADDR + +/*** + *** Printing. + ***/ + +/* + * If this system needs vsnprintf() and snprintf(), ISC_PLATFORM_NEEDVSNPRINTF + * will be defined. + */ +#undef ISC_PLATFORM_NEEDVSNPRINTF + +/* + * The printf format string modifier to use with isc_uint64_t values. + */ +#define ISC_PLATFORM_QUADFORMAT "ll" + +/* + * Defined if we are using threads. + */ +#undef ISC_PLATFORM_USETHREADS + +/* + * Defined if unistd.h does not cause fd_set to be delared. + */ +#undef ISC_PLATFORM_NEEDSYSSELECTH + +/* + * Type used for resource limits. + */ +#define ISC_PLATFORM_RLIMITTYPE rlim_t + +/* + * Define if your compiler supports "long long int". + */ +#define ISC_PLATFORM_HAVELONGLONG 1 + +/* + * Used to control how extern data is linked; needed for Win32 platforms. + */ +#undef ISC_PLATFORM_USEDECLSPEC + +#ifndef ISC_PLATFORM_USEDECLSPEC +#define LIBISC_EXTERNAL_DATA +#define LIBDNS_EXTERNAL_DATA +#define LIBISCCC_EXTERNAL_DATA +#define LIBISCCFG_EXTERNAL_DATA +#else /* ISC_PLATFORM_USEDECLSPEC */ +#ifdef LIBISC_EXPORTS +#define LIBISC_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISC_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBDNS_EXPORTS +#define LIBDNS_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBDNS_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBISCCC_EXPORTS +#define LIBISCCC_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISCCC_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBISCCFG_EXPORTS +#define LIBISCCFG_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISCCFG_EXTERNAL_DATA __declspec(dllimport) +#endif +#endif /* ISC_PLATFORM_USEDECLSPEC */ + +/* + * Tell emacs to use C mode for this file. + * + * Local Variables: + * mode: c + * End: + */ + +#endif /* ISC_PLATFORM_H */ diff --git a/usr.sbin/named/include/lwres/netdb.h b/usr.sbin/named/include/lwres/netdb.h new file mode 100644 index 0000000000..695fc73a86 --- /dev/null +++ b/usr.sbin/named/include/lwres/netdb.h @@ -0,0 +1,519 @@ +/* + * Copyright (C) 2000, 2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: netdb.h.in,v 1.34 2001/08/16 06:39:33 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/include/lwres/netdb.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef LWRES_NETDB_H +#define LWRES_NETDB_H 1 + +#include /* Required on FreeBSD (and others?) for size_t. */ +#include /* Contractual provision. */ + +#include + +/* + * Define if does not declare struct addrinfo. + */ +#undef ISC_LWRES_NEEDADDRINFO + +#ifdef ISC_LWRES_NEEDADDRINFO +struct addrinfo { + int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ + int ai_family; /* PF_xxx */ + int ai_socktype; /* SOCK_xxx */ + int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ + size_t ai_addrlen; /* Length of ai_addr */ + char *ai_canonname; /* Canonical name for hostname */ + struct sockaddr *ai_addr; /* Binary address */ + struct addrinfo *ai_next; /* Next structure in linked list */ +}; +#endif + +/* + * Undefine all #defines we are interested in as may or may not have + * defined them. + */ + +/* + * Error return codes from gethostbyname() and gethostbyaddr() + * (left in extern int h_errno). + */ + +#undef NETDB_INTERNAL +#undef NETDB_SUCCESS +#undef HOST_NOT_FOUND +#undef TRY_AGAIN +#undef NO_RECOVERY +#undef NO_DATA +#undef NO_ADDRESS + +#define NETDB_INTERNAL -1 /* see errno */ +#define NETDB_SUCCESS 0 /* no problem */ +#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ +#define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */ +#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ +#define NO_DATA 4 /* Valid name, no data record of requested type */ +#define NO_ADDRESS NO_DATA /* no address, look for MX record */ + +/* + * Error return codes from getaddrinfo() + */ + +#undef EAI_ADDRFAMILY +#undef EAI_AGAIN +#undef EAI_BADFLAGS +#undef EAI_FAIL +#undef EAI_FAMILY +#undef EAI_MEMORY +#undef EAI_NODATA +#undef EAI_NONAME +#undef EAI_SERVICE +#undef EAI_SOCKTYPE +#undef EAI_SYSTEM +#undef EAI_BADHINTS +#undef EAI_PROTOCOL +#undef EAI_MAX + +#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ +#define EAI_AGAIN 2 /* temporary failure in name resolution */ +#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ +#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ +#define EAI_FAMILY 5 /* ai_family not supported */ +#define EAI_MEMORY 6 /* memory allocation failure */ +#define EAI_NODATA 7 /* no address associated with hostname */ +#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ +#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ +#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ +#define EAI_SYSTEM 11 /* system error returned in errno */ +#define EAI_BADHINTS 12 +#define EAI_PROTOCOL 13 +#define EAI_MAX 14 + +/* + * Flag values for getaddrinfo() + */ +#undef AI_PASSIVE +#undef AI_CANONNAME +#undef AI_NUMERICHOST + +#define AI_PASSIVE 0x00000001 +#define AI_CANONNAME 0x00000002 +#define AI_NUMERICHOST 0x00000004 + +/* + * Flag values for getipnodebyname() + */ +#undef AI_V4MAPPED +#undef AI_ALL +#undef AI_ADDRCONFIG +#undef AI_DEFAULT + +#define AI_V4MAPPED 0x00000008 +#define AI_ALL 0x00000010 +#define AI_ADDRCONFIG 0x00000020 +#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG) + +/* + * Constants for lwres_getnameinfo() + */ +#undef NI_MAXHOST +#undef NI_MAXSERV + +#define NI_MAXHOST 1025 +#define NI_MAXSERV 32 + +/* + * Flag values for lwres_getnameinfo() + */ +#undef NI_NOFQDN +#undef NI_NUMERICHOST +#undef NI_NAMEREQD +#undef NI_NUMERICSERV +#undef NI_DGRAM +#undef NI_NUMERICSCOPE + +#define NI_NOFQDN 0x00000001 +#define NI_NUMERICHOST 0x00000002 +#define NI_NAMEREQD 0x00000004 +#define NI_NUMERICSERV 0x00000008 +#define NI_DGRAM 0x00000010 +#define NI_NUMERICSCOPE 0x00000020 /*2553bis-00*/ + +/* + * Define if does not declare struct rrsetinfo. + */ +#define ISC_LWRES_NEEDRRSETINFO 1 + +#ifdef ISC_LWRES_NEEDRRSETINFO +/* + * Structures for getrrsetbyname() + */ +struct rdatainfo { + unsigned int rdi_length; + unsigned char *rdi_data; +}; + +struct rrsetinfo { + unsigned int rri_flags; + int rri_rdclass; + int rri_rdtype; + unsigned int rri_ttl; + unsigned int rri_nrdatas; + unsigned int rri_nsigs; + char *rri_name; + struct rdatainfo *rri_rdatas; + struct rdatainfo *rri_sigs; +}; + +/* + * Flags for getrrsetbyname() + */ +#define RRSET_VALIDATED 0x00000001 + /* Set was dnssec validated */ + +/* + * Return codes for getrrsetbyname() + */ +#define ERRSET_SUCCESS 0 +#define ERRSET_NOMEMORY 1 +#define ERRSET_FAIL 2 +#define ERRSET_INVAL 3 +#define ERRSET_NONAME 4 +#define ERRSET_NODATA 5 +#endif + +/* + * Define to map into lwres_ namespace. + */ + +#define LWRES_NAMESPACE + +#ifdef LWRES_NAMESPACE + +/* + * Use our versions not the ones from the C library. + */ + +#ifdef getnameinfo +#undef getnameinfo +#endif +#define getnameinfo lwres_getnameinfo + +#ifdef getaddrinfo +#undef getaddrinfo +#endif +#define getaddrinfo lwres_getaddrinfo + +#ifdef freeaddrinfo +#undef freeaddrinfo +#endif +#define freeaddrinfo lwres_freeaddrinfo + +#ifdef gai_strerror +#undef gai_strerror +#endif +#define gai_strerror lwres_gai_strerror + +#ifdef herror +#undef herror +#endif +#define herror lwres_herror + +#ifdef hstrerror +#undef hstrerror +#endif +#define hstrerror lwres_hstrerror + +#ifdef getipnodebyname +#undef getipnodebyname +#endif +#define getipnodebyname lwres_getipnodebyname + +#ifdef getipnodebyaddr +#undef getipnodebyaddr +#endif +#define getipnodebyaddr lwres_getipnodebyaddr + +#ifdef freehostent +#undef freehostent +#endif +#define freehostent lwres_freehostent + +#ifdef gethostbyname +#undef gethostbyname +#endif +#define gethostbyname lwres_gethostbyname + +#ifdef gethostbyname2 +#undef gethostbyname2 +#endif +#define gethostbyname2 lwres_gethostbyname2 + +#ifdef gethostbyaddr +#undef gethostbyaddr +#endif +#define gethostbyaddr lwres_gethostbyaddr + +#ifdef gethostent +#undef gethostent +#endif +#define gethostent lwres_gethostent + +#ifdef sethostent +#undef sethostent +#endif +#define sethostent lwres_sethostent + +#ifdef endhostent +#undef endhostent +#endif +#define endhostent lwres_endhostent + +/* #define sethostfile lwres_sethostfile */ + +#ifdef gethostbyname_r +#undef gethostbyname_r +#endif +#define gethostbyname_r lwres_gethostbyname_r + +#ifdef gethostbyaddr_r +#undef gethostbyaddr_r +#endif +#define gethostbyaddr_r lwres_gethostbyaddr_r + +#ifdef gethostent_r +#undef gethostent_r +#endif +#define gethostent_r lwres_gethostent_r + +#ifdef sethostent_r +#undef sethostent_r +#endif +#define sethostent_r lwres_sethostent_r + +#ifdef endhostent_r +#undef endhostent_r +#endif +#define endhostent_r lwres_endhostent_r + +#ifdef getrrsetbyname +#undef getrrsetbyname +#endif +#define getrrsetbyname lwres_getrrsetbyname + +#ifdef freerrset +#undef freerrset +#endif +#define freerrset lwres_freerrset + +#ifdef notyet +#define getservbyname lwres_getservbyname +#define getservbyport lwres_getservbyport +#define getservent lwres_getservent +#define setservent lwres_setservent +#define endservent lwres_endservent + +#define getservbyname_r lwres_getservbyname_r +#define getservbyport_r lwres_getservbyport_r +#define getservent_r lwres_getservent_r +#define setservent_r lwres_setservent_r +#define endservent_r lwres_endservent_r + +#define getprotobyname lwres_getprotobyname +#define getprotobynumber lwres_getprotobynumber +#define getprotoent lwres_getprotoent +#define setprotoent lwres_setprotoent +#define endprotoent lwres_endprotoent + +#define getprotobyname_r lwres_getprotobyname_r +#define getprotobynumber_r lwres_getprotobynumber_r +#define getprotoent_r lwres_getprotoent_r +#define setprotoent_r lwres_setprotoent_r +#define endprotoent_r lwres_endprotoent_r + +#ifdef getnetbyname +#undef getnetbyname +#endif +#define getnetbyname lwres_getnetbyname + +#ifdef getnetbyaddr +#undef getnetbyaddr +#endif +#define getnetbyaddr lwres_getnetbyaddr + +#ifdef getnetent +#undef getnetent +#endif +#define getnetent lwres_getnetent + +#ifdef setnetent +#undef setnetent +#endif +#define setnetent lwres_setnetent + +#ifdef endnetent +#undef endnetent +#endif +#define endnetent lwres_endnetent + + +#ifdef getnetbyname_r +#undef getnetbyname_r +#endif +#define getnetbyname_r lwres_getnetbyname_r + +#ifdef getnetbyaddr_r +#undef getnetbyaddr_r +#endif +#define getnetbyaddr_r lwres_getnetbyaddr_r + +#ifdef getnetent_r +#undef getnetent_r +#endif +#define getnetent_r lwres_getnetent_r + +#ifdef setnetent_r +#undef setnetent_r +#endif +#define setnetent_r lwres_setnetent_r + +#ifdef endnetent_r +#undef endnetent_r +#endif +#define endnetent_r lwres_endnetent_r +#endif /* notyet */ + +#ifdef h_errno +#undef h_errno +#endif +#define h_errno lwres_h_errno + +#endif /* LWRES_NAMESPACE */ + +LWRES_LANG_BEGINDECLS + +extern int lwres_h_errno; + +int lwres_getaddrinfo(const char *, const char *, + const struct addrinfo *, struct addrinfo **); +int lwres_getnameinfo(const struct sockaddr *, size_t, char *, + size_t, char *, size_t, int); +void lwres_freeaddrinfo(struct addrinfo *); +char *lwres_gai_strerror(int); + +struct hostent *lwres_gethostbyaddr(const char *, int, int); +struct hostent *lwres_gethostbyname(const char *); +struct hostent *lwres_gethostbyname2(const char *, int); +struct hostent *lwres_gethostent(void); +struct hostent *lwres_getipnodebyname(const char *, int, int, int *); +struct hostent *lwres_getipnodebyaddr(const void *, size_t, int, int *); +void lwres_endhostent(void); +void lwres_sethostent(int); +/* void lwres_sethostfile(const char *); */ +void lwres_freehostent(struct hostent *); + +int lwres_getrrsetbyname(const char *, unsigned int, unsigned int, + unsigned int, struct rrsetinfo **); +void lwres_freerrset(struct rrsetinfo *); + +#ifdef notyet +struct netent *lwres_getnetbyaddr(unsigned long, int); +struct netent *lwres_getnetbyname(const char *); +struct netent *lwres_getnetent(void); +void lwres_endnetent(void); +void lwres_setnetent(int); + +struct protoent *lwres_getprotobyname(const char *); +struct protoent *lwres_getprotobynumber(int); +struct protoent *lwres_getprotoent(void); +void lwres_endprotoent(void); +void lwres_setprotoent(int); + +struct servent *lwres_getservbyname(const char *, const char *); +struct servent *lwres_getservbyport(int, const char *); +struct servent *lwres_getservent(void); +void lwres_endservent(void); +void lwres_setservent(int); +#endif /* notyet */ + +void lwres_herror(const char *); +const char *lwres_hstrerror(int); + + +struct hostent *lwres_gethostbyaddr_r(const char *, int, int, struct hostent *, + char *, int, int *); +struct hostent *lwres_gethostbyname_r(const char *, struct hostent *, + char *, int, int *); +struct hostent *lwres_gethostent_r(struct hostent *, char *, int, int *); +void lwres_sethostent_r(int); +void lwres_endhostent_r(void); + +#ifdef notyet +struct netent *lwres_getnetbyname_r(const char *, struct netent *, + char *, int); +struct netent *lwres_getnetbyaddr_r(long, int, struct netent *, + char *, int); +struct netent *lwres_getnetent_r(struct netent *, char *, int); +void lwres_setnetent_r(int); +void lwres_endnetent_r(void); + +struct protoent *lwres_getprotobyname_r(const char *, + struct protoent *, char *, int); +struct protoent *lwres_getprotobynumber_r(int, + struct protoent *, char *, int); +struct protoent *lwres_getprotoent_r(struct protoent *, char *, int); +void lwres_setprotoent_r(int); +void lwres_endprotoent_r(void); + +struct servent *lwres_getservbyname_r(const char *name, const char *, + struct servent *, char *, int); +struct servent *lwres_getservbyport_r(int port, const char *, + struct servent *, char *, int); +struct servent *lwres_getservent_r(struct servent *, char *, int); +void lwres_setservent_r(int); +void lwres_endservent_r(void); +#endif /* notyet */ + +LWRES_LANG_ENDDECLS + +#ifdef notyet +/* This is nec'y to make this include file properly replace the sun version. */ +#ifdef sun +#ifdef __GNU_LIBRARY__ +#include /* Required. */ +#else /* !__GNU_LIBRARY__ */ +struct rpcent { + char *r_name; /* name of server for this rpc program */ + char **r_aliases; /* alias list */ + int r_number; /* rpc program number */ +}; +struct rpcent *lwres_getrpcbyname(); +struct rpcent *lwres_getrpcbynumber(), +struct rpcent *lwres_getrpcent(); +#endif /* __GNU_LIBRARY__ */ +#endif /* sun */ +#endif /* notyet */ + +/* + * Tell Emacs to use C mode on this file. + * Local variables: + * mode: c + * End: + */ + +#endif /* LWRES_NETDB_H */ diff --git a/usr.sbin/named/include/lwres/platform.h b/usr.sbin/named/include/lwres/platform.h new file mode 100644 index 0000000000..3339b8b087 --- /dev/null +++ b/usr.sbin/named/include/lwres/platform.h @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2000, 2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: platform.h.in,v 1.12.2.1 2001/11/02 00:20:10 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/include/lwres/platform.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef LWRES_PLATFORM_H +#define LWRES_PLATFORM_H 1 + +/***** + ***** Platform-dependent defines. + *****/ + +/*** + *** Network. + ***/ + +/* + * Define if this system needs the header file for IPv6. + */ +#undef LWRES_PLATFORM_NEEDNETINETIN6H + +/* + * Define if this system needs the header file for IPv6. + */ +#undef LWRES_PLATFORM_NEEDNETINET6IN6H + +/* + * If sockaddrs on this system have an sa_len field, LWRES_PLATFORM_HAVESALEN + * will be defined. + */ +#define LWRES_PLATFORM_HAVESALEN 1 + +/* + * If this system has the IPv6 structure definitions, LWRES_PLATFORM_HAVEIPV6 + * will be defined. + */ +#define LWRES_PLATFORM_HAVEIPV6 1 + +/* + * If this system is missing in6addr_any, LWRES_PLATFORM_NEEDIN6ADDRANY will + * be defined. + */ +#undef LWRES_PLATFORM_NEEDIN6ADDRANY + +/* + * If this system is missing in6addr_loopback, + * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined. + */ +#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK + +/* + * If this system has in_addr6, rather than in6_addr, + * LWRES_PLATFORM_HAVEINADDR6 will be defined. + */ +#undef LWRES_PLATFORM_HAVEINADDR6 + +/* + * Defined if unistd.h does not cause fd_set to be delared. + */ +#undef LWRES_PLATFORM_NEEDSYSSELECTH + +/* + * Used to control how extern data is linked; needed for Win32 platforms. + */ +#undef LWRES_PLATFORM_USEDECLSPEC + +#ifndef LWRES_PLATFORM_USEDECLSPEC +#define LIBLWRES_EXTERNAL_DATA +#else +#ifdef LIBLWRES_EXPORTS +#define LIBLWRES_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBLWRES_EXTERNAL_DATA __declspec(dllimport) +#endif +#endif + +#endif /* LWRES_PLATFORM_H */ diff --git a/usr.sbin/named/include/named/os.h b/usr.sbin/named/include/named/os.h new file mode 100644 index 0000000000..32e060f86a --- /dev/null +++ b/usr.sbin/named/include/named/os.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 1999-2002 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: os.h,v 1.14.2.2 2002/08/05 06:57:03 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/include/named/os.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef NS_OS_H +#define NS_OS_H 1 + +#include + +void +ns_os_init(const char *progname); + +void +ns_os_daemonize(void); + +void +ns_os_chroot(const char *root); + +void +ns_os_inituserinfo(const char *username); + +void +ns_os_changeuser(void); + +void +ns_os_minprivs(void); + +void +ns_os_writepidfile(const char *filename, isc_boolean_t first_time); + +void +ns_os_shutdown(void); + +#endif /* NS_OS_H */ diff --git a/usr.sbin/named/isc/os.h b/usr.sbin/named/isc/os.h new file mode 100644 index 0000000000..0f9848705f --- /dev/null +++ b/usr.sbin/named/isc/os.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2000, 2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: os.h,v 1.5 2001/01/09 21:57:19 bwelling Exp $ */ +/* $DragonFly: src/usr.sbin/named/isc/Attic/os.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef ISC_OS_H +#define ISC_OS_H 1 + +#include + +ISC_LANG_BEGINDECLS + +unsigned int +isc_os_ncpus(void); +/* + * Return the number of CPUs available on the system, or 1 if this cannot + * be determined. + */ + +ISC_LANG_ENDDECLS + +#endif /* ISC_OS_H */ diff --git a/usr.sbin/named/isc/platform.h b/usr.sbin/named/isc/platform.h new file mode 100644 index 0000000000..3aee93cd22 --- /dev/null +++ b/usr.sbin/named/isc/platform.h @@ -0,0 +1,198 @@ +/* + * Copyright (C) 1999-2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: platform.h.in,v 1.24.2.1 2001/11/02 00:20:07 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/isc/Attic/platform.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef ISC_PLATFORM_H +#define ISC_PLATFORM_H 1 + +/***** + ***** Platform-dependent defines. + *****/ + +/*** + *** Network. + ***/ + +/* + * Define if this system needs the header file included + * for full IPv6 support (pretty much only UnixWare). + */ +#undef ISC_PLATFORM_NEEDNETINETIN6H + +/* + * Define if this system needs the header file included + * to support in6_pkinfo (pretty much only BSD/OS). + */ +#undef ISC_PLATFORM_NEEDNETINET6IN6H + +/* + * If sockaddrs on this system have an sa_len field, ISC_PLATFORM_HAVESALEN + * will be defined. + */ +#define ISC_PLATFORM_HAVESALEN 1 + +/* + * If this system has the IPv6 structure definitions, ISC_PLATFORM_HAVEIPV6 + * will be defined. + */ +#define ISC_PLATFORM_HAVEIPV6 1 + +/* + * If this system is missing in6addr_any, ISC_PLATFORM_NEEDIN6ADDRANY will + * be defined. + */ +#undef ISC_PLATFORM_NEEDIN6ADDRANY + +/* + * If this system is missing in6addr_loopback, ISC_PLATFORM_NEEDIN6ADDRLOOPBACK + * will be defined. + */ +#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK + +/* + * If this system has in6_pktinfo, ISC_PLATFORM_HAVEIN6PKTINFO will be + * defined. + */ +#define ISC_PLATFORM_HAVEIN6PKTINFO 1 + +/* + * If this system has in_addr6, rather than in6_addr, ISC_PLATFORM_HAVEINADDR6 + * will be defined. + */ +#undef ISC_PLATFORM_HAVEINADDR6 + +/* + * If this system needs inet_ntop(), ISC_PLATFORM_NEEDNTOP will be defined. + */ +#undef ISC_PLATFORM_NEEDNTOP + +/* + * If this system needs inet_pton(), ISC_PLATFORM_NEEDPTON will be defined. + */ +#define ISC_PLATFORM_NEEDPTON 1 + +/* + * If this system needs inet_aton(), ISC_PLATFORM_NEEDATON will be defined. + */ +#undef ISC_PLATFORM_NEEDATON + +/* + * If this system needs in_port_t, ISC_PLATFORM_NEEDPORTT will be defined. + */ +#undef ISC_PLATFORM_NEEDPORTT + +/* + * If the system needs strsep(), ISC_PLATFORM_NEEDSTRSEP will be defined. + */ +#undef ISC_PLATFORM_NEEDSTRSEP + +/* + * Define either ISC_PLATFORM_BSD44MSGHDR or ISC_PLATFORM_BSD43MSGHDR. + */ +#define ISC_NET_BSD44MSGHDR 1 + +/* + * Define if PTHREAD_ONCE_INIT should be surrounded by braces to + * prevent compiler warnings (such as with gcc on Solaris 2.8). + */ +#undef ISC_PLATFORM_BRACEPTHREADONCEINIT + +/* + * Define on some UnixWare systems to fix erroneous definitions of various + * IN6_IS_ADDR_* macros. + */ +#undef ISC_PLATFORM_FIXIN6ISADDR + +/*** + *** Printing. + ***/ + +/* + * If this system needs vsnprintf() and snprintf(), ISC_PLATFORM_NEEDVSNPRINTF + * will be defined. + */ +#undef ISC_PLATFORM_NEEDVSNPRINTF + +/* + * The printf format string modifier to use with isc_uint64_t values. + */ +#define ISC_PLATFORM_QUADFORMAT "ll" + +/* + * Defined if we are using threads. + */ +#undef ISC_PLATFORM_USETHREADS + +/* + * Defined if unistd.h does not cause fd_set to be delared. + */ +#undef ISC_PLATFORM_NEEDSYSSELECTH + +/* + * Type used for resource limits. + */ +#define ISC_PLATFORM_RLIMITTYPE rlim_t + +/* + * Define if your compiler supports "long long int". + */ +#define ISC_PLATFORM_HAVELONGLONG 1 + +/* + * Used to control how extern data is linked; needed for Win32 platforms. + */ +#undef ISC_PLATFORM_USEDECLSPEC + +#ifndef ISC_PLATFORM_USEDECLSPEC +#define LIBISC_EXTERNAL_DATA +#define LIBDNS_EXTERNAL_DATA +#define LIBISCCC_EXTERNAL_DATA +#define LIBISCCFG_EXTERNAL_DATA +#else /* ISC_PLATFORM_USEDECLSPEC */ +#ifdef LIBISC_EXPORTS +#define LIBISC_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISC_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBDNS_EXPORTS +#define LIBDNS_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBDNS_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBISCCC_EXPORTS +#define LIBISCCC_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISCCC_EXTERNAL_DATA __declspec(dllimport) +#endif +#ifdef LIBISCCFG_EXPORTS +#define LIBISCCFG_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBISCCFG_EXTERNAL_DATA __declspec(dllimport) +#endif +#endif /* ISC_PLATFORM_USEDECLSPEC */ + +/* + * Tell emacs to use C mode for this file. + * + * Local Variables: + * mode: c + * End: + */ + +#endif /* ISC_PLATFORM_H */ diff --git a/usr.sbin/named/lwres/netdb.h b/usr.sbin/named/lwres/netdb.h new file mode 100644 index 0000000000..db8729803d --- /dev/null +++ b/usr.sbin/named/lwres/netdb.h @@ -0,0 +1,519 @@ +/* + * Copyright (C) 2000, 2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: netdb.h.in,v 1.34 2001/08/16 06:39:33 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/lwres/Attic/netdb.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef LWRES_NETDB_H +#define LWRES_NETDB_H 1 + +#include /* Required on FreeBSD (and others?) for size_t. */ +#include /* Contractual provision. */ + +#include + +/* + * Define if does not declare struct addrinfo. + */ +#undef ISC_LWRES_NEEDADDRINFO + +#ifdef ISC_LWRES_NEEDADDRINFO +struct addrinfo { + int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ + int ai_family; /* PF_xxx */ + int ai_socktype; /* SOCK_xxx */ + int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ + size_t ai_addrlen; /* Length of ai_addr */ + char *ai_canonname; /* Canonical name for hostname */ + struct sockaddr *ai_addr; /* Binary address */ + struct addrinfo *ai_next; /* Next structure in linked list */ +}; +#endif + +/* + * Undefine all #defines we are interested in as may or may not have + * defined them. + */ + +/* + * Error return codes from gethostbyname() and gethostbyaddr() + * (left in extern int h_errno). + */ + +#undef NETDB_INTERNAL +#undef NETDB_SUCCESS +#undef HOST_NOT_FOUND +#undef TRY_AGAIN +#undef NO_RECOVERY +#undef NO_DATA +#undef NO_ADDRESS + +#define NETDB_INTERNAL -1 /* see errno */ +#define NETDB_SUCCESS 0 /* no problem */ +#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ +#define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */ +#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ +#define NO_DATA 4 /* Valid name, no data record of requested type */ +#define NO_ADDRESS NO_DATA /* no address, look for MX record */ + +/* + * Error return codes from getaddrinfo() + */ + +#undef EAI_ADDRFAMILY +#undef EAI_AGAIN +#undef EAI_BADFLAGS +#undef EAI_FAIL +#undef EAI_FAMILY +#undef EAI_MEMORY +#undef EAI_NODATA +#undef EAI_NONAME +#undef EAI_SERVICE +#undef EAI_SOCKTYPE +#undef EAI_SYSTEM +#undef EAI_BADHINTS +#undef EAI_PROTOCOL +#undef EAI_MAX + +#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ +#define EAI_AGAIN 2 /* temporary failure in name resolution */ +#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ +#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ +#define EAI_FAMILY 5 /* ai_family not supported */ +#define EAI_MEMORY 6 /* memory allocation failure */ +#define EAI_NODATA 7 /* no address associated with hostname */ +#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ +#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ +#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ +#define EAI_SYSTEM 11 /* system error returned in errno */ +#define EAI_BADHINTS 12 +#define EAI_PROTOCOL 13 +#define EAI_MAX 14 + +/* + * Flag values for getaddrinfo() + */ +#undef AI_PASSIVE +#undef AI_CANONNAME +#undef AI_NUMERICHOST + +#define AI_PASSIVE 0x00000001 +#define AI_CANONNAME 0x00000002 +#define AI_NUMERICHOST 0x00000004 + +/* + * Flag values for getipnodebyname() + */ +#undef AI_V4MAPPED +#undef AI_ALL +#undef AI_ADDRCONFIG +#undef AI_DEFAULT + +#define AI_V4MAPPED 0x00000008 +#define AI_ALL 0x00000010 +#define AI_ADDRCONFIG 0x00000020 +#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG) + +/* + * Constants for lwres_getnameinfo() + */ +#undef NI_MAXHOST +#undef NI_MAXSERV + +#define NI_MAXHOST 1025 +#define NI_MAXSERV 32 + +/* + * Flag values for lwres_getnameinfo() + */ +#undef NI_NOFQDN +#undef NI_NUMERICHOST +#undef NI_NAMEREQD +#undef NI_NUMERICSERV +#undef NI_DGRAM +#undef NI_NUMERICSCOPE + +#define NI_NOFQDN 0x00000001 +#define NI_NUMERICHOST 0x00000002 +#define NI_NAMEREQD 0x00000004 +#define NI_NUMERICSERV 0x00000008 +#define NI_DGRAM 0x00000010 +#define NI_NUMERICSCOPE 0x00000020 /*2553bis-00*/ + +/* + * Define if does not declare struct rrsetinfo. + */ +#define ISC_LWRES_NEEDRRSETINFO 1 + +#ifdef ISC_LWRES_NEEDRRSETINFO +/* + * Structures for getrrsetbyname() + */ +struct rdatainfo { + unsigned int rdi_length; + unsigned char *rdi_data; +}; + +struct rrsetinfo { + unsigned int rri_flags; + int rri_rdclass; + int rri_rdtype; + unsigned int rri_ttl; + unsigned int rri_nrdatas; + unsigned int rri_nsigs; + char *rri_name; + struct rdatainfo *rri_rdatas; + struct rdatainfo *rri_sigs; +}; + +/* + * Flags for getrrsetbyname() + */ +#define RRSET_VALIDATED 0x00000001 + /* Set was dnssec validated */ + +/* + * Return codes for getrrsetbyname() + */ +#define ERRSET_SUCCESS 0 +#define ERRSET_NOMEMORY 1 +#define ERRSET_FAIL 2 +#define ERRSET_INVAL 3 +#define ERRSET_NONAME 4 +#define ERRSET_NODATA 5 +#endif + +/* + * Define to map into lwres_ namespace. + */ + +#define LWRES_NAMESPACE + +#ifdef LWRES_NAMESPACE + +/* + * Use our versions not the ones from the C library. + */ + +#ifdef getnameinfo +#undef getnameinfo +#endif +#define getnameinfo lwres_getnameinfo + +#ifdef getaddrinfo +#undef getaddrinfo +#endif +#define getaddrinfo lwres_getaddrinfo + +#ifdef freeaddrinfo +#undef freeaddrinfo +#endif +#define freeaddrinfo lwres_freeaddrinfo + +#ifdef gai_strerror +#undef gai_strerror +#endif +#define gai_strerror lwres_gai_strerror + +#ifdef herror +#undef herror +#endif +#define herror lwres_herror + +#ifdef hstrerror +#undef hstrerror +#endif +#define hstrerror lwres_hstrerror + +#ifdef getipnodebyname +#undef getipnodebyname +#endif +#define getipnodebyname lwres_getipnodebyname + +#ifdef getipnodebyaddr +#undef getipnodebyaddr +#endif +#define getipnodebyaddr lwres_getipnodebyaddr + +#ifdef freehostent +#undef freehostent +#endif +#define freehostent lwres_freehostent + +#ifdef gethostbyname +#undef gethostbyname +#endif +#define gethostbyname lwres_gethostbyname + +#ifdef gethostbyname2 +#undef gethostbyname2 +#endif +#define gethostbyname2 lwres_gethostbyname2 + +#ifdef gethostbyaddr +#undef gethostbyaddr +#endif +#define gethostbyaddr lwres_gethostbyaddr + +#ifdef gethostent +#undef gethostent +#endif +#define gethostent lwres_gethostent + +#ifdef sethostent +#undef sethostent +#endif +#define sethostent lwres_sethostent + +#ifdef endhostent +#undef endhostent +#endif +#define endhostent lwres_endhostent + +/* #define sethostfile lwres_sethostfile */ + +#ifdef gethostbyname_r +#undef gethostbyname_r +#endif +#define gethostbyname_r lwres_gethostbyname_r + +#ifdef gethostbyaddr_r +#undef gethostbyaddr_r +#endif +#define gethostbyaddr_r lwres_gethostbyaddr_r + +#ifdef gethostent_r +#undef gethostent_r +#endif +#define gethostent_r lwres_gethostent_r + +#ifdef sethostent_r +#undef sethostent_r +#endif +#define sethostent_r lwres_sethostent_r + +#ifdef endhostent_r +#undef endhostent_r +#endif +#define endhostent_r lwres_endhostent_r + +#ifdef getrrsetbyname +#undef getrrsetbyname +#endif +#define getrrsetbyname lwres_getrrsetbyname + +#ifdef freerrset +#undef freerrset +#endif +#define freerrset lwres_freerrset + +#ifdef notyet +#define getservbyname lwres_getservbyname +#define getservbyport lwres_getservbyport +#define getservent lwres_getservent +#define setservent lwres_setservent +#define endservent lwres_endservent + +#define getservbyname_r lwres_getservbyname_r +#define getservbyport_r lwres_getservbyport_r +#define getservent_r lwres_getservent_r +#define setservent_r lwres_setservent_r +#define endservent_r lwres_endservent_r + +#define getprotobyname lwres_getprotobyname +#define getprotobynumber lwres_getprotobynumber +#define getprotoent lwres_getprotoent +#define setprotoent lwres_setprotoent +#define endprotoent lwres_endprotoent + +#define getprotobyname_r lwres_getprotobyname_r +#define getprotobynumber_r lwres_getprotobynumber_r +#define getprotoent_r lwres_getprotoent_r +#define setprotoent_r lwres_setprotoent_r +#define endprotoent_r lwres_endprotoent_r + +#ifdef getnetbyname +#undef getnetbyname +#endif +#define getnetbyname lwres_getnetbyname + +#ifdef getnetbyaddr +#undef getnetbyaddr +#endif +#define getnetbyaddr lwres_getnetbyaddr + +#ifdef getnetent +#undef getnetent +#endif +#define getnetent lwres_getnetent + +#ifdef setnetent +#undef setnetent +#endif +#define setnetent lwres_setnetent + +#ifdef endnetent +#undef endnetent +#endif +#define endnetent lwres_endnetent + + +#ifdef getnetbyname_r +#undef getnetbyname_r +#endif +#define getnetbyname_r lwres_getnetbyname_r + +#ifdef getnetbyaddr_r +#undef getnetbyaddr_r +#endif +#define getnetbyaddr_r lwres_getnetbyaddr_r + +#ifdef getnetent_r +#undef getnetent_r +#endif +#define getnetent_r lwres_getnetent_r + +#ifdef setnetent_r +#undef setnetent_r +#endif +#define setnetent_r lwres_setnetent_r + +#ifdef endnetent_r +#undef endnetent_r +#endif +#define endnetent_r lwres_endnetent_r +#endif /* notyet */ + +#ifdef h_errno +#undef h_errno +#endif +#define h_errno lwres_h_errno + +#endif /* LWRES_NAMESPACE */ + +LWRES_LANG_BEGINDECLS + +extern int lwres_h_errno; + +int lwres_getaddrinfo(const char *, const char *, + const struct addrinfo *, struct addrinfo **); +int lwres_getnameinfo(const struct sockaddr *, size_t, char *, + size_t, char *, size_t, int); +void lwres_freeaddrinfo(struct addrinfo *); +char *lwres_gai_strerror(int); + +struct hostent *lwres_gethostbyaddr(const char *, int, int); +struct hostent *lwres_gethostbyname(const char *); +struct hostent *lwres_gethostbyname2(const char *, int); +struct hostent *lwres_gethostent(void); +struct hostent *lwres_getipnodebyname(const char *, int, int, int *); +struct hostent *lwres_getipnodebyaddr(const void *, size_t, int, int *); +void lwres_endhostent(void); +void lwres_sethostent(int); +/* void lwres_sethostfile(const char *); */ +void lwres_freehostent(struct hostent *); + +int lwres_getrrsetbyname(const char *, unsigned int, unsigned int, + unsigned int, struct rrsetinfo **); +void lwres_freerrset(struct rrsetinfo *); + +#ifdef notyet +struct netent *lwres_getnetbyaddr(unsigned long, int); +struct netent *lwres_getnetbyname(const char *); +struct netent *lwres_getnetent(void); +void lwres_endnetent(void); +void lwres_setnetent(int); + +struct protoent *lwres_getprotobyname(const char *); +struct protoent *lwres_getprotobynumber(int); +struct protoent *lwres_getprotoent(void); +void lwres_endprotoent(void); +void lwres_setprotoent(int); + +struct servent *lwres_getservbyname(const char *, const char *); +struct servent *lwres_getservbyport(int, const char *); +struct servent *lwres_getservent(void); +void lwres_endservent(void); +void lwres_setservent(int); +#endif /* notyet */ + +void lwres_herror(const char *); +const char *lwres_hstrerror(int); + + +struct hostent *lwres_gethostbyaddr_r(const char *, int, int, struct hostent *, + char *, int, int *); +struct hostent *lwres_gethostbyname_r(const char *, struct hostent *, + char *, int, int *); +struct hostent *lwres_gethostent_r(struct hostent *, char *, int, int *); +void lwres_sethostent_r(int); +void lwres_endhostent_r(void); + +#ifdef notyet +struct netent *lwres_getnetbyname_r(const char *, struct netent *, + char *, int); +struct netent *lwres_getnetbyaddr_r(long, int, struct netent *, + char *, int); +struct netent *lwres_getnetent_r(struct netent *, char *, int); +void lwres_setnetent_r(int); +void lwres_endnetent_r(void); + +struct protoent *lwres_getprotobyname_r(const char *, + struct protoent *, char *, int); +struct protoent *lwres_getprotobynumber_r(int, + struct protoent *, char *, int); +struct protoent *lwres_getprotoent_r(struct protoent *, char *, int); +void lwres_setprotoent_r(int); +void lwres_endprotoent_r(void); + +struct servent *lwres_getservbyname_r(const char *name, const char *, + struct servent *, char *, int); +struct servent *lwres_getservbyport_r(int port, const char *, + struct servent *, char *, int); +struct servent *lwres_getservent_r(struct servent *, char *, int); +void lwres_setservent_r(int); +void lwres_endservent_r(void); +#endif /* notyet */ + +LWRES_LANG_ENDDECLS + +#ifdef notyet +/* This is nec'y to make this include file properly replace the sun version. */ +#ifdef sun +#ifdef __GNU_LIBRARY__ +#include /* Required. */ +#else /* !__GNU_LIBRARY__ */ +struct rpcent { + char *r_name; /* name of server for this rpc program */ + char **r_aliases; /* alias list */ + int r_number; /* rpc program number */ +}; +struct rpcent *lwres_getrpcbyname(); +struct rpcent *lwres_getrpcbynumber(), +struct rpcent *lwres_getrpcent(); +#endif /* __GNU_LIBRARY__ */ +#endif /* sun */ +#endif /* notyet */ + +/* + * Tell Emacs to use C mode on this file. + * Local variables: + * mode: c + * End: + */ + +#endif /* LWRES_NETDB_H */ diff --git a/usr.sbin/named/lwres/platform.h b/usr.sbin/named/lwres/platform.h new file mode 100644 index 0000000000..6a61f39d6e --- /dev/null +++ b/usr.sbin/named/lwres/platform.h @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2000, 2001 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: platform.h.in,v 1.12.2.1 2001/11/02 00:20:10 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/lwres/Attic/platform.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef LWRES_PLATFORM_H +#define LWRES_PLATFORM_H 1 + +/***** + ***** Platform-dependent defines. + *****/ + +/*** + *** Network. + ***/ + +/* + * Define if this system needs the header file for IPv6. + */ +#undef LWRES_PLATFORM_NEEDNETINETIN6H + +/* + * Define if this system needs the header file for IPv6. + */ +#undef LWRES_PLATFORM_NEEDNETINET6IN6H + +/* + * If sockaddrs on this system have an sa_len field, LWRES_PLATFORM_HAVESALEN + * will be defined. + */ +#define LWRES_PLATFORM_HAVESALEN 1 + +/* + * If this system has the IPv6 structure definitions, LWRES_PLATFORM_HAVEIPV6 + * will be defined. + */ +#define LWRES_PLATFORM_HAVEIPV6 1 + +/* + * If this system is missing in6addr_any, LWRES_PLATFORM_NEEDIN6ADDRANY will + * be defined. + */ +#undef LWRES_PLATFORM_NEEDIN6ADDRANY + +/* + * If this system is missing in6addr_loopback, + * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined. + */ +#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK + +/* + * If this system has in_addr6, rather than in6_addr, + * LWRES_PLATFORM_HAVEINADDR6 will be defined. + */ +#undef LWRES_PLATFORM_HAVEINADDR6 + +/* + * Defined if unistd.h does not cause fd_set to be delared. + */ +#undef LWRES_PLATFORM_NEEDSYSSELECTH + +/* + * Used to control how extern data is linked; needed for Win32 platforms. + */ +#undef LWRES_PLATFORM_USEDECLSPEC + +#ifndef LWRES_PLATFORM_USEDECLSPEC +#define LIBLWRES_EXTERNAL_DATA +#else +#ifdef LIBLWRES_EXPORTS +#define LIBLWRES_EXTERNAL_DATA __declspec(dllexport) +#else +#define LIBLWRES_EXTERNAL_DATA __declspec(dllimport) +#endif +#endif + +#endif /* LWRES_PLATFORM_H */ diff --git a/usr.sbin/named/named/os.h b/usr.sbin/named/named/os.h new file mode 100644 index 0000000000..39cd84bd71 --- /dev/null +++ b/usr.sbin/named/named/os.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 1999-2002 Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM + * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL + * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: os.h,v 1.14.2.2 2002/08/05 06:57:03 marka Exp $ */ +/* $DragonFly: src/usr.sbin/named/named/Attic/os.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */ + +#ifndef NS_OS_H +#define NS_OS_H 1 + +#include + +void +ns_os_init(const char *progname); + +void +ns_os_daemonize(void); + +void +ns_os_chroot(const char *root); + +void +ns_os_inituserinfo(const char *username); + +void +ns_os_changeuser(void); + +void +ns_os_minprivs(void); + +void +ns_os_writepidfile(const char *filename, isc_boolean_t first_time); + +void +ns_os_shutdown(void); + +#endif /* NS_OS_H */ diff --git a/usr.sbin/ndc/Makefile b/usr.sbin/ndc/Makefile deleted file mode 100644 index 4b86e8874f..0000000000 --- a/usr.sbin/ndc/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD: src/usr.sbin/ndc/Makefile,v 1.7.2.1 2001/04/25 12:10:19 ru Exp $ -# $DragonFly: src/usr.sbin/ndc/Attic/Makefile,v 1.2 2003/06/17 04:29:57 dillon Exp $ - -USE_LIBBIND= true -.include "${.CURDIR}/../named/Makefile.inc" - -.PATH: ${BIND_DIR}/bin/ndc -.PATH: ${BIND_DIR}/doc/man - -PROG= ndc -SRCS= pathnames.h \ - ndc.c -MAN= ndc.8 - -.include diff --git a/usr.sbin/nslookup/Makefile b/usr.sbin/nslookup/Makefile index d772b70e64..3d345f3b83 100644 --- a/usr.sbin/nslookup/Makefile +++ b/usr.sbin/nslookup/Makefile @@ -1,22 +1,18 @@ -# $FreeBSD: src/usr.sbin/nslookup/Makefile,v 1.10.2.2 2002/02/18 16:24:26 ru Exp $ -# $DragonFly: src/usr.sbin/nslookup/Makefile,v 1.3 2004/01/24 20:23:41 joerg Exp $ +# $FreeBSD: src/usr.bin/dig/Makefile,v 1.7 1999/11/30 06:25:16 peter Exp $ +# $DragonFly: src/usr.sbin/nslookup/Makefile,v 1.4 2004/05/27 18:15:43 dillon Exp $ USE_LIBBIND= yes -.include "${.CURDIR}/../named/Makefile.inc" +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" -.PATH: ${BIND_DIR}/bin/nslookup +.PATH: ${BIND_DIR}/bin/dig .PATH: ${BIND_DIR}/doc/man PROG= nslookup -SRCS= main.c getinfo.c debug.c send.c skip.c list.c subr.c commands.l -MAN= nslookup.8 +SRCS= nslookup.c dighost.c +MAN= -CFLAGS+=-I${BIND_DIR}/bin/nslookup -CFLAGS+=-D_PATH_HELPFILE=\"${DESTHELP}/nslookup.help\" -LDADD+= -ll -ledit -ltermcap -DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP} - -FILES= nslookup.help -FILESDIR= ${DESTHELP} +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/bin/dig/include .include diff --git a/usr.sbin/nsupdate/Makefile b/usr.sbin/nsupdate/Makefile index 661289912d..407d8dcedb 100644 --- a/usr.sbin/nsupdate/Makefile +++ b/usr.sbin/nsupdate/Makefile @@ -1,12 +1,17 @@ -# $FreeBSD: src/usr.sbin/nsupdate/Makefile,v 1.2 1999/11/30 06:16:46 peter Exp $ -# $DragonFly: src/usr.sbin/nsupdate/Makefile,v 1.2 2003/06/17 04:29:57 dillon Exp $ +# $FreeBSD: src/usr.bin/dig/Makefile,v 1.7 1999/11/30 06:25:16 peter Exp $ +# $DragonFly: src/usr.sbin/nsupdate/Makefile,v 1.3 2004/05/27 18:15:43 dillon Exp $ USE_LIBBIND= yes -.include "${.CURDIR}/../named/Makefile.inc" +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" .PATH: ${BIND_DIR}/bin/nsupdate +.PATH: ${BIND_DIR}/doc/man PROG= nsupdate -NOMAN= hmm.. +SRCS= nsupdate.c + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named +MAN= nsupdate.8 .include diff --git a/usr.sbin/rndc-confgen/Makefile b/usr.sbin/rndc-confgen/Makefile new file mode 100644 index 0000000000..a7a3403939 --- /dev/null +++ b/usr.sbin/rndc-confgen/Makefile @@ -0,0 +1,20 @@ +# +# $DragonFly: src/usr.sbin/rndc-confgen/Makefile,v 1.1 2004/05/27 18:15:43 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/rndc +.PATH: ${BIND_DIR}/bin/rndc/unix + +PROG= rndc-confgen +SRCS= rndc-confgen.c os.c util.c +MAN= rndc-confgen.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/bin/rndc/include \ + -DRNDC_CONFFILE=\"${DESTETC}/rndc.conf\" \ + -DRNDC_KEYFILE=\"${DESTETC}/rndc.key\" + +.include diff --git a/usr.sbin/rndc/Makefile b/usr.sbin/rndc/Makefile new file mode 100644 index 0000000000..b188d86328 --- /dev/null +++ b/usr.sbin/rndc/Makefile @@ -0,0 +1,20 @@ +# +# $DragonFly: src/usr.sbin/rndc/Makefile,v 1.1 2004/05/27 18:15:43 dillon Exp $ + +USE_LIBBIND= yes +USE_LIBISC= yes +.include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" + +.PATH: ${BIND_DIR}/bin/rndc +.PATH: ${BIND_DIR}/bin/rndc/unix + +PROG= rndc +SRCS= rndc.c os.c util.c +MAN= rndc.8 + +CFLAGS+= -I${.CURDIR}/../../usr.sbin/named \ + -I${BIND_DIR}/bin/rndc/include \ + -DRNDC_CONFFILE=\"${DESTETC}/rndc.conf\" \ + -DRNDC_KEYFILE=\"${DESTETC}/rndc.key\" + +.include -- 2.41.0