1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Fast and lean authoritative DNS Name Server
8 HOMEPAGE= https://www.nlnetlabs.nl/projects/nsd/about/
12 SITES[main]= http://www.nlnetlabs.nl/downloads/nsd/
13 DISTFILE[1]= nsd-4.3.2.tar.gz:main
15 SPKGS[standard]= complete
19 OPTIONS_AVAILABLE= ROOT_SERVER CHECKING MMAP PACKED
20 OPTIONS_STANDARD= ROOT_SERVER CHECKING MMAP PACKED
22 BUILDRUN_DEPENDS= libevent:single:standard
26 USERGROUP_SPKG= primary
30 LICENSE= BSD3CLAUSE:primary
31 LICENSE_FILE= BSD3CLAUSE:{{WRKSRC}}/LICENSE
35 FPC_EQUIVALENT= dns/nsd
38 CONFIGURE_ARGS= --with-libevent="{{LOCALBASE}}"
40 --with-configdir="{{PREFIX}}/etc/nsd"
42 --with-dbfile=/var/db/nsd/nsd.db
43 --with-ssl="{{OPENSSLBASE}}"
44 --with-pidfile=/var/run/nsd/nsd.pid
47 --enable-minimal-responses
56 [ROOT_SERVER].DESCRIPTION= Configure as a root server
57 [ROOT_SERVER].CONFIGURE_ENABLE_BOTH= root-server
59 [CHECKING].DESCRIPTION= Internal run-time checks
60 [CHECKING].CONFIGURE_ENABLE_BOTH= checking
62 [MMAP].DESCRIPTION= Use mmap instead of malloc
63 [MMAP].CONFIGURE_ENABLE_BOTH= mmap
65 [PACKED].DESCRIPTION= Use packed structures for reduced memory use
66 [PACKED].CONFIGURE_ENABLE_BOTH= packed
69 ${INSTALL_DATA} ${WRKSRC}/nsd.conf.sample \
70 ${STAGEDIR}${PREFIX}/etc/nsd/nsd.conf.sample
71 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/nsd \
72 ${STAGEDIR}${PREFIX}/sbin/nsd-checkconf \
73 ${STAGEDIR}${PREFIX}/sbin/nsd-checkzone \
74 ${STAGEDIR}${PREFIX}/sbin/nsd-control
76 ${RMDIR} ${STAGEDIR}/tmp
78 ${MKDIR} ${STAGEDIR}${PREFIX}/share/munin/plugins
80 -e 's|/usr/local|${LOCALBASE}|g' \
81 -e 's|/usr/local/etc/nsd.conf|${ETCDIR}/nsd.conf|g' \
82 -e 's|/usr/local/var/munin/plugin-state|/var/munin/plugin-state/root|g' \
83 -e '90s|/var/munin/plugin-state/root|$${MUNIN_PLUGSTATE}|' \
84 ${WRKSRC}/contrib/nsd_munin_
85 ${INSTALL_SCRIPT} ${WRKSRC}/contrib/nsd_munin_ \
86 ${STAGEDIR}${PREFIX}/share/munin/plugins
88 ${MKDIR} ${STAGEDIR}${STD_DOCDIR}
89 (cd ${WRKSRC}/doc && ${INSTALL_DATA} \
90 CREDITS ChangeLog LICENSE NSD-DATABASE NSD-DIFFFILE \
91 NSD-4-features NSD-FOR-BIND-USERS README README.icc \
92 RELNOTES REQUIREMENTS TESTPLAN TODO UPGRADING \
93 coding-style differences.tex \
94 ${STAGEDIR}${STD_DOCDIR})
96 [FILE:1216:descriptions/desc.primary]
97 The NLnet Labs Name Server Daemon (NSD) is an authoritative DNS name
98 server. It has been developed for operations in environments where speed,
99 reliability, stability and security are of high importance.
101 NSD has a pure design philosophy that prioritises raw performance. This
102 means that if you serve hundreds of thousands or even millions of queries
103 per second, NSD is the leading implementation in the world. This makes the
104 name server ideally suited for Top Level Domain implementations, DNS Root
105 servers and anyone in need of a fast and optimised authoritative name
106 server. Currently, three DNS root servers and many top-level domain
107 registries use NSD as part of their server implementation. NSD has not
108 implemented recursive caching by design. If you need a validating,
109 recursive, caching resolver then NLnet Labs has Unbound available.
111 NSD strives to be a reference implementation for emerging standards of the
112 Internet Engineering Task Force (IETF). The aim is to implement
113 well-established Internet Drafts as a compile option and drafts in the
114 final stage of open community review as an optional feature that is
115 disabled by default. Accepted RFCs are implemented in NSD according to the
120 5b5cee2f80ed451f19e02dee620c71a98a781bd72a55810e0acc925fecaa8329 1177939 nsd-4.3.2.tar.gz
123 [FILE:391:manifests/plist.primary]
124 @sample etc/nsd/nsd.conf.sample
131 share/man/man5/nsd.conf.5.gz
137 share/munin/plugins/nsd_munin_
138 @dir(nsd,nsd,0755) /var/db/nsd
139 @dir(nsd,nsd,0755) /var/run/nsd
140 @postexec chown -R nsd:nsd /var/db/nsd
141 @postexec chown -R nsd:nsd /var/run/nsd
144 [FILE:210:manifests/plist.docs]
164 [FILE:368:patches/patch-nsd-control.c]
165 --- nsd-control.c.orig 2020-04-16 08:09:33 UTC
167 @@ -67,6 +67,10 @@ static void usage() ATTR_NORETURN;
168 static void ssl_err(const char* s) ATTR_NORETURN;
169 static void ssl_path_err(const char* s, const char *path) ATTR_NORETURN;
172 +#define AF_LOCAL AF_UNIX
175 /** Give nsd-control usage, and exit (1). */
180 [FILE:274:patches/patch-remote.c]
181 --- remote.c.orig 2020-04-16 08:09:33 UTC
188 +#define AF_LOCAL AF_UNIX
191 /** number of seconds timeout on incoming remote control handshake */
192 #define REMOTE_CONTROL_TCP_TIMEOUT 120
196 [FILE:2555:files/nsd.in]
204 # Add the following line to /etc/rc.conf to enable nsd:
208 # You could set alternative config with
210 # nsd_config="/path/to/config"
212 # Multiple profiles are supported with
214 # nsd_profiles="name1 name2"
215 # nsd_name1_enable="YES"
216 # nsd_name1_config="/path/to/config1"
217 # nsd_name2_enable="YES"
218 # nsd_name2_config="/path/to/config2"
226 # read settings, set default values
227 load_rc_config "${name}"
228 : ${nsd_enable:="NO"}
229 : ${nsd_config:=%%ETCDIR%%/nsd.conf}
232 _pidprefix=/var/run/${name}
233 _cfgpidfile=$(%%PREFIX%%/sbin/nsd-checkconf -f -o pidfile ${nsd_config})
234 pidfile=${_cfgpidfile:-${_pidprefix}.pid}
236 required_files=${nsd_config}
237 command="%%PREFIX%%/sbin/${name}"
238 command_args="-c ${nsd_config} -P ${pidfile}"
239 extra_commands="reload"
241 load_rc_config "${name}"
245 if [ "x${nsd_profiles}" != "x" ]; then
246 eval nsd_config="\${nsd_${profile}_config:-%%ETCDIR%%/nsd-${profile}.conf}"
247 if [ "x${nsd_config}" = "x" ]; then
248 echo "You must define a configuration file (nsd_${profile}_config)"
251 _cfgpidfile=$(%%PREFIX%%/sbin/nsd-checkconf -f -o pidfile ${nsd_config})
252 _defaultpidfile=$(%%PREFIX%%/sbin/nsd-checkconf -f -o pidfile /dev/null)
253 # Replace empty or default value with profile-based
254 if [ "x${_cfgpidfile}" = "x" -o "x${_cfgpidfile}" = "x${_defaultpidfile}" ] ; then
255 pidfile=${_pidprefix}-${profile}.pid
257 pidfile=${_cfgpidfile}
259 required_files="${nsd_config}"
260 eval nsd_enable="\${nsd_${profile}_enable:-${nsd_enable}}"
261 command_args="-c ${nsd_config} -P ${pidfile}"
263 echo "$0: extra argument ignored"
266 if [ "x${nsd_profiles}" != "x" -a "x$1" != "x" ]; then
267 for profile in ${nsd_profiles}; do
268 eval _enable="\${nsd_${profile}_enable}"
269 case "x${_enable:-${nsd_enable}}" in
270 x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
276 if test -z "$_enable"; then
279 _var=nsd_"${profile}"_enable
282 "'${_enable:-${nsd_enable}}'" \
284 "Profile ${profile} skipped."
288 echo "===> nsd profile: ${profile}"
289 %%PREFIX%%/etc/rc.d/nsd $1 ${profile}
291 if [ "0${retcode}" -ne 0 ]; then
292 failed="${profile} (${retcode}) ${failed:-}"
294 success="${profile} ${success:-}"