aboutsummaryrefslogtreecommitdiff
path: root/dns
diff options
context:
space:
mode:
authorNorikatsu Shigemura <nork@FreeBSD.org>2026-01-04 12:42:11 +0000
committerNorikatsu Shigemura <nork@FreeBSD.org>2026-01-04 12:42:11 +0000
commitf1d1e1b4ae38fd7585672fb541df6b5a840b534d (patch)
treece410df36e8804598e7aceab8970029ac4116a6e /dns
parentdd55652b3c15eaa90d7e94cdcab0586ff47b9cb2 (diff)
Diffstat (limited to 'dns')
-rw-r--r--dns/maradns/Makefile96
-rw-r--r--dns/maradns/distinfo6
-rw-r--r--dns/maradns/files/Deadwood.in22
-rw-r--r--dns/maradns/files/deadwood.in26
-rw-r--r--dns/maradns/files/localbase49
-rw-r--r--dns/maradns/files/maradns.in5
-rw-r--r--dns/maradns/files/patch-MaraDns.h19
-rw-r--r--dns/maradns/files/patch-build_Makefile.freebsd23
-rw-r--r--dns/maradns/files/patch-coLunacyDNS_Makefile.editline9
-rw-r--r--dns/maradns/files/patch-coLunacyDNS_lunacy_Makefile.default21
-rw-r--r--dns/maradns/files/patch-configure46
-rw-r--r--dns/maradns/files/patch-doc_en_examples_example__full__mararc20
-rw-r--r--dns/maradns/files/patch-tools__Makefile11
-rw-r--r--dns/maradns/files/zoneserver.in5
-rw-r--r--dns/maradns/pkg-descr4
-rw-r--r--dns/maradns/pkg-plist65
16 files changed, 312 insertions, 115 deletions
diff --git a/dns/maradns/Makefile b/dns/maradns/Makefile
index 95497b8447a3..01cdd48b5955 100644
--- a/dns/maradns/Makefile
+++ b/dns/maradns/Makefile
@@ -1,67 +1,85 @@
PORTNAME= maradns
-PORTVERSION= 2.0.15
-PORTREVISION= 1
+PORTVERSION= 3.5.0036
CATEGORIES= dns
-MASTER_SITES= http://maradns.samiam.org/download/2.0/${PORTVERSION}/
+MASTER_SITES= https://maradns.samiam.org/download/3.5/${PORTVERSION}/
-MAINTAINER= je3kmz@FreeBSD.org
+MAINTAINER= takefu@airport.fm
COMMENT= DNS server with focus on security and simplicity
-WWW= https://maradns.org/
+WWW= https://maradns.samiam.org/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= cpe tar:bz2
-USE_RC_SUBR= ${PORTNAME} zoneserver Deadwood
+LIB_DEPENDS= libeditline.so:devel/editline
+
+USES= cpe shebangfix tar:xz
+USE_RC_SUBR= ${PORTNAME} zoneserver deadwood
+
+SHEBANG_FILES= ${WRKSRC}/doc/en/tutorial/make.index
+
+HAS_CONFIGURE= yes
+
USERS= bind
GROUPS= bind
-INSTALL_TARGET= install PREFIX=${STAGEDIR}${PREFIX}
-HAS_CONFIGURE= yes
-OPTIONS_DEFINE= IPV6 DOCS EXAMPLES
+OPTIONS_DEFINE= DOCS EXAMPLES IPV6 MANPAGES
OPTIONS_SUB= yes
-IPV6_CONFIGURE_ON= --ipv6
+IPV6_CONFIGURE_OFF= --noipv6
+DEADWOOD_VER= deadwood-${PORTVERSION}
+EXAMPLES= auth_mararc csv2 full_mararc mararc recursive_mararc \
+ simple_csv1
-PORTDOCS= *
-PORTEXAMPLES= *
-REINPLACE_ARGS= -i ""
-DEADWOOD_VER= 3.2.11
+post-extract:
+ ${RM} ${WRKSRC}/doc/en/man/mqhash.1
post-patch:
- @${REINPLACE_CMD} -e 's|make |\$$\{MAKE\} |' ${WRKSRC}/build/Makefile.freebsd
- @${FIND} ${WRKSRC} -type f ! -name "*.orig" | ${XARGS} ${REINPLACE_CMD} -e \
+ cd ${PATCH_WRKSRC} && \
+ ${CAT} ${FILESDIR}/localbase | ${XARGS} ${REINPLACE_CMD} -e \
's|/etc/maradns|${ETCDIR}|g; s|/etc/mararc|${ETCDIR}|g; \
s|/etc/deadwood|${ETCDIR}|g; s| = 99| = 53|g'
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/deadwood-${DEADWOOD_VER}/src/Deadwood ${STAGEDIR}${PREFIX}/sbin
- ${INSTALL_PROGRAM} ${WRKSRC}/server/maradns ${STAGEDIR}${PREFIX}/sbin
- ${INSTALL_PROGRAM} ${WRKSRC}/tcp/fetchzone ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC}/tcp/getzone ${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_PROGRAM} ${WRKSRC}/tools/misc/mqhash ${STAGEDIR}${PREFIX}/bin
-
- ${INSTALL_MAN} ${WRKSRC}/doc/en/man/*.1 ${STAGEDIR}${PREFIX}/share/man/man1
- ${INSTALL_MAN} ${WRKSRC}/doc/en/man/*.8 ${STAGEDIR}${PREFIX}/share/man/man8
- ${INSTALL_MAN} ${WRKSRC}/doc/en/man/*.5 ${STAGEDIR}${PREFIX}/share/man/man5
+post-patch-IPV6-on:
+ ${ECHO_MSG} ipv6_bind_address = \"::1\" \
+ >> ${WRKSRC}/doc/en/examples/example_full_mararc
+ ${REINPLACE_CMD} -e 's|127.0.0.1/16|127.0.0.1/16,\ ::1/128|' \
+ ${WRKSRC}/${DEADWOOD_VER}/doc/dwood3rc
+do-install:
@${MKDIR} ${STAGEDIR}${ETCDIR}
- ${INSTALL_DATA} ${WRKSRC}/doc/en/examples/example_full_mararc ${STAGEDIR}${ETCDIR}/mararc.sample
- ${INSTALL_DATA} ${WRKSRC}/doc/en/examples/example_csv2 ${STAGEDIR}${ETCDIR}/csv2.sample
- ${INSTALL_DATA} ${WRKSRC}/deadwood-${DEADWOOD_VER}/doc/dwood3rc ${STAGEDIR}${ETCDIR}/dwood3rc.sample
+ cd ${WRKSRC} && ${INSTALL_PROGRAM} \
+ tools/askmara tools/duende tcp/fetchzone tcp/getzone \
+ coLunacyDNS/lunacy/lunacy \
+ ${STAGEDIR}${PREFIX}/bin
+ cd ${WRKSRC} && ${INSTALL_PROGRAM} \
+ coLunacyDNS/coLunacyDNS server/maradns tcp/zoneserver \
+ ${DEADWOOD_VER}/src/Deadwood \
+ ${STAGEDIR}${PREFIX}/sbin
+ ${INSTALL_DATA} ${WRKSRC}/doc/en/examples/example_full_mararc \
+ ${STAGEDIR}${ETCDIR}/mararc.sample
+ ${INSTALL_DATA} ${WRKSRC}/doc/en/examples/example_csv2 \
+ ${STAGEDIR}${ETCDIR}/csv2.sample
+ ${INSTALL_DATA} ${WRKSRC}/${DEADWOOD_VER}/doc/dwood3rc \
+ ${STAGEDIR}${ETCDIR}/dwood3rc.sample
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
- cd ${WRKSRC}/doc/en && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
- @${RM} -r ${STAGEDIR}${DOCSDIR}/man \
- ${STAGEDIR}${DOCSDIR}/source \
- ${STAGEDIR}${DOCSDIR}/pdf
- @${FIND} ${STAGEDIR}${DOCSDIR} -name Makefile -delete
+ cd ${WRKSRC}/doc/en/text/ && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} "! -name Makefile"
+ cd ${WRKSRC} && ${INSTALL_DATA} \
+ coLunacyDNS/doc/coLunacyDNS.txt maradns.gpg.key \
+ ${STAGEDIR}${DOCSDIR}
post-install-EXAMPLES-on:
- ${MV} ${STAGEDIR}${DOCSDIR}/examples ${STAGEDIR}${EXAMPLESDIR}
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ cd ${WRKSRC}/doc/en/source && \
+ ${INSTALL_DATA} ${EXAMPLES:S/^/example_/g} ${STAGEDIR}${EXAMPLESDIR}
+
+post-install-MANPAGES-on:
+.for N in 1 5 8
+ cd ${WRKSRC}/doc/en/man && \
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/man${N} && \
+ ${INSTALL_MAN} *.${N} ${STAGEDIR}${PREFIX}/share/man/man${N}
+.endfor
.include <bsd.port.mk>
diff --git a/dns/maradns/distinfo b/dns/maradns/distinfo
index a036b8ee0b0c..da345ce8c541 100644
--- a/dns/maradns/distinfo
+++ b/dns/maradns/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1524796813
-SHA256 (maradns-2.0.15.tar.bz2) = 2c20588dc9a79492aca94a477864c59ac28ec7ae4715046022311e9cefe332b2
-SIZE (maradns-2.0.15.tar.bz2) = 1166133
+TIMESTAMP = 1684379936
+SHA256 (maradns-3.5.0036.tar.xz) = 6cdbeb588c636ca2c19511af49ce56c8903ac264fcfed5fd759fdbedfea1b3a0
+SIZE (maradns-3.5.0036.tar.xz) = 9192932
diff --git a/dns/maradns/files/Deadwood.in b/dns/maradns/files/Deadwood.in
deleted file mode 100644
index 62d4a15fe963..000000000000
--- a/dns/maradns/files/Deadwood.in
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-# PROVIDE: Deadwood
-# REQUIRE: SERVERS
-# BEFORE: DAEMON
-# KEYWORD: shutdown
-#
-
-. /etc/rc.subr
-
-: ${dwood3_enable="NO"}
-: ${dwood3_conf="%%ETCDIR%%/dwood3rc"}
-
-name="Deadwood"
-rcvar=dwood3_enable
-command="%%PREFIX%%/bin/duende"
-pidfile="/var/run/${name}.pid"
-command_args="--pid=${pidfile} %%PREFIX%%/sbin/Deadwood -f ${dwood3_conf}"
-
-load_rc_config $name
-
-run_rc_command "$1"
diff --git a/dns/maradns/files/deadwood.in b/dns/maradns/files/deadwood.in
new file mode 100644
index 000000000000..aca38011556c
--- /dev/null
+++ b/dns/maradns/files/deadwood.in
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# PROVIDE: deadwood
+# REQUIRE: SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+: ${deadwood_enable="NO"}
+: ${deadwood_conf="%%ETCDIR%%/dwood3rc"}
+: ${deadwood_svcj_options:="net_basic"}
+
+name="deadwood"
+rcvar="${name}_enable"
+command="%%PREFIX%%/bin/duende"
+pidfile="/var/run/${name}.pid"
+command_args="--pid=${pidfile} %%PREFIX%%/sbin/Deadwood -f ${deadwood_conf}"
+
+set_rcvar_obsolete dwood_enable deadwood_enable
+set_rcvar_obsolete dwood_conf deadwood_conf
+set_rcvar_obsolete dwood3_enable deadwood_enable
+set_rcvar_obsolete dwood3_conf deadwood_conf
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/dns/maradns/files/localbase b/dns/maradns/files/localbase
new file mode 100644
index 000000000000..0100b2cc35ba
--- /dev/null
+++ b/dns/maradns/files/localbase
@@ -0,0 +1,49 @@
+deadwood-3.5.0036/doc/Deadwood-HOWTO
+deadwood-3.5.0036/doc/Deadwood.txt
+deadwood-3.5.0036/doc/dwood3rc
+deadwood-3.5.0036/doc/dwood3rc-all
+deadwood-3.5.0036/doc/FAQ.txt
+deadwood-3.5.0036/doc/internals/CACHE.FILE
+deadwood-3.5.0036/INSTALL.txt
+deadwood-3.5.0036/sqa/recurse_2link_cname/dwood3rc
+deadwood-3.5.0036/sqa/recurse_es-us.noticias.yahoo.com/dwood3rc
+deadwood-3.5.0036/src/DwMararc.c
+deadwood-3.5.0036/src/DwMararc.h
+deadwood-3.5.0036/src/DwSocket.c
+deadwood-3.5.0036/tools/make.blocklist.sh
+doc/en/examples/example_authoritative_mararc.txt
+doc/en/examples/example_full_mararc
+doc/en/examples/example_mararc
+doc/en/examples/example_recursive_mararc.txt
+doc/en/faq.txt
+doc/en/man/Deadwood.1
+doc/en/man/duende.8
+doc/en/man/maradns.8
+doc/en/man/mararc.5
+doc/en/man/zoneserver.8
+doc/en/QuickStart
+doc/en/source/example_auth_mararc
+doc/en/source/example_mararc
+doc/en/source/example_recursive_mararc
+doc/en/text/authoritative.txt
+doc/en/text/compile.txt
+doc/en/text/convert.txt
+doc/en/text/dangling.txt
+doc/en/text/dnsmaster.txt
+doc/en/text/dnsslave.txt
+doc/en/text/dnstcp.txt
+doc/en/text/man.duende.txt
+doc/en/text/man.maradns.txt
+doc/en/text/man.mararc.txt
+doc/en/text/man.zoneserver.txt
+doc/en/text/quick_start.txt
+doc/en/text/recursive.txt
+doc/en/text/troubleshoot.txt
+doc/en/text/update.txt
+Docker-stuff/alpine/Dockerfile
+Docker-stuff/Dockerfile
+parse/example_mararc
+tools/letsencrypt/t-add
+tools/letsencrypt/t-count
+tools/letsencrypt/t-zap
+tools/misc/make.maradns.spec
diff --git a/dns/maradns/files/maradns.in b/dns/maradns/files/maradns.in
index f4b591e6ea7d..92a87c111bda 100644
--- a/dns/maradns/files/maradns.in
+++ b/dns/maradns/files/maradns.in
@@ -4,19 +4,18 @@
# REQUIRE: SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
-#
. /etc/rc.subr
: ${maradns_enable="NO"}
: ${maradns_conf="%%ETCDIR%%/mararc"}
+: ${maradns_svcj_options:="net_basic"}
name="maradns"
-rcvar=maradns_enable
+rcvar="${name}_enable"
command="%%PREFIX%%/bin/duende"
pidfile="/var/run/${name}.pid"
command_args="--pid=${pidfile} %%PREFIX%%/sbin/maradns -f ${maradns_conf}"
load_rc_config $name
-
run_rc_command "$1"
diff --git a/dns/maradns/files/patch-MaraDns.h b/dns/maradns/files/patch-MaraDns.h
index d98ebb67cfa6..41bc8d5438a4 100644
--- a/dns/maradns/files/patch-MaraDns.h
+++ b/dns/maradns/files/patch-MaraDns.h
@@ -1,21 +1,30 @@
---- MaraDns.h.orig 2015-09-26 05:35:18 UTC
+--- MaraDns.h.orig 2022-05-07 06:11:04 UTC
+++ MaraDns.h
-@@ -71,21 +71,21 @@
+@@ -51,7 +51,7 @@
+ /* The default UID (User ID) that MaraDNS has; I put this here so packagers
+ can change this easily. This should be the 'nobody' user, or, optionally
+ a special 'MaraDNS' user. This user needs to be able to enter
+- the /etc/maradns directory, and read all zone files in /etc/maradns
++ the /usr/local/etc/maradns directory, and read all zone files in /usr/local/etc/maradns
+
+ If you change this from 707, please also change the mararc man page,
+ which states the default value for this is 707. To change the
+@@ -75,21 +75,21 @@
line to point to Bash
*/
--#define MARADNS_DEFAULT_UID 99
+-#define MARADNS_DEFAULT_UID 707
+#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 707
+#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 707
+#define DUENDE_LOGGER_UID 65534
/* The directory that Duende runs in. This directory has to exist for
diff --git a/dns/maradns/files/patch-build_Makefile.freebsd b/dns/maradns/files/patch-build_Makefile.freebsd
index 03985a94636b..0287a382cd31 100644
--- a/dns/maradns/files/patch-build_Makefile.freebsd
+++ b/dns/maradns/files/patch-build_Makefile.freebsd
@@ -1,12 +1,15 @@
---- build/Makefile.freebsd.orig 2012-02-12 06:04:11 UTC
+--- build/Makefile.freebsd.orig 2023-05-03 00:53:39 UTC
+++ build/Makefile.freebsd
-@@ -47,7 +47,8 @@ all:
- cd ../qual ; make $(M) ; cd ../server ; \
- make $(M) $(Q) COMPILED=\"$(COMPILED)\" $(V) ; \
- cd ../tools ; make $(M) ; \
-- cd ../deadwood-*/src/ ; make FLAGS="-O2"; \
-+ cd misc ; make $(M) ; \
-+ cd ../../deadwood-*/src/ ; make FLAGS="-O2"; \
- cd ../../tcp ; make $(M) $(V) ; cat ../00README.FIRST
+@@ -31,8 +31,10 @@ Q="DEFINES=-DSELECT_PROBLEM"
+ Q="DEFINES=-DSELECT_PROBLEM"
- debug:
+ # FreeBSD needs some special flags to compile MaraDNS
+-CC="cc -O2 -Wall -pipe -D_THREAD_SAFE -pthread"
+-M=CC=$(CC)
++#CC="cc -O2 -Wall -pipe -D_THREAD_SAFE -pthread"
++#M=CC=$(CC)
++CFLAGS+=-D_THREAD_SAFE -pthread
++M="CC=$(CC) $(CFLAGS)"
+ V="VERSION=$(VERSION)"
+
+ # Debug
diff --git a/dns/maradns/files/patch-coLunacyDNS_Makefile.editline b/dns/maradns/files/patch-coLunacyDNS_Makefile.editline
new file mode 100644
index 000000000000..8fa478416b7f
--- /dev/null
+++ b/dns/maradns/files/patch-coLunacyDNS_Makefile.editline
@@ -0,0 +1,9 @@
+--- coLunacyDNS/Makefile.editline.orig 2023-05-03 00:53:39 UTC
++++ coLunacyDNS/Makefile.editline
+@@ -1,5 +1,5 @@
+ # To use other flags, invoke as "make CFLAGS=-g" or some such
+-CFLAGS =-O3 -DLUA_USE_LINUX
++CFLAGS =-O2 -Wall -Wpedantic
+
+ all: coLunacyDNS HalfSipHash13
+
diff --git a/dns/maradns/files/patch-coLunacyDNS_lunacy_Makefile.default b/dns/maradns/files/patch-coLunacyDNS_lunacy_Makefile.default
new file mode 100644
index 000000000000..bba8dad844cb
--- /dev/null
+++ b/dns/maradns/files/patch-coLunacyDNS_lunacy_Makefile.default
@@ -0,0 +1,21 @@
+--- coLunacyDNS/lunacy/Makefile.default.orig 2023-05-03 00:53:39 UTC
++++ coLunacyDNS/lunacy/Makefile.default
+@@ -10,13 +10,14 @@ CFLAGS= -O3 -Wall $(MYCFLAGS) -DNO_LFS -DNO_SPAWNER
+
+ CC= gcc
+ CFLAGS= -O3 -Wall $(MYCFLAGS) -DNO_LFS -DNO_SPAWNER
+-AR= ar rcu
+-RANLIB= ranlib
+-RM= rm -f
++#CC= gcc
++#CFLAGS= -O3 -Wall $(MYCFLAGS) -DNO_LFS -DNO_SPAWNER
++#AR= ar rcu
++#RANLIB= ranlib
++#RM= rm -f
+ LIBS= -lm -lutil $(MYLIBS) -L/usr/local/lib/
+
+ MYCFLAGS=
+-MYLDFLAGS=
+ MYLIBS=
+
+ # If one renames this file, put the new name here
diff --git a/dns/maradns/files/patch-configure b/dns/maradns/files/patch-configure
index 37113fdad10e..14d4797f9c10 100644
--- a/dns/maradns/files/patch-configure
+++ b/dns/maradns/files/patch-configure
@@ -1,8 +1,31 @@
---- configure.orig 2015-08-19 04:44:49 UTC
+--- configure.orig 2023-05-03 00:53:39 UTC
+++ configure
-@@ -93,6 +93,9 @@ elif echo $UNAME | grep -i cygwin > /dev
- echo It looks like you are using Cygwin\; this should compile fine
+@@ -42,6 +42,7 @@ fi
+ # Set the directory for the build files
+ BUILDDIR=build
+ export BUILDDIR
++DEADWOOD=$( echo deadwood-*/src )
+
+ # Show them the disclaimer
+ cat 00README.FIRST
+@@ -116,13 +117,11 @@ elif echo $UNAME | grep -i mingw32 > /dev/null ; then
+ # Mingw32 doesn't support symlinks
+ cp server/MaraBigHash_en.h server/MaraBigHash_locale.h
+ cp server/MaraDNS_en.h server/MaraDNS_locale.h
+- DEADWOOD_DIR=$( echo deadwood-* )
+- cp $DEADWOOD_DIR/src/Makefile.mingw342 $DEADWOOD_DIR/src/Makefile
++ cp $DEADWOOD/Makefile.mingw342 $DEADWOOD/Makefile
+ cp COPYING 00README.FIRST
+ exit 0
+ elif echo $UNAME | grep -i cygwin > /dev/null ; then
+ cat $BUILDDIR/Makefile.noflock >> Makefile
+- DEADWOOD="$( echo deadwood-*/src )"
+ cp ${DEADWOOD}/Makefile.xcygwin ${DEADWOOD}/Makefile
+ echo It looks like you are using Cygwin\; this will compile fine
echo by typing in \'make\'.
+@@ -137,6 +136,9 @@ elif echo $UNAME | grep -i cygwin > /dev/null ; then
+ echo cygrunsrv.exe -S MaraDNS
+ echo
EXITCODE=0
+elif echo $UNAME | grep -i freebsd > /dev/null ; then
+ cat $BUILDDIR/Makefile.freebsd >> Makefile
@@ -10,3 +33,20 @@
# This is a a template for adding support to a new OS for MaraDNS.
# Some points: If you port MaraDNS, make sure the underlying OS has
# /dev/urandom support or have the default mararc have a
+@@ -184,14 +186,14 @@ if [ -z "$IPV6" ] ; then
+ cp tcp/Makefile.authonly tcp/Makefile
+ cp dns/Makefile.authonly dns/Makefile
+ cp tools/Makefile.authonly tools/Makefile
+- DEADWOOD_DIR=$( echo deadwood-* )
+- cp $DEADWOOD_DIR/src/Makefile.noip6 $DEADWOOD_DIR/src/Makefile
++ cp $DEADWOOD/Makefile.noip6 $DEADWOOD/Makefile
+ else
+ cp server/Makefile.ipv6 server/Makefile
+ cp qual/Makefile.nothreads qual/Makefile
+ cp tcp/Makefile.ipv6 tcp/Makefile
+ cp dns/Makefile.authonly dns/Makefile
+ cp tools/Makefile.ipv6 tools/Makefile
++ sed -e 's|-DNOIP6 ||' ${DEADWOOD}/Makefile.noip6 > ${DEADWOOD}/Makefile
+ fi
+
+ # While Lunacy *could* use readline, we use the API compatible
diff --git a/dns/maradns/files/patch-doc_en_examples_example__full__mararc b/dns/maradns/files/patch-doc_en_examples_example__full__mararc
new file mode 100644
index 000000000000..5c9b04c434c6
--- /dev/null
+++ b/dns/maradns/files/patch-doc_en_examples_example__full__mararc
@@ -0,0 +1,20 @@
+--- doc/en/examples/example_full_mararc.orig 2023-05-03 00:53:39 UTC
++++ doc/en/examples/example_full_mararc
+@@ -16,9 +16,9 @@ ipv4_bind_addresses = "127.0.0.1"
+ # 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
+
+ # Normally, MaraDNS has some MaraDNS-specific features, such as DDIP
+ # synthesizing, a special DNS query ("erre-con-erre-cigarro.maradns.org."
+@@ -62,3 +62,5 @@ verbose_level = 1
+ # by the "zoneserver" program.
+ #zone_transfer_acl = "10.1.1.1/24, 10.100.100.100/255.255.255.224"
+
++max_mem = 0
++hide_disclaimer = "YES"
diff --git a/dns/maradns/files/patch-tools__Makefile b/dns/maradns/files/patch-tools__Makefile
deleted file mode 100644
index e341de5f2c50..000000000000
--- a/dns/maradns/files/patch-tools__Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/Makefile.orig 2010-09-09 20:21:09 UTC
-+++ tools/Makefile
-@@ -18,7 +18,7 @@ clean:
- rm -f core $(EXECS) *.exe
-
- askmara: askmara.c askmara_labels_en.h $(OBJECTS) $(Q) $(OUTOBJ)
-- $(CC) $(FLAGS) -DAUTHONLY -o askmara askmara.c $(OBJECTS) $(Q) $(OUTOBJ)
-+ $(CC) $(FLAGS) -DAUTHONLY -DIPV6 -o askmara askmara.c $(OBJECTS) $(Q) $(OUTOBJ)
-
- askmara-tcp: askmara-tcp.c askmara_labels_en.h $(OBJECTS) $(ROBJECTS) $(POBJECTS)
- $(CC) $(FLAGS) -o askmara-tcp askmara-tcp.c $(OBJECTS) $(ROBJECTS) $(POBJECTS)
diff --git a/dns/maradns/files/zoneserver.in b/dns/maradns/files/zoneserver.in
index d5356da2be4b..1764990b81f4 100644
--- a/dns/maradns/files/zoneserver.in
+++ b/dns/maradns/files/zoneserver.in
@@ -4,19 +4,18 @@
# REQUIRE: SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
-#
. /etc/rc.subr
: ${zoneserver_enable="NO"}
: ${maradns_conf="%%ETCDIR%%/mararc"}
+: ${zoneserver_svcj_options:="net_basic"}
name="zoneserver"
-rcvar=zoneserver_enable
+rcvar="${name}_enable"
command="%%PREFIX%%/bin/duende"
pidfile="/var/run/${name}.pid"
command_args="--pid=${pidfile} %%PREFIX%%/sbin/zoneserver -f ${maradns_conf}"
load_rc_config $name
-
run_rc_command "$1"
diff --git a/dns/maradns/pkg-descr b/dns/maradns/pkg-descr
index 23410f25be70..af0b71a486f7 100644
--- a/dns/maradns/pkg-descr
+++ b/dns/maradns/pkg-descr
@@ -1,4 +1,4 @@
-MaraDNS is a package that implements the Domain Name Service (DNS), an
-essential internet service.
+MaraDNS implements the Domain Name System (DNS), an essential internet service.
+
People like MaraDNS because it's small, lightweight, easy to set up, and
remarkably secure.
diff --git a/dns/maradns/pkg-plist b/dns/maradns/pkg-plist
index 13b0b350371b..3557ee5374ad 100644
--- a/dns/maradns/pkg-plist
+++ b/dns/maradns/pkg-plist
@@ -2,23 +2,60 @@ bin/askmara
bin/duende
bin/fetchzone
bin/getzone
-bin/mqhash
+bin/lunacy
@sample %%ETCDIR%%/csv2.sample
@sample %%ETCDIR%%/dwood3rc.sample
@sample %%ETCDIR%%/mararc.sample
-share/man/man1/Deadwood.1.gz
-share/man/man1/askmara.1.gz
-share/man/man1/bind2csv2.1.gz
-share/man/man1/fetchzone.1.gz
-share/man/man1/getzone.1.gz
-share/man/man1/mqhash.1.gz
-share/man/man5/csv1.5.gz
-share/man/man5/csv2.5.gz
-share/man/man5/csv2_txt.5.gz
-share/man/man5/mararc.5.gz
-share/man/man8/duende.8.gz
-share/man/man8/maradns.8.gz
-share/man/man8/zoneserver.8.gz
+%%MANPAGES%%share/man/man1/Deadwood.1.gz
+%%MANPAGES%%share/man/man1/askmara.1.gz
+%%MANPAGES%%share/man/man1/blockHashMake.1.gz
+%%MANPAGES%%share/man/man1/blockHashRead.1.gz
+%%MANPAGES%%share/man/man1/coLunacyDNS.1.gz
+%%MANPAGES%%share/man/man1/fetchzone.1.gz
+%%MANPAGES%%share/man/man1/getzone.1.gz
+%%MANPAGES%%share/man/man5/csv1.5.gz
+%%MANPAGES%%share/man/man5/csv2.5.gz
+%%MANPAGES%%share/man/man5/csv2_txt.5.gz
+%%MANPAGES%%share/man/man5/mararc.5.gz
+%%MANPAGES%%share/man/man8/duende.8.gz
+%%MANPAGES%%share/man/man8/maradns.8.gz
+%%MANPAGES%%share/man/man8/zoneserver.8.gz
sbin/Deadwood
+sbin/coLunacyDNS
sbin/maradns
sbin/zoneserver
+%%PORTDOCS%%%%DOCSDIR%%/authoritative.txt
+%%PORTDOCS%%%%DOCSDIR%%/coLunacyDNS.txt
+%%PORTDOCS%%%%DOCSDIR%%/coding_style.txt
+%%PORTDOCS%%%%DOCSDIR%%/compile.txt
+%%PORTDOCS%%%%DOCSDIR%%/convert.txt
+%%PORTDOCS%%%%DOCSDIR%%/dangling.txt
+%%PORTDOCS%%%%DOCSDIR%%/default_zonefile.txt
+%%PORTDOCS%%%%DOCSDIR%%/dnsintro.txt
+%%PORTDOCS%%%%DOCSDIR%%/dnsmaster.txt
+%%PORTDOCS%%%%DOCSDIR%%/dnsslave.txt
+%%PORTDOCS%%%%DOCSDIR%%/dnstcp.txt
+%%PORTDOCS%%%%DOCSDIR%%/glossary.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.askmara.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.csv1.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.csv2.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.csv2_txt.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.duende.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.fetchzone.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.maradns.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.mararc.txt
+%%PORTDOCS%%%%DOCSDIR%%/man.zoneserver.txt
+%%PORTDOCS%%%%DOCSDIR%%/maradns.gpg.key
+%%PORTDOCS%%%%DOCSDIR%%/quick_start.txt
+%%PORTDOCS%%%%DOCSDIR%%/recordtypes.txt
+%%PORTDOCS%%%%DOCSDIR%%/recursive.txt
+%%PORTDOCS%%%%DOCSDIR%%/troubleshoot.txt
+%%PORTDOCS%%%%DOCSDIR%%/tutorial.txt
+%%PORTDOCS%%%%DOCSDIR%%/update.txt
+%%PORTDOCS%%%%DOCSDIR%%/win_service.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_auth_mararc
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_csv2
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_full_mararc
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_mararc
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_recursive_mararc
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example_simple_csv1