]> gitweb.michael.orlitzky.com - mjo-overlay.git/commitdiff
New ebuild: net-dns/rbldnsd-0.997.
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 29 Jun 2013 21:58:02 +0000 (17:58 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sat, 29 Jun 2013 21:58:02 +0000 (17:58 -0400)
net-dns/rbldnsd/Manifest [new file with mode: 0644]
net-dns/rbldnsd/files/confd-0.997 [new file with mode: 0644]
net-dns/rbldnsd/files/initd-0.997 [new file with mode: 0644]
net-dns/rbldnsd/metadata.xml [new file with mode: 0644]
net-dns/rbldnsd/rbldnsd-0.997.ebuild [new file with mode: 0644]

diff --git a/net-dns/rbldnsd/Manifest b/net-dns/rbldnsd/Manifest
new file mode 100644 (file)
index 0000000..3680ceb
--- /dev/null
@@ -0,0 +1,5 @@
+AUX confd-0.997 972 SHA256 f68db14dfae345735fbf06243386de7debe05705199dce0fd60b28456ef4699d SHA512 8ebde1f09ed19612e0603605acf1611bf26eac92df4ef71f6e19e68ece60eb1703114fb0b6a3aed9d7b11b17bc74bd2b4e9d466ff141eaef1f5514e907f6df8d WHIRLPOOL 2639b580ff4e8cc3af350b63c440381d830a524f8514735b467b686e6f6c802cc6da00f71b5ef894598648e6451fd93a7bc6f9e09eb9b7a721027772433e2760
+AUX initd-0.997 705 SHA256 759ee45c257085094410ffbf3bb2900123487a392c7eddc4e5145d15572084e6 SHA512 7d8a5c7e4305eff7871874f898016d1630238c2cbf7feafe242774ffde6b0152fce2d36b4d415ca3c6d1373e377362366bd6cdfeab0e030e3135ea35b186cd5d WHIRLPOOL 7980ccead7002f2cebd27e71f11bc241c39a89d9149fa5446e81760cb5bf482f771b4b3c01672dc1cd2c742b7a3e09d508445e134184b1d9a031f9ba40c93075
+DIST rbldnsd-0.997.tar.gz 148762 SHA256 c61fc0d9b6efb2cc823e47c4e3bce44a0fbd3e1ca7377dccdc22618bc1c22368 SHA512 d9aff718e77907c1eb800a12493ad211e3130ef2ad1770a2f1e2292e96ea9d815ee687f7445e656b0f0201c4f8707426bd0230d9bd3efef4e2f611262fc5ea84 WHIRLPOOL 4157197309836fca4f4eb7ce45a0fe103e4cd4666258233b0ea2ed24deab26048325b16ba72d9cdbbac39b513c7957b152bd4a0e564f2d7cec594098d701bf6c
+EBUILD rbldnsd-0.997.ebuild 1369 SHA256 49cd4ae25ee1be805d9aaa6e42b405376404b4e0c2327c6667efd371a5c0656c SHA512 851205e92b2f2ae3fcc857f184df5f2fdbac43bcb8aa90e480e1e7ad4ce664bb0229638ec7bc186c0de74bc692cc16519f5809267f1a44f83bdc78489624f168 WHIRLPOOL 35957c5d91c60eb331e121b8576c2c6bc4c0183b0a8ffd46c13121b5ebb48e54bd19974ef8f8291534c53764a970fa37c84b843f55b85c13809a9ba0c62c203a
+MISC metadata.xml 1179 SHA256 6a9d5a1772e174859bf13dbe53a955671ad97eeb8322dd6ff9772046460e017d SHA512 d2f2925bd8de92dc0d9dffce03b0ce8a61c28a0abbbdc3ca21ca10ac3f22a773dcbf19e880563e0557a1512fe3e0586f3b4ef5abd0b6add8278e6b24ea709051 WHIRLPOOL 42f38dbd07679c6e1ceb9d3b054928e5a0f3befdb8d4f5e74b3b23a486bb98066bc7a44e2dab05ef39465f44e41ad815a0cc3f7a32add5bff84c78a484a986c6
diff --git a/net-dns/rbldnsd/files/confd-0.997 b/net-dns/rbldnsd/files/confd-0.997
new file mode 100644 (file)
index 0000000..eef3a6f
--- /dev/null
@@ -0,0 +1,21 @@
+# The addresses on which to listen, as a bash array. The syntax is
+# "host:port", where the port defaults to 53.
+LISTEN=( "127.0.0.1" "192.168.0.1" )
+
+# A list of RBL zones. For the correct syntax, please see the
+# rbldnsd(8) man page. The following $ZONES will look for files named
+# "badguys.example.com" and "spammers.example.net" (in the appropriate
+# format) under /var/db/rbldnsd, and use those same names for the
+# blacklists contained therein.
+ZONES="badguys.example.com:ip4set:badguys.example.com \
+       spammers.example.net:ip4tset:spammers.example.net"
+
+# Add any additional options for the rbldnsd daemon below. The -a and
+# -vv below are suggested for performance/security reasons. They are
+# described in the man page.
+#
+# The rootdir (-r) and PID (-p) options are passed automatically, with
+# rootdir set to /var/db/rbldnsd (where you should put your zone
+# files). The daemon will run as the rbldns user, which was created by
+# portage.
+OPTIONS="-a -vv"
diff --git a/net-dns/rbldnsd/files/initd-0.997 b/net-dns/rbldnsd/files/initd-0.997
new file mode 100644 (file)
index 0000000..d7fa999
--- /dev/null
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+depend() {
+    need net
+}
+
+start() {
+    ebegin "Starting rbldnsd"
+
+    # Create -b args from the bash array $LISTEN.
+    local listenopts=""
+    for addr in "${LISTEN[@]}"; do
+       listenopts="${listenopts} -b $addr"
+    done
+
+    start-stop-daemon --start --quiet --pidfile /run/rbldnsd.pid \
+       --exec /usr/sbin/rbldnsd -- \
+       -r /var/db/rbldnsd \
+       -p /run/rbldnsd.pid \
+       $listenopts \
+       ${OPTIONS} \
+       ${ZONES}
+    eend $?
+}
+
+stop() {
+    ebegin "Stopping rbldnsd"
+    start-stop-daemon --stop --quiet --pidfile /run/rbldnsd.pid \
+       --exec /usr/sbin/rbldnsd
+    eend $?
+}
diff --git a/net-dns/rbldnsd/metadata.xml b/net-dns/rbldnsd/metadata.xml
new file mode 100644 (file)
index 0000000..2c45ca4
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <herd>proxy-maintainers</herd>
+       <maintainer>
+               <email>michael@orlitzky.com</email>
+               <name>Michael Orlitzky</name>
+               <description>Proxy Maintainer. CC on bugs.</description>
+       </maintainer>
+       <longdescription lang="en">
+               rbldnsd is a small and fast DNS daemon which is especially made to serve DNSBL
+               zones. This daemon was inspired by Dan J. Bernstein's rbldns program found in
+               the djbdns package.
+
+               rbldnsd is extremely fast - it outperforms both bind and djbdns greatly. It has
+               very small memory footprint.
+
+               The daemon can serve both IP-based (ordb.org, dsbl.org etc) and name-based
+               (rfc-ignorant.org) blocklists. Unlike DJB's rbldns, it has ability to specify
+               individual values for every entry, can serve as many zones on a single IP
+               address as you wish, and, finally, it is a real nameserver: it can reply to DNS
+               metadata requests. The daemon keeps all zones in memory for faster operations,
+               but its memory usage is very efficient, especially for repeated TXT values which
+               are stored only once.
+       </longdescription>
+</pkgmetadata>
diff --git a/net-dns/rbldnsd/rbldnsd-0.997.ebuild b/net-dns/rbldnsd/rbldnsd-0.997.ebuild
new file mode 100644 (file)
index 0000000..0350353
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils toolchain-funcs user
+
+DESCRIPTION="A DNS server designed to serve blacklist zones"
+HOMEPAGE="http://www.corpit.ru/mjt/rbldnsd.html"
+SRC_URI="http://www.corpit.ru/mjt/rbldnsd/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~sparc ~x86 ~x86-fbsd"
+IUSE="ipv6 zlib"
+
+DEPEND="zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+       # The ./configure file is handwritten and doesn't support a `make
+       # install` target, so there are no --prefix options. The econf
+       # function appends those automatically, so we can't use it.
+       ./configure \
+               $(use_enable ipv6) \
+               $(use_enable zlib) \
+               || die "./configure failed"
+}
+
+src_compile() {
+       # We can also pass AWK and PYTHON environment variables to emake,
+       # but those should be available via the default 'awk' and 'python'
+       # symlinks.
+       emake \
+               AR="$(tc-getAR)" \
+               CC="$(tc-getCC)" \
+               RANLIB="$(tc-getRANLIB)" \
+               || die "emake failed"
+}
+
+src_install() {
+       dosbin rbldnsd
+       doman rbldnsd.8
+       keepdir /var/db/rbldnsd
+       dodoc CHANGES* TODO NEWS README*
+       newinitd "${FILESDIR}"/initd-${PV} rbldnsd
+       newconfd "${FILESDIR}"/confd-${PV} rbldnsd
+}
+
+pkg_postinst() {
+       enewgroup rbldns
+       enewuser rbldns -1 -1 /var/db/rbldnsd rbldns
+       chown rbldns:rbldns /var/db/rbldnsd
+}