summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2011-02-18 00:51:49 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2011-02-21 13:46:53 +0100
commit67ec049f25e299957fada55ea8738e0967547c6f (patch)
tree2984369c881188552d454a1d0d9948ac91d4947a
parent844d072abc82c8f027df2229b6843838642b082e (diff)
port totd, the trick or treat daemon
This is a simple DNS-ALG implementation used for NAT-PT & Co.
-rw-r--r--package/totd/Makefile24
-rw-r--r--package/totd/files/totd.conf14
-rw-r--r--package/totd/files/totd.conffiles1
-rwxr-xr-xpackage/totd/files/totd.init26
-rw-r--r--package/totd/files/totd.postinst4
-rw-r--r--package/totd/patches/patch-Makefile_in39
-rw-r--r--package/totd/patches/patch-ne_mesg_c16
7 files changed, 124 insertions, 0 deletions
diff --git a/package/totd/Makefile b/package/totd/Makefile
new file mode 100644
index 000000000..938439e9b
--- /dev/null
+++ b/package/totd/Makefile
@@ -0,0 +1,24 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= totd
+PKG_VERSION:= 1.5.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 7edaedae9f6aca5912dd6c123582cf08
+PKG_DESCR:= Trick or Treat Daemon (a simple DNS-ALG for NAT-PT)
+PKG_SECTION:= dns
+PKG_URL:= http://www.dillema.net/software/totd.html
+PKG_SITES:= http://www.dillema.net/software/totd/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,TOTD,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+post-install:
+ $(INSTALL_DIR) $(IDIR_TOTD)/{usr/sbin,etc}
+ ${INSTALL_DATA} ./files/totd.conf ${IDIR_TOTD}/etc/
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/totd $(IDIR_TOTD)/usr/sbin/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/totd/files/totd.conf b/package/totd/files/totd.conf
new file mode 100644
index 000000000..85a6ae73c
--- /dev/null
+++ b/package/totd/files/totd.conf
@@ -0,0 +1,14 @@
+; you can have multiple forwarders, totd will always prefer
+; forwarders listed early and only use forwarders listed later
+; if the first ones are unresponsive.
+forwarder ::1
+
+; you can have multiple prefixes or even no prefixes at all
+; totd uses them in round-robin fashion
+prefix 0::ffff:ffff:0:0
+
+; the port totd listens on for incoming requests
+port 53
+
+; the pidfile to use (default: /var/run/totd.pid)
+pidfile /var/run/totd.pid
diff --git a/package/totd/files/totd.conffiles b/package/totd/files/totd.conffiles
new file mode 100644
index 000000000..c74a3007f
--- /dev/null
+++ b/package/totd/files/totd.conffiles
@@ -0,0 +1 @@
+/etc/totd.conf
diff --git a/package/totd/files/totd.init b/package/totd/files/totd.init
new file mode 100755
index 000000000..665e36171
--- /dev/null
+++ b/package/totd/files/totd.init
@@ -0,0 +1,26 @@
+#!/bin/sh
+#PKG totd
+#INIT 60
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${totd:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ totd $totd_flags -c /etc/totd.conf
+ ;;
+stop)
+ pkill totd
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ ;;
+esac
+exit $?
diff --git a/package/totd/files/totd.postinst b/package/totd/files/totd.postinst
new file mode 100644
index 000000000..12c7c1864
--- /dev/null
+++ b/package/totd/files/totd.postinst
@@ -0,0 +1,4 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf 'additional flags for totd' totd_flags "-q"
+add_rcconf totd totd NO
diff --git a/package/totd/patches/patch-Makefile_in b/package/totd/patches/patch-Makefile_in
new file mode 100644
index 000000000..5eec23ca5
--- /dev/null
+++ b/package/totd/patches/patch-Makefile_in
@@ -0,0 +1,39 @@
+ - set ${CC} only if unset
+ - drop -Werror, sources aren't that sane ;)
+ - don't chown the files when installing
+ - use DESTDIR when installing
+ - don't strip binaries (we do ourself, install chooses the wrong strip binary)
+ - create non-existing target directories
+--- totd-1.5.orig/Makefile.in 2005-01-31 12:55:14.000000000 +0100
++++ totd-1.5/Makefile.in 2010-03-25 21:21:05.085663745 +0100
+@@ -4,7 +4,7 @@
+ # <$Id: Makefile.in,v 3.43 2005/01/31 11:55:14 dillema Exp $>
+ #
+
+-CC = gcc
++CC ?= gcc
+
+ # These use the standard autoconf variables, which by default are
+ # rooted in @prefix@
+@@ -19,7 +19,7 @@ TOT_CONFIG_FILE=@sysconfdir@/totd.conf
+
+ INSTALL = /usr/bin/install
+
+-CFLAGS = @CFLAGS@ @DEFS@ -Werror -Wall -DTOTCONF=\"$(TOT_CONFIG_FILE)\" @OPTFLAGS@ $(INCLUDEPATH)
++CFLAGS = @CFLAGS@ @DEFS@ -Wall -DTOTCONF=\"$(TOT_CONFIG_FILE)\" @OPTFLAGS@ $(INCLUDEPATH)
+
+ # When debugging is enabled by --enable-malloc-debug flag to the configure
+ # script, the @DBMALLOC@ substitution will contain the empty string, thus
+@@ -66,8 +66,10 @@ libswill.a:
+ -ranlib libswill.a
+
+ install: $(PROG)
+- $(INSTALL) -c -s -m 0555 -o bin -g bin $(PROG) $(INSTALLDIR)
+- $(INSTALL) -c -m 0444 -o root -g wheel $(MAN) $(INSTALLMAN)/man8
++ mkdir -p ${DESTDIR}/${INSTALLDIR}
++ $(INSTALL) -c -m 0555 $(PROG) ${DESTDIR}/$(INSTALLDIR)
++ mkdir -p ${DESTDIR}/${INSTALLMAN}/man8
++ $(INSTALL) -c -m 0444 $(MAN) ${DESTDIR}/$(INSTALLMAN)/man8
+
+ lint:
+ lint ${SRCS}
diff --git a/package/totd/patches/patch-ne_mesg_c b/package/totd/patches/patch-ne_mesg_c
new file mode 100644
index 000000000..db9633bec
--- /dev/null
+++ b/package/totd/patches/patch-ne_mesg_c
@@ -0,0 +1,16 @@
+ fix for verbose logging
+--- totd-1.5.orig/ne_mesg.c 2002-12-10 23:31:18.000000000 +0100
++++ totd-1.5/ne_mesg.c 2010-03-25 23:45:35.185664417 +0100
+@@ -470,6 +470,12 @@ u_char *dname_decompress (u_char *buf, i
+
+ next = NULL;
+ written_len = token_len = 0;
++
++ if (!m_head)
++ m_head = dname;
++ if (!m_tail)
++ m_tail = dname + buflen;
++
+ for (cp = dname; *cp; cp += token_len) {
+ iter = 0;
+ top: