summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authortaca <taca>2012-03-07 14:25:00 +0000
committertaca <taca>2012-03-07 14:25:00 +0000
commitc916a23f110b3c9f2c1b333599e9c033ecfdd27d (patch)
treea675527316a858bcbbdf7d4228357b0c4396f7b3 /net
parentb6a3708d72243f8eff733bd1507c6d5e758f280f (diff)
downloadpkgsrc-c916a23f110b3c9f2c1b333599e9c033ecfdd27d.tar.gz
Importing BIND 9.9.0 as pkgsrc/net/bind99.
Introduction BIND 9.9.0 is the first production release of BIND 9.9. This document summarizes changes from BIND 9.8 to BIND 9.9. Please see the CHANGES file in the source code release for a complete list of all changes. New Features * The new "inline-signing" option * NXDOMAIN redirection * "rndc flushtree <name>" command * "rndc sync" command * The new "rndc signing" command * "auto-dnssec" zones * Improves the startup time And more.
Diffstat (limited to 'net')
-rw-r--r--net/bind99/DESCR13
-rw-r--r--net/bind99/MESSAGE10
-rw-r--r--net/bind99/Makefile82
-rw-r--r--net/bind99/PLIST371
-rw-r--r--net/bind99/buildlink3.mk12
-rw-r--r--net/bind99/builtin.mk92
-rw-r--r--net/bind99/distinfo18
-rw-r--r--net/bind99/files/lwresd.sh25
-rw-r--r--net/bind99/files/named9.sh66
-rw-r--r--net/bind99/options.mk89
-rw-r--r--net/bind99/patches/patch-bin_dig_dighost.c128
-rw-r--r--net/bind99/patches/patch-config.threads.in15
-rw-r--r--net/bind99/patches/patch-configure25
-rw-r--r--net/bind99/patches/patch-lib_bind9_Makefile.in15
-rw-r--r--net/bind99/patches/patch-lib_dns_Makefile.in15
-rw-r--r--net/bind99/patches/patch-lib_dns_rbt.c17
-rw-r--r--net/bind99/patches/patch-lib_dns_zone.c18
-rw-r--r--net/bind99/patches/patch-lib_isc_Makefile.in15
-rw-r--r--net/bind99/patches/patch-lib_isccc_Makefile.in15
-rw-r--r--net/bind99/patches/patch-lib_isccfg_Makefile.in15
-rw-r--r--net/bind99/patches/patch-lib_lwres_Makefile.in15
-rw-r--r--net/bind99/patches/patch-lib_lwres_getaddrinfo.c41
-rw-r--r--net/bind99/patches/patch-lib_lwres_getnameinfo.c34
23 files changed, 1146 insertions, 0 deletions
diff --git a/net/bind99/DESCR b/net/bind99/DESCR
new file mode 100644
index 00000000000..33cb13d89a2
--- /dev/null
+++ b/net/bind99/DESCR
@@ -0,0 +1,13 @@
+BIND, the Berkeley Internet Name Daemon, version 9 is a major rewrite
+of nearly all aspects of the underlying BIND architecture. Some
+of the important features of BIND-9 are:
+
+ - DNS Security
+ - IP version 6
+ - DNS Protocol Enhancements
+ - Views
+ - Multiprocessor Support
+ - Improved Portability Architecture
+ - Full NSEC3 support
+ - Automatic zone re-signing
+ - New update-policy methods tcp-self and 6to4-self
diff --git a/net/bind99/MESSAGE b/net/bind99/MESSAGE
new file mode 100644
index 00000000000..aa0786ab5a7
--- /dev/null
+++ b/net/bind99/MESSAGE
@@ -0,0 +1,10 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+Please consider running BIND under the pseudo user account "${BIND_USER}"
+in a chroot environment for security reasons.
+
+To achieve this, set the variable "named_chrootdir" in /etc/rc.conf to
+the directory with the chroot environment e.g. "${BIND_DIR}".
+
+===========================================================================
diff --git a/net/bind99/Makefile b/net/bind99/Makefile
new file mode 100644
index 00000000000..823603e9eda
--- /dev/null
+++ b/net/bind99/Makefile
@@ -0,0 +1,82 @@
+# $NetBSD: Makefile,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+DISTNAME= bind-${BIND_VERSION}
+PKGNAME= ${DISTNAME:S/-P/pl/}
+CATEGORIES= net
+MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/ \
+ http://ftp.belnet.be/pub/mirror/ftp.isc.org/isc/bind9/${BIND_VERSION}/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.isc.org/software/bind
+COMMENT= Version 9.9 of the Berkeley Internet Name Daemon, implementation of DNS
+
+CONFLICTS+= bind<9.9.0
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+MAKE_JOBS_SAFE= no
+
+BIND_VERSION= 9.9.0
+
+.include "../../mk/bsd.prefs.mk"
+
+BUILD_DEFS+= BIND_DIR VARBASE
+
+.include "options.mk"
+
+USE_TOOLS+= pax perl
+USE_LIBTOOL= yes
+GNU_CONFIGURE= yes
+#CONFIG_SHELL= sh -x
+
+CONFIGURE_ARGS+= --with-libtool
+CONFIGURE_ARGS+= --sysconfdir=/etc
+CONFIGURE_ARGS+= --localstatedir=${VARBASE:Q}
+CONFIGURE_ARGS+= --disable-openssl-version-check
+CONFIGURE_ARGS+= --with-openssl=${SSLBASE:Q}
+.if ${MACHINE_PLATFORM:MNetBSD-*-mipsel} != ""
+CONFIGURE_ARGS+= --disable-atomic
+.endif
+.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} != ""
+CONFIGURE_ARGS+= --disable-threads
+.endif
+.if ${OPSYS} == "DragonFly"
+CONFIGURE_ARGS+= --disable-kqueue
+.endif
+
+PKG_GROUPS_VARS+= BIND_GROUP
+PKG_USERS_VARS+= BIND_USER
+
+PKG_GROUPS= ${BIND_GROUP}
+PKG_USERS= ${BIND_USER}:${BIND_GROUP}
+
+PKG_GECOS.${BIND_USER}= Named pseudo-user
+PKG_HOME.${BIND_USER}= ${BIND_DIR}
+
+PTHREAD_OPTS+= native
+PTHREAD_AUTO_VARS= yes
+DOCS= CHANGES FAQ README REDIRECT-NOTES
+
+FILES_SUBST+= BIND_GROUP=${BIND_GROUP:Q} \
+ BIND_USER=${BIND_USER:Q} PAX=${PAX:Q}
+MESSAGE_SUBST+= BIND_DIR=${BIND_DIR} BIND_USER=${BIND_USER}
+DOCDIR= ${DESTDIR}${PREFIX}/share/doc/bind9
+
+# include/isc/ipv6.h is installed on non-ipv6 platforms
+PLIST_VARS+= inet6
+.if !empty(MISSING_FEATURES:Minet6)
+PLIST.inet6= yes
+.endif
+
+RCD_SCRIPTS= lwresd named9
+
+INSTALLATION_DIRS= ${DOCDIR} share/doc/bind9/arm
+
+post-install:
+.for f in ${DOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCDIR}
+.endfor
+ ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${DOCDIR}/arm
+
+.include "../../security/openssl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/bind99/PLIST b/net/bind99/PLIST
new file mode 100644
index 00000000000..146dc96ca5c
--- /dev/null
+++ b/net/bind99/PLIST
@@ -0,0 +1,371 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+bin/dig
+bin/host
+bin/isc-config.sh
+bin/nslookup
+bin/nsupdate
+${PLIST.inet6}include/isc/ipv6.h
+include/bind9/check.h
+include/bind9/getaddresses.h
+include/bind9/version.h
+include/dns/acl.h
+include/dns/adb.h
+include/dns/byaddr.h
+include/dns/cache.h
+include/dns/callbacks.h
+include/dns/cert.h
+include/dns/clientinfo.h
+include/dns/compress.h
+include/dns/db.h
+include/dns/dbiterator.h
+include/dns/dbtable.h
+include/dns/diff.h
+include/dns/dispatch.h
+include/dns/dlz.h
+include/dns/dnssec.h
+include/dns/ds.h
+include/dns/enumclass.h
+include/dns/enumtype.h
+include/dns/events.h
+include/dns/fixedname.h
+include/dns/iptable.h
+include/dns/journal.h
+include/dns/keyflags.h
+include/dns/keytable.h
+include/dns/keyvalues.h
+include/dns/lib.h
+include/dns/log.h
+include/dns/master.h
+include/dns/masterdump.h
+include/dns/message.h
+include/dns/name.h
+include/dns/ncache.h
+include/dns/nsec.h
+include/dns/peer.h
+include/dns/portlist.h
+include/dns/private.h
+include/dns/rbt.h
+include/dns/rcode.h
+include/dns/rdata.h
+include/dns/rdataclass.h
+include/dns/rdatalist.h
+include/dns/rdataset.h
+include/dns/rdatasetiter.h
+include/dns/rdataslab.h
+include/dns/rdatastruct.h
+include/dns/rdatatype.h
+include/dns/request.h
+include/dns/resolver.h
+include/dns/result.h
+include/dns/rootns.h
+include/dns/rpz.h
+include/dns/sdb.h
+include/dns/sdlz.h
+include/dns/secalg.h
+include/dns/secproto.h
+include/dns/soa.h
+include/dns/ssu.h
+include/dns/tcpmsg.h
+include/dns/time.h
+include/dns/tkey.h
+include/dns/tsig.h
+include/dns/ttl.h
+include/dns/types.h
+include/dns/validator.h
+include/dns/version.h
+include/dns/view.h
+include/dns/xfrin.h
+include/dns/zone.h
+include/dns/zonekey.h
+include/dns/zt.h
+include/dst/dst.h
+include/dst/gssapi.h
+include/dst/lib.h
+include/dst/result.h
+include/isc/app.h
+include/isc/assertions.h
+include/isc/atomic.h
+include/isc/base64.h
+include/isc/bind9.h
+include/isc/bitstring.h
+include/isc/boolean.h
+include/isc/buffer.h
+include/isc/bufferlist.h
+include/isc/commandline.h
+include/isc/condition.h
+include/isc/dir.h
+include/isc/entropy.h
+include/isc/error.h
+include/isc/event.h
+include/isc/eventclass.h
+include/isc/file.h
+include/isc/formatcheck.h
+include/isc/fsaccess.h
+include/isc/hash.h
+include/isc/heap.h
+include/isc/hex.h
+include/isc/hmacmd5.h
+include/isc/httpd.h
+include/isc/int.h
+include/isc/interfaceiter.h
+include/isc/iterated_hash.h
+include/isc/lang.h
+include/isc/lex.h
+include/isc/lfsr.h
+include/isc/lib.h
+include/isc/list.h
+include/isc/log.h
+include/isc/magic.h
+include/isc/md5.h
+include/isc/mem.h
+include/isc/msgcat.h
+include/isc/msgs.h
+include/isc/mutex.h
+include/isc/mutexblock.h
+include/isc/namespace.h
+include/isc/net.h
+include/isc/netaddr.h
+include/isc/netdb.h
+include/isc/offset.h
+include/isc/once.h
+include/isc/ondestroy.h
+include/isc/os.h
+include/isc/parseint.h
+include/isc/platform.h
+include/isc/print.h
+include/isc/quota.h
+include/isc/radix.h
+include/isc/random.h
+include/isc/ratelimiter.h
+include/isc/refcount.h
+include/isc/region.h
+include/isc/resource.h
+include/isc/result.h
+include/isc/resultclass.h
+include/isc/rwlock.h
+include/isc/serial.h
+include/isc/sha1.h
+include/isc/sha2.h
+include/isc/sockaddr.h
+include/isc/socket.h
+include/isc/stdio.h
+include/isc/stdlib.h
+include/isc/stdtime.h
+include/isc/string.h
+include/isc/symtab.h
+include/isc/syslog.h
+include/isc/task.h
+include/isc/taskpool.h
+include/isc/thread.h
+include/isc/time.h
+include/isc/timer.h
+include/isc/types.h
+include/isc/util.h
+include/isc/version.h
+include/isc/xml.h
+include/isccc/alist.h
+include/isccc/base64.h
+include/isccc/cc.h
+include/isccc/ccmsg.h
+include/isccc/events.h
+include/isccc/lib.h
+include/isccc/result.h
+include/isccc/sexpr.h
+include/isccc/symtab.h
+include/isccc/symtype.h
+include/isccc/types.h
+include/isccc/util.h
+include/isccc/version.h
+include/isccfg/aclconf.h
+include/isccfg/cfg.h
+include/isccfg/grammar.h
+include/isccfg/log.h
+include/isccfg/namedconf.h
+include/isccfg/version.h
+include/lwres/context.h
+include/lwres/int.h
+include/lwres/ipv6.h
+include/lwres/lang.h
+include/lwres/list.h
+include/lwres/lwbuffer.h
+include/lwres/lwpacket.h
+include/lwres/lwres.h
+include/lwres/net.h
+include/lwres/netdb.h
+include/lwres/platform.h
+include/lwres/result.h
+include/lwres/version.h
+lib/libbind9.la
+lib/libdns.la
+lib/libisc.la
+lib/libisccc.la
+lib/libisccfg.la
+lib/liblwres.la
+man/man1/arpaname.1
+man/man1/dig.1
+man/man1/host.1
+man/man1/isc-config.sh.1
+man/man1/nslookup.1
+man/man1/nsupdate.1
+man/man3/lwres.3
+man/man3/lwres_addr_parse.3
+man/man3/lwres_buffer.3
+man/man3/lwres_buffer_add.3
+man/man3/lwres_buffer_back.3
+man/man3/lwres_buffer_clear.3
+man/man3/lwres_buffer_first.3
+man/man3/lwres_buffer_forward.3
+man/man3/lwres_buffer_getmem.3
+man/man3/lwres_buffer_getuint16.3
+man/man3/lwres_buffer_getuint32.3
+man/man3/lwres_buffer_getuint8.3
+man/man3/lwres_buffer_init.3
+man/man3/lwres_buffer_invalidate.3
+man/man3/lwres_buffer_putmem.3
+man/man3/lwres_buffer_putuint16.3
+man/man3/lwres_buffer_putuint32.3
+man/man3/lwres_buffer_putuint8.3
+man/man3/lwres_buffer_subtract.3
+man/man3/lwres_conf_clear.3
+man/man3/lwres_conf_get.3
+man/man3/lwres_conf_init.3
+man/man3/lwres_conf_parse.3
+man/man3/lwres_conf_print.3
+man/man3/lwres_config.3
+man/man3/lwres_context.3
+man/man3/lwres_context_allocmem.3
+man/man3/lwres_context_create.3
+man/man3/lwres_context_destroy.3
+man/man3/lwres_context_freemem.3
+man/man3/lwres_context_initserial.3
+man/man3/lwres_context_nextserial.3
+man/man3/lwres_context_sendrecv.3
+man/man3/lwres_endhostent.3
+man/man3/lwres_endhostent_r.3
+man/man3/lwres_freeaddrinfo.3
+man/man3/lwres_freehostent.3
+man/man3/lwres_gabn.3
+man/man3/lwres_gabnrequest_free.3
+man/man3/lwres_gabnrequest_parse.3
+man/man3/lwres_gabnrequest_render.3
+man/man3/lwres_gabnresponse_free.3
+man/man3/lwres_gabnresponse_parse.3
+man/man3/lwres_gabnresponse_render.3
+man/man3/lwres_gai_strerror.3
+man/man3/lwres_getaddrinfo.3
+man/man3/lwres_getaddrsbyname.3
+man/man3/lwres_gethostbyaddr.3
+man/man3/lwres_gethostbyaddr_r.3
+man/man3/lwres_gethostbyname.3
+man/man3/lwres_gethostbyname2.3
+man/man3/lwres_gethostbyname_r.3
+man/man3/lwres_gethostent.3
+man/man3/lwres_gethostent_r.3
+man/man3/lwres_getipnode.3
+man/man3/lwres_getipnodebyaddr.3
+man/man3/lwres_getipnodebyname.3
+man/man3/lwres_getnamebyaddr.3
+man/man3/lwres_getnameinfo.3
+man/man3/lwres_getrrsetbyname.3
+man/man3/lwres_gnba.3
+man/man3/lwres_gnbarequest_free.3
+man/man3/lwres_gnbarequest_parse.3
+man/man3/lwres_gnbarequest_render.3
+man/man3/lwres_gnbaresponse_free.3
+man/man3/lwres_gnbaresponse_parse.3
+man/man3/lwres_gnbaresponse_render.3
+man/man3/lwres_herror.3
+man/man3/lwres_hstrerror.3
+man/man3/lwres_inetntop.3
+man/man3/lwres_lwpacket_parseheader.3
+man/man3/lwres_lwpacket_renderheader.3
+man/man3/lwres_net_ntop.3
+man/man3/lwres_noop.3
+man/man3/lwres_nooprequest_free.3
+man/man3/lwres_nooprequest_parse.3
+man/man3/lwres_nooprequest_render.3
+man/man3/lwres_noopresponse_free.3
+man/man3/lwres_noopresponse_parse.3
+man/man3/lwres_noopresponse_render.3
+man/man3/lwres_packet.3
+man/man3/lwres_resutil.3
+man/man3/lwres_sethostent.3
+man/man3/lwres_sethostent_r.3
+man/man3/lwres_string_parse.3
+man/man5/named.conf.5
+man/man5/rndc.conf.5
+man/man8/ddns-confgen.8
+man/man8/dnssec-dsfromkey.8
+man/man8/dnssec-keyfromlabel.8
+man/man8/dnssec-keygen.8
+man/man8/dnssec-revoke.8
+man/man8/dnssec-settime.8
+man/man8/dnssec-signzone.8
+man/man8/genrandom.8
+man/man8/isc-hmac-fixup.8
+man/man8/lwresd.8
+man/man8/named-checkconf.8
+man/man8/named-checkzone.8
+man/man8/named-compilezone.8
+man/man8/named-journalprint.8
+man/man8/named.8
+man/man8/nsec3hash.8
+man/man8/rndc-confgen.8
+man/man8/rndc.8
+sbin/arpaname
+sbin/ddns-confgen
+sbin/dnssec-dsfromkey
+sbin/dnssec-keyfromlabel
+sbin/dnssec-keygen
+sbin/dnssec-revoke
+sbin/dnssec-settime
+sbin/dnssec-signzone
+sbin/genrandom
+sbin/isc-hmac-fixup
+sbin/lwresd
+sbin/named
+sbin/named-checkconf
+sbin/named-checkzone
+sbin/named-compilezone
+sbin/named-journalprint
+sbin/nsec3hash
+sbin/rndc
+sbin/rndc-confgen
+share/doc/bind9/CHANGES
+share/doc/bind9/FAQ
+share/doc/bind9/README
+share/doc/bind9/REDIRECT-NOTES
+share/doc/bind9/arm/Bv9ARM.ch01.html
+share/doc/bind9/arm/Bv9ARM.ch02.html
+share/doc/bind9/arm/Bv9ARM.ch03.html
+share/doc/bind9/arm/Bv9ARM.ch04.html
+share/doc/bind9/arm/Bv9ARM.ch05.html
+share/doc/bind9/arm/Bv9ARM.ch06.html
+share/doc/bind9/arm/Bv9ARM.ch07.html
+share/doc/bind9/arm/Bv9ARM.ch08.html
+share/doc/bind9/arm/Bv9ARM.ch09.html
+share/doc/bind9/arm/Bv9ARM.ch10.html
+share/doc/bind9/arm/Bv9ARM.html
+share/doc/bind9/arm/man.arpaname.html
+share/doc/bind9/arm/man.ddns-confgen.html
+share/doc/bind9/arm/man.dig.html
+share/doc/bind9/arm/man.dnssec-dsfromkey.html
+share/doc/bind9/arm/man.dnssec-keyfromlabel.html
+share/doc/bind9/arm/man.dnssec-keygen.html
+share/doc/bind9/arm/man.dnssec-revoke.html
+share/doc/bind9/arm/man.dnssec-settime.html
+share/doc/bind9/arm/man.dnssec-signzone.html
+share/doc/bind9/arm/man.genrandom.html
+share/doc/bind9/arm/man.host.html
+share/doc/bind9/arm/man.isc-hmac-fixup.html
+share/doc/bind9/arm/man.named-checkconf.html
+share/doc/bind9/arm/man.named-checkzone.html
+share/doc/bind9/arm/man.named-journalprint.html
+share/doc/bind9/arm/man.named.html
+share/doc/bind9/arm/man.nsec3hash.html
+share/doc/bind9/arm/man.nsupdate.html
+share/doc/bind9/arm/man.rndc-confgen.html
+share/doc/bind9/arm/man.rndc.conf.html
+share/doc/bind9/arm/man.rndc.html
+share/examples/rc.d/lwresd
+share/examples/rc.d/named9
diff --git a/net/bind99/buildlink3.mk b/net/bind99/buildlink3.mk
new file mode 100644
index 00000000000..8e2c371b736
--- /dev/null
+++ b/net/bind99/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+BUILDLINK_TREE+= bind
+
+.if !defined(BIND_BUILDLINK3_MK)
+BIND_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.bind+= bind>=9.9.0
+BUILDLINK_PKGSRCDIR.bind?= ../../net/bind99
+.endif # BIND_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -bind
diff --git a/net/bind99/builtin.mk b/net/bind99/builtin.mk
new file mode 100644
index 00000000000..99114466e83
--- /dev/null
+++ b/net/bind99/builtin.mk
@@ -0,0 +1,92 @@
+# $NetBSD: builtin.mk,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+BUILTIN_PKG:= bind
+
+BUILTIN_FIND_FILES_VAR:= EXE_NAMED
+BUILTIN_FIND_FILES.EXE_NAMED= /usr/sbin/named
+BUILTIN_FIND_LIBS:= bind
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Figure out the version of BIND if an ISC BIND named exists on the
+### system.
+###
+.if !defined(BUILTIN_VERSION.bind) && \
+ empty(EXE_NAMED:M__nonexistent__) && \
+ empty(EXE_NAMED:M${LOCALBASE}/*)
+BUILTIN_VERSION.bind!= \
+ ${EXE_NAMED} -v 2>/dev/null | ${HEAD} -1 | \
+ ${AWK} 'BEGIN { v = "4.9.11"; } \
+ /^BIND / { v = $$2; sub("-.*", "", v); } \
+ /^named / { v = $$2; sub("-.*", "", v); } \
+ END { print v; }'
+.endif
+MAKEVARS+= BUILTIN_VERSION.bind
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.bind)
+IS_BUILTIN.bind= no
+. if defined(BUILTIN_VERSION.bind)
+IS_BUILTIN.bind= yes
+. endif
+.endif
+MAKEVARS+= IS_BUILTIN.bind
+
+###
+### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to
+### a package name to represent the built-in package.
+###
+.if !defined(BUILTIN_PKG.bind) && \
+ !empty(IS_BUILTIN.bind:M[yY][eE][sS]) && \
+ defined(BUILTIN_VERSION.bind)
+BUILTIN_PKG.bind= bind-${BUILTIN_VERSION.bind}
+.endif
+MAKEVARS+= BUILTIN_PKG.bind
+
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
+.if !defined(USE_BUILTIN.bind)
+. if ${PREFER.bind} == "pkgsrc"
+USE_BUILTIN.bind= no
+. else
+USE_BUILTIN.bind= ${IS_BUILTIN.bind}
+. if defined(BUILTIN_PKG.bind) && \
+ !empty(IS_BUILTIN.bind:M[yY][eE][sS])
+USE_BUILTIN.bind= yes
+. for dep in ${BUILDLINK_API_DEPENDS.bind}
+. if !empty(USE_BUILTIN.bind:M[yY][eE][sS])
+USE_BUILTIN.bind!= \
+ if ${PKG_ADMIN} pmatch ${dep:Q} ${BUILTIN_PKG.bind:Q}; then \
+ ${ECHO} yes; \
+ else \
+ ${ECHO} no; \
+ fi
+. endif
+. endfor
+. endif
+. endif # PREFER.bind
+.endif
+MAKEVARS+= USE_BUILTIN.bind
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.bind?= no
+.if !empty(CHECK_BUILTIN.bind:M[nN][oO])
+
+. if !empty(USE_BUILTIN.bind:M[yY][eE][sS])
+. if !empty(BUILTIN_LIB_FOUND.bind:M[yY][eE][sS])
+BUILDLINK_LDADD.bind?= -lbind
+. endif
+. elif !empty(USE_BUILTIN.bind:M[nN][oO])
+BUILDLINK_LDADD.bind?= -lbind
+. endif
+
+.endif # CHECK_BUILTIN.bind
diff --git a/net/bind99/distinfo b/net/bind99/distinfo
new file mode 100644
index 00000000000..bcca4f75e65
--- /dev/null
+++ b/net/bind99/distinfo
@@ -0,0 +1,18 @@
+$NetBSD: distinfo,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+SHA1 (bind-9.9.0.tar.gz) = 6be77c75c8649088b0ae7124d819b5f412bb0094
+RMD160 (bind-9.9.0.tar.gz) = 5fda36a3aa84062f7936978cb540e8ad3f1c4e08
+Size (bind-9.9.0.tar.gz) = 7114050 bytes
+SHA1 (patch-bin_dig_dighost.c) = 186cdc70605242afb0211dc8802ec75677a65614
+SHA1 (patch-config.threads.in) = 227b83efe9cb3e301aaac9b97cf42f1fb8ad06b2
+SHA1 (patch-configure) = 6a8b709d8369864c397d4315348c9c96753618f6
+SHA1 (patch-lib_bind9_Makefile.in) = 89e21d21fa512f11a2fdb8d7455abd5d95f20ba5
+SHA1 (patch-lib_dns_Makefile.in) = 1770a8bd86901c618b11d255f3af54748d04b759
+SHA1 (patch-lib_dns_rbt.c) = df4b029369d9fa3b250d8505b5f7590e2cd86654
+SHA1 (patch-lib_dns_zone.c) = e01378ee95bf7c5b903a2c3a90acf83a3a4cae52
+SHA1 (patch-lib_isc_Makefile.in) = 5e0739d19957b1f26bcc24a6c76bcab6248cbff5
+SHA1 (patch-lib_isccc_Makefile.in) = a31831872b7724cb84f663ed70a82335d812f95f
+SHA1 (patch-lib_isccfg_Makefile.in) = 5ce4a85c1a13eca255804850b18b421418a2a01b
+SHA1 (patch-lib_lwres_Makefile.in) = 40fd0ed1d699cb2f6258f33888a9495899373767
+SHA1 (patch-lib_lwres_getaddrinfo.c) = ccc00e446867785e401eb92e63e05505dfd01087
+SHA1 (patch-lib_lwres_getnameinfo.c) = 418ad349cf52925c9e8051b5c71d9d51ea8d2fb1
diff --git a/net/bind99/files/lwresd.sh b/net/bind99/files/lwresd.sh
new file mode 100644
index 00000000000..8c30b982366
--- /dev/null
+++ b/net/bind99/files/lwresd.sh
@@ -0,0 +1,25 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: lwresd.sh,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+#
+# PROVIDE: lwresd
+# REQUIRE: SERVERS
+
+. /etc/rc.subr
+
+name="lwresd"
+rcvar=${name}
+command="@PREFIX@/sbin/${name}"
+pidfile="@VARBASE@/run/lwresd/${name}.pid"
+extra_commands="reload"
+start_precmd="lwresd_precmd"
+
+lwresd_precmd()
+{
+ if [ ! -d @VARBASE@/run/lwresd ]; then
+ @MKDIR@ @VARBASE@/run/lwresd
+ fi
+}
+
+load_rc_config ${name} # check /etc/rc.conf.d/named9
+run_rc_command "$1"
diff --git a/net/bind99/files/named9.sh b/net/bind99/files/named9.sh
new file mode 100644
index 00000000000..7684e6307bb
--- /dev/null
+++ b/net/bind99/files/named9.sh
@@ -0,0 +1,66 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: named9.sh,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+#
+
+# PROVIDE: named
+# REQUIRE: NETWORKING mountcritremote syslogd
+# BEFORE: DAEMON
+# KEYWORD: chrootdir
+
+. /etc/rc.subr
+
+name="named"
+rcvar="${name}9"
+command="@PREFIX@/sbin/${name}"
+pidfile="@VARBASE@/run/named/${name}.pid"
+start_precmd="named_precmd"
+extra_commands="reload"
+required_dirs="$named_chrootdir" # if it is set, it must exist
+
+named_precmd()
+{
+ # Die if $named is also set (i.e. the system's named is not disabled
+ if checkyesno named ; then
+ warn \
+ "disable 'named' when setting 'named9'!"
+ return 1
+ fi
+
+ if [ ! -d @VARBASE@/run/named ]; then
+ @MKDIR@ @VARBASE@/run/named
+ fi
+
+ if [ -z "$named_chrootdir" ]; then
+ return 0;
+ fi
+
+ for i in null random
+ do
+ if [ ! -c "${named_chrootdir}/dev/$i" ]; then
+ @RM@ -f "${named_chrootdir}/dev/$i"
+ (cd /dev &&
+ @PAX@ -rw -pe "$i" "${named_chrootdir}/dev")
+ fi
+ done
+
+ if [ -f /etc/localtime ]; then
+ @CMP@ -s /etc/localtime "${named_chrootdir}/etc/localtime" || \
+ @CP@ -p /etc/localtime "${named_chrootdir}/etc/localtime"
+ fi
+
+ if [ ! -d ${named_chrootdir}@VARBASE@/run/named ]; then
+ @MKDIR@ ${named_chrootdir}@VARBASE@/run/named
+ @CHOWN@ @BIND_USER@ ${named_chrootdir}@VARBASE@/run/named
+ fi
+
+ @RM@ -f ${pidfile}
+ @LN@ -s "${named_chrootdir}${pidfile}" ${pidfile}
+
+ # Change run_rc_commands()'s internal copy of $named_flags
+ #
+ rc_flags="-u @BIND_USER@ -t ${named_chrootdir} $rc_flags"
+}
+
+load_rc_config "$rcvar"
+run_rc_command "$1"
diff --git a/net/bind99/options.mk b/net/bind99/options.mk
new file mode 100644
index 00000000000..067430395aa
--- /dev/null
+++ b/net/bind99/options.mk
@@ -0,0 +1,89 @@
+# $NetBSD: options.mk,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.bind99
+PKG_SUPPORTED_OPTIONS= bind-dig-sigchase bind-xml-statistics-server
+PKG_SUPPORTED_OPTIONS+= inet6 threads mysql pgsql ldap dlz-filesystem
+
+.include "../../mk/pthread.buildlink3.mk"
+
+.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "none") || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-vax) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-sparc) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-m68k)
+# don't touch PKG_SUGGESTED_OPTIONS
+.else
+PKG_SUGGESTED_OPTIONS+= threads
+.endif
+
+.if empty(MISSING_FEATURES:Minet6)
+PKG_SUGGESTED_OPTIONS+= inet6
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+###
+### The mysql pgsql ldap dlz-filesystem options are all for BIND
+### DLZ (Dynamically Loadable Zones) functionality
+###
+### NOTE: bdb is excluded on purpose as pkgsrc does not contain
+### a bdb v4.1 or 4.2 package which is what BIND needs.
+### The majority of these are compile tested only
+###
+
+.if !empty(PKG_OPTIONS:Mmysql)
+.include "../../mk/mysql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-dlz-mysql=${BUILDLINK_PREFIX.mysql-client}
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+.include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-dlz-postgres=${BUILDLINK_PREFIX.${PGSQL_TYPE}}
+CONFIGURE_ENV+= ac_cv_path_PG_CONFIG=${PREFIX}/bin/pg_config
+.endif
+
+.if !empty(PKG_OPTIONS:Mldap)
+.include "../../databases/openldap-client/buildlink3.mk"
+CONFIGURE_ARGS+= --with-dlz-ldap=${BUILDLINK_PREFIX.openldap-client}
+.endif
+
+.if !empty(PKG_OPTIONS:Mdlz-filesystem)
+CONFIGURE_ARGS+= --with-dlz-filesystem
+.endif
+
+###
+### The statistics server in bind99 and later needs libxml2
+###
+.if !empty(PKG_OPTIONS:Mbind-xml-statistics-server)
+.include "../../textproc/libxml2/buildlink3.mk"
+CONFIGURE_ARGS+= --with-libxml2
+.else
+CONFIGURE_ARGS+= --without-libxml2
+.endif
+
+###
+### IPv6 support
+###
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+= --enable-ipv6
+.else
+CONFIGURE_ARGS+= --disable-ipv6
+.endif
+
+###
+### pthreads support (also see magic above)
+###
+.if !empty(PKG_OPTIONS:Mthreads)
+CONFIGURE_ARGS+= --enable-threads
+.else
+CONFIGURE_ARGS+= --disable-threads
+.endif
+
+###
+### dig(1) option +sigchase for DNSSEC signature chasing
+###
+.if !empty(PKG_OPTIONS:Mbind-dig-sigchase)
+# If anything else needs to add entries to STD_CDEFINES, this will need
+# to be changed so that the two can cooperate.
+CONFIGURE_ENV+= STD_CDEFINES=-DDIG_SIGCHASE=1
+.endif
diff --git a/net/bind99/patches/patch-bin_dig_dighost.c b/net/bind99/patches/patch-bin_dig_dighost.c
new file mode 100644
index 00000000000..47fa4af2e9a
--- /dev/null
+++ b/net/bind99/patches/patch-bin_dig_dighost.c
@@ -0,0 +1,128 @@
+$NetBSD: patch-bin_dig_dighost.c,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* Avoid to use true as variable name.
+
+--- bin/dig/dighost.c.orig 2011-12-07 17:23:28.000000000 +0000
++++ bin/dig/dighost.c
+@@ -4369,7 +4369,7 @@ prepare_lookup(dns_name_t *name)
+ isc_result_t result;
+ isc_region_t r;
+ dns_rdataset_t *rdataset = NULL;
+- isc_boolean_t true = ISC_TRUE;
++ isc_boolean_t isc_true = ISC_TRUE;
+ #endif
+
+ memset(namestr, 0, DNS_NAME_FORMATSIZE);
+@@ -4383,7 +4383,7 @@ prepare_lookup(dns_name_t *name)
+
+ result = advanced_rrsearch(&rdataset, &ns.name,
+ dns_rdatatype_aaaa,
+- dns_rdatatype_any, &true);
++ dns_rdatatype_any, &isc_true);
+ if (result == ISC_R_SUCCESS) {
+ for (result = dns_rdataset_first(rdataset);
+ result == ISC_R_SUCCESS;
+@@ -4412,7 +4412,7 @@ prepare_lookup(dns_name_t *name)
+
+ rdataset = NULL;
+ result = advanced_rrsearch(&rdataset, &ns.name, dns_rdatatype_a,
+- dns_rdatatype_any, &true);
++ dns_rdatatype_any, &isc_true);
+ if (result == ISC_R_SUCCESS) {
+ for (result = dns_rdataset_first(rdataset);
+ result == ISC_R_SUCCESS;
+@@ -4531,11 +4531,11 @@ isc_result_t
+ initialization(dns_name_t *name)
+ {
+ isc_result_t result;
+- isc_boolean_t true = ISC_TRUE;
++ isc_boolean_t isc_true = ISC_TRUE;
+
+ chase_nsrdataset = NULL;
+ result = advanced_rrsearch(&chase_nsrdataset, name, dns_rdatatype_ns,
+- dns_rdatatype_any, &true);
++ dns_rdatatype_any, &isc_true);
+ if (result != ISC_R_SUCCESS) {
+ printf("\n;; NS RRset is missing to continue validation:"
+ " FAILED\n\n");
+@@ -4888,7 +4888,7 @@ sigchase_td(dns_message_t *msg)
+ isc_result_t result;
+ dns_name_t *name = NULL;
+ isc_boolean_t have_answer = ISC_FALSE;
+- isc_boolean_t true = ISC_TRUE;
++ isc_boolean_t isc_true = ISC_TRUE;
+
+ if ((result = dns_message_firstname(msg, DNS_SECTION_ANSWER))
+ == ISC_R_SUCCESS) {
+@@ -4897,7 +4897,7 @@ sigchase_td(dns_message_t *msg)
+ initialization(name);
+ return;
+ }
+- have_answer = true;
++ have_answer = isc_true;
+ } else {
+ if (!current_lookup->trace_root_sigchase) {
+ result = dns_message_firstname(msg,
+@@ -5015,7 +5015,7 @@ sigchase_td(dns_message_t *msg)
+ dns_rdatatype_rrsig,
+ current_lookup
+ ->rdtype_sigchase,
+- &true);
++ &isc_true);
+ if (result == ISC_R_FAILURE) {
+ printf("\n;; RRset is missing to continue"
+ " validation SHOULD NOT APPEND:"
+@@ -5028,7 +5028,7 @@ sigchase_td(dns_message_t *msg)
+ &chase_authority_name,
+ dns_rdatatype_rrsig,
+ dns_rdatatype_any,
+- &true);
++ &isc_true);
+ if (result == ISC_R_FAILURE) {
+ printf("\n;; RRSIG is missing to continue"
+ " validation SHOULD NOT APPEND:"
+@@ -5104,7 +5104,7 @@ sigchase_td(dns_message_t *msg)
+ &chase_authority_name,
+ dns_rdatatype_rrsig,
+ dns_rdatatype_ds,
+- &true);
++ &isc_true);
+ if (result != ISC_R_SUCCESS) {
+ printf("\n;; DSset is missing to continue validation:"
+ " FAILED\n\n");
+@@ -5192,7 +5192,7 @@ sigchase_td(dns_message_t *msg)
+ result = advanced_rrsearch(&chase_rdataset, &chase_name,
+ current_lookup->rdtype_sigchase,
+ dns_rdatatype_any ,
+- &true);
++ &isc_true);
+ if (result == ISC_R_FAILURE) {
+ printf("\n;; RRsig of RRset is missing to continue validation"
+ " SHOULD NOT APPEND: FAILED\n\n");
+@@ -5235,7 +5235,7 @@ getneededrr(dns_message_t *msg)
+ dns_name_t *name = NULL;
+ dns_rdata_t sigrdata = DNS_RDATA_INIT;
+ dns_rdata_sig_t siginfo;
+- isc_boolean_t true = ISC_TRUE;
++ isc_boolean_t isc_true = ISC_TRUE;
+
+ if ((result = dns_message_firstname(msg, DNS_SECTION_ANSWER))
+ != ISC_R_SUCCESS) {
+@@ -5251,7 +5251,7 @@ getneededrr(dns_message_t *msg)
+ if (chase_rdataset == NULL) {
+ result = advanced_rrsearch(&chase_rdataset, name,
+ dns_rdatatype_any,
+- dns_rdatatype_any, &true);
++ dns_rdatatype_any, &isc_true);
+ if (result != ISC_R_SUCCESS) {
+ printf("\n;; No Answers: Validation FAILED\n\n");
+ return (ISC_R_NOTFOUND);
+@@ -5371,7 +5371,7 @@ getneededrr(dns_message_t *msg)
+ result = advanced_rrsearch(&chase_sigdsrdataset,
+ &chase_signame,
+ dns_rdatatype_rrsig,
+- dns_rdatatype_ds, &true);
++ dns_rdatatype_ds, &isc_true);
+ if (result == ISC_R_FAILURE) {
+ printf(";; WARNING : NO RRSIG DS : RRSIG DS"
+ " should come with DS\n");
diff --git a/net/bind99/patches/patch-config.threads.in b/net/bind99/patches/patch-config.threads.in
new file mode 100644
index 00000000000..259d32351df
--- /dev/null
+++ b/net/bind99/patches/patch-config.threads.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-config.threads.in,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* Add DragonFly support.
+
+--- config.threads.in.orig 2012-01-30 07:08:34.000000000 +0000
++++ config.threads.in
+@@ -50,6 +50,8 @@ case $host in
+ use_threads=false ;;
+ *-freebsd*)
+ use_threads=true ;;
++*-dragonfly*)
++ use_threads=false ;;
+ [*-bsdi[234]*])
+ # Thread signals do not work reliably on some versions of BSD/OS.
+ use_threads=false ;;
diff --git a/net/bind99/patches/patch-configure b/net/bind99/patches/patch-configure
new file mode 100644
index 00000000000..d7fbd266c95
--- /dev/null
+++ b/net/bind99/patches/patch-configure
@@ -0,0 +1,25 @@
+$NetBSD: patch-configure,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* Add DragonFly support.
+* Link proper postgresql library.
+
+--- configure.orig 2012-01-30 10:09:37.000000000 +0000
++++ configure
+@@ -22166,6 +22166,8 @@ case $host in
+ use_threads=false ;;
+ *-freebsd*)
+ use_threads=true ;;
++*-dragonfly*)
++ use_threads=false ;;
+ *-bsdi[234]*)
+ # Thread signals do not work reliably on some versions of BSD/OS.
+ use_threads=false ;;
+@@ -27148,7 +27150,7 @@ $as_echo "no" >&6; }
+ fi
+ if test -n "-L$use_dlz_postgres_lib -lpq"
+ then
+- DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L$use_dlz_postgres_lib -lpq"
++ DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS -L${PREFIX}/lib -lpq"
+ fi
+
+
diff --git a/net/bind99/patches/patch-lib_bind9_Makefile.in b/net/bind99/patches/patch-lib_bind9_Makefile.in
new file mode 100644
index 00000000000..ab21e909aa9
--- /dev/null
+++ b/net/bind99/patches/patch-lib_bind9_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_bind9_Makefile.in,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* XXX: Install with proper permission.
+
+--- lib/bind9/Makefile.in.orig 2009-12-05 23:31:40.000000000 +0000
++++ lib/bind9/Makefile.in
+@@ -78,7 +78,7 @@ installdirs:
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
+
+ install:: timestamp installdirs
+- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libbind9.@A@ ${DESTDIR}${libdir}
++ ${LIBTOOL_MODE_INSTALL} ${INSTALL_SCRIPT} libbind9.@A@ ${DESTDIR}${libdir}
+
+ clean distclean::
+ rm -f libbind9.@A@ timestamp
diff --git a/net/bind99/patches/patch-lib_dns_Makefile.in b/net/bind99/patches/patch-lib_dns_Makefile.in
new file mode 100644
index 00000000000..8174edbe656
--- /dev/null
+++ b/net/bind99/patches/patch-lib_dns_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_dns_Makefile.in,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* XXX: Install with proper permission.
+
+--- lib/dns/Makefile.in.orig 2011-10-11 00:09:03.000000000 +0000
++++ lib/dns/Makefile.in
+@@ -135,7 +135,7 @@ installdirs:
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
+
+ install:: timestamp installdirs
+- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libdns.@A@ ${DESTDIR}${libdir}
++ ${LIBTOOL_MODE_INSTALL} ${INSTALL_SCRIPT} libdns.@A@ ${DESTDIR}${libdir}
+
+ clean distclean::
+ rm -f libdns.@A@ timestamp
diff --git a/net/bind99/patches/patch-lib_dns_rbt.c b/net/bind99/patches/patch-lib_dns_rbt.c
new file mode 100644
index 00000000000..f5309ca236a
--- /dev/null
+++ b/net/bind99/patches/patch-lib_dns_rbt.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-lib_dns_rbt.c,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* Disable inline on powerpc.
+
+--- lib/dns/rbt.c.orig 2011-08-25 05:56:50.000000000 +0000
++++ lib/dns/rbt.c
+@@ -177,6 +177,10 @@ Name(dns_rbtnode_t *node) {
+ static void dns_rbt_printnodename(dns_rbtnode_t *node);
+ #endif
+
++#if !defined(inline) && defined(__powerpc__)
++#define inline /**/
++#endif
++
+ static inline dns_rbtnode_t *
+ find_up(dns_rbtnode_t *node) {
+ dns_rbtnode_t *root;
diff --git a/net/bind99/patches/patch-lib_dns_zone.c b/net/bind99/patches/patch-lib_dns_zone.c
new file mode 100644
index 00000000000..29d99c20fef
--- /dev/null
+++ b/net/bind99/patches/patch-lib_dns_zone.c
@@ -0,0 +1,18 @@
+$NetBSD: patch-lib_dns_zone.c,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* Avoid to use bool as variable name.
+
+--- lib/dns/zone.c.orig 2012-02-23 07:09:02.000000000 +0000
++++ lib/dns/zone.c
+@@ -15780,9 +15780,9 @@ dns_zone_setrefreshkeyinterval(dns_zone_
+ }
+
+ void
+-dns_zone_setrequestixfr(dns_zone_t *zone, isc_boolean_t bool) {
++dns_zone_setrequestixfr(dns_zone_t *zone, isc_boolean_t isc_bool) {
+ REQUIRE(DNS_ZONE_VALID(zone));
+- zone->requestixfr = bool;
++ zone->requestixfr = isc_bool;
+ }
+
+ isc_boolean_t
diff --git a/net/bind99/patches/patch-lib_isc_Makefile.in b/net/bind99/patches/patch-lib_isc_Makefile.in
new file mode 100644
index 00000000000..5cca2290033
--- /dev/null
+++ b/net/bind99/patches/patch-lib_isc_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_isc_Makefile.in,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* XXX: Install with proper permission.
+
+--- lib/isc/Makefile.in.orig 2011-07-07 23:47:49.000000000 +0000
++++ lib/isc/Makefile.in
+@@ -127,7 +127,7 @@ installdirs:
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
+
+ install:: timestamp installdirs
+- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libisc.@A@ ${DESTDIR}${libdir}
++ ${LIBTOOL_MODE_INSTALL} ${INSTALL_SCRIPT} libisc.@A@ ${DESTDIR}${libdir}
+
+ clean distclean::
+ rm -f libisc.@A@ libisc-nosymtbl.@A@ libisc.la \
diff --git a/net/bind99/patches/patch-lib_isccc_Makefile.in b/net/bind99/patches/patch-lib_isccc_Makefile.in
new file mode 100644
index 00000000000..12eb3ff4fc4
--- /dev/null
+++ b/net/bind99/patches/patch-lib_isccc_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_isccc_Makefile.in,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* XXX: Install with proper permission.
+
+--- lib/isccc/Makefile.in.orig 2011-02-19 23:47:38.000000000 +0000
++++ lib/isccc/Makefile.in
+@@ -80,7 +80,7 @@ installdirs:
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
+
+ install:: timestamp installdirs
+- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libisccc.@A@ ${DESTDIR}${libdir}
++ ${LIBTOOL_MODE_INSTALL} ${INSTALL_SCRIPT} libisccc.@A@ ${DESTDIR}${libdir}
+
+ clean distclean::
+ rm -f libisccc.@A@ timestamp
diff --git a/net/bind99/patches/patch-lib_isccfg_Makefile.in b/net/bind99/patches/patch-lib_isccfg_Makefile.in
new file mode 100644
index 00000000000..6d4a9fd84f7
--- /dev/null
+++ b/net/bind99/patches/patch-lib_isccfg_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_isccfg_Makefile.in,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* XXX: Install with proper permission.
+
+--- lib/isccfg/Makefile.in.orig 2011-03-10 04:36:16.000000000 +0000
++++ lib/isccfg/Makefile.in
+@@ -77,7 +77,7 @@ installdirs:
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
+
+ install:: timestamp installdirs
+- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libisccfg.@A@ ${DESTDIR}${libdir}
++ ${LIBTOOL_MODE_INSTALL} ${INSTALL_SCRIPT} libisccfg.@A@ ${DESTDIR}${libdir}
+
+ clean distclean::
+ rm -f libisccfg.@A@ timestamp
diff --git a/net/bind99/patches/patch-lib_lwres_Makefile.in b/net/bind99/patches/patch-lib_lwres_Makefile.in
new file mode 100644
index 00000000000..1cbd2ab54bc
--- /dev/null
+++ b/net/bind99/patches/patch-lib_lwres_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_lwres_Makefile.in,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* XXX: Install with proper permission.
+
+--- lib/lwres/Makefile.in.orig 2007-06-19 23:47:22.000000000 +0000
++++ lib/lwres/Makefile.in
+@@ -78,7 +78,7 @@ installdirs:
+ $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
+
+ install:: timestamp installdirs
+- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} liblwres.@A@ ${DESTDIR}${libdir}
++ ${LIBTOOL_MODE_INSTALL} ${INSTALL_SCRIPT} liblwres.@A@ ${DESTDIR}${libdir}
+
+ clean distclean::
+ rm -f liblwres.@A@ liblwres.la timestamp
diff --git a/net/bind99/patches/patch-lib_lwres_getaddrinfo.c b/net/bind99/patches/patch-lib_lwres_getaddrinfo.c
new file mode 100644
index 00000000000..58d18090019
--- /dev/null
+++ b/net/bind99/patches/patch-lib_lwres_getaddrinfo.c
@@ -0,0 +1,41 @@
+$NetBSD: patch-lib_lwres_getaddrinfo.c,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* Add fix for KAME based implementation.
+
+--- lib/lwres/getaddrinfo.c.orig 2008-11-25 23:47:23.000000000 +0000
++++ lib/lwres/getaddrinfo.c
+@@ -142,6 +142,10 @@
+ #include <lwres/netdb.h>
+ #include <lwres/stdlib.h>
+
++#ifdef __KAME__
++#include <net/if.h>
++#endif
++
+ #define SA(addr) ((struct sockaddr *)(addr))
+ #define SIN(addr) ((struct sockaddr_in *)(addr))
+ #define SIN6(addr) ((struct sockaddr_in6 *)(addr))
+@@ -366,14 +370,22 @@ lwres_getaddrinfo(const char *hostname,
+ p = strchr(ntmp, '%');
+ ep = NULL;
+
++#ifdef __KAME__
++ if (p != NULL) {
++ scopeid = if_nametoindex(p + 1);
++ if (scopeid)
++ p = NULL;
++ }
++#endif
+ /*
+ * Vendors may want to support non-numeric
+ * scopeid around here.
+ */
+
+- if (p != NULL)
++ if (p != NULL) {
+ scopeid = (lwres_uint32_t)strtoul(p + 1,
+ &ep, 10);
++ }
+ if (p != NULL && ep != NULL && ep[0] == '\0')
+ *p = '\0';
+ else {
diff --git a/net/bind99/patches/patch-lib_lwres_getnameinfo.c b/net/bind99/patches/patch-lib_lwres_getnameinfo.c
new file mode 100644
index 00000000000..81257ed82de
--- /dev/null
+++ b/net/bind99/patches/patch-lib_lwres_getnameinfo.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-lib_lwres_getnameinfo.c,v 1.1.1.1 2012/03/07 14:25:00 taca Exp $
+
+* Add fix for KAME based implementation.
+
+--- lib/lwres/getnameinfo.c.orig 2011-08-30 23:46:53.000000000 +0000
++++ lib/lwres/getnameinfo.c
+@@ -121,6 +121,10 @@
+ #include <lwres/netdb.h>
+ #include "print_p.h"
+
++#ifdef __KAME__
++#include <net/if.h>
++#endif
++
+ #include "assert_p.h"
+
+ #define SUCCESS 0
+@@ -272,13 +276,9 @@ lwres_getnameinfo(const struct sockaddr
+ ((const struct sockaddr_in6 *)sa)->sin6_scope_id) {
+ char *p = numaddr + strlen(numaddr);
+ const char *stringscope = NULL;
+-#if 0
+- if ((flags & NI_NUMERICSCOPE) == 0) {
+- /*
+- * Vendors may want to add support for
+- * non-numeric scope identifier.
+- */
+- stringscope = foo;
++#ifdef __KAME__
++ stringscope = if_indextoname(
++ ((const struct sockaddr_in6 *)sa)->sin6_scope_id);
+ }
+ #endif
+ if (stringscope == NULL) {