From mapc@alchemy.oven.org  Sun Nov 19 14:28:34 2000
Return-Path: <mapc@alchemy.oven.org>
Received: from mailgw3.netvision.net.il (mailgw3.netvision.net.il [194.90.1.11])
	by hub.freebsd.org (Postfix) with ESMTP id 1E33C37B4C5
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 19 Nov 2000 14:28:33 -0800 (PST)
Received: from alchemy.oven.org (ras9-p207.hfa.netvision.net.il [62.0.104.207])
	by mailgw3.netvision.net.il (8.9.3/8.9.3) with ESMTP id AAA03056
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 20 Nov 2000 00:27:30 +0200 (IST)
Received: (from mapc@localhost)
	by alchemy.oven.org (8.11.1/8.11.1) id eAJMSC206546;
	Mon, 20 Nov 2000 00:28:12 +0200 (IST)
	(envelope-from mapc)
Message-Id: <200011192228.eAJMSC206546@alchemy.oven.org>
Date: Mon, 20 Nov 2000 00:28:12 +0200 (IST)
From: Roman Shterenzon <roman@xpert.com>
Sender: mapc@alchemy.oven.org
To: FreeBSD-gnats-submit@freebsd.org
Subject: NEW PORT: net/pdnsd
X-Send-Pr-Version: 3.2

>Number:         22963
>Category:       ports
>Synopsis:       NEW PORT: net/pdnsd - cacheing only name server
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 19 14:30:01 PST 2000
>Closed-Date:    Wed Dec 13 19:27:46 PST 2000
>Last-Modified:  Wed Dec 13 19:28:07 PST 2000
>Originator:     Roman Shterenzon
>Release:        FreeBSD 4.2-BETA i386
>Organization:
>Environment:


>Description:

(This "beta" version contains all FreeBSD fixes I've sent the author)

pdnsd is a proxy dns server with permanent caching (the cache contents are
written to hard disk on exit) that is designed to cope with unreacheable or
down dns servers (for example in dial-in networking).
pdnsd can be used with applications that do dns lookups, eg on startup, and
can't be configured to change that behaviour, to prevent the often minute-long
hangs (or even crashes) that result from stalled dns queries. Some Netscape
Navigator versions for Unix, for example, expose this behaviour.
pdnsd is configurable via a file and supports run-time configuration using the
program pdnsd-ctl that comes with pdnsd. This allows you to set the status
flags of servers that pdnsd knows (to influence which servers pdnsd will
query), and the addition, deletion and invalidation of DNS records in pdnsd's
cache.
Parallel name server queries are supported. This is a technique that allows
querying several servers at the same time so that very slow or unavailable
servers will not block the answer for one timeout interval.
Since version 1.0.0, pdnsd has full IPv6 support.

WWW: http://home.t-online.de/home/Moestl/


>How-To-Repeat:


>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	pdnsd
#	pdnsd/Makefile
#	pdnsd/distinfo
#	pdnsd/files
#	pdnsd/files/pdnsd.sh
#	pdnsd/pkg-descr
#	pdnsd/pkg-comment
#	pdnsd/pkg-plist
#	pdnsd/pkg-message
#
echo c - pdnsd
mkdir -p pdnsd > /dev/null 2>&1
echo x - pdnsd/Makefile
sed 's/^X//' >pdnsd/Makefile << 'END-of-pdnsd/Makefile'
X# New ports collection makefile for:	pdnsd
X# Date Created:				27 Oct 2000
X# Whom:					Roman Shterenzon <roman@xpert.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	pdnsd
XPORTVERSION=	1.1.0b2
XCATEGORIES=	net
XMASTER_SITES=	http://home.t-online.de/home/Moestl/
X
XMAINTAINER=	roman@xpert.com
X
XGNU_CONFIGURE=	yes
XCONFIGURE_ARGS=	--with-cachedir=/var/db/pdnsd
X
Xpost-install:
X	@${MKDIR} ${PREFIX}/etc/rc.d
X	@${INSTALL} ${COPY} -m 744 -o root ${FILESDIR}/pdnsd.sh ${PREFIX}/etc/rc.d/pdnsd.sh
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-pdnsd/Makefile
echo x - pdnsd/distinfo
sed 's/^X//' >pdnsd/distinfo << 'END-of-pdnsd/distinfo'
XMD5 (pdnsd-1.1.0b2.tar.gz) = a05d414d9a543e8d211b0806bcb89833
END-of-pdnsd/distinfo
echo c - pdnsd/files
mkdir -p pdnsd/files > /dev/null 2>&1
echo x - pdnsd/files/pdnsd.sh
sed 's/^X//' >pdnsd/files/pdnsd.sh << 'END-of-pdnsd/files/pdnsd.sh'
X#!/bin/sh
X
Xcase $1 in
Xstart)
X	if [ -x /usr/local/sbin/pdnsd -a -f /usr/local/etc/pdnsd.conf ]; then
X		/usr/local/sbin/pdnsd -d
X		echo ' pdnsd'
X	fi
X	;;
Xstop)
X	killall pdnsd && echo -n ' pdnsd'
X	;;
X*)
X	echo "Usage: `basename $0` {start|stop}" >&2
X	exit 64
X	;;
Xesac
X
Xexit 0
END-of-pdnsd/files/pdnsd.sh
echo x - pdnsd/pkg-descr
sed 's/^X//' >pdnsd/pkg-descr << 'END-of-pdnsd/pkg-descr'
Xpdnsd is a proxy dns server with permanent caching (the cache contents are
Xwritten to hard disk on exit) that is designed to cope with unreacheable or
Xdown dns servers (for example in dial-in networking).
Xpdnsd can be used with applications that do dns lookups, eg on startup, and
Xcan't be configured to change that behaviour, to prevent the often minute-long
Xhangs (or even crashes) that result from stalled dns queries. Some Netscape
XNavigator versions for Unix, for example, expose this behaviour.
Xpdnsd is configurable via a file and supports run-time configuration using the
Xprogram pdnsd-ctl that comes with pdnsd. This allows you to set the status
Xflags of servers that pdnsd knows (to influence which servers pdnsd will
Xquery), and the addition, deletion and invalidation of DNS records in pdnsd's
Xcache.
XParallel name server queries are supported. This is a technique that allows
Xquerying several servers at the same time so that very slow or unavailable
Xservers will not block the answer for one timeout interval.
XSince version 1.0.0, pdnsd has full IPv6 support.
X
XWWW: http://home.t-online.de/home/Moestl/
X
XRoman Shterenzon <roman@xpert.com>
END-of-pdnsd/pkg-descr
echo x - pdnsd/pkg-comment
sed 's/^X//' >pdnsd/pkg-comment << 'END-of-pdnsd/pkg-comment'
XCacheing (permanently, writes to disk on exit) DNS proxy-server
END-of-pdnsd/pkg-comment
echo x - pdnsd/pkg-plist
sed 's/^X//' >pdnsd/pkg-plist << 'END-of-pdnsd/pkg-plist'
Xetc/pdnsd.conf.sample
Xetc/rc.d/pdnsd.sh
Xsbin/pdnsd
Xsbin/pdnsd-ctl
X@unexec rm -rf /var/db/pdnsd
END-of-pdnsd/pkg-plist
echo x - pdnsd/pkg-message
sed 's/^X//' >pdnsd/pkg-message << 'END-of-pdnsd/pkg-message'
X
XYou'll need to manually copy ${PREFIX}/etc/pdnsd.conf.sample to
X${PREFIX}/etc/pdnsd.conf and modify it for your needs.
X
END-of-pdnsd/pkg-message
exit


>Release-Note:
>Audit-Trail:

From: Roman Shterenzon <roman@xpert.com>
To: freebsd-gnats-submit@freebsd.org
Cc:  
Subject: Re: ports/22963: NEW PORT: net/pdnsd - cacheing only name server
Date: Mon, 20 Nov 2000 00:56:06 +0200

 oops :(
 As usual, noticed it too late.
 The package doesn't create /var/db/pdnsd .. I'll use pkg-install then.
 
 diff -urN pdnsd.orig/Makefile pdnsd/Makefile
 --- pdnsd.orig/Makefile	Mon Nov 20 00:53:27 2000
 +++ pdnsd/Makefile	Mon Nov 20 00:44:13 2000
 @@ -13,7 +13,9 @@
  MAINTAINER=	roman@xpert.com
  
  GNU_CONFIGURE=	yes
 -CONFIGURE_ARGS=	--with-cachedir=/var/db/pdnsd
 +CONFIGURE_ARGS=	--with-cachedir=${PDNSDB}
 +
 +PDNSDB=		/var/db/pdnsd
  
  post-install:
  	@${MKDIR} ${PREFIX}/etc/rc.d
 diff -urN pdnsd.orig/pkg-install pdnsd/pkg-install
 --- pdnsd.orig/pkg-install	Thu Jan  1 02:00:00 1970
 +++ pdnsd/pkg-install	Mon Nov 20 00:52:16 2000
 @@ -0,0 +1,9 @@
 +#!/bin/sh
 +PDNSDB=/var/db/pdnsd
 +
 +mkdir -p ${PDNSDB}
 +chown nobody ${PDNSDB}
 +chmod 755 ${PDNSDB}
 +dd if=/dev/zero of=${PDNSDB}/pdnsd.cache bs=1 count=4 >/dev/null 2>&1
 +chown nobody ${PDNSDB}/pdnsd.cache
 +chmod 640 ${PDNSDB}/pdnsd.cache
 
 
 --Roman Shterenzon, UNIX System Administrator and Consultant
 [ Xpert UNIX Systems Ltd., Herzlia, Israel. Tel: +972-9-9522361 ]
 
State-Changed-From-To: open->closed 
State-Changed-By: jeh 
State-Changed-When: Wed Dec 13 19:27:46 PST 2000 
State-Changed-Why:  
Committed.  Thanks. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=22963 
>Unformatted:
