Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions

24
net/djbdns/DESCR Normal file
View File

@@ -0,0 +1,24 @@
djbdns is a collection of Domain Name System tools. It includes
software for all the fundamental DNS operations:
* DNS cache: finding addresses of Internet hosts. When a browser
wants to contact www.hotwired.com, it first asks a DNS cache,
such as djbdns's dnscache, to find the IP address of www.hotwired.com.
Internet service providers run dnscache to find IP addresses
requested by their customers. If you're running a home computer
or a workstation, you can run your own dnscache to speed up your
web browsing.
* DNS server: publishing addresses of Internet hosts. The IP address
of www.hotwired.com is published by HotWired's DNS servers. djbdns
includes a general-purpose DNS server, tinydns; network administrators
run tinydns to publish the IP addresses of their computers. djbdns
also includes special-purpose servers for publishing DNS walls
and RBLs.
* DNS client: talking to a DNS cache. djbdns includes a DNS client
C library and several command-line DNS client utilities. Programmers
use these tools to send requests to DNS caches.
djbdns also includes several DNS debugging tools, notably dnstrace,
which administrators use to diagnose misconfigured remote servers.

7
net/djbdns/MESSAGE Normal file
View File

@@ -0,0 +1,7 @@
===========================================================================
$NetBSD: MESSAGE,v 1.3 2005/04/07 05:21:16 schmonz Exp $
If you plan to run axfrdns, dnscache, rbldns, or tinydns services,
consider installing the djbdns-run package.
===========================================================================

40
net/djbdns/Makefile Normal file
View File

@@ -0,0 +1,40 @@
# $NetBSD: Makefile,v 1.62 2012/10/23 17:18:17 asau Exp $
DISTNAME= djbdns-1.05
PKGREVISION= 10
CATEGORIES= net
MASTER_SITES= http://cr.yp.to/djbdns/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${MANPAGES}
MAINTAINER= schmonz@NetBSD.org
HOMEPAGE= http://cr.yp.to/djbdns.html
COMMENT= Collection of secure and reliable DNS tools
LICENSE= public-domain
MANPAGES= ${DISTNAME}-man-20031023.tar.gz
SITES.${MANPAGES}= http://smarden.org/pape/djb/manpages/
PKG_INSTALLATION_TYPES= overwrite pkgviews
# We change conf-home from the default "/usr/local" and don't
# provide compatibility symlinks. We also patch to honor PKG_SYSCONFDIR
# and to set reasonable permissions on standard pkgsrc directories.
# This no longer affects distributability, as djbdns is public domain.
DJB_RESTRICTED= no
EGDIR= ${PREFIX}/share/examples/djbdns
CFLAGS+= -DPKG_SYSCONFDIR="\"${PKG_SYSCONFDIR}\""
MAKE_DIRS+= ${PKG_SYSCONFDIR}
CONF_FILES+= ${EGDIR}/dnsroots.global ${PKG_SYSCONFDIR}/dnsroots.global
PLIST_SRC= ${PKGDIR}/PLIST
INSTALLATION_DIRS= bin man ${PKGMANDIR}/man1 ${PKGMANDIR}/man5 ${PKGMANDIR}/man8 share/examples/djbdns
post-install:
cd ${WRKDIR}/${PKGBASE}-man; for i in 1 5 8; do \
for j in *.$$i; do ${INSTALL_MAN} $$j \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man$$i; done \
done
.include "../../mk/djbware.mk"
.include "../../mk/bsd.pkg.mk"

59
net/djbdns/PLIST Normal file
View File

@@ -0,0 +1,59 @@
@comment $NetBSD: PLIST,v 1.6 2011/06/09 01:44:16 schmonz Exp $
bin/axfr-get
bin/axfrdns
bin/axfrdns-conf
bin/dnscache
bin/dnscache-conf
bin/dnsfilter
bin/dnsip
bin/dnsipq
bin/dnsmx
bin/dnsname
bin/dnsq
bin/dnsqr
bin/dnstrace
bin/dnstracesort
bin/dnstxt
bin/pickdns
bin/pickdns-conf
bin/pickdns-data
bin/random-ip
bin/rbldns
bin/rbldns-conf
bin/rbldns-data
bin/tinydns
bin/tinydns-conf
bin/tinydns-data
bin/tinydns-edit
bin/tinydns-get
bin/walldns
bin/walldns-conf
man/man1/dnsfilter.1
man/man1/dnsip.1
man/man1/dnsipq.1
man/man1/dnsmx.1
man/man1/dnsname.1
man/man1/dnsq.1
man/man1/dnsqr.1
man/man1/dnstrace.1
man/man1/dnstracesort.1
man/man1/dnstxt.1
man/man1/tinydns-get.1
man/man5/qualification.5
man/man8/axfr-get.8
man/man8/axfrdns-conf.8
man/man8/axfrdns.8
man/man8/dnscache-conf.8
man/man8/dnscache.8
man/man8/rbldns-conf.8
man/man8/rbldns-data.8
man/man8/rbldns.8
man/man8/tinydns-conf.8
man/man8/tinydns-data.8
man/man8/tinydns-edit.8
man/man8/tinydns.8
man/man8/walldns-conf.8
man/man8/walldns.8
share/examples/djbdns/dnsroots.global
${PLIST.inet6}bin/dnsip6
${PLIST.inet6}bin/dnsip6q

27
net/djbdns/distinfo Normal file
View File

@@ -0,0 +1,27 @@
$NetBSD: distinfo,v 1.20 2011/12/25 21:16:46 schmonz Exp $
SHA1 (djbdns-1.05.tar.gz) = 2efdb3a039d0c548f40936aa9cb30829e0ce8c3d
RMD160 (djbdns-1.05.tar.gz) = a832cbfd93e4ccec6a565492a4ee0b3c1b4b68ed
Size (djbdns-1.05.tar.gz) = 85648 bytes
SHA1 (djbdns-1.05-man-20031023.tar.gz) = 3bac8a34a4bc681b9a0e603a77fa11492619e3ce
RMD160 (djbdns-1.05-man-20031023.tar.gz) = 42a5b3305513851dfe1da46df6f405bc81602fbe
Size (djbdns-1.05-man-20031023.tar.gz) = 17170 bytes
SHA1 (djbdns-1.05-test25.diff.bz2) = f94464d652d470c06931f946a871241fca250975
RMD160 (djbdns-1.05-test25.diff.bz2) = a7f5fdf2fece257d84151c57e3c74e8941a2d6a9
Size (djbdns-1.05-test25.diff.bz2) = 20376 bytes
SHA1 (djbdns-1.05-ignoreip2.patch) = ec4281a6864bd044a84fbfcaaf42baa6b003976d
RMD160 (djbdns-1.05-ignoreip2.patch) = bf8a0d38ae7bfb09a8ab2a04600680613db10aaa
Size (djbdns-1.05-ignoreip2.patch) = 3890 bytes
SHA1 (djbdns-cachestats.patch) = ab0b2835140768d89159d5564534d39520d7f403
RMD160 (djbdns-cachestats.patch) = e09994d84573e781ce18b59f909f8bd013de5d8e
Size (djbdns-cachestats.patch) = 2341 bytes
SHA1 (0001-dnscache-merge-similar-outgoing-queries.patch) = 8dd3ce7758d3a97cafbe6a60ea83f48e916f496d
RMD160 (0001-dnscache-merge-similar-outgoing-queries.patch) = c416dd6575819cfd40ef0d306ccb14d34a5afc90
Size (0001-dnscache-merge-similar-outgoing-queries.patch) = 9914 bytes
SHA1 (0002-dnscache-cache-soa-records.patch) = ac9b6a62c62588205cc4dc71da4e0ad6630f9635
RMD160 (0002-dnscache-cache-soa-records.patch) = 0b58e57bc11b36113c5fef73a64c869895f83889
Size (0002-dnscache-cache-soa-records.patch) = 2944 bytes
SHA1 (patch-aa) = 873897ad6b97baff363874a6a79c8da44383c283
SHA1 (patch-ab) = 874af27489ad4597e213cfe05a7f2f919081db20
SHA1 (patch-ac) = 4f089b63664b7e4685b77fc55b287860c8c68229
SHA1 (patch-ad) = 0dffb59090ccb4977c65885f062eb37255ccd0d9

View File

@@ -0,0 +1,254 @@
--- clients.h.orig 2009-04-21 23:43:02.000000000 -0400
+++ clients.h
@@ -0,0 +1,7 @@
+#ifndef CLIENTS_H
+#define CLIENTS_H
+
+#define MAXUDP 200
+#define MAXTCP 20
+
+#endif /* CLIENTS_H */
--- dns.h.orig 2001-02-11 16:11:45.000000000 -0500
+++ dns.h
@@ -4,6 +4,7 @@
#include "stralloc.h"
#include "iopause.h"
#include "taia.h"
+#include "clients.h"
#define DNS_C_IN "\0\1"
#define DNS_C_ANY "\0\377"
@@ -37,8 +38,14 @@ struct dns_transmit {
const char *servers;
char localip[4];
char qtype[2];
+ struct dns_transmit *master;
+ struct dns_transmit *slaves[MAXUDP];
+ int nslaves;
} ;
+extern void dns_enable_merge(void (*logger)(const char *, const char *,
+ const char *));
+
extern void dns_random_init(const char *);
extern unsigned int dns_random(unsigned int);
--- dns_transmit.c.orig 2001-02-11 16:11:45.000000000 -0500
+++ dns_transmit.c
@@ -7,6 +7,61 @@
#include "byte.h"
#include "uint16.h"
#include "dns.h"
+#include "strerr.h"
+
+static int merge_enable;
+static void (*merge_logger)(const char *, const char *, const char *);
+void dns_enable_merge(void (*f)(const char *, const char *, const char *))
+{
+ merge_enable = 1;
+ merge_logger = f;
+}
+
+static int merge_equal(struct dns_transmit *a, struct dns_transmit *b)
+{
+ const char *ip1 = a->servers + 4 * a->curserver;
+ const char *ip2 = b->servers + 4 * b->curserver;
+ return
+ byte_equal(ip1, 4, ip2) &&
+ byte_equal(a->qtype, 2, b->qtype) &&
+ dns_domain_equal(a->query + 14, b->query + 14);
+}
+
+struct dns_transmit *inprogress[MAXUDP];
+
+static int try_merge(struct dns_transmit *d)
+{
+ int i;
+ for (i = 0; i < MAXUDP; i++) {
+ if (!inprogress[i]) continue;
+ if (!merge_equal(d, inprogress[i])) continue;
+ d->master = inprogress[i];
+ inprogress[i]->slaves[inprogress[i]->nslaves++] = d;
+ return 1;
+ }
+ return 0;
+}
+
+static void register_inprogress(struct dns_transmit *d)
+{
+ int i;
+ for (i = 0; i < MAXUDP; i++) {
+ if (!inprogress[i]) {
+ inprogress[i] = d;
+ return;
+ }
+ }
+ strerr_die1x(100, "BUG: out of inprogress slots");
+}
+
+static void unregister_inprogress(struct dns_transmit *d)
+{
+ int i;
+ for (i = 0; i < MAXUDP; i++) {
+ if (inprogress[i] == d)
+ inprogress[i] = 0;
+ }
+}
static int serverwantstcp(const char *buf,unsigned int len)
{
@@ -59,8 +114,28 @@ static void packetfree(struct dns_transm
d->packet = 0;
}
+static void mergefree(struct dns_transmit *d)
+{
+ int i;
+ if (merge_enable)
+ unregister_inprogress(d);
+ /* unregister us from our master */
+ if (d->master) {
+ for (i = 0; i < d->master->nslaves; i++)
+ if (d->master->slaves[i] == d)
+ d->master->slaves[i] = 0;
+ }
+ /* and unregister all of our slaves from us */
+ for (i = 0; i < d->nslaves; i++) {
+ if (d->slaves[i])
+ d->slaves[i]->master = NULL;
+ }
+ d->nslaves = 0;
+}
+
static void queryfree(struct dns_transmit *d)
{
+ mergefree(d);
if (!d->query) return;
alloc_free(d->query);
d->query = 0;
@@ -99,11 +174,18 @@ static int thisudp(struct dns_transmit *
const char *ip;
socketfree(d);
+ mergefree(d);
while (d->udploop < 4) {
for (;d->curserver < 16;++d->curserver) {
ip = d->servers + 4 * d->curserver;
if (byte_diff(ip,4,"\0\0\0\0")) {
+ if (merge_enable && try_merge(d)) {
+ if (merge_logger)
+ merge_logger(ip, d->qtype, d->query + 14);
+ return 0;
+ }
+
d->query[2] = dns_random(256);
d->query[3] = dns_random(256);
@@ -118,6 +200,8 @@ static int thisudp(struct dns_transmit *
taia_uint(&d->deadline,timeouts[d->udploop]);
taia_add(&d->deadline,&d->deadline,&now);
d->tcpstate = 0;
+ if (merge_enable)
+ register_inprogress(d);
return 0;
}
@@ -226,8 +310,12 @@ void dns_transmit_io(struct dns_transmit
x->fd = d->s1 - 1;
switch(d->tcpstate) {
- case 0: case 3: case 4: case 5:
- x->events = IOPAUSE_READ;
+ case 0:
+ if (d->master) return;
+ if (d->packet) { taia_now(deadline); return; }
+ /* otherwise, fall through */
+ case 3: case 4: case 5:
+ x->events = IOPAUSE_READ;
break;
case 1: case 2:
x->events = IOPAUSE_WRITE;
@@ -244,10 +332,14 @@ int dns_transmit_get(struct dns_transmit
unsigned char ch;
int r;
int fd;
+ int i;
errno = error_io;
fd = d->s1 - 1;
+ if (d->tcpstate == 0 && d->master) return 0;
+ if (d->tcpstate == 0 && d->packet) return 1;
+
if (!x->revents) {
if (taia_less(when,&d->deadline)) return 0;
errno = error_timeout;
@@ -279,6 +371,15 @@ have sent query to curserver on UDP sock
d->packet = alloc(d->packetlen);
if (!d->packet) { dns_transmit_free(d); return -1; }
byte_copy(d->packet,d->packetlen,udpbuf);
+
+ for (i = 0; i < d->nslaves; i++) {
+ if (!d->slaves[i]) continue;
+ d->slaves[i]->packetlen = d->packetlen;
+ d->slaves[i]->packet = alloc(d->packetlen);
+ if (!d->slaves[i]->packet) { dns_transmit_free(d->slaves[i]); continue; }
+ byte_copy(d->slaves[i]->packet,d->packetlen,udpbuf);
+ }
+
queryfree(d);
return 1;
}
--- dnscache.c.orig 2001-02-11 16:11:45.000000000 -0500
+++ dnscache.c
@@ -54,7 +54,6 @@ uint64 numqueries = 0;
static int udp53;
-#define MAXUDP 200
static struct udpclient {
struct query q;
struct taia start;
@@ -131,7 +130,6 @@ void u_new(void)
static int tcp53;
-#define MAXTCP 20
struct tcpclient {
struct query q;
struct taia start;
@@ -435,6 +433,8 @@ int main()
response_hidettl();
if (env_get("FORWARDONLY"))
query_forwardonly();
+ if (env_get("MERGEQUERIES"))
+ dns_enable_merge(log_merge);
if (!roots_init())
strerr_die2sys(111,FATAL,"unable to read servers: ");
--- log.c.orig 2001-02-11 16:11:45.000000000 -0500
+++ log.c
@@ -150,6 +150,12 @@ void log_tx(const char *q,const char qty
line();
}
+void log_merge(const char *addr, const char qtype[2], const char *q)
+{
+ string("merge "); ip(addr); space(); logtype(qtype); space(); name(q);
+ line();
+}
+
void log_cachedanswer(const char *q,const char type[2])
{
string("cached "); logtype(type); space();
--- log.h.orig 2001-02-11 16:11:45.000000000 -0500
+++ log.h
@@ -18,6 +18,7 @@ extern void log_cachednxdomain(const cha
extern void log_cachedns(const char *,const char *);
extern void log_tx(const char *,const char *,const char *,const char *,unsigned int);
+extern void log_merge(const char *, const char *, const char *);
extern void log_nxdomain(const char *,const char *,unsigned int);
extern void log_nodata(const char *,const char *,const char *,unsigned int);

View File

@@ -0,0 +1,55 @@
--- tinydns-data.c.orig 2001-02-11 16:11:45.000000000 -0500
+++ tinydns-data.c 2005-03-30 04:14:07.000000000 -0500
@@ -196,6 +196,7 @@
char type[2];
char soa[20];
char buf[4];
+ uint32 hack64bit;
umask(022);
@@ -251,19 +252,39 @@
if (!dns_domain_fromdot(&d1,f[0].s,f[0].len)) nomem();
if (!stralloc_0(&f[3])) nomem();
- if (!scan_ulong(f[3].s,&u)) uint32_unpack_big(defaultsoa,&u);
+ if (!scan_ulong(f[3].s,&u))
+ {
+ uint32_unpack_big(defaultsoa,&hack64bit);
+ u = hack64bit;
+ }
uint32_pack_big(soa,u);
if (!stralloc_0(&f[4])) nomem();
- if (!scan_ulong(f[4].s,&u)) uint32_unpack_big(defaultsoa + 4,&u);
+ if (!scan_ulong(f[4].s,&u))
+ {
+ uint32_unpack_big(defaultsoa + 4,&hack64bit);
+ u = hack64bit;
+ }
uint32_pack_big(soa + 4,u);
if (!stralloc_0(&f[5])) nomem();
- if (!scan_ulong(f[5].s,&u)) uint32_unpack_big(defaultsoa + 8,&u);
+ if (!scan_ulong(f[5].s,&u))
+ {
+ uint32_unpack_big(defaultsoa + 8,&hack64bit);
+ u = hack64bit;
+ }
uint32_pack_big(soa + 8,u);
if (!stralloc_0(&f[6])) nomem();
- if (!scan_ulong(f[6].s,&u)) uint32_unpack_big(defaultsoa + 12,&u);
+ if (!scan_ulong(f[6].s,&u))
+ {
+ uint32_unpack_big(defaultsoa + 12,&hack64bit);
+ u = hack64bit;
+ }
uint32_pack_big(soa + 12,u);
if (!stralloc_0(&f[7])) nomem();
- if (!scan_ulong(f[7].s,&u)) uint32_unpack_big(defaultsoa + 16,&u);
+ if (!scan_ulong(f[7].s,&u))
+ {
+ uint32_unpack_big(defaultsoa + 16,&hack64bit);
+ u = hack64bit;
+ }
uint32_pack_big(soa + 16,u);
if (!stralloc_0(&f[8])) nomem();

9
net/djbdns/hacks.mk Normal file
View File

@@ -0,0 +1,9 @@
# $NetBSD: hacks.mk,v 1.2 2005/09/02 01:40:20 schmonz Exp $
.include "../../mk/bsd.prefs.mk"
# Avoid gcc optimizer bug on arm platforms
.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32"
PKG_HACKS+= arm-gcc2-optimizer
GCC_REQD+= 3.0
.endif

66
net/djbdns/options.mk Normal file
View File

@@ -0,0 +1,66 @@
# $NetBSD: options.mk,v 1.17 2011/12/25 21:16:46 schmonz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.djbdns
PKG_SUPPORTED_OPTIONS+= # inet6
PKG_SUPPORTED_OPTIONS+= djbdns-cachestats djbdns-ignoreip2
PKG_SUPPORTED_OPTIONS+= djbdns-tinydns64
PKG_OPTIONS_OPTIONAL_GROUPS= qmerge
PKG_OPTIONS_GROUP.qmerge= djbdns-qmerge1 djbdns-qmerge2
PKG_SUGGESTED_OPTIONS+= djbdns-qmerge2
.if ${MACHINE_ARCH} == "sparc64" || \
${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "x86_64"
PKG_SUGGESTED_OPTIONS+= djbdns-tinydns64
.endif
.include "../../mk/bsd.options.mk"
PLIST_VARS+= inet6
#.if !empty(PKG_OPTIONS:Minet6)
#IPV6_PATCH= djbdns-1.05-test25.diff.bz2
#PATCHFILES+= ${IPV6_PATCH}
#SITES.${IPV6_PATCH}= http://www.fefe.de/dns/
#PATCH_DIST_STRIP.${IPV6_PATCH}= -p1
#PLIST.inet6= yes
#.endif
.if !empty(PKG_OPTIONS:Mdjbdns-cachestats)
CACHESTATS_PATCH= djbdns-cachestats.patch
PATCHFILES+= ${CACHESTATS_PATCH}
SITES.${CACHESTATS_PATCH}= http://romana.now.ie/software/
PATCH_DIST_STRIP.${CACHESTATS_PATCH}= -p1
.endif
.if !empty(PKG_OPTIONS:Mdjbdns-ignoreip2)
IGNOREIP2_PATCH= djbdns-1.05-ignoreip2.patch
PATCHFILES+= ${IGNOREIP2_PATCH}
SITES.${IGNOREIP2_PATCH}= http://www.tinydns.org/
.endif
.if !empty(PKG_OPTIONS:Mdjbdns-qmerge1)
DNSCACHE_MERGE_PATCH= 0001-dnscache-merge-similar-outgoing-queries.patch
DNSCACHE_SOA_PATCH= 0002-dnscache-cache-soa-records.patch
PATCHFILES+= ${DNSCACHE_MERGE_PATCH} ${DNSCACHE_SOA_PATCH}
PATCH_DIST_STRIP.${DNSCACHE_MERGE_PATCH}= -p1
PATCH_DIST_STRIP.${DNSCACHE_SOA_PATCH}= -p1
SITES.${DNSCACHE_MERGE_PATCH}= http://www.your.org/dnscache/
SITES.${DNSCACHE_SOA_PATCH}= http://www.your.org/dnscache/
.endif
.if !empty(PKG_OPTIONS:Mdjbdns-qmerge2)
USE_TOOLS+= patch
post-patch: patch-qmerge2
.PHONY: patch-qmerge2
patch-qmerge2:
cd ${WRKSRC} && ${PATCH} ${PATCH_ARGS} < ${FILESDIR}/patch-qmerge2
.endif
.if !empty(PKG_OPTIONS:Mdjbdns-tinydns64)
USE_TOOLS+= patch
post-patch: patch-tinydns64
.PHONY: patch-tinydns64
patch-tinydns64:
cd ${WRKSRC} && ${PATCH} ${PATCH_ARGS} < ${FILESDIR}/patch-tinydns64
.endif

View File

@@ -0,0 +1,24 @@
$NetBSD: patch-aa,v 1.3 2011/06/09 00:55:41 schmonz Exp $
PKG_SYSCONFDIR support.
--- dnscache-conf.c.orig 2001-02-11 16:11:45.000000000 -0500
+++ dnscache-conf.c
@@ -89,13 +89,13 @@ int main(int argc,char **argv)
if (chdir(auto_home) == -1)
strerr_die4sys(111,FATAL,"unable to switch to ",auto_home,": ");
- fdrootservers = open_read("/etc/dnsroots.local");
+ fdrootservers = open_read(PKG_SYSCONFDIR"/dnsroots.local");
if (fdrootservers == -1) {
if (errno != error_noent)
- strerr_die2sys(111,FATAL,"unable to open /etc/dnsroots.local: ");
- fdrootservers = open_read("/etc/dnsroots.global");
+ strerr_die4sys(111,FATAL,"unable to open ",auto_home,PKG_SYSCONFDIR"/dnsroots.local: ");
+ fdrootservers = open_read(PKG_SYSCONFDIR"/dnsroots.global");
if (fdrootservers == -1)
- strerr_die2sys(111,FATAL,"unable to open /etc/dnsroots.global: ");
+ strerr_die4sys(111,FATAL,"unable to open ",auto_home,PKG_SYSCONFDIR"/dnsroots.global: ");
}
init(dir,FATAL);

View File

@@ -0,0 +1,20 @@
$NetBSD: patch-ab,v 1.3 2011/06/09 00:55:41 schmonz Exp $
PKG_SYSCONFDIR support.
--- hier.c.orig 2004-07-23 17:55:45.000000000 -0400
+++ hier.c
@@ -2,10 +2,10 @@
void hier()
{
- c("/","etc","dnsroots.global",-1,-1,0644);
+ c(auto_home,"share/examples/djbdns","dnsroots.global",-1,-1,0644);
- h(auto_home,-1,-1,02755);
- d(auto_home,"bin",-1,-1,02755);
+ h(auto_home,-1,-1,0755);
+ d(auto_home,"bin",-1,-1,0755);
c(auto_home,"bin","dnscache-conf",-1,-1,0755);
c(auto_home,"bin","tinydns-conf",-1,-1,0755);

View File

@@ -0,0 +1,15 @@
$NetBSD: patch-ac,v 1.6 2011/06/09 00:55:41 schmonz Exp $
Fix the security hole found by Matthew Dempsky.
--- response.c.orig 2001-02-11 16:11:45.000000000 -0500
+++ response.c
@@ -34,7 +34,7 @@ int response_addname(const char *d)
uint16_pack_big(buf,49152 + name_ptr[i]);
return response_addbytes(buf,2);
}
- if (dlen <= 128)
+ if ((dlen <= 128) && (response_len < 16384))
if (name_num < NAMES) {
byte_copy(name[name_num],dlen,d);
name_ptr[name_num] = response_len;

View File

@@ -0,0 +1,42 @@
$NetBSD: patch-ad,v 1.4 2011/06/09 00:55:41 schmonz Exp $
DESTDIR support.
--- Makefile.orig 2001-02-11 21:11:45.000000000 +0000
+++ Makefile
@@ -29,6 +29,14 @@ auto-str.o: \
compile auto-str.c buffer.h exit.h
./compile auto-str.c
+auto_destdir.c: \
+auto-str conf-destdir
+ ./auto-str auto_home `head -1 conf-destdir` > auto_destdir.c
+
+auto_destdir.o: \
+compile auto_destdir.c
+ ./compile auto_destdir.c
+
auto_home.c: \
auto-str conf-home
./auto-str auto_home `head -1 conf-home` > auto_home.c
@@ -519,16 +527,16 @@ compile hier.c auto_home.h
./compile hier.c
install: \
-load install.o hier.o auto_home.o buffer.a unix.a byte.a
- ./load install hier.o auto_home.o buffer.a unix.a byte.a
+load install.o hier.o auto_destdir.o buffer.a unix.a byte.a
+ ./load install hier.o auto_destdir.o buffer.a unix.a byte.a
install.o: \
compile install.c buffer.h strerr.h error.h open.h exit.h
./compile install.c
instcheck: \
-load instcheck.o hier.o auto_home.o buffer.a unix.a byte.a
- ./load instcheck hier.o auto_home.o buffer.a unix.a byte.a
+load instcheck.o hier.o auto_destdir.o buffer.a unix.a byte.a
+ ./load instcheck hier.o auto_destdir.o buffer.a unix.a byte.a
instcheck.o: \
compile instcheck.c strerr.h error.h exit.h