Please welcome NSD 4.0.0

For all new features, see
http://www.nlnetlabs.nl/svn/nsd/tags/NSD_4_0_0_REL/doc/NSD-4-features

This version replaces the nsdc control program with nsd-control.
This requires some manual setup with nsd-control-setup and editing
of the config files. nsd-control is incompatible with nsdc so when
that is used in scripts, these should be adapted.

NSD 3 is still supported as dns/nsd3.

PR:		183888
Submitted by:	Jaap Akkerhuis <jaap@NLnetLabs.nl>
This commit is contained in:
Erwin Lansing 2013-11-12 13:24:45 +00:00
parent 2cc3335d59
commit 17867420bb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=333569
15 changed files with 362 additions and 88 deletions

View file

@ -5,6 +5,26 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
20131112:
AFFECTS: users of dns/nsd
AUTHOR: erwin@FreeBSD.org
dns/nsd was updated to the new 4.0.0 major release.
This version replaces the nsdc control program with nsd-control.
This requires some manual setup with nsd-control-setup and editing
of the config files. nsd-control is incompatible with nsdc so when
that is used in scripts, these should be adapted. More information:
http://www.nlnetlabs.nl/svn/nsd/tags/NSD_4_0_0_REL/doc/NSD-4-features
NSD version 3 is still supported in dns/nsd3. To keep the old
version:
# portmaster -o dns/nsd3 dns/nsd
or
# portupgrade -fo dns/nsd3 dns/nsd
or
# pkg set -o dns/nsd:dns/nsd3
20131112:
AFFECTS: users of dns/bind9*
AUTHOR: erwin@FreeBSD.org

View file

@ -75,6 +75,7 @@
SUBDIR += mydns-ng
SUBDIR += noip
SUBDIR += nsd
SUBDIR += nsd3
SUBDIR += nslint
SUBDIR += nsping
SUBDIR += nss_mdns

View file

@ -2,15 +2,15 @@
# $FreeBSD$
PORTNAME= nsd
PORTVERSION= 3.2.16
PORTVERSION= 4.0.0
CATEGORIES= dns ipv6
MASTER_SITES= http://www.nlnetlabs.nl/downloads/nsd/ \
ftp://ftp.rhnet.is/pub/nsd/
MAINTAINER= jaap@NLnetLabs.nl
COMMENT= Authoritative only non-recursive name server
COMMENT= An authoritative only non-recursive name server
CONFLICTS= nsd-[0-2]*
CONFLICTS= nsd-[0-]* nsd3-*
USE_RC_SUBR= nsd
@ -22,7 +22,8 @@ NSDRUNDIR= /var/run/nsd
NSDMAX_IPS?= 512
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-user=${NSDUSER} \
CONFIGURE_ARGS= --with-libevent=${LOCALBASE} \
--with-user=${NSDUSER} \
--with-configdir=${PREFIX}/etc/nsd \
--localstatedir=${NSDLSDIR} \
--with-dbfile=${NSDDBDIR}/nsd.db \
@ -36,23 +37,22 @@ SUB_LIST+= NSDUSER=${NSDUSER} \
USE_OPENSSL= yes
MAN5= nsd.conf.5
MAN8= nsd.8 nsdc.8 zonec.8 nsd-checkconf.8 nsd-notify.8 nsd-patch.8 \
nsd-xfer.8
MAN5= nsd.conf.5
MAN8= nsd.8 nsd-checkconf.8 nsd-control.8
PORTDOCS= CREDITS ChangeLog LICENSE NSD-DATABASE NSD-DIFFFILE \
NSD-FOR-BIND-USERS README README.icc RELNOTES \
NSD-4-features NSD-FOR-BIND-USERS README README.icc RELNOTES \
REQUIREMENTS TESTPLAN TODO UPGRADING coding-style \
differences.tex
OPTIONS_DEFINE= ROOT_SERVER LARGEFILE IPV6 BIND8_STATS ZONE_STATS CHECKING \
MINRESPSIZE NSEC3 NSEC3PREHASH MMAP MAXIPS DOCS RRL EUI_RRTYPES
OPTIONS_DEFAULT= LARGEFILE IPV6 NSEC3 NSEC3PREHASH MINRESPSIZE
OPTIONS_DEFINE= ROOT_SERVER LARGEFILE IPV6 BIND8_STATS CHECKING \
MINRESPSIZE NSEC3 NSEC3PREHASH MMAP MAXIPS DOCS EUI_RRTYPES
OPTIONS_DEFAULT= LARGEFILE IPV6 NSEC3 NSEC3PREHASH MINRESPSIZE RRL \
EUI_RRTYPES
ROOT_SERVER_DESC= Configure as a root server
LARGEFILE_DESC= Largefile support
BIND8_STATS_DESC= BIND8-like NSTATS & XSTATS
ZONE_STATS_DESC= Per-zone BIND8 stats
CHECKING_DESC= Internal run-time checks
NSEC3_DESC= NSEC3 support
NSEC3PREHASH_DESC= Full NSEC3 pre-hashing
@ -62,9 +62,11 @@ MAXIPS_DESC= Raise max-ips from 8 to ${NSDMAX_IPS}
RRL_DESC= Response Rate Limiting
EUI_RRTYPES_DESC= EUI48 and EUI64 RRtypes support
NO_STAGE= yes
NO_STAGE= yes
.include <bsd.port.options.mk>
LIB_DEPENDS+= event-1:${PORTSDIR}/devel/libevent
.if ${PORT_OPTIONS:MROOT_SERVER}
CONFIGURE_ARGS+= --enable-root-server
.endif
@ -81,13 +83,6 @@ CONFIGURE_ARGS+= --disable-ipv6
CONFIGURE_ARGS+= --enable-bind8-stats
.endif
.if ${PORT_OPTIONS:MZONE_STATS}
. if empty(PORT_OPTIONS:MBIND8_STATS)
CONFIGURE_ARGS+= --enable-bind8-stats
. endif
CONFIGURE_ARGS+= --enable-zone-stats
.endif
.if ${PORT_OPTIONS:MCHECKING}
CONFIGURE_ARGS+= --enable-checking
.endif

View file

@ -1,2 +1,2 @@
SHA256 (nsd-3.2.16.tar.gz) = 15a5fd69ea80345eefced83a58b40e8f262a06ac4f7f83606d33033b167d6604
SIZE (nsd-3.2.16.tar.gz) = 917815
SHA256 (nsd-4.0.0.tar.gz) = 62608a409d0f68c9d8d4595031b9de9130ac02efe39733be5dee40d5a90e991c
SIZE (nsd-4.0.0.tar.gz) = 1035710

View file

@ -14,71 +14,34 @@
. /etc/rc.subr
case $0 in
/etc/rc*)
# during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown),
# so get the name of the script from $_file
name=$_file
;;
*)
name=$0
;;
esac
name=${name##*/}
name=nsd
rcvar=${name}_enable
required_files=%%PREFIX%%/etc/nsd/nsd.conf
command=%%PREFIX%%/sbin/nsd-control
command_args="start"
pidfile=`%%PREFIX%%/sbin/nsd-checkconf -o pidfile %%PREFIX%%/etc/nsd/nsd.conf`
procname=%%PREFIX%%/sbin/${name}
load_rc_config ${name}
eval ": \${${name}_conf:=\"%%PREFIX%%/etc/nsd/${name}.conf\"}"
eval "_conf=\${${name}_conf}"
nsd_enable=${nsd_enable-"NO"}
command=%%PREFIX%%/sbin/nsdc
procname=%%PREFIX%%/sbin/nsd
extra_commands="reload"
reload_cmd="${name}_reload"
stop_cmd="${name}_stop"
required_files=${_conf}
pidfile=`%%PREFIX%%/sbin/nsd-checkconf -o pidfile ${_conf}`
extra_commands="notify patch rebuild reload update"
notify_cmd="nsd_nsdc_cmd notify"
patch_cmd="nsd_nsdc_cmd patch"
rebuild_cmd="nsd_nsdc_cmd rebuild"
reload_cmd="nsd_reload_cmd"
start_cmd="nsd_start_cmd"
stop_cmd="nsd_stop_cmd"
update_cmd="nsd_nsdc_cmd update"
nsd_nsdc_cmd()
nsd_reload()
{
${command} -c ${_conf} "$1"
echo "Reloading ${name}."
kill -HUP `cat $pidfile`
}
nsd_reload_cmd()
nsd_stop()
{
nsd_nsdc_cmd rebuild && nsd_nsdc_cmd reload
}
nsd_start_cmd()
{
local _db
_db=`%%PREFIX%%/sbin/nsd-checkconf -o database ${_conf}`
if [ ! -f "${_db}" ]; then
nsd_nsdc_cmd rebuild
fi
echo "Starting ${name}."
nsd_nsdc_cmd start
}
nsd_stop_cmd()
{
echo "Merging nsd zone transfer changes to zone files."
nsd_nsdc_cmd patch
echo "Stopping ${name}."
nsd_nsdc_cmd stop
kill -TERM `cat $pidfile`
}
run_rc_command "$1"

View file

@ -1,9 +1,12 @@
**************************************************************************
* *
* To run nsd from startup, add nsd_enable="YES" to your /etc/rc.conf *
* *
* Take good care when using nsd commands, since they often need to *
* be executed as user dedicated to nsd, in order for the files it *
* touches or creates to have the proper permissions. *
* *
*
* To run nsd from startup, add nsd_enable="YES" to your /etc/rc.conf
*
* Starting with nsd version 4 the old nsdc control program has been
* replaced by nsd-control. This requires some manual setup with
* nsd-control-setup and editing of the config files.
*
* nsd-control is incompatible with nsdc so when that is used in scripts,
* these should be adapted
*
**************************************************************************

View file

@ -1,9 +1,6 @@
%%ETCDIR%%/nsd.conf.sample
sbin/nsd
sbin/nsd-checkconf
sbin/nsd-notify
sbin/nsd-patch
sbin/nsd-xfer
sbin/nsdc
sbin/zonec
sbin/nsd-control
sbin/nsd-control-setup
@dirrmtry %%ETCDIR%%

151
dns/nsd3/Makefile Normal file
View file

@ -0,0 +1,151 @@
# Created by: alexis
# $FreeBSD$
PORTNAME= nsd
PORTVERSION= 3.2.16
CATEGORIES= dns ipv6
MASTER_SITES= http://www.nlnetlabs.nl/downloads/nsd/ \
ftp://ftp.rhnet.is/pub/nsd/
PKGNAMESUFFIX= 3
MAINTAINER= jaap@NLnetLabs.nl
COMMENT= Authoritative only non-recursive name server
CONFLICTS= nsd-[0-2]* nsd-4*
USE_RC_SUBR= nsd
NSDUSER?= bind
NSDGROUP?= bind
NSDLSDIR= /var
NSDDBDIR= /var/db/nsd
NSDRUNDIR= /var/run/nsd
NSDMAX_IPS?= 512
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-user=${NSDUSER} \
--with-configdir=${PREFIX}/etc/nsd \
--localstatedir=${NSDLSDIR} \
--with-dbfile=${NSDDBDIR}/nsd.db \
--with-pidfile=${NSDRUNDIR}/nsd.pid
SUB_FILES= pkg-install pkg-deinstall
SUB_LIST+= NSDUSER=${NSDUSER} \
NSDGROUP=${NSDGROUP} \
NSDDBDIR=${NSDDBDIR} \
NSDRUNDIR=${NSDRUNDIR}
USE_OPENSSL= yes
MAN5= nsd.conf.5
MAN8= nsd.8 nsdc.8 zonec.8 nsd-checkconf.8 nsd-notify.8 nsd-patch.8 \
nsd-xfer.8
PORTDOCS= CREDITS ChangeLog LICENSE NSD-DATABASE NSD-DIFFFILE \
NSD-FOR-BIND-USERS README README.icc RELNOTES \
REQUIREMENTS TESTPLAN TODO UPGRADING coding-style \
differences.tex
OPTIONS_DEFINE= ROOT_SERVER LARGEFILE IPV6 BIND8_STATS ZONE_STATS CHECKING \
MINRESPSIZE NSEC3 NSEC3PREHASH MMAP MAXIPS DOCS RRL EUI_RRTYPES
OPTIONS_DEFAULT= LARGEFILE IPV6 NSEC3 NSEC3PREHASH MINRESPSIZE
ROOT_SERVER_DESC= Configure as a root server
LARGEFILE_DESC= Largefile support
BIND8_STATS_DESC= BIND8-like NSTATS & XSTATS
ZONE_STATS_DESC= Per-zone BIND8 stats
CHECKING_DESC= Internal run-time checks
NSEC3_DESC= NSEC3 support
NSEC3PREHASH_DESC= Full NSEC3 pre-hashing
MINRESPSIZE_DESC= Minimial response sizing
MMAP_DESC= Use mmap instead of malloc (experimental)
MAXIPS_DESC= Raise max-ips from 8 to ${NSDMAX_IPS}
RRL_DESC= Response Rate Limiting
EUI_RRTYPES_DESC= EUI48 and EUI64 RRtypes support
NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MROOT_SERVER}
CONFIGURE_ARGS+= --enable-root-server
.endif
.if empty(PORT_OPTIONS:MLARGEFILE)
CONFIGURE_ARGS+= --disable-largefile
.endif
.if empty(PORT_OPTIONS:MIPV6)
CONFIGURE_ARGS+= --disable-ipv6
.endif
.if ${PORT_OPTIONS:MBIND8_STATS}
CONFIGURE_ARGS+= --enable-bind8-stats
.endif
.if ${PORT_OPTIONS:MZONE_STATS}
. if empty(PORT_OPTIONS:MBIND8_STATS)
CONFIGURE_ARGS+= --enable-bind8-stats
. endif
CONFIGURE_ARGS+= --enable-zone-stats
.endif
.if ${PORT_OPTIONS:MCHECKING}
CONFIGURE_ARGS+= --enable-checking
.endif
.if empty(PORT_OPTIONS:MNSEC3)
CONFIGURE_ARGS+= --disable-nsec3
.endif
.if empty(PORT_OPTIONS:MMINRESPSIZE)
CONFIGURE_ARGS+= --disable-minimal-responses
.endif
.if empty(PORT_OPTIONS:MNSEC3PREHASH)
CONFIGURE_ARGS+= --disable-full-prehash
.endif
.if ${PORT_OPTIONS:MMMAP}
CONFIGURE_ARGS+= --enable-mmap
.endif
.if ${PORT_OPTIONS:MMAXIPS}
CONFIGURE_ARGS+= --with-max-ips=${NSDMAX_IPS}
.endif
.if ${PORT_OPTIONS:MRRL}
CONFIGURE_ARGS+= --enable-ratelimit
.endif
.if ${PORT_OPTIONS:MEUI_RRTYPES}
CONFIGURE_ARGS+= --enable-draft-rrtypes
.endif
pre-patch:
.if defined(NSD_OPTIONS)
@${ECHO_MSG}
@${ECHO_MSG}
@${ECHO_MSG}
@${ECHO_MSG} "***** ALERT *****"
@${ECHO_MSG} "NSD_OPTIONS is no longer supported,"
@${ECHO_MSG} "${PORTNAME} uses OPTIONS, consider running"
@${ECHO_MSG} "# make config"
@${ECHO_MSG}
@${ECHO_MSG}
@${ECHO_MSG}
@sleep 10
.endif
post-install:
${INSTALL_DATA} ${WRKSRC}/nsd.conf.sample \
${PREFIX}/etc/nsd/nsd.conf.sample
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${DOCSDIR}
.for f in ${PORTDOCS}
${INSTALL_DATA} ${WRKSRC}/doc/${f} ${DOCSDIR}/${f}
.endfor
.endif
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>

2
dns/nsd3/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (nsd-3.2.16.tar.gz) = 15a5fd69ea80345eefced83a58b40e8f262a06ac4f7f83606d33033b167d6604
SIZE (nsd-3.2.16.tar.gz) = 917815

85
dns/nsd3/files/nsd.in Normal file
View file

@ -0,0 +1,85 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: nsd
# REQUIRE: DAEMON
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable nsd:
#
# nsd_enable="YES"
#
. /etc/rc.subr
case $0 in
/etc/rc*)
# during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown),
# so get the name of the script from $_file
name=$_file
;;
*)
name=$0
;;
esac
name=${name##*/}
rcvar=${name}_enable
load_rc_config ${name}
eval ": \${${name}_conf:=\"%%PREFIX%%/etc/nsd/${name}.conf\"}"
eval "_conf=\${${name}_conf}"
command=%%PREFIX%%/sbin/nsdc
procname=%%PREFIX%%/sbin/nsd
required_files=${_conf}
pidfile=`%%PREFIX%%/sbin/nsd-checkconf -o pidfile ${_conf}`
extra_commands="notify patch rebuild reload update"
notify_cmd="nsd_nsdc_cmd notify"
patch_cmd="nsd_nsdc_cmd patch"
rebuild_cmd="nsd_nsdc_cmd rebuild"
reload_cmd="nsd_reload_cmd"
start_cmd="nsd_start_cmd"
stop_cmd="nsd_stop_cmd"
update_cmd="nsd_nsdc_cmd update"
nsd_nsdc_cmd()
{
${command} -c ${_conf} "$1"
}
nsd_reload_cmd()
{
nsd_nsdc_cmd rebuild && nsd_nsdc_cmd reload
}
nsd_start_cmd()
{
local _db
_db=`%%PREFIX%%/sbin/nsd-checkconf -o database ${_conf}`
if [ ! -f "${_db}" ]; then
nsd_nsdc_cmd rebuild
fi
echo "Starting ${name}."
nsd_nsdc_cmd start
}
nsd_stop_cmd()
{
echo "Merging nsd zone transfer changes to zone files."
nsd_nsdc_cmd patch
echo "Stopping ${name}."
nsd_nsdc_cmd stop
}
run_rc_command "$1"

View file

@ -0,0 +1,16 @@
#!/bin/sh
# $FreeBSD$
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
NSDDBDIR=%%NSDDBDIR%%
NSDRUNDIR=%%NSDRUNDIR%%
if [ "$2" = "POST-DEINSTALL" ]; then
echo "=> Deleting ${NSDDBDIR} if empty..."
rm -d ${NSDDBDIR} 2>/dev/null || true
echo "=> Deleting ${NSDRUNDIR} if empty..."
rm -d ${NSDRUNDIR} 2>/dev/null || true
fi
exit 0

View file

@ -0,0 +1,19 @@
#!/bin/sh
# $FreeBSD$
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
NSDUSER=%%NSDUSER%%
NSDGROUP=%%NSDGROUP%%
NSDDBDIR=%%NSDDBDIR%%
NSDRUNDIR=%%NSDRUNDIR%%
CHOWN="chown"
INSTALL_DIR="install -d -o ${NSDUSER} -g ${NSDGROUP} -m 0755"
if [ "$2" = "POST-INSTALL" ]; then
${INSTALL_DIR} ${NSDDBDIR} ${NSDRUNDIR}
${CHOWN} -R ${NSDUSER}:${NSDGROUP} ${NSDDBDIR} ${NSDRUNDIR}
fi
exit 0

4
dns/nsd3/pkg-descr Normal file
View file

@ -0,0 +1,4 @@
NSD (Name Server Daemon) is a complete implementation of an
authoritative DNS nameserver.
WWW: http://www.nlnetlabs.nl/nsd

9
dns/nsd3/pkg-message Normal file
View file

@ -0,0 +1,9 @@
**************************************************************************
* *
* To run nsd from startup, add nsd_enable="YES" to your /etc/rc.conf *
* *
* Take good care when using nsd commands, since they often need to *
* be executed as user dedicated to nsd, in order for the files it *
* touches or creates to have the proper permissions. *
* *
**************************************************************************

9
dns/nsd3/pkg-plist Normal file
View file

@ -0,0 +1,9 @@
%%ETCDIR%%/nsd.conf.sample
sbin/nsd
sbin/nsd-checkconf
sbin/nsd-notify
sbin/nsd-patch
sbin/nsd-xfer
sbin/nsdc
sbin/zonec
@dirrmtry %%ETCDIR%%