summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJared H.Hudson <jhhudso@gentoo.org>2004-05-02 15:17:02 +0000
committerJared H.Hudson <jhhudso@gentoo.org>2004-05-02 15:17:02 +0000
commite2cc1b746cf5a83ee93d85eb216c009880318922 (patch)
tree25449a05a7847fcf42cab4132252efd173f6d04a /net-dns
parentadded net-dns/djbdns:ipv6arpa to enable a ipv6 arpa patch for djbdns (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--net-dns/djbdns/Manifest19
-rw-r--r--net-dns/djbdns/djbdns-1.05-r10.ebuild87
-rw-r--r--net-dns/djbdns/files/digest-djbdns-1.05-r104
-rw-r--r--net-dns/djbdns/files/djbdns-1.05-ipv6arpa+BSDok-gentoo.diff141
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;