aboutsummaryrefslogtreecommitdiffstats
path: root/dns
diff options
context:
space:
mode:
authorerwin <erwin@FreeBSD.org>2015-05-18 19:33:11 +0800
committererwin <erwin@FreeBSD.org>2015-05-18 19:33:11 +0800
commit204dcc45b60c625ca4096f45cdcb07d052b6fa03 (patch)
tree5480b93c01ac416bc1e44401a9cf7ade363390b4 /dns
parent4554bd8298db9d87b41aa34909294dcce224f74c (diff)
downloadfreebsd-ports-gnome-204dcc45b60c625ca4096f45cdcb07d052b6fa03.tar.gz
freebsd-ports-gnome-204dcc45b60c625ca4096f45cdcb07d052b6fa03.tar.zst
freebsd-ports-gnome-204dcc45b60c625ca4096f45cdcb07d052b6fa03.zip
Add knot2 beta, the next major release of the Knot DNS
high-performance authoritative-only DNS server PR: 199868 Submitted by: Leo Vandewoestijne <freebsd@dns-lab.com>
Diffstat (limited to 'dns')
-rw-r--r--dns/Makefile1
-rw-r--r--dns/knot2/Makefile73
-rw-r--r--dns/knot2/distinfo2
-rw-r--r--dns/knot2/files/knot.in54
-rw-r--r--dns/knot2/files/pkg-message.in17
-rw-r--r--dns/knot2/pkg-descr14
-rw-r--r--dns/knot2/pkg-plist118
7 files changed, 279 insertions, 0 deletions
diff --git a/dns/Makefile b/dns/Makefile
index ccb7a13b1ea3..df42ad8993d6 100644
--- a/dns/Makefile
+++ b/dns/Makefile
@@ -70,6 +70,7 @@
SUBDIR += ipcheck
SUBDIR += ironsides
SUBDIR += knot
+ SUBDIR += knot2
SUBDIR += ldapdns
SUBDIR += ldns
SUBDIR += ldnsm
diff --git a/dns/knot2/Makefile b/dns/knot2/Makefile
new file mode 100644
index 000000000000..2a9ab2f7462e
--- /dev/null
+++ b/dns/knot2/Makefile
@@ -0,0 +1,73 @@
+# Created by: Leo Vandewoestijne <freebsd@dns-lab.com>
+# $FreeBSD$
+
+PORTNAME= knot
+DISTVERSION= 2.0.0-beta
+CATEGORIES= dns ipv6
+MASTER_SITES= https://secure.nic.cz/files/knot-dns/ \
+ http://dns-lab.com/downloads/knot-dns/
+PKGNAMESUFFIX= 2
+
+MAINTAINER= freebsd@dns-lab.com
+COMMENT= High performance authoritative-only DNS server
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls \
+ libjansson.so:${PORTSDIR}/devel/jansson \
+ liblmdb.so:${PORTSDIR}/databases/lmdb \
+ libnettle.so:${PORTSDIR}/security/nettle \
+ liburcu.so:${PORTSDIR}/sysutils/liburcu
+
+CONFLICTS= knot-1.* knot1-[0-6].*
+
+USES= alias libtool pkgconfig tar:xz
+USE_LDCONFIG= yes
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-rundir=/var/run/knot \
+ --with-storage=/var/db/knot \
+ --with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
+
+.if defined(BATCH) || defined(PACKAGE_BUILDING)
+CONFIGURE_ARGS+= --disable-silent-rules
+.endif
+
+INSTALL_TARGET= install-strip
+
+USE_RC_SUBR= ${PORTNAME}
+SUB_FILES= pkg-message
+
+USERS= knot
+GROUPS= knot
+SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}"
+
+PORTDOCS= AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS
+
+OPTIONS_DEFINE= DNSTAP FASTPARSER IDN
+
+DNSTAP_DESC= dnstap support (see dnstap.info)
+DNSTAP_CONFIGURE_ENABLE= dnstap
+DNSTAP_LIB_DEPENDS= libfstrm.so:${PORTSDIR}/devel/fstrm \
+ libprotobuf-c.so:${PORTSDIR}/devel/protobuf-c
+
+FASTPARSER_DESC= Fast zone parser (demanding compilation)
+FASTPARSER_CONFIGURE_ENABLE= fastparser
+
+IDN_CONFIGURE_WITH= libidn
+IDN_LIB_DEPENDS= libidn.so:${PORTSDIR}/dns/libidn
+
+post-patch:
+ @${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|' \
+ ${WRKSRC}/src/Makefile.in
+ @${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|' \
+ ${WRKSRC}/src/Makefile.in
+ @${RM} -rf ${WRKSRC}/src/zscanner/scanner.c
+
+post-install:
+ ${MV} ${STAGEDIR}${ETCDIR}/knot.sample.conf \
+ ${STAGEDIR}${ETCDIR}/knot.conf.sample
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
+
+.include <bsd.port.mk>
diff --git a/dns/knot2/distinfo b/dns/knot2/distinfo
new file mode 100644
index 000000000000..74855a826156
--- /dev/null
+++ b/dns/knot2/distinfo
@@ -0,0 +1,2 @@
+SHA256 (knot-2.0.0-beta.tar.xz) = 7ed997d15b523abcaede51d7ce3670a687d7658b96eb742b9dd87ac5d3e0e9af
+SIZE (knot-2.0.0-beta.tar.xz) = 939468
diff --git a/dns/knot2/files/knot.in b/dns/knot2/files/knot.in
new file mode 100644
index 000000000000..51d0672bd66c
--- /dev/null
+++ b/dns/knot2/files/knot.in
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: knot
+# REQUIRE: SERVERS cleanvar
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable knot:
+#
+# knot_enable="YES": Set to NO by default.
+# Set it to YES to enable knot.
+# knot_config="": Set to /usr/local/etc/knot/knot.conf
+# by default.
+
+. /etc/rc.subr
+
+name=knot
+rcvar=knot_enable
+
+load_rc_config ${name}
+
+: ${knot_enable:=NO}
+: ${knot_config="%%PREFIX%%/etc/knot/knot.conf"}
+
+command=%%PREFIX%%/sbin/knotd
+command_args="-c ${knot_config} -d"
+control=%%PREFIX%%/sbin/knotc
+pidfile=/var/run/knot/knot.pid
+
+required_files=${knot_config}
+
+extra_commands=reload
+reload_cmd="${name}_reload"
+start_precmd="${name}_prestart"
+
+knot_prestart()
+{
+ if [ ! -d /var/run/knot ]; then
+ install -d -o %%USERS%% -g %%GROUPS%% /var/run/knot
+ fi
+ if [ ! -d /var/db/knot ]; then
+ install -d -o %%USERS%% -g %%GROUPS%% /var/db/knot
+ fi
+ ${control} -c ${knot_config} checkconf
+}
+
+knot_reload()
+{
+ echo "Reloading ${name}."
+ ${control} -c ${knot_config} reload
+}
+
+run_rc_command "$1"
diff --git a/dns/knot2/files/pkg-message.in b/dns/knot2/files/pkg-message.in
new file mode 100644
index 000000000000..35557a5d1898
--- /dev/null
+++ b/dns/knot2/files/pkg-message.in
@@ -0,0 +1,17 @@
+######################################################################
+
+ To start using Knot DNS, you should complete the following tasks:
+
+ cp %%ETCDIR%%/knot.conf.sample %%ETCDIR%%/knot.conf
+ $EDITOR %%ETCDIR%%/knot.conf
+ sysrc knot_enable=YES
+ sysrc knot_config=%%ETCDIR%%/knot.conf
+ service knot start
+
+ Traditional (pre-FreeBSD 9.2) method, for last three commands:
+
+ echo knot_enable=\"YES\" >> /etc/rc.conf
+ echo knot_config=\"%%PREFIX%%/etc/knot/knot.conf\" >> /etc/rc.conf
+ %%PREFIX%%/etc/rc.d/knot start
+
+######################################################################
diff --git a/dns/knot2/pkg-descr b/dns/knot2/pkg-descr
new file mode 100644
index 000000000000..578048306912
--- /dev/null
+++ b/dns/knot2/pkg-descr
@@ -0,0 +1,14 @@
+Knot DNS is a high-performance authoritative-only DNS server which
+supports all key features of the domain name system including zone
+AXFR and IXFR, DDNS and DNSSEC. Its key features:
+
+ * Open source
+ * High-performance, multi-threaded, and mostly lock-free
+ implementation which scales well on SMPs
+ * Object-oriented design
+ * Support for all important DNS protocols:
+ - Full and incremental zone transfers
+ - EDNS0 and DNSSEC extensions, including NSEC3
+ - NSID
+
+WWW: http://www.knot-dns.cz/
diff --git a/dns/knot2/pkg-plist b/dns/knot2/pkg-plist
new file mode 100644
index 000000000000..0843db9dc51c
--- /dev/null
+++ b/dns/knot2/pkg-plist
@@ -0,0 +1,118 @@
+%%ETCDIR%%/example.com.zone
+@sample %%ETCDIR%%/knot.conf.sample
+bin/kdig
+bin/khost
+bin/knot1to2
+bin/knsec3hash
+bin/knsupdate
+include/dnssec/binary.h
+include/dnssec/crypto.h
+include/dnssec/error.h
+include/dnssec/event.h
+include/dnssec/kasp.h
+include/dnssec/key.h
+include/dnssec/keyid.h
+include/dnssec/keystore.h
+include/dnssec/keytag.h
+include/dnssec/list.h
+include/dnssec/nsec.h
+include/dnssec/random.h
+include/dnssec/sign.h
+include/dnssec/tsig.h
+include/libknot/binary.h
+include/libknot/consts.h
+include/libknot/descriptor.h
+include/libknot/dname.h
+include/libknot/dnssec/key.h
+include/libknot/errcode.h
+include/libknot/internal/array-sort.h
+include/libknot/internal/base32hex.h
+include/libknot/internal/base64.h
+include/libknot/internal/binsearch.h
+include/libknot/internal/consts.h
+include/libknot/internal/endian.h
+include/libknot/internal/errcode.h
+include/libknot/internal/getline.h
+include/libknot/internal/heap.h
+include/libknot/internal/hhash.h
+include/libknot/internal/lists.h
+include/libknot/internal/macros.h
+include/libknot/internal/mem.h
+include/libknot/internal/mempattern.h
+include/libknot/internal/mempool.h
+include/libknot/internal/namedb/namedb.h
+include/libknot/internal/namedb/namedb_lmdb.h
+include/libknot/internal/namedb/namedb_trie.h
+include/libknot/internal/net.h
+include/libknot/internal/print.h
+include/libknot/internal/sockaddr.h
+include/libknot/internal/strlcat.h
+include/libknot/internal/strlcpy.h
+include/libknot/internal/tolower.h
+include/libknot/internal/trie/hat-trie.h
+include/libknot/internal/trie/murmurhash3.h
+include/libknot/internal/utils.h
+include/libknot/libknot.h
+include/libknot/packet/compr.h
+include/libknot/packet/pkt.h
+include/libknot/packet/rrset-wire.h
+include/libknot/packet/wire.h
+include/libknot/processing/layer.h
+include/libknot/processing/overlay.h
+include/libknot/processing/requestor.h
+include/libknot/rdata.h
+include/libknot/rdataset.h
+include/libknot/rrset-dump.h
+include/libknot/rrset.h
+include/libknot/rrtype/aaaa.h
+include/libknot/rrtype/dnskey.h
+include/libknot/rrtype/naptr.h
+include/libknot/rrtype/nsec.h
+include/libknot/rrtype/nsec3.h
+include/libknot/rrtype/nsec3param.h
+include/libknot/rrtype/opt.h
+include/libknot/rrtype/rdname.h
+include/libknot/rrtype/rrsig.h
+include/libknot/rrtype/soa.h
+include/libknot/rrtype/tsig.h
+include/libknot/tsig-op.h
+include/libknot/yparser/yparser.h
+include/libknot/yparser/ypformat.h
+include/libknot/yparser/ypscheme.h
+include/libknot/yparser/yptrafo.h
+lib/libdnssec.a
+lib/libdnssec.so
+lib/libdnssec.so.0
+lib/libdnssec.so.0.0.0
+lib/libknot-2.so.0
+lib/libknot-2.so.0.0.0
+lib/libknot-int-2.so.0
+lib/libknot-int-2.so.0.0.0
+lib/libknot-int.a
+lib/libknot-int.so
+lib/libknot-yparser-2.so.0
+lib/libknot-yparser-2.so.0.0.0
+lib/libknot-yparser.a
+lib/libknot-yparser.so
+lib/libknot.a
+lib/libknot.so
+lib/libzscanner.a
+lib/libzscanner.so
+lib/libzscanner.so.0
+lib/libzscanner.so.0.0.0
+libdata/pkgconfig/libdnssec.pc
+libdata/pkgconfig/libknot-int.pc
+libdata/pkgconfig/libknot-yparser.pc
+libdata/pkgconfig/libknot.pc
+man/man1/kdig.1.gz
+man/man1/khost.1.gz
+man/man1/knot1to2.1.gz
+man/man1/knsec3hash.1.gz
+man/man1/knsupdate.1.gz
+man/man5/knot.conf.5.gz
+man/man8/keymgr.8.gz
+man/man8/knotc.8.gz
+man/man8/knotd.8.gz
+sbin/keymgr
+sbin/knotc
+sbin/knotd