summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2011-03-04 03:52:14 +0000
committertaca <taca@pkgsrc.org>2011-03-04 03:52:14 +0000
commit3a280d6cc7ec2581128938b18734971bac02e42b (patch)
treee3cc4bfaf4feb392a560636fc48ec624a7f37848 /net
parent2c500c89ddfb878db5b35708c2b283c288fbfe99 (diff)
downloadpkgsrc-3a280d6cc7ec2581128938b18734971bac02e42b.tar.gz
Importing BIND 9.8.0 as net/bind98.
Full release note: http://ftp.isc.org/isc/bind9/9.8.0/RELEASE-NOTES-BIND-9.8.html New Features 9.8.0 * The ADB hash table stores informations about which authoritative servers to query about particular domains. Previous versions of BIND had the hash table size as a fixed value. On a busy recursive server, this could lead to hash table collisions in the ADB cache, resulting in degraded response time to queries. Bind 9.8 now has a dynamically scalable ADB hash table, which helps a busy server to avoid hash table collisions and maintain a consistent query response time. [RT #21186] * BIND now supports a new zone type, static-stub. This allows the administrator of a recursive nameserver to force queries for a particular zone to go to IP addresses of the administrator's choosing, on a per zone basis, both globally or per view. I.e. if the administrator wishes to have their recursive server query 192.0.2.1 and 192.0.2.2 for zone example.com rather than the servers listed by the .com gTLDs, they would configure example.com as a static-stub zone in their recursive server. [RT #21474] * BIND now supports Response Policy Zones, a way of expressing "reputation" in real time via specially constructed DNS zones. See the draft specification here: http://ftp.isc.org/isc/dnsrpz/isc-tn-2010-1.txt [RT #21726] * BIND 9.8.0 now has DNS64 support. named synthesizes AAAA records from specified A records if no AAAA record exists. IP6.ARPA CNAME records will be synthesized from corresponding IN-ADDR.ARPA. [RT #21991/22769] * Dynamically Loadable Zones (DLZ) now support dynamic updates. Contributed by Andrew Tridgell of the Samba Project. [RT #22629] * Added a "dlopen" DLZ driver, allowing the creation of external DLZ drivers that can be loaded as shared objects at runtime rather than having to be linked with named at compile time. Currently this is switched on via a compile-time option, "configure --with-dlz-dlopen". Note: the syntax for configuring DLZ zones is likely to be refined in future releases. Contributed by Andrew Tridgell of the Samba Project. [RT #22629] * named now retains GSS-TSIG keys across restarts. This is for compatibility with Microsoft DHCP servers doing dynamic DNS updates for clients, which don't know to renegotiate the GSS-TSIG session key when named restarts. [RT #22639] * There is a new update-policy match type "external". This allows named to decide whether to allow a dynamic update by checking with an external daemon. Contributed by Andrew Tridgell of the Samba Project. [RT #22758] * There have been a number of bug fixes and ease of use enhancements for configuring BIND to support GSS-TSIG [RT #22629/22795]. These include: + Added a "tkey-gssapi-keytab" option. If set, dynamic updates will be allowed for any key matching a Kerberos principal in the specified keytab file. "tkey-gssapi-credential" is no longer required and is expected to be deprecated. Contributed by Andrew Tridgell of the Samba Project. [RT #22629] + It is no longer necessary to have a valid /etc/krb5.conf file. Using the syntax DNS/hostname@REALM in nsupdate is sufficient for to correctly set the default realm. [RT #22795] + Documentation updated new gssapi configuration options (new option tkey-gssapi-keytab and changes in tkey-gssapi-credential and tkey-domain behavior). [RT 22795] + DLZ correctly deals with NULL zone in a query. [RT 22795] + TSIG correctly deals with a NULL tkey->creator. [RT 22795] * A new test has been added to check the apex NSEC3 records after DNSKEY records have been added via dynamic update. [RT #23229] * RTT banding (randomized server selection on queries) was introduced in BIND releases in 2008, due to the Kaminsky cache poisoning bug. Instead of always picking the authoritative server with the lowest RTT to the caching resolver, all the authoritative servers within an RTT range were randomly used by the recursive server. While this did add an extra bit of randomness that an attacker had to overcome to poison a recursive server's cache, it also impacts the resolver's speed in answering end customer queries, since it's no longer the fastest auth server that gets asked. This means that performance optimizations, such using topologically close authoritative servers, are rendered ineffective. ISC has evaluated the amount of security added versus the performance hit to end users and has decided that RTT banding is causing more harm than good. Therefore, with this release, BIND is going back to the server selection used prior to adding RTT banding. [RT #23310] Feature Changes 9.8.0 * There is a new option in dig, +onesoa, that allows the final SOA record in an AXFR response to be suppressed. [RT #20929 * There is additional information displayed in the recursing log (qtype, qclass, qid and whether we are following the original name). [RT #22043] * Added option 'resolver-query-timeout' in named.conf (max query timeout in seconds) to set a different value than the default (30 seconds). A value of 0 means 'use the compiled in default'; anything longer than 30 will be silently set to 30. [RT #22852] * For Mac OS X, you can now have the test interfaces used during "make test" stay beyond reboot. See bin/tests/system/README for details.
Diffstat (limited to 'net')
-rw-r--r--net/bind98/DESCR13
-rw-r--r--net/bind98/MESSAGE10
-rw-r--r--net/bind98/Makefile83
-rw-r--r--net/bind98/PLIST519
-rw-r--r--net/bind98/buildlink3.mk12
-rw-r--r--net/bind98/builtin.mk92
-rw-r--r--net/bind98/distinfo10
-rw-r--r--net/bind98/files/lwresd.sh25
-rw-r--r--net/bind98/files/named9.sh66
-rw-r--r--net/bind98/options.mk89
-rw-r--r--net/bind98/patches/patch-config.threads.in13
-rw-r--r--net/bind98/patches/patch-configure34
-rw-r--r--net/bind98/patches/patch-lib_dns_rbt.c15
-rw-r--r--net/bind98/patches/patch-lib_lwres_getaddrinfo.c39
-rw-r--r--net/bind98/patches/patch-lib_lwres_getnameinfo.c32
15 files changed, 1052 insertions, 0 deletions
diff --git a/net/bind98/DESCR b/net/bind98/DESCR
new file mode 100644
index 00000000000..33cb13d89a2
--- /dev/null
+++ b/net/bind98/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/bind98/MESSAGE b/net/bind98/MESSAGE
new file mode 100644
index 00000000000..ffc0a9ac839
--- /dev/null
+++ b/net/bind98/MESSAGE
@@ -0,0 +1,10 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2011/03/04 03:52:15 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/bind98/Makefile b/net/bind98/Makefile
new file mode 100644
index 00000000000..0b1bca9d491
--- /dev/null
+++ b/net/bind98/Makefile
@@ -0,0 +1,83 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/03/04 03:52:14 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 of the Berkeley Internet Name Daemon, implementation of DNS
+
+CONFLICTS+= bind<9.8.0
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+MAKE_JOBS_SAFE= no
+
+BIND_VERSION= 9.8.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
+
+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 share/doc/bind9/draft \
+ share/doc/bind9/rfc
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/README ${DOCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${DOCDIR}/arm
+ ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${DOCDIR}/arm
+ ${INSTALL_DATA} ${WRKSRC}/doc/draft/draft-*.txt ${DOCDIR}/draft
+ ${INSTALL_DATA} ${WRKSRC}/doc/rfc/rfc*.txt ${DOCDIR}/rfc
+
+.include "../../security/openssl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/bind98/PLIST b/net/bind98/PLIST
new file mode 100644
index 00000000000..1f966fce3fe
--- /dev/null
+++ b/net/bind98/PLIST
@@ -0,0 +1,519 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/03/04 03:52:15 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/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/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/README
+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/doc/bind9/draft/draft-ietf-6man-text-addr-representation-07.txt
+share/doc/bind9/draft/draft-ietf-behave-address-format-07.txt
+share/doc/bind9/draft/draft-ietf-behave-dns64-11.txt
+share/doc/bind9/draft/draft-ietf-dnsext-axfr-clarify-14.txt
+share/doc/bind9/draft/draft-ietf-dnsext-dns-tcp-requirements-03.txt
+share/doc/bind9/draft/draft-ietf-dnsext-dnssec-bis-updates-12.txt
+share/doc/bind9/draft/draft-ietf-dnsext-dnssec-registry-fixes-06.txt
+share/doc/bind9/draft/draft-ietf-dnsext-ecc-key-07.txt
+share/doc/bind9/draft/draft-ietf-dnsext-interop3597-02.txt
+share/doc/bind9/draft/draft-ietf-dnsext-rfc2671bis-edns0-02.txt
+share/doc/bind9/draft/draft-ietf-dnsext-rfc2672bis-dname-19.txt
+share/doc/bind9/draft/draft-ietf-dnsext-rfc3597-bis-02.txt
+share/doc/bind9/draft/draft-ietf-dnsext-tsig-md5-deprecated-03.txt
+share/doc/bind9/draft/draft-ietf-dnsop-bad-dns-res-05.txt
+share/doc/bind9/draft/draft-ietf-dnsop-default-local-zones-10.txt
+share/doc/bind9/draft/draft-ietf-dnsop-dnssec-key-timing-00.txt
+share/doc/bind9/draft/draft-ietf-dnsop-dnssec-trust-history-01.txt
+share/doc/bind9/draft/draft-ietf-dnsop-inaddr-required-07.txt
+share/doc/bind9/draft/draft-ietf-dnsop-name-server-management-reqs-02.txt
+share/doc/bind9/draft/draft-ietf-dnsop-respsize-06.txt
+share/doc/bind9/draft/draft-kato-dnsop-local-zones-00.txt
+share/doc/bind9/draft/draft-kerr-ixfr-only-01.txt
+share/doc/bind9/draft/draft-mekking-dnsop-auto-cpsync-00.txt
+share/doc/bind9/draft/draft-yao-dnsext-bname-04.txt
+share/doc/bind9/rfc/rfc1032.txt
+share/doc/bind9/rfc/rfc1033.txt
+share/doc/bind9/rfc/rfc1034.txt
+share/doc/bind9/rfc/rfc1035.txt
+share/doc/bind9/rfc/rfc1101.txt
+share/doc/bind9/rfc/rfc1122.txt
+share/doc/bind9/rfc/rfc1123.txt
+share/doc/bind9/rfc/rfc1183.txt
+share/doc/bind9/rfc/rfc1348.txt
+share/doc/bind9/rfc/rfc1535.txt
+share/doc/bind9/rfc/rfc1536.txt
+share/doc/bind9/rfc/rfc1537.txt
+share/doc/bind9/rfc/rfc1591.txt
+share/doc/bind9/rfc/rfc1611.txt
+share/doc/bind9/rfc/rfc1612.txt
+share/doc/bind9/rfc/rfc1706.txt
+share/doc/bind9/rfc/rfc1712.txt
+share/doc/bind9/rfc/rfc1750.txt
+share/doc/bind9/rfc/rfc1876.txt
+share/doc/bind9/rfc/rfc1886.txt
+share/doc/bind9/rfc/rfc1912.txt
+share/doc/bind9/rfc/rfc1982.txt
+share/doc/bind9/rfc/rfc1995.txt
+share/doc/bind9/rfc/rfc1996.txt
+share/doc/bind9/rfc/rfc2052.txt
+share/doc/bind9/rfc/rfc2104.txt
+share/doc/bind9/rfc/rfc2119.txt
+share/doc/bind9/rfc/rfc2133.txt
+share/doc/bind9/rfc/rfc2136.txt
+share/doc/bind9/rfc/rfc2137.txt
+share/doc/bind9/rfc/rfc2163.txt
+share/doc/bind9/rfc/rfc2168.txt
+share/doc/bind9/rfc/rfc2181.txt
+share/doc/bind9/rfc/rfc2230.txt
+share/doc/bind9/rfc/rfc2308.txt
+share/doc/bind9/rfc/rfc2317.txt
+share/doc/bind9/rfc/rfc2373.txt
+share/doc/bind9/rfc/rfc2374.txt
+share/doc/bind9/rfc/rfc2375.txt
+share/doc/bind9/rfc/rfc2418.txt
+share/doc/bind9/rfc/rfc2535.txt
+share/doc/bind9/rfc/rfc2536.txt
+share/doc/bind9/rfc/rfc2537.txt
+share/doc/bind9/rfc/rfc2538.txt
+share/doc/bind9/rfc/rfc2539.txt
+share/doc/bind9/rfc/rfc2540.txt
+share/doc/bind9/rfc/rfc2541.txt
+share/doc/bind9/rfc/rfc2553.txt
+share/doc/bind9/rfc/rfc2671.txt
+share/doc/bind9/rfc/rfc2672.txt
+share/doc/bind9/rfc/rfc2673.txt
+share/doc/bind9/rfc/rfc2782.txt
+share/doc/bind9/rfc/rfc2825.txt
+share/doc/bind9/rfc/rfc2826.txt
+share/doc/bind9/rfc/rfc2845.txt
+share/doc/bind9/rfc/rfc2874.txt
+share/doc/bind9/rfc/rfc2915.txt
+share/doc/bind9/rfc/rfc2929.txt
+share/doc/bind9/rfc/rfc2930.txt
+share/doc/bind9/rfc/rfc2931.txt
+share/doc/bind9/rfc/rfc3007.txt
+share/doc/bind9/rfc/rfc3008.txt
+share/doc/bind9/rfc/rfc3071.txt
+share/doc/bind9/rfc/rfc3090.txt
+share/doc/bind9/rfc/rfc3110.txt
+share/doc/bind9/rfc/rfc3123.txt
+share/doc/bind9/rfc/rfc3152.txt
+share/doc/bind9/rfc/rfc3197.txt
+share/doc/bind9/rfc/rfc3225.txt
+share/doc/bind9/rfc/rfc3226.txt
+share/doc/bind9/rfc/rfc3258.txt
+share/doc/bind9/rfc/rfc3363.txt
+share/doc/bind9/rfc/rfc3364.txt
+share/doc/bind9/rfc/rfc3425.txt
+share/doc/bind9/rfc/rfc3445.txt
+share/doc/bind9/rfc/rfc3467.txt
+share/doc/bind9/rfc/rfc3490.txt
+share/doc/bind9/rfc/rfc3491.txt
+share/doc/bind9/rfc/rfc3492.txt
+share/doc/bind9/rfc/rfc3493.txt
+share/doc/bind9/rfc/rfc3513.txt
+share/doc/bind9/rfc/rfc3596.txt
+share/doc/bind9/rfc/rfc3597.txt
+share/doc/bind9/rfc/rfc3645.txt
+share/doc/bind9/rfc/rfc3655.txt
+share/doc/bind9/rfc/rfc3658.txt
+share/doc/bind9/rfc/rfc3755.txt
+share/doc/bind9/rfc/rfc3757.txt
+share/doc/bind9/rfc/rfc3833.txt
+share/doc/bind9/rfc/rfc3845.txt
+share/doc/bind9/rfc/rfc3901.txt
+share/doc/bind9/rfc/rfc4025.txt
+share/doc/bind9/rfc/rfc4033.txt
+share/doc/bind9/rfc/rfc4034.txt
+share/doc/bind9/rfc/rfc4035.txt
+share/doc/bind9/rfc/rfc4074.txt
+share/doc/bind9/rfc/rfc4159.txt
+share/doc/bind9/rfc/rfc4193.txt
+share/doc/bind9/rfc/rfc4255.txt
+share/doc/bind9/rfc/rfc4294.txt
+share/doc/bind9/rfc/rfc4339.txt
+share/doc/bind9/rfc/rfc4343.txt
+share/doc/bind9/rfc/rfc4367.txt
+share/doc/bind9/rfc/rfc4398.txt
+share/doc/bind9/rfc/rfc4408.txt
+share/doc/bind9/rfc/rfc4431.txt
+share/doc/bind9/rfc/rfc4470.txt
+share/doc/bind9/rfc/rfc4471.txt
+share/doc/bind9/rfc/rfc4472.txt
+share/doc/bind9/rfc/rfc4509.txt
+share/doc/bind9/rfc/rfc4634.txt
+share/doc/bind9/rfc/rfc4635.txt
+share/doc/bind9/rfc/rfc4641.txt
+share/doc/bind9/rfc/rfc4648.txt
+share/doc/bind9/rfc/rfc4697.txt
+share/doc/bind9/rfc/rfc4701.txt
+share/doc/bind9/rfc/rfc4892.txt
+share/doc/bind9/rfc/rfc4955.txt
+share/doc/bind9/rfc/rfc4956.txt
+share/doc/bind9/rfc/rfc5001.txt
+share/doc/bind9/rfc/rfc5011.txt
+share/doc/bind9/rfc/rfc5155.txt
+share/doc/bind9/rfc/rfc5205.txt
+share/doc/bind9/rfc/rfc5452.txt
+share/doc/bind9/rfc/rfc5507.txt
+share/doc/bind9/rfc/rfc5625.txt
+share/doc/bind9/rfc/rfc5702.txt
+share/doc/bind9/rfc/rfc5933.txt
+share/doc/bind9/rfc/rfc952.txt
+share/examples/rc.d/lwresd
+share/examples/rc.d/named9
diff --git a/net/bind98/buildlink3.mk b/net/bind98/buildlink3.mk
new file mode 100644
index 00000000000..b4a222663f9
--- /dev/null
+++ b/net/bind98/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2011/03/04 03:52:15 taca Exp $
+
+BUILDLINK_TREE+= bind
+
+.if !defined(BIND_BUILDLINK3_MK)
+BIND_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.bind+= bind>=9.8.0
+BUILDLINK_PKGSRCDIR.bind?= ../../net/bind98
+.endif # BIND_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -bind
diff --git a/net/bind98/builtin.mk b/net/bind98/builtin.mk
new file mode 100644
index 00000000000..62b8d89c268
--- /dev/null
+++ b/net/bind98/builtin.mk
@@ -0,0 +1,92 @@
+# $NetBSD: builtin.mk,v 1.1.1.1 2011/03/04 03:52:15 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/bind98/distinfo b/net/bind98/distinfo
new file mode 100644
index 00000000000..7012190b429
--- /dev/null
+++ b/net/bind98/distinfo
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/03/04 03:52:14 taca Exp $
+
+SHA1 (bind-9.8.0.tar.gz) = 33019694ef3119d9daa1e8ff5117a6688e188528
+RMD160 (bind-9.8.0.tar.gz) = 648ed29a16a0bb3202e177ea3762301ed00f1cde
+Size (bind-9.8.0.tar.gz) = 7760161 bytes
+SHA1 (patch-config.threads.in) = 3d8ee03230fdb6aca545a67759ba7aacda52bb61
+SHA1 (patch-configure) = edf5a32b5c05aea110316f877264c22a2c4344ba
+SHA1 (patch-lib_dns_rbt.c) = 29fb5c24ff3558f1621e93ea16419e32dbc695b7
+SHA1 (patch-lib_lwres_getaddrinfo.c) = 9585a26a376d32f80ac8266eb7967c00b433f14d
+SHA1 (patch-lib_lwres_getnameinfo.c) = c26dcff4637b7beb16b66c32b304d0f187390eed
diff --git a/net/bind98/files/lwresd.sh b/net/bind98/files/lwresd.sh
new file mode 100644
index 00000000000..185943ec500
--- /dev/null
+++ b/net/bind98/files/lwresd.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# $NetBSD: lwresd.sh,v 1.1.1.1 2011/03/04 03:52:15 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/bind98/files/named9.sh b/net/bind98/files/named9.sh
new file mode 100644
index 00000000000..23b98012d3d
--- /dev/null
+++ b/net/bind98/files/named9.sh
@@ -0,0 +1,66 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: named9.sh,v 1.1.1.1 2011/03/04 03:52:15 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/bind98/options.mk b/net/bind98/options.mk
new file mode 100644
index 00000000000..d811c1e8066
--- /dev/null
+++ b/net/bind98/options.mk
@@ -0,0 +1,89 @@
+# $NetBSD: options.mk,v 1.1.1.1 2011/03/04 03:52:15 taca Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.bind98
+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 bind98 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/bind98/patches/patch-config.threads.in b/net/bind98/patches/patch-config.threads.in
new file mode 100644
index 00000000000..789b7445e39
--- /dev/null
+++ b/net/bind98/patches/patch-config.threads.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-config.threads.in,v 1.1.1.1 2011/03/04 03:52:15 taca Exp $
+
+--- config.threads.in.orig 2010-12-21 04:20:23.000000000 +0000
++++ config.threads.in
+@@ -44,6 +44,8 @@ case $host in
+ use_threads=false ;;
+ *-freebsd*)
+ use_threads=false ;;
++*-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/bind98/patches/patch-configure b/net/bind98/patches/patch-configure
new file mode 100644
index 00000000000..8b13fd62fd4
--- /dev/null
+++ b/net/bind98/patches/patch-configure
@@ -0,0 +1,34 @@
+$NetBSD: patch-configure,v 1.1.1.1 2011/03/04 03:52:15 taca Exp $
+
+--- configure.orig 2011-02-03 05:52:35.000000000 +0000
++++ configure
+@@ -21402,6 +21402,8 @@ case $host in
+ use_threads=false ;;
+ *-freebsd*)
+ use_threads=false ;;
++*-dragonfly*)
++ use_threads=false ;;
+ *-bsdi234*)
+ # Thread signals do not work reliably on some versions of BSD/OS.
+ use_threads=false ;;
+@@ -22718,9 +22720,9 @@ case $use_libtool in
+ O=lo
+ A=la
+ LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
+- LIBTOOL_MODE_COMPILE='--mode=compile'
++ LIBTOOL_MODE_COMPILE='--mode=compile --tag=CC'
+ LIBTOOL_MODE_INSTALL='--mode=install'
+- LIBTOOL_MODE_LINK='--mode=link'
++ LIBTOOL_MODE_LINK='--mode=link --tag=CC'
+ case "$host" in
+ *) LIBTOOL_ALLOW_UNDEFINED= ;;
+ esac
+@@ -26132,7 +26134,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/bind98/patches/patch-lib_dns_rbt.c b/net/bind98/patches/patch-lib_dns_rbt.c
new file mode 100644
index 00000000000..956730561cc
--- /dev/null
+++ b/net/bind98/patches/patch-lib_dns_rbt.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_dns_rbt.c,v 1.1.1.1 2011/03/04 03:52:15 taca Exp $
+
+--- lib/dns/rbt.c.orig 2009-10-27 04:46:58.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/bind98/patches/patch-lib_lwres_getaddrinfo.c b/net/bind98/patches/patch-lib_lwres_getaddrinfo.c
new file mode 100644
index 00000000000..1ef4fb54569
--- /dev/null
+++ b/net/bind98/patches/patch-lib_lwres_getaddrinfo.c
@@ -0,0 +1,39 @@
+$NetBSD: patch-lib_lwres_getaddrinfo.c,v 1.1.1.1 2011/03/04 03:52:15 taca Exp $
+
+--- 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/bind98/patches/patch-lib_lwres_getnameinfo.c b/net/bind98/patches/patch-lib_lwres_getnameinfo.c
new file mode 100644
index 00000000000..96b19630abf
--- /dev/null
+++ b/net/bind98/patches/patch-lib_lwres_getnameinfo.c
@@ -0,0 +1,32 @@
+$NetBSD: patch-lib_lwres_getnameinfo.c,v 1.1.1.1 2011/03/04 03:52:15 taca Exp $
+
+--- lib/lwres/getnameinfo.c.orig 2007-06-19 23:47:22.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
+@@ -271,13 +275,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) {