diff options
author | Jared H.Hudson <jhhudso@gentoo.org> | 2004-05-02 15:17:02 +0000 |
---|---|---|
committer | Jared H.Hudson <jhhudso@gentoo.org> | 2004-05-02 15:17:02 +0000 |
commit | e2cc1b746cf5a83ee93d85eb216c009880318922 (patch) | |
tree | 25449a05a7847fcf42cab4132252efd173f6d04a /net-dns | |
parent | added net-dns/djbdns:ipv6arpa to enable a ipv6 arpa patch for djbdns (diff) | |
download | gentoo-2-e2cc1b746cf5a83ee93d85eb216c009880318922.tar.gz gentoo-2-e2cc1b746cf5a83ee93d85eb216c009880318922.tar.bz2 gentoo-2-e2cc1b746cf5a83ee93d85eb216c009880318922.zip |
added ipv6arpa use flag and patch to enable ipv6 arpa support
Diffstat (limited to 'net-dns')
-rw-r--r-- | net-dns/djbdns/ChangeLog | 8 | ||||
-rw-r--r-- | net-dns/djbdns/Manifest | 19 | ||||
-rw-r--r-- | net-dns/djbdns/djbdns-1.05-r10.ebuild | 87 | ||||
-rw-r--r-- | net-dns/djbdns/files/digest-djbdns-1.05-r10 | 4 | ||||
-rw-r--r-- | net-dns/djbdns/files/djbdns-1.05-ipv6arpa+BSDok-gentoo.diff | 141 |
5 files changed, 250 insertions, 9 deletions
diff --git a/net-dns/djbdns/ChangeLog b/net-dns/djbdns/ChangeLog index 701a0c1b6357..64a64b34bc4b 100644 --- a/net-dns/djbdns/ChangeLog +++ b/net-dns/djbdns/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-dns/djbdns # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/ChangeLog,v 1.24 2004/04/10 02:28:28 kumba Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/ChangeLog,v 1.25 2004/05/02 15:17:02 jhhudso Exp $ + +*djbdns-1.05-r10 (02 May 2004) + + 02 May 2004; Jared Hudson <jhhudso@gentoo.org> : + Added ipv6arpa use flag and patch to enable ipv6 arpa support per bug + #49581 thanks to Georgi Georgiev <chutz@gg3.net>. *djbdns-1.05-r9 (09 Apr 2004) diff --git a/net-dns/djbdns/Manifest b/net-dns/djbdns/Manifest index 3a63db65ae50..9fabee1d3ee7 100644 --- a/net-dns/djbdns/Manifest +++ b/net-dns/djbdns/Manifest @@ -1,14 +1,17 @@ -MD5 f8bacd9b07e1a737bcb1759b6b90dc80 ChangeLog 4628 +MD5 2c3158204cfb4b9c36b8bc78e8421b16 metadata.xml 223 MD5 ae7f154dec7e520b63b99fb288ba3548 djbdns-1.05-r3.ebuild 1706 +MD5 f8bacd9b07e1a737bcb1759b6b90dc80 ChangeLog 4628 +MD5 9aa120aa77b836d5b63d35993f162981 djbdns-1.05-r10.ebuild 2800 MD5 929f24768768beab0878bff106ff9277 djbdns-1.05-r7.ebuild 1934 -MD5 6994f3a676feb5131ba8b5d17cdd4cdf djbdns-1.05-r8.ebuild 2037 MD5 c35b82eaf963783758e20ff0de7c3bb9 djbdns-1.05-r9.ebuild 2751 -MD5 2c3158204cfb4b9c36b8bc78e8421b16 metadata.xml 223 +MD5 6994f3a676feb5131ba8b5d17cdd4cdf djbdns-1.05-r8.ebuild 2037 +MD5 3340189be9a5a23877b1c8bbb9edf4a3 files/digest-djbdns-1.05-r9 261 +MD5 3340189be9a5a23877b1c8bbb9edf4a3 files/digest-djbdns-1.05-r10 261 +MD5 ba558b4a61ed71c23083aa1ec32c7cc9 files/digest-djbdns-1.05-r8 270 +MD5 456c7b3cc5de829f4f03e627300e654f files/digest-djbdns-1.05-r7 266 +MD5 7c2a17103fedf0325d120a7d254432fa files/tinydns-setup 3209 +MD5 444830203a792b4a295ca8fee554b8d3 files/djbdns-1.05-ipv6arpa+BSDok-gentoo.diff 4127 MD5 188096855028696985f1b9d839d1643f files/1.05-errno.patch 238 +MD5 625d040d68fa3f87d67688c0e15eb2f4 files/headtail.patch 1781 MD5 3d85d57281612a4f73829a8efb9d6455 files/digest-djbdns-1.05-r3 133 -MD5 456c7b3cc5de829f4f03e627300e654f files/digest-djbdns-1.05-r7 266 -MD5 ba558b4a61ed71c23083aa1ec32c7cc9 files/digest-djbdns-1.05-r8 270 -MD5 3340189be9a5a23877b1c8bbb9edf4a3 files/digest-djbdns-1.05-r9 261 MD5 2804eedf8bf07dacf67d094c5122c723 files/dnscache-setup 6007 -MD5 625d040d68fa3f87d67688c0e15eb2f4 files/headtail.patch 1781 -MD5 7c2a17103fedf0325d120a7d254432fa files/tinydns-setup 3209 diff --git a/net-dns/djbdns/djbdns-1.05-r10.ebuild b/net-dns/djbdns/djbdns-1.05-r10.ebuild new file mode 100644 index 000000000000..3bb3a466eae7 --- /dev/null +++ b/net-dns/djbdns/djbdns-1.05-r10.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/djbdns-1.05-r10.ebuild,v 1.1 2004/05/02 15:17:02 jhhudso Exp $ + +IUSE="ipv6 ipv6arpa static fwdzone roundrobin" + +inherit eutils + +DESCRIPTION="Excellent high-performance DNS services" +HOMEPAGE="http://cr.yp.to/djbdns.html" +SRC_URI="http://cr.yp.to/djbdns/${P}.tar.gz + fwdzone? ( http://www.skarnet.org/software/djbdns-fwdzone/djbdns-1.04-fwdzone.patch ) + roundrobin? ( http://www.legend.co.uk/djb/dns/round-robin.patch ) + ipv6? ( http://www.fefe.de/dns/djbdns-1.05-test20.diff.bz2 )" + +SLOT="0" +LICENSE="as-is" +KEYWORDS="~x86" + +RDEPEND=">=sys-apps/daemontools-0.70 + sys-apps/ucspi-tcp" + +src_unpack() { + unpack ${A} + cd ${S} + + use ipv6 && ( use fwdzone || use roundrobin ) && \ + eerror "ipv6 cannot currently be used with the fwdzone or " && \ + eerror "roundrobin patch." && \ + eerror && \ + eerror "If you would like to see ipv6 support along with one of " && \ + eerror "those other patches please submit a working patch that " && \ + eerror "combines ipv6 with either fwdzone or roundrobin but not " && \ + eerror "both at the same time, since the latter 2 patches are " && \ + eerror "mutually exclusive according to bug #31238." && exit -1 + + use fwdzone && use roundrobin && \ + eerror "fwdzone and roundrobin do not work together according " && \ + eerror "to bug #31238" && exit -1 + + use fwdzone && epatch ${DISTDIR}/djbdns-1.04-fwdzone.patch + use roundrobin && epatch ${DISTDIR}/round-robin.patch + use ipv6 && epatch ${WORKDIR}/djbdns-1.05-test20.diff + use ipv6 && use ipv6arpa && \ + epatch ${FILESDIR}/djbdns-1.05-ipv6arpa+BSDok-gentoo.diff + + epatch ${FILESDIR}/${PV}-errno.patch + epatch ${FILESDIR}/headtail.patch +} + +src_compile() { + LDFLAGS= + use static && LDFLAGS="-static" + echo "gcc ${CFLAGS}" > conf-cc + echo "gcc ${LDFLAGS}" > conf-ld + echo "/usr" > conf-home + MAKEOPTS="-j1" emake || die "emake failed" +} + +src_install() { + insinto /etc + doins dnsroots.global + into /usr + dobin *-conf dnscache tinydns walldns rbldns pickdns axfrdns \ + *-get *-data *-edit dnsip dnsipq dnsname dnstxt dnsmx \ + dnsfilter random-ip dnsqr dnsq dnstrace dnstracesort + + use ipv6 && dobin dnsip6 dnsip6q + + dodoc CHANGES FILES README SYSDEPS TARGETS TODO VERSION + + dobin ${FILESDIR}/dnscache-setup + dobin ${FILESDIR}/tinydns-setup +} + +pkg_postinst() { + groupadd &>/dev/null nofiles + id &>/dev/null dnscache || \ + useradd -g nofiles -d /nonexistent -s /bin/false dnscache + id &>/dev/null dnslog || \ + useradd -g nofiles -d /nonexistent -s /bin/false dnslog + id &>/dev/null tinydns || \ + useradd -g nofiles -d /nonexistent -s /bin/false tinydns + + einfo "Use dnscache-setup and tinydns-setup to help you" + einfo "configure your nameservers!" +} diff --git a/net-dns/djbdns/files/digest-djbdns-1.05-r10 b/net-dns/djbdns/files/digest-djbdns-1.05-r10 new file mode 100644 index 000000000000..b6df35aca096 --- /dev/null +++ b/net-dns/djbdns/files/digest-djbdns-1.05-r10 @@ -0,0 +1,4 @@ +MD5 3147c5cd56832aa3b41955c7a51cbeb2 djbdns-1.05.tar.gz 85648 +MD5 ac799440bacc9d283e1c228f84cf99d4 djbdns-1.04-fwdzone.patch 6479 +MD5 4c8558be4c763b039de9211368c01b06 round-robin.patch 3239 +MD5 3757ed6320dc5781ac8ade6a2eaa58d6 djbdns-1.05-test20.diff.bz2 18041 diff --git a/net-dns/djbdns/files/djbdns-1.05-ipv6arpa+BSDok-gentoo.diff b/net-dns/djbdns/files/djbdns-1.05-ipv6arpa+BSDok-gentoo.diff new file mode 100644 index 000000000000..241fb398d36a --- /dev/null +++ b/net-dns/djbdns/files/djbdns-1.05-ipv6arpa+BSDok-gentoo.diff @@ -0,0 +1,141 @@ +diff -u djbdns-1.05/Makefile /tmp/djbdns-1.05/Makefile +--- djbdns-1.05/Makefile 2004-02-18 18:45:31.152421552 +0900 ++++ /tmp/djbdns-1.05/Makefile 2004-02-18 18:34:58.000000000 +0900 +@@ -1102,7 +1102,7 @@ + tinydns-data: \ + load tinydns-data.o cdb.a dns.a alloc.a buffer.a unix.a byte.a + ./load tinydns-data cdb.a dns.a alloc.a buffer.a unix.a \ +- byte.a ++ env.a byte.a + + tinydns-data.o: \ + compile tinydns-data.c uint16.h uint32.h str.h byte.h fmt.h ip4.h \ +diff -u djbdns-1.05/dns.h /tmp/djbdns-1.05/dns.h +--- djbdns-1.05/dns.h 2004-02-18 18:45:31.158420549 +0900 ++++ /tmp/djbdns-1.05/dns.h 2004-02-18 18:35:43.000000000 +0900 +@@ -89,5 +89,6 @@ + + extern int dns_name6_domain(char *,char *); + #define DNS_NAME6_DOMAIN (4*16+10) ++#define DNS_NAME6_ARPA (4*16+11) + + #endif +diff -u djbdns-1.05/dns_name.c /tmp/djbdns-1.05/dns_name.c +--- djbdns-1.05/dns_name.c 2004-02-18 18:45:31.163419714 +0900 ++++ /tmp/djbdns-1.05/dns_name.c 2004-02-18 18:37:24.000000000 +0900 +@@ -50,11 +50,14 @@ + + int dns_name6(stralloc *out,char ip[16]) + { +- char name[DNS_NAME6_DOMAIN]; ++ char name[DNS_NAME6_ARPA]; + + if (ip6_isv4mapped(ip)) + return dns_name4(out,ip+12); +- dns_name6_domain(name,ip); ++ if (env_get("IP6_INT")) ++ dns_name6_domain(name,ip); ++ else ++ dns_name6_arpa(name,ip); + if (dns_resolve(name,DNS_T_PTR) == -1) return -1; + if (dns_name_packet(out,dns_resolve_tx.packet,dns_resolve_tx.packetlen) == -1) return -1; + dns_transmit_free(&dns_resolve_tx); +diff -u djbdns-1.05/dns_nd6.c /tmp/djbdns-1.05/dns_nd6.c +--- djbdns-1.05/dns_nd6.c 2004-02-18 18:45:31.165419379 +0900 ++++ /tmp/djbdns-1.05/dns_nd6.c 2004-02-18 18:38:28.000000000 +0900 +@@ -26,3 +26,17 @@ + return 4*16+9; + } + ++int dns_name6_arpa(char name[DNS_NAME6_ARPA],char ip[16]) ++{ ++ unsigned int j; ++ ++ for (j=0; j<16; j++) { ++ name[j*4]=1; ++ name[j*4+1]=tohex(ip[15-j] & 15); ++ name[j*4+2]=1; ++ name[j*4+3]=tohex((unsigned char)ip[15-j] >> 4); ++ } ++ byte_copy(name + 4*16,10,"\3ip6\4arpa\0"); ++ return 4*16+10; ++} ++ +diff -u djbdns-1.05/dnscache.c /tmp/djbdns-1.05/dnscache.c +--- djbdns-1.05/dnscache.c 2004-02-18 18:45:31.176417541 +0900 ++++ /tmp/djbdns-1.05/dnscache.c 2004-02-18 18:40:55.000000000 +0900 +@@ -23,6 +23,7 @@ + #include "log.h" + #include "okclient.h" + #include "droproot.h" ++#include "openreadclose.h" + + long interface; + +@@ -414,6 +415,14 @@ + if (ip6_isv4mapped(myipincoming)) + noipv6 = 1; + #endif ++#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) ++ if (ip4_scan(x,myipincoming+12)) ++{ ++ noipv6 = 1; ++} else { ++ ip6_scan(x,myipincoming); /* set again */ ++} ++#endif + + udp53 = socket_udp6(); + if (udp53 == -1) +diff -u djbdns-1.05/server.c /tmp/djbdns-1.05/server.c +--- djbdns-1.05/server.c 2004-02-18 18:45:31.221410019 +0900 ++++ /tmp/djbdns-1.05/server.c 2004-02-18 18:43:07.000000000 +0900 +@@ -103,6 +103,10 @@ + while (x[off]) { + unsigned int l; + char dummy[16]; ++#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) ++ if (ip4_scan(x,ip+12)) ++ noipv6 = 1; ++#endif + l=ip6_scan(x+off,dummy); + if (!l) + strerr_die3x(111,fatal,"unable to parse IP address ",x+off); +diff -u djbdns-1.05/tinydns-data.c /tmp/djbdns-1.05/tinydns-data.c +--- djbdns-1.05/tinydns-data.c 2004-02-18 18:45:31.248405506 +0900 ++++ /tmp/djbdns-1.05/tinydns-data.c 2004-02-18 18:44:58.000000000 +0900 +@@ -19,6 +19,7 @@ + #include "stralloc.h" + #include "open.h" + #include "dns.h" ++#include "env.h" + + #define TTL_NS 259200 + #define TTL_POSITIVE 86400 +@@ -174,6 +175,7 @@ + static char *d2; + char dptr[DNS_NAME4_DOMAIN]; + char d6ptr[DNS_NAME6_DOMAIN]; ++char d6ptr_arpa[DNS_NAME6_ARPA]; + + char strnum[FMT_ULONG]; + +@@ -356,10 +358,16 @@ + rr_finish(d1); + + if (line.s[0] == '6') { +- dns_name6_domain(d6ptr,ip6); ++ if (env_get("IP6_INT")) { ++ dns_name6_domain(d6ptr,ip6); ++ rr_start(DNS_T_PTR,ttl,ttd,loc); ++ rr_addname(d1); ++ rr_finish(d6ptr); ++ } ++ dns_name6_arpa(d6ptr_arpa,ip6); + rr_start(DNS_T_PTR,ttl,ttd,loc); + rr_addname(d1); +- rr_finish(d6ptr); ++ rr_finish(d6ptr_arpa); + } + } + break; |