From fea33a3c0bf5a77c93e2fd43484f5575578b3828 Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Dec 13 2005 03:51:03 +0000 Subject: auto-import nsd-2.3.3-2 on branch devel from nsd-2.3.3-2.src.rpm --- diff --git a/.cvsignore b/.cvsignore index e69de29..096262c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +nsd-2.3.3.tar.gz diff --git a/nsd-2.3.3-checking.patch b/nsd-2.3.3-checking.patch new file mode 100644 index 0000000..5e5925d --- /dev/null +++ b/nsd-2.3.3-checking.patch @@ -0,0 +1,22 @@ +diff -r -u nsd-2.3.3.orig/zonec.c nsd-2.3.3/zonec.c +--- nsd-2.3.3.orig/zonec.c 2005-10-11 09:08:41.000000000 -0400 ++++ nsd-2.3.3/zonec.c 2005-12-13 03:26:57.000000000 -0500 +@@ -1231,12 +1231,17 @@ + /* Check consistency of rrtype descriptor table. */ + { + int i; +- for (i = 0; i < RRTYPE_DESCRIPTORS_LENGTH; ++i) { ++ for (i = 0; i < TYPE_DNSKEY; ++i) { + if (i != rrtype_descriptors[i].type) { + fprintf(stderr, "error: type descriptor entry '%d' does not match type '%d', fix the definition in dns.c\n", i, rrtype_descriptors[i].type); + abort(); + } + } ++ /* and then we have a bunch of zeros and the SPF record */ ++ if (rrtype_descriptors[TYPE_SPF].type != TYPE_SPF) { ++ fprintf(stderr, "error: type descriptor entry '%d' does not match type '%d', fix the definition in dns.c\n", i, rrtype_descriptors[i].type); ++ abort(); ++ } + } + #endif + diff --git a/nsd-2.3.3.spec b/nsd-2.3.3.spec new file mode 100644 index 0000000..0709b10 --- /dev/null +++ b/nsd-2.3.3.spec @@ -0,0 +1,103 @@ +Summary: NSD is a complete implementation of an authoritative DNS name server +Name: nsd +Version: 2.3.3 +Release: 2%{?dist} +License: BSD-like +Url: http://open.nlnetlabs.nl/nsd/ +Source: http://open.nlnetlabs.nl/downloads/nsd/%{name}-%{version}.tar.gz +Source1: nsd.init +Patch0: nsd-2.3.3-checking.patch +Group: System Environment/Daemons +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +#Requires: +BuildRequires: flex + +%description +NSD is a complete implementation of an authoritative DNS name server. +For further information about what NSD is and what NSD is not please +consult the REQUIREMENTS document which is a part of this distribution +(thanks to Olaf). + +%prep +%setup -q +%patch0 -p1 -b .checking.patch + +%configure --enable-bind8-stats --enable-plugins \ + --enable-mmap --with-pidfile=/var/run/nsd.pid --with-ssl \ + --with-user=nsd + +%build +%{__make} %{?_smp_mflags} + +%install +# Not using their 'make install' since it uses install-sh which does not +# get the correct install path within the RPM_BUILD_ROOT +#%{__make} install +rm -rf %{buildroot} +install -d 0755 %{buildroot}/%{_sysconfdir}/nsd +install -d 0755 %{buildroot}/%{_sbindir} +install -d 0755 %{buildroot}/%{_mandir}/man8 +install -d 0755 %{buildroot}/%{_initrddir} + +install -m 0644 nsdc.conf.sample %{buildroot}/%{_sysconfdir}/nsd/nsdc.conf +install -m 0644 nsd.zones.sample %{buildroot}/%{_sysconfdir}/nsd/nsd.zones +install -m 0755 %{SOURCE1} %{buildroot}/%{_initrddir}/nsd + +install -m 0755 nsd zonec nsd-notify nsd-xfer %{buildroot}/%{_sbindir} +install -m 0755 nsdc.sh %{buildroot}/%{_sbindir}/nsdc +install -m 0644 *.8 %{buildroot}/%{_mandir}/man8 + +%clean +rm -rf ${RPM_BUILD_ROOT} + +%files +%defattr(-,root,root) +%doc README LICENSE NSD-DATABASE DIFFERENCES dbaccess.c TODO RELNOTES REQUIREMENTS +%dir %{_sysconfdir}/nsd/ +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nsd/nsdc.conf +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nsd/nsd.zones +%attr(0755,root,root) %{_initrddir}/%{name} +%{_sbindir}/* +%{_mandir}/*/* + +%pre +if getent passwd nsd >/dev/null 2>&1 ; then : ; else /usr/sbin/useradd -d /etc/nsd -r -s /sbin/nologin nsd >/dev/null 2>&1 || exit 1 ; fi +if [ $1 = 2 -a -f /var/run/%{name}.pid ]; then + /sbin/service %{name} stop +fi +# "Everyone is doing it, so why can't we?" +exit 0 + +%post +# do not activate daemon upon request. Fedora Extra policy + +%preun +if [ -f /var/run/%{name}.pid ] +then + /sbin/service %{name} stop > /dev/null 2>&1 +fi +if [ $1 -eq 0 ] +then + /sbin/chkconfig --del %{name} > /dev/null 2>&1 +fi +# "Everyone is doing it, so why can't we?" +exit 0 + +%postun +if [ "$1" -ge "1" ]; then + /sbin/service %{name} condrestart 2>&1 >/dev/null +fi + +%changelog +* Mon Dec 12 2005 Paul Wouters - 2.3.3 +- upgraded to nsd-2.3.3 + +* Wed Dec 7 2005 Tom "spot" Callaway - 2.3.2-2 +- minor cleanups + +* Mon Dec 5 2005 Paul Wouters - 2.3.2-1 +- Upgraded to 2.3.2. Changed post scripts to comply to Fedora + Extras policies (eg do not start daemon on fresh install) + +* Tue Oct 4 2005 Paul Wouters - 2.3.1-1 +- Initial version diff --git a/nsd.init b/nsd.init new file mode 100755 index 0000000..073a9a8 --- /dev/null +++ b/nsd.init @@ -0,0 +1,94 @@ +#!/bin/bash +# +# nsd: Starts the NSD Name Server Daemon +# +# chkconfig: - 11 89 +# description: NSD is a complete implementation of an authoritative \ +# DNS name server. +# processname: /usr/sbin/nsd +# config: /etc/nsd/nsdc.config +# +### BEGIN INIT INFO +# Provides: nsd +# Required-Start: $syslog +# Default-Stop: 0 11 89 +# Short-Description: Starts the NSD Name Server Daemon +# Description: NSD is a complete implementation of an authoritative \ +# DNS name server. +### END INIT INFO + +# Sanity checks. +[ -f /etc/nsd/nsdc.conf ] || exit 0 +[ -f /etc/nsd/nsd.zones ] || exit 0 +[ -x /usr/sbin/nsd ] || exit 0 + +#extra verbosity +#ZONEC_VERBOSE=-v + +OTHER_NSD_OPTS="" + +# Source function library. +. /etc/init.d/functions + +. /etc/sysconfig/network + +# Check that networking is configured. +[ ${NETWORKING} = "no" ] && exit 0 + +start() { + /usr/sbin/nsdc rebuild >/dev/null + /usr/sbin/nsdc update >/dev/null + echo -n $"Starting nsd... " + nsd $OTHER_NSD_OPTS + RETVAL=$? + echo + /usr/sbin/nsdc notify + touch /var/lock/subsys/nsd + return $RETVAL +} + +stop() { + echo -n $"Shutting down nsd services: " + killproc nsd + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + rm -f /var/lock/subsys/nsd + rm -f /var/run/nsd.pid + fi + echo + return $RETVAL +} + +restart() { + stop + start +} + +RETVAL=0 + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + condrestart) + [ -f /var/lock/subsys/nsd ] && restart || : + ;; + status) + /usr/sbin/nsdc running + ;; + stats|reload|rebuild|running|update|notify) + /usr/sbin/nsdc $1 + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|stats|notify|reload|rebuild|running|update}" + exit 1 +esac + +exit $? diff --git a/sources b/sources index e69de29..fc7ced8 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +7e9f0ebfdf9dd29213170999cd60c20e nsd-2.3.3.tar.gz