diff options
author | cube <cube> | 2006-12-08 22:14:12 +0000 |
---|---|---|
committer | cube <cube> | 2006-12-08 22:14:12 +0000 |
commit | 4dfa4da707530e43375768238f55702082326127 (patch) | |
tree | ddb82c596efc099db3e0450a18c98a9fc93e8edc /net/rbldnsd | |
parent | 068a01ccb61162eab61d62d57586d26ba7c414ff (diff) | |
download | pkgsrc-4dfa4da707530e43375768238f55702082326127.tar.gz |
Initial import of rbldnsd, version 0.996a, into the NetBSD Packages
Collection.
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.
Diffstat (limited to 'net/rbldnsd')
-rw-r--r-- | net/rbldnsd/DESCR | 14 | ||||
-rw-r--r-- | net/rbldnsd/MESSAGE | 18 | ||||
-rw-r--r-- | net/rbldnsd/Makefile | 43 | ||||
-rw-r--r-- | net/rbldnsd/PLIST | 7 | ||||
-rw-r--r-- | net/rbldnsd/distinfo | 5 | ||||
-rw-r--r-- | net/rbldnsd/files/rbldnsd.sh | 44 | ||||
-rw-r--r-- | net/rbldnsd/options.mk | 27 |
7 files changed, 158 insertions, 0 deletions
diff --git a/net/rbldnsd/DESCR b/net/rbldnsd/DESCR new file mode 100644 index 00000000000..2e1ae22b136 --- /dev/null +++ b/net/rbldnsd/DESCR @@ -0,0 +1,14 @@ +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. diff --git a/net/rbldnsd/MESSAGE b/net/rbldnsd/MESSAGE new file mode 100644 index 00000000000..0c05a9df2c0 --- /dev/null +++ b/net/rbldnsd/MESSAGE @@ -0,0 +1,18 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1.1.1 2006/12/08 22:14:12 cube Exp $ + +rbldnsd doesn't have a configuration file and requires a certain number of +parameters on its command line. + +In rc.conf, you will have to set the following variables to sensible +values: + + - rbldnsd_zones: the list of managed zones, following the syntax + described by rbldnsd(8). + + - rbldnsd_flags: at least one occurrence of -b is required. + + - rbldnsd_chrootdir: while optional, this option is strongly + recommended. + +=========================================================================== diff --git a/net/rbldnsd/Makefile b/net/rbldnsd/Makefile new file mode 100644 index 00000000000..c810eae0d1b --- /dev/null +++ b/net/rbldnsd/Makefile @@ -0,0 +1,43 @@ +# $NetBSD: Makefile,v 1.1.1.1 2006/12/08 22:14:12 cube Exp $ +# + +DISTNAME= rbldnsd_0.996a +PKGNAME= ${DISTNAME:S/_/-/} +CATEGORIES= net +MASTER_SITES= http://www.corpit.ru/mjt/rbldnsd/ + +MAINTAINER= cube@NetBSD.org +HOMEPAGE= http://www.corpit.ru/mjt/rbldnsd/ +COMMENT= Efficient DNS daemon to serve DNSBL zones + +WRKSRC= ${WRKDIR}/rbldnsd-0.996a +HAS_CONFIGURE= yes + +.include "../../mk/bsd.prefs.mk" + +BUILD_DEFS+= RBLDNSD_USER RBLDNSD_GROUP RBLDNSD_DIR VARBASE + +RBLDNSD_USER?= rbldns +RBLDNSD_GROUP?= rbldns +RBLDNSD_DIR?= ${VARBASE}/chroot/rbldnsd + +PKG_GROUPS= ${RBLDNSD_GROUP} +PKG_USERS= ${RBLDNSD_USER}:${RBLDNSD_GROUP} +PKG_HOME.${RBLDNSD_USER}= ${RBLDNSD_DIR} + +FILES_SUBST+= RBLDNSD_USER=${RBLDNSD_USER} RBLDNSD_GROUP=${RBLDNSD_GROUP} +RCD_SCRIPTS= rbldnsd + +.include "options.mk" + +RBLDNSD_DOCS= NEWS README.user + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/rbldnsd ${PREFIX}/sbin/ + ${INSTALL_MAN} ${WRKSRC}/rbldnsd.8 ${PREFIX}/${PKGMANDIR}/man8/ + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/rbldnsd + set -e; for doc in ${RBLDNSD_DOCS}; do \ + ${INSTALL_DATA} ${WRKSRC}/"$$doc" ${PREFIX}/share/doc/rbldnsd/; \ + done + +.include "../../mk/bsd.pkg.mk" diff --git a/net/rbldnsd/PLIST b/net/rbldnsd/PLIST new file mode 100644 index 00000000000..96aa103743f --- /dev/null +++ b/net/rbldnsd/PLIST @@ -0,0 +1,7 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2006/12/08 22:14:12 cube Exp $ +${PKGMANDIR}/man8/rbldnsd.8 +sbin/rbldnsd +share/doc/rbldnsd/NEWS +share/doc/rbldnsd/README.user +share/examples/rc.d/rbldnsd +@dirrm share/doc/rbldnsd diff --git a/net/rbldnsd/distinfo b/net/rbldnsd/distinfo new file mode 100644 index 00000000000..cbc35ecfcc7 --- /dev/null +++ b/net/rbldnsd/distinfo @@ -0,0 +1,5 @@ +$NetBSD: distinfo,v 1.1.1.1 2006/12/08 22:14:12 cube Exp $ + +SHA1 (rbldnsd_0.996a.tar.gz) = 7630069156aeff4432a066bc9e292fa4fab6dd92 +RMD160 (rbldnsd_0.996a.tar.gz) = b44a61ba9df55ff43df4283ac0632c8c61f930e4 +Size (rbldnsd_0.996a.tar.gz) = 112339 bytes diff --git a/net/rbldnsd/files/rbldnsd.sh b/net/rbldnsd/files/rbldnsd.sh new file mode 100644 index 00000000000..f4478ab315c --- /dev/null +++ b/net/rbldnsd/files/rbldnsd.sh @@ -0,0 +1,44 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: rbldnsd.sh,v 1.1.1.1 2006/12/08 22:14:12 cube Exp $ +# + +# PROVIDE: rbldnsd +# REQUIRE: SERVERS +# BEFORE: DAEMON +# KEYWORD: chrootdir + +. /etc/rc.subr + +name="rbldnsd" +rcvar="${name}" +command="@PREFIX@/sbin/${name}" +pidfile="/var/run/${name}.pid" +start_precmd="rbldnsd_precmd" +extra_commands="reload" +required_dirs="$rbldnsd_chrootdir" + +rbldnsd_precmd() +{ + if [ -z "$rbldnsd_zones" ]; then + echo "rbldnsd_zones must be set." + return 1 + fi + + command_args="-p ${pidfile} ${rbldnsd_zones}" + + if [ -z "$rbldnsd_chrootdir" ]; then + return 0; + fi + + if [ -f /etc/localtime ]; then + @CMP@ -s /etc/localtime "${rbldnsd_chrootdir}/etc/localtime" || \ + @CP@ -p /etc/localtime "${rbldnsd_chrootdir}/etc/localtime" + fi + + command_args="-u @RBLDNSD_USER@:@RBLDNSD_GROUP@ ${command_args}" + command_args="-r ${rbldnsd_chrootdir} ${command_args}" +} + +load_rc_config "$rcvar" +run_rc_command "$1" diff --git a/net/rbldnsd/options.mk b/net/rbldnsd/options.mk new file mode 100644 index 00000000000..c07259d10a2 --- /dev/null +++ b/net/rbldnsd/options.mk @@ -0,0 +1,27 @@ +# $NetBSD: options.mk,v 1.1.1.1 2006/12/08 22:14:12 cube Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.rbldnsd +PKG_SUPPORTED_OPTIONS= inet6 rbldnsd-master-dump zlib + +PKG_SUGGESTED_OPTIONS= inet6 + +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Minet6) +CONFIGURE_ARGS+= --enable-ipv6 +.else +CONFIGURE_ARGS+= --disable-ipv6 +.endif + +.if !empty(PKG_OPTIONS:Mzlib) +CONFIGURE_ARGS+= --enable-zlib +.include "../../devel/zlib/buildlink3.mk" +.else +CONFIGURE_ARGS+= --disable-zlib +.endif + +.if !empty(PKG_OPTIONS:Mrbldnsd-master-dump) +CONFIGURE_ARGS+= --enable-master-dump +.else +CONFIGURE_ARGS+= --disable-master-dump +.endif |