# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= nsd VERSION= 4.9.1 KEYWORDS= dns VARIANTS= standard SDESC[standard]= Fast and lean authoritative DNS Name Server HOMEPAGE= https://www.nlnetlabs.nl/projects/nsd/about/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= http://www.nlnetlabs.nl/downloads/nsd/ DISTFILE[1]= nsd-4.9.1.tar.gz:main DF_INDEX= 1 SPKGS[standard]= complete primary docs OPTIONS_AVAILABLE= ROOT_SERVER CHECKING MMAP PACKED OPTIONS_STANDARD= ROOT_SERVER CHECKING MMAP PACKED BUILD_DEPENDS= libevent:dev:standard BUILDRUN_DEPENDS= libevent:primary:standard USERS= nsd GROUPS= nsd USERGROUP_SPKG= primary USES= cpe ssl LICENSE= BSD3CLAUSE:primary LICENSE_FILE= BSD3CLAUSE:{{WRKSRC}}/LICENSE LICENSE_SCHEME= solo CPE_VENDOR= nlnetlabs FPC_EQUIVALENT= dns/nsd MUST_CONFIGURE= gnu CONFIGURE_ARGS= --with-libevent="{{LOCALBASE}}" --with-user=nsd --with-configdir="{{PREFIX}}/etc/nsd" --localstatedir=/var --with-dbfile=/var/db/nsd/nsd.db --with-ssl="{{OPENSSLBASE}}" --with-pidfile=/var/run/nsd/nsd.pid --enable-largefile --enable-nsec3 --enable-minimal-responses --enable-ratelimit --enable-radix-tree --enable-bind8-stats --enable-zone-stats --enable-ipv6 RC_SUBR= nsd:primary VAR_OPSYS[netbsd]= CPPFLAGS=-D_NETBSD_SOURCE [ROOT_SERVER].DESCRIPTION= Configure as a root server [ROOT_SERVER].CONFIGURE_ENABLE_BOTH= root-server [CHECKING].DESCRIPTION= Internal run-time checks [CHECKING].CONFIGURE_ENABLE_BOTH= checking [MMAP].DESCRIPTION= Use mmap instead of malloc [MMAP].CONFIGURE_ENABLE_BOTH= mmap [PACKED].DESCRIPTION= Use packed structures for reduced memory use [PACKED].CONFIGURE_ENABLE_BOTH= packed post-install: ${MKDIR} ${STAGEDIR}/var/db/nsd ${INSTALL_DATA} ${WRKSRC}/nsd.conf.sample \ ${STAGEDIR}${PREFIX}/etc/nsd/nsd.conf.sample ${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/nsd \ ${STAGEDIR}${PREFIX}/sbin/nsd-checkconf \ ${STAGEDIR}${PREFIX}/sbin/nsd-checkzone \ ${STAGEDIR}${PREFIX}/sbin/nsd-control # remove garbage ${RMDIR} ${STAGEDIR}/tmp # munin plugin ${MKDIR} ${STAGEDIR}${PREFIX}/share/munin/plugins ${REINPLACE_CMD} \ -e 's|/usr/local|${LOCALBASE}|g' \ -e 's|/usr/local/etc/nsd.conf|${ETCDIR}/nsd.conf|g' \ -e 's|/usr/local/var/munin/plugin-state|/var/munin/plugin-state/root|g' \ -e '90s|/var/munin/plugin-state/root|$${MUNIN_PLUGSTATE}|' \ ${WRKSRC}/contrib/nsd_munin_ ${INSTALL_SCRIPT} ${WRKSRC}/contrib/nsd_munin_ \ ${STAGEDIR}${PREFIX}/share/munin/plugins # documentation ${MKDIR} ${STAGEDIR}${STD_DOCDIR} (cd ${WRKSRC}/doc && ${INSTALL_DATA} \ CREDITS ChangeLog LICENSE NSD-DATABASE NSD-DIFFFILE \ NSD-4-features NSD-FOR-BIND-USERS README README.icc \ RELNOTES REQUIREMENTS TESTPLAN TODO UPGRADING \ coding-style differences.tex \ ${STAGEDIR}${STD_DOCDIR}) [FILE:1216:descriptions/desc.primary] The NLnet Labs Name Server Daemon (NSD) is an authoritative DNS name server. It has been developed for operations in environments where speed, reliability, stability and security are of high importance. NSD has a pure design philosophy that prioritises raw performance. This means that if you serve hundreds of thousands or even millions of queries per second, NSD is the leading implementation in the world. This makes the name server ideally suited for Top Level Domain implementations, DNS Root servers and anyone in need of a fast and optimised authoritative name server. Currently, three DNS root servers and many top-level domain registries use NSD as part of their server implementation. NSD has not implemented recursive caching by design. If you need a validating, recursive, caching resolver then NLnet Labs has Unbound available. NSD strives to be a reference implementation for emerging standards of the Internet Engineering Task Force (IETF). The aim is to implement well-established Internet Drafts as a compile option and drafts in the final stage of open community review as an optional feature that is disabled by default. Accepted RFCs are implemented in NSD according to the described standard. [FILE:95:distinfo] a6c23a53ee8111fa71e77b7565d1b8f486ea695770816585fbddf14e4367e6df 1309953 nsd-4.9.1.tar.gz [FILE:391:manifests/plist.primary] @sample etc/nsd/nsd.conf.sample sbin/ nsd nsd-checkconf nsd-checkzone nsd-control nsd-control-setup share/man/man5/nsd.conf.5.gz share/man/man8/ nsd-checkconf.8.gz nsd-checkzone.8.gz nsd-control.8.gz nsd.8.gz share/munin/plugins/nsd_munin_ @dir(nsd,nsd,0755) /var/db/nsd @dir(nsd,nsd,0755) /var/run/nsd @postexec chown -R nsd:nsd /var/db/nsd @postexec chown -R nsd:nsd /var/run/nsd [FILE:210:manifests/plist.docs] share/doc/nsd/ CREDITS ChangeLog LICENSE NSD-4-features NSD-DATABASE NSD-DIFFFILE NSD-FOR-BIND-USERS README README.icc RELNOTES REQUIREMENTS TESTPLAN TODO UPGRADING coding-style differences.tex [FILE:350:patches/patch-nsd-control.c] --- nsd-control.c.orig 2023-12-06 09:06:53 UTC +++ nsd-control.c @@ -96,6 +96,10 @@ static void ssl_path_err(const char* s, /** timeout to wait for connection over stream, in msec */ #define NSD_CONTROL_CONNECT_TIMEOUT 5000 +#ifndef AF_LOCAL +#define AF_LOCAL AF_UNIX +#endif + /** Give nsd-control usage, and exit (1). */ static void usage() [FILE:277:patches/patch-remote.c] --- remote.c.orig 2023-12-06 09:06:53 UTC +++ remote.c @@ -97,6 +97,10 @@ #define AF_LOCAL AF_UNIX #endif +#ifndef AF_LOCAL +#define AF_LOCAL AF_UNIX +#endif + /** number of seconds timeout on incoming remote control handshake */ #define REMOTE_CONTROL_TCP_TIMEOUT 120 [FILE:2555:files/nsd.in] #!/bin/sh # # PROVIDE: nsd # REQUIRE: DAEMON # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable nsd: # # nsd_enable="YES" # # You could set alternative config with # # nsd_config="/path/to/config" # # Multiple profiles are supported with # # nsd_profiles="name1 name2" # nsd_name1_enable="YES" # nsd_name1_config="/path/to/config1" # nsd_name2_enable="YES" # nsd_name2_config="/path/to/config2" # . /etc/rc.subr name=nsd rcvar=nsd_enable # read settings, set default values load_rc_config "${name}" : ${nsd_enable:="NO"} : ${nsd_config:=%%ETCDIR%%/nsd.conf} # Set PID file _pidprefix=/var/run/${name} _cfgpidfile=$(%%PREFIX%%/sbin/nsd-checkconf -f -o pidfile ${nsd_config}) pidfile=${_cfgpidfile:-${_pidprefix}.pid} required_files=${nsd_config} command="%%PREFIX%%/sbin/${name}" command_args="-c ${nsd_config} -P ${pidfile}" extra_commands="reload" load_rc_config "${name}" if [ -n "$2" ]; then profile="$2" if [ "x${nsd_profiles}" != "x" ]; then eval nsd_config="\${nsd_${profile}_config:-%%ETCDIR%%/nsd-${profile}.conf}" if [ "x${nsd_config}" = "x" ]; then echo "You must define a configuration file (nsd_${profile}_config)" exit 1 fi _cfgpidfile=$(%%PREFIX%%/sbin/nsd-checkconf -f -o pidfile ${nsd_config}) _defaultpidfile=$(%%PREFIX%%/sbin/nsd-checkconf -f -o pidfile /dev/null) # Replace empty or default value with profile-based if [ "x${_cfgpidfile}" = "x" -o "x${_cfgpidfile}" = "x${_defaultpidfile}" ] ; then pidfile=${_pidprefix}-${profile}.pid else pidfile=${_cfgpidfile} fi required_files="${nsd_config}" eval nsd_enable="\${nsd_${profile}_enable:-${nsd_enable}}" command_args="-c ${nsd_config} -P ${pidfile}" else echo "$0: extra argument ignored" fi else if [ "x${nsd_profiles}" != "x" -a "x$1" != "x" ]; then for profile in ${nsd_profiles}; do eval _enable="\${nsd_${profile}_enable}" case "x${_enable:-${nsd_enable}}" in x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee]) continue ;; x[Yy][Ee][Ss]) ;; *) if test -z "$_enable"; then _var=nsd_enable else _var=nsd_"${profile}"_enable fi echo "Bad value" \ "'${_enable:-${nsd_enable}}'" \ "for ${_var}. " \ "Profile ${profile} skipped." continue ;; esac echo "===> nsd profile: ${profile}" %%PREFIX%%/etc/rc.d/nsd $1 ${profile} retcode="$?" if [ "0${retcode}" -ne 0 ]; then failed="${profile} (${retcode}) ${failed:-}" else success="${profile} ${success:-}" fi done exit 0 fi fi run_rc_command "$1"