aboutsummaryrefslogtreecommitdiffstats
path: root/dns/maradns1
diff options
context:
space:
mode:
authormat <mat@FreeBSD.org>2014-02-20 23:44:56 +0800
committermat <mat@FreeBSD.org>2014-02-20 23:44:56 +0800
commit61d7bead952a82e4b87125cd25b6477db5ac8c8a (patch)
tree51551230715164748bdb812b26ec241a40182750 /dns/maradns1
parent5b48df6c8c09750eadcad7a2aca0089d7a4c4c3b (diff)
downloadfreebsd-ports-graphics-61d7bead952a82e4b87125cd25b6477db5ac8c8a.tar.gz
freebsd-ports-graphics-61d7bead952a82e4b87125cd25b6477db5ac8c8a.tar.zst
freebsd-ports-graphics-61d7bead952a82e4b87125cd25b6477db5ac8c8a.zip
Update dns/maradns to 2.0.09.
Copy maradns 1.4.14 to dns/maradns1. Sponsored by: Absolight
Diffstat (limited to 'dns/maradns1')
-rw-r--r--dns/maradns1/Makefile71
-rw-r--r--dns/maradns1/distinfo2
-rw-r--r--dns/maradns1/files/maradns.in25
-rw-r--r--dns/maradns1/files/patch-MaraDns.h22
-rw-r--r--dns/maradns1/files/patch-build_Makefile.freebsd12
-rw-r--r--dns/maradns1/files/patch-example_full_mararc14
-rw-r--r--dns/maradns1/files/patch-tools_Makefile.recursive11
-rw-r--r--dns/maradns1/files/patch-tools_duende.c77
-rw-r--r--dns/maradns1/files/zoneserver.in25
-rw-r--r--dns/maradns1/pkg-descr23
-rw-r--r--dns/maradns1/pkg-plist160
11 files changed, 442 insertions, 0 deletions
diff --git a/dns/maradns1/Makefile b/dns/maradns1/Makefile
new file mode 100644
index 00000000000..fd3ddac8a50
--- /dev/null
+++ b/dns/maradns1/Makefile
@@ -0,0 +1,71 @@
+# Created by: Anders Nordby <anders@fix.no>
+# $FreeBSD$
+
+PORTNAME= maradns
+PORTVERSION= 1.4.14
+CATEGORIES= dns
+MASTER_SITES= http://maradns.samiam.org/download/1.4/\
+ http://www.maradns.org/download/1.4/
+PKGNAMESUFFIX= 1
+
+MAINTAINER= mat@FreeBSD.org
+COMMENT= DNS server with focus on security and simplicity
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+DEPRECATED= MaraDNS 1 end-of-life: June 21, 2015
+EXPIRATION_DATE=2015-06-21
+
+REINPLACE_ARGS= -i ""
+MAKE_ENV= FLAGS="${CFLAGS}"
+
+USE_RC_SUBR= ${PORTNAME} zoneserver
+USERS= bind
+GROUPS= bind
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+
+post-patch:
+ @${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|/etc/maradns|${ETCDIR}|g; s|/etc/mararc|${ETCDIR}|g'
+ @${FIND} ${WRKSRC} -name '*Makefile*' | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|make|\$$\{MAKE\}|g ; \
+ s|^FLAGS =|#FLAGS =|g'
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/server/maradns ${STAGEDIR}${PREFIX}/sbin
+ ${INSTALL_PROGRAM} ${WRKSRC}/tcp/getzone ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/tcp/fetchzone ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/tcp/zoneserver ${STAGEDIR}${PREFIX}/sbin
+ ${INSTALL_PROGRAM} ${WRKSRC}/tools/askmara ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/tools/duende ${STAGEDIR}${PREFIX}/bin
+
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/askmara.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/getzone.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/fetchzone.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/maradns.8 ${STAGEDIR}${MANPREFIX}/man/man8
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/zoneserver.8 ${STAGEDIR}${MANPREFIX}/man/man8
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/duende.8 ${STAGEDIR}${MANPREFIX}/man/man8
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/mararc.5 ${STAGEDIR}${MANPREFIX}/man/man5
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/csv1.5 ${STAGEDIR}${MANPREFIX}/man/man5
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/csv2.5 ${STAGEDIR}${MANPREFIX}/man/man5
+ ${INSTALL_MAN} ${WRKSRC}/doc/en/man/csv2_txt.5 ${STAGEDIR}${MANPREFIX}/man/man5
+
+ ${INSTALL_DATA} ${WRKSRC}/doc/en/examples/example_full_mararc ${STAGEDIR}${PREFIX}/etc/mararc.sample
+
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/en/examples/example_csv2 ${STAGEDIR}${ETCDIR}/example_csv2
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/logger
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ (cd ${WRKSRC}/doc/en/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}/en
+ ${INSTALL_DATA} ${WRKSRC}/doc/en/*.* ${STAGEDIR}${DOCSDIR}/en
+ ${INSTALL_DATA} ${WRKSRC}/doc/en/QuickStart ${STAGEDIR}${DOCSDIR}/en
+ ${INSTALL_DATA} ${WRKSRC}/doc/en/README ${STAGEDIR}${DOCSDIR}/en
+ (cd ${WRKSRC}/doc/en && ${COPYTREE_SHARE} misc ${STAGEDIR}${DOCSDIR}/en)
+ (cd ${WRKSRC}/doc/en && ${COPYTREE_SHARE} pdf ${STAGEDIR}${DOCSDIR}/en)
+ (cd ${WRKSRC}/doc/en && ${COPYTREE_SHARE} tutorial ${STAGEDIR}${DOCSDIR}/en)
+ (cd ${WRKSRC}/doc/en && ${COPYTREE_SHARE} text ${STAGEDIR}${DOCSDIR}/en)
+
+.include <bsd.port.mk>
diff --git a/dns/maradns1/distinfo b/dns/maradns1/distinfo
new file mode 100644
index 00000000000..252aaa091b1
--- /dev/null
+++ b/dns/maradns1/distinfo
@@ -0,0 +1,2 @@
+SHA256 (maradns-1.4.14.tar.gz) = 5002ef64a69e74bb09d67bee2f7631ace56e2b4a980af777c2e36b9c5a77db32
+SIZE (maradns-1.4.14.tar.gz) = 1662365
diff --git a/dns/maradns1/files/maradns.in b/dns/maradns1/files/maradns.in
new file mode 100644
index 00000000000..0d36f307f9b
--- /dev/null
+++ b/dns/maradns1/files/maradns.in
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: maradns
+# REQUIRE: SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+#
+
+. /etc/rc.subr
+
+: ${maradns_enable="NO"}
+: ${maradns_conf="%%PREFIX%%/etc/mararc"}
+
+name="maradns"
+rcvar=maradns_enable
+command="%%PREFIX%%/bin/duende"
+command_args="%%PREFIX%%/sbin/maradns -f ${maradns_conf}"
+pidfile="/var/run/${name}.pid"
+
+load_rc_config $name
+
+run_rc_command "$1"
diff --git a/dns/maradns1/files/patch-MaraDns.h b/dns/maradns1/files/patch-MaraDns.h
new file mode 100644
index 00000000000..45ff326b37f
--- /dev/null
+++ b/dns/maradns1/files/patch-MaraDns.h
@@ -0,0 +1,22 @@
+--- MaraDns.h.orig Sat Jun 2 13:46:12 2007
++++ MaraDns.h Sat Jun 2 13:47:12 2007
+@@ -75,16 +75,16 @@
+ line to point to Bash
+ */
+
+-#define MARADNS_DEFAULT_UID 99
++#define MARADNS_DEFAULT_UID 53
+
+ /* The default GID (Group ID) that MaraDNS has; see the default UID notes
+ above. Again: CHANGE THE MARARC MAN PAGE IF YOU CHANGE THIS VALUE */
+-#define MARADNS_DEFAULT_GID 99
++#define MARADNS_DEFAULT_GID 53
+
+ /* The UID that the Duende logging process uses. CHANGE THE DUENDE MAN
+ PAGE IF YOU CHANGE THIS VALUE (same general process as changing the
+ mararc man page; the source file for the duende man page is duende.ej) */
+-#define DUENDE_LOGGER_UID 66
++#define DUENDE_LOGGER_UID 65534
+
+ /* The directory that Duende runs in. This directory has to exist for
+ Duende to be able to run. Again, IF YOU CHANGE THIS, CHANGE THE
diff --git a/dns/maradns1/files/patch-build_Makefile.freebsd b/dns/maradns1/files/patch-build_Makefile.freebsd
new file mode 100644
index 00000000000..f1a59ce0c92
--- /dev/null
+++ b/dns/maradns1/files/patch-build_Makefile.freebsd
@@ -0,0 +1,12 @@
+--- build/Makefile.freebsd.orig 2006-01-22 06:22:01.000000000 +0100
++++ build/Makefile.freebsd 2012-10-23 16:10:31.188976256 +0200
+@@ -27,8 +27,7 @@
+ Q="DEFINES=-DSELECT_PROBLEM"
+
+ # FreeBSD needs some special flags to compile MaraDNS
+-CC="cc -O2 -Wall -pipe -D_THREAD_SAFE -pthread"
+-M=CC=$(CC)
++M="CC=$(CC) -O2 -Wall -pipe -D_THREAD_SAFE -pthread"
+ V="VERSION=$(VERSION)"
+
+ # Debug
diff --git a/dns/maradns1/files/patch-example_full_mararc b/dns/maradns1/files/patch-example_full_mararc
new file mode 100644
index 00000000000..9b09fb0ad78
--- /dev/null
+++ b/dns/maradns1/files/patch-example_full_mararc
@@ -0,0 +1,14 @@
+--- doc/en/examples/example_full_mararc.orig Thu Dec 22 16:10:23 2005
++++ doc/en/examples/example_full_mararc Thu Dec 22 16:10:40 2005
+@@ -16,9 +16,9 @@
+ # The directory with all of the zone files
+ chroot_dir = "/etc/maradns"
+ # The numeric UID MaraDNS will run as
+-maradns_uid = 99
++maradns_uid = 53
+ # The (optional) numeric GID MaraDNS will run as
+-# maradns_gid = 99
++maradns_gid = 53
+ # The maximum number of threads (or processes, with the zone server)
+ # MaraDNS is allowed to run
+ maxprocs = 96
diff --git a/dns/maradns1/files/patch-tools_Makefile.recursive b/dns/maradns1/files/patch-tools_Makefile.recursive
new file mode 100644
index 00000000000..52653b5a714
--- /dev/null
+++ b/dns/maradns1/files/patch-tools_Makefile.recursive
@@ -0,0 +1,11 @@
+--- tools/Makefile.recursive.orig 2006-01-02 17:59:33.000000000 +0100
++++ tools/Makefile.recursive 2010-01-08 09:51:36.000000000 +0100
+@@ -27,7 +27,7 @@
+ $(CC) $(FLAGS) -o benchmark benchmark.c $(OBJECTS) $(POBJECTS)
+
+ duende: duende.c
+- $(CC) $(FLAGS) -o duende duende.c
++ $(CC) $(FLAGS) -o duende duende.c -lutil
+
+ strip.control: strip.control.c
+ $(CC) $(FLAGS) -o strip.control strip.control.c
diff --git a/dns/maradns1/files/patch-tools_duende.c b/dns/maradns1/files/patch-tools_duende.c
new file mode 100644
index 00000000000..eed161e2ce1
--- /dev/null
+++ b/dns/maradns1/files/patch-tools_duende.c
@@ -0,0 +1,77 @@
+--- tools/duende.c.orig 2008-08-03 20:10:49.000000000 +0200
++++ tools/duende.c 2010-09-30 01:46:03.000000000 +0200
+@@ -35,10 +35,13 @@
+ #include <signal.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <syslog.h>
++#include <sys/param.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
++#include <libutil.h>
+ #include <unistd.h>
+ #include "../MaraDns.h"
+
+@@ -61,13 +64,24 @@
+
+ void log_helper(char *name,int stdout_fd) {
+ char out_buf[1024];
++
++ /* Prefix MaraDNS syslog messages with ident of "maradns:"
++ instead of "/usr/local/sbin/maradns:" */
++ char *needle, *ident;
++ needle = strrchr(name,'/');
++ /* needle found and not at the end of string */
++ if (needle && *(needle + 1) != '\0') {
++ ident = needle + 1;
++ } else {
++ ident = name;
++ }
+
+ /* We can't use our signal handlers because fgets is blocking */
+ signal(SIGTERM,SIG_DFL);
+ signal(SIGHUP,SIG_DFL);
+
+ /* Open up the sys log */
+- openlog(name,0,LOG_DAEMON);
++ openlog(ident,0,LOG_DAEMON);
+
+ /* Drop all privileges */
+ if(chdir(DUENDE_CHROOT_DIR) != 0) {
+@@ -146,6 +160,10 @@
+ int exit_status;
+ pid_t pid, log_pid;
+ int stream1[2]; /* Used for piping */
++ struct pidfh *pfh;
++ char *name;
++ char *pidfile;
++
+ if(argv[0] == NULL || argv[1] == NULL) {
+ printf("Usage: duende [program] [arguments]\n");
+ exit(1);
+@@ -210,6 +228,23 @@
+ syslog(LOG_ALERT,"log_helper finished, terminating\n");
+ exit(1);
+ }
++ name = strrchr(argv[1], '/');
++ if (name && *name != '\0') {
++ pidfile = malloc(strlen("/var/run/") + strlen(name) + strlen(".pid") + 1);
++ if (pidfile) {
++ strcpy(pidfile, "/var/run/");
++ strcat(pidfile, name);
++ strcat(pidfile, ".pid");
++ remove(pidfile);
++ pfh = pidfile_open(pidfile, 0600, &pid);
++ if (pfh) {
++ pidfile_write(pfh);
++ pidfile_close(pfh);
++ }
++ free(pidfile);
++ }
++ }
++
+ for(;;) {
+ /* If we got a HUP signal, send it to the child */
+ if(got_hup_signal == 1) {
diff --git a/dns/maradns1/files/zoneserver.in b/dns/maradns1/files/zoneserver.in
new file mode 100644
index 00000000000..40614d21308
--- /dev/null
+++ b/dns/maradns1/files/zoneserver.in
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: zoneserver
+# REQUIRE: SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+#
+
+. /etc/rc.subr
+
+: ${zoneserver_enable="NO"}
+: ${maradns_conf="%%PREFIX%%/etc/mararc"}
+
+name="zoneserver"
+rcvar=zoneserver_enable
+command="%%PREFIX%%/bin/duende"
+command_args="%%PREFIX%%/sbin/zoneserver -f ${maradns_conf}"
+pidfile="/var/run/${name}.pid"
+
+load_rc_config $name
+
+run_rc_command "$1"
diff --git a/dns/maradns1/pkg-descr b/dns/maradns1/pkg-descr
new file mode 100644
index 00000000000..a4e6e324d30
--- /dev/null
+++ b/dns/maradns1/pkg-descr
@@ -0,0 +1,23 @@
+MaraDNS is a package that implements the Domain Name Service (DNS), an
+essential internet service. MaraDNS has the following advantages:
+
+o Secure. MaraDNS has a security history as good as or better than any other DNS
+ server. For example, MaraDNS has always randomized, using a secure random
+ number generator, the Query ID and source port of DNS queries; and was never
+ vulnerable to the "new" cache poisoning attack.
+o Supported. MaraDNS has a long history of being maintained and updated.
+ Actively developed since 2001, MaraDNS continues to be fully supported: The
+ most recent release was done on August 4, 2009. Deadwood, the code that will
+ become part of MaraDNS 2.0, is frequently updated.
+o Easy to use. A basic recursive configuration needs only a single three-line
+ configuration file. A basic authoritative configuration needs only a four-line
+ configuration file and a one-line zone file. MaraDNS is fully documented, with
+ both easy-to-follow tutorials and a complete and up-to-date reference manual.
+o Small. MaraDNS is well suited for embedded applications and other environments
+ where the server must use the absolute minimum number of resources possible.
+ MaraDNS' binary is smaller than that of any other currently maintained
+ recursive DNS server.
+o Open Source. MaraDNS is fully open-source, The license is a two-clause BSD
+ license that is almost identical to the FreeBSD license.
+
+WWW: http://www.maradns.org/
diff --git a/dns/maradns1/pkg-plist b/dns/maradns1/pkg-plist
new file mode 100644
index 00000000000..59c8563727e
--- /dev/null
+++ b/dns/maradns1/pkg-plist
@@ -0,0 +1,160 @@
+bin/askmara
+bin/duende
+bin/fetchzone
+bin/getzone
+%%ETCDIR%%/example_csv2
+etc/mararc.sample
+man/man1/askmara.1.gz
+man/man1/fetchzone.1.gz
+man/man1/getzone.1.gz
+man/man5/csv1.5.gz
+man/man5/csv2.5.gz
+man/man5/csv2_txt.5.gz
+man/man5/mararc.5.gz
+man/man8/duende.8.gz
+man/man8/maradns.8.gz
+man/man8/zoneserver.8.gz
+sbin/maradns
+sbin/zoneserver
+%%PORTDOCS%%%%DOCSDIR%%/en/QuickStart
+%%PORTDOCS%%%%DOCSDIR%%/en/README
+%%PORTDOCS%%%%DOCSDIR%%/en/changelog.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/credits.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/faq.html
+%%PORTDOCS%%%%DOCSDIR%%/en/faq.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/files.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/0README
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/csv2.regexmatch.functionlist
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/dns-record-types.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/README
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_alloc.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_append.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_atoi.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_buf_eof.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_buf_getline.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_buf_read.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_close.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_copy.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_create.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_dealloc.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_destroy.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_destroy_force.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_fgrep.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_fgrep_offset.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_get_encode.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_getline_stdin.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_has_sanity.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_insert.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_issame.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_js2str.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_length.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_lock.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_match.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_match_offset.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_newline_chars.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_nonmatch.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_nonmatch_offset.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_octets.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_open.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_open_append.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_open_read.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_open_write.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_qstr2js.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_read.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_set_chsize.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_set_encode.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_show_stdout.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_space_chars.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_str2js.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_substr.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_tolower.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_unlock.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_val.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/js-manpages/js_write.3
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/multiple.qdcount
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/propagation.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/recursive.algorithm
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/setup.bind.djbdns.axfr.test
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/vim.cheatsheet
+%%PORTDOCS%%%%DOCSDIR%%/en/misc/year_2038_statement.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/pdf/Makefile
+%%PORTDOCS%%%%DOCSDIR%%/en/pdf/README
+%%PORTDOCS%%%%DOCSDIR%%/en/pdf/tmac.an.patch
+%%PORTDOCS%%%%DOCSDIR%%/en/text/Makefile
+%%PORTDOCS%%%%DOCSDIR%%/en/text/authoritative.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/bind2csv2.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/coding_style.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/compile.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/convert.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/dangling.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/default_zonefile.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/dnsintro.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/dnsmaster.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/dnsslave.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/dnstcp.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/glossary.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.askmara.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.csv2.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.csv2_txt.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.duende.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.fetchzone.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.maradns.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.mararc.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/man.zoneserver.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/quick_start.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/recordtypes.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/recursive.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/troubleshoot.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/tutorial.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/update.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/text/win_service.txt
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/00index.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/Makefile
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/authoritative.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/bind2csv2.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/coding_style.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/compile.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/convert.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/dangling.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/default_zonefile.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/dnsintro.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/dnsmaster.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/dnsslave.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/dnstcp.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/glossary.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/index.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/make.index
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.askmara.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.csv2.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.csv2_txt.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.duende.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.fetchzone.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.maradns.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.mararc.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/man.zoneserver.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/quick_start.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/recordtypes.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/recursive.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/troubleshoot.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/tutorial.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/update.html
+%%PORTDOCS%%%%DOCSDIR%%/en/tutorial/win_service.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_authoritative_mararc.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_csv1
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_csv1.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_csv2
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_full_mararc
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_full_mararc.orig
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_mararc
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_recursive_mararc.txt
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/en/tutorial
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/en/text
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/en/pdf
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/en/misc/js-manpages
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/en/misc
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/en
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrmtry etc/maradns/logger
+@dirrmtry etc/maradns