[net] Firewall: miniupnpd: Newer upstream. Dropped patches now included upstream.

git-svn-id: svn://svn.openwrt.org/openwrt/packages@26481 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
cshore 2011-04-05 13:55:45 +00:00
parent 4e07c487ba
commit 727736473e
3 changed files with 3 additions and 519 deletions

View File

@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=miniupnpd
PKG_VERSION:=1.5.20110302
PKG_RELEASE:=2
PKG_MD5SUM:=9c2906a2f87d9b9504e4fc09488afe41
PKG_VERSION:=1.5.20110309
PKG_RELEASE:=1
PKG_MD5SUM:=350d20bf25922e12f8d69e06fa33fd83
PKG_SOURCE_URL:=http://miniupnp.free.fr/files
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz

View File

@ -1,104 +0,0 @@
--- a/Makefile.openwrt
+++ b/Makefile.openwrt
@@ -59,8 +59,8 @@ depend: config.h
$(ALLOBJS:.o=.c) $(TESTUPNPDESCGENOBJS:.o=.c) \
2>/dev/null
-config.h: config.h.openwrt
- $(CP) $< $@
+config.h: genconfig.sh
+ ./genconfig.sh
# DO NOT DELETE
--- a/genconfig.sh
+++ b/genconfig.sh
@@ -28,6 +28,12 @@ if [ -f /etc/platform ]; then
fi
fi
+# OpenWRT special case
+if [ -f ./os.openwrt ]; then
+ OS_NAME=OpenWRT
+ OS_VERSION=$(cat ./os.openwrt)
+fi
+
${RM} ${CONFIGFILE}
echo "/* MiniUPnP Project" >> ${CONFIGFILE}
@@ -176,6 +182,11 @@ case $OS_NAME in
echo "#define USE_NETFILTER 1" >> ${CONFIGFILE}
FW=netfilter
;;
+ OpenWRT)
+ OS_URL=http://www.openwrt.org/
+ echo "#define USE_NETFILTER 1" >> ${CONFIGFILE}
+ FW=netfilter
+ ;;
Darwin)
echo "#define USE_IPFW 1" >> ${CONFIGFILE}
FW=ipfw
--- a/config.h.openwrt
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id: config.h.openwrt,v 1.4 2011/02/28 17:30:24 nanard Exp $ */
-/* MiniUPnP Project
- * http:///miniupnp.free.fr
- * (c) 2006-2011 Thomas Bernard
- */
-#ifndef __CONFIG_H__
-#define __CONFIG_H__
-
-#define MINIUPNPD_VERSION "1.5"
-
-#define UPNP_VERSION "20070228"
-#define USE_NETFILTER 1
-#define OS_NAME "OpenWRT"
-/* OS/version */
-#define OS_VERSION "OpenWRT/kamikaze"
-#define OS_URL "http://openwrt.org/"
-
-#define LOG_MINIUPNPD LOG_DAEMON
-
-/* Comment the following line to disable NAT-PMP operations */
-#define ENABLE_NATPMP
-
-/* Comment the following line to use home made daemonize() func instead
- * of BSD daemon() */
-#define USE_DAEMON
-
-#define ENABLE_L3F_SERVICE
-
-#endif
--- /dev/null
+++ b/config.h.openwrt.old
@@ -0,0 +1,29 @@
+/* $Id: config.h.openwrt,v 1.4 2011/02/28 17:30:24 nanard Exp $ */
+/* MiniUPnP Project
+ * http:///miniupnp.free.fr
+ * (c) 2006-2011 Thomas Bernard
+ */
+#ifndef __CONFIG_H__
+#define __CONFIG_H__
+
+#define MINIUPNPD_VERSION "1.5"
+
+#define UPNP_VERSION "20070228"
+#define USE_NETFILTER 1
+#define OS_NAME "OpenWRT"
+/* OS/version */
+#define OS_VERSION "OpenWRT/kamikaze"
+#define OS_URL "http://openwrt.org/"
+
+#define LOG_MINIUPNPD LOG_DAEMON
+
+/* Comment the following line to disable NAT-PMP operations */
+#define ENABLE_NATPMP
+
+/* Comment the following line to use home made daemonize() func instead
+ * of BSD daemon() */
+#define USE_DAEMON
+
+#define ENABLE_L3F_SERVICE
+
+#endif

View File

@ -1,412 +0,0 @@
--- a/Makefile.openwrt
+++ /dev/null
@@ -1,95 +0,0 @@
-# $Id: Makefile.openwrt,v 1.12 2008/05/01 23:11:18 nanard Exp $
-# http://miniupnp.free.fr/
-# Author : Thomas Bernard
-# for use with GNU Make
-# This Makefile would probably need some modifications depending on
-# your openwrt SDK/etc...
-# http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=713
-
-#include $(TOPDIR)/rules.mk
-#CFLAGS = -Wall -O -D_GNU_SOURCE -g
-#CFLAGS = -Wall -Os -D_GNU_SOURCE
-#CC = mipsel-linux-gcc
-CC = $(TARGET_CC)
-CFLAGS = $(TARGET_CFLAGS)
-CFLAGS += -D_GNU_SOURCE
-CP = cp
-RM = rm -f
-INSTALL = install
-IPTABLESINC=$(STAGING_DIR)/usr/include
-#IPTABLESINC=$(BUILD_DIR)/iptables-1.3.3/include
-#IPTABLESINC=$(TOPDIR)/../iptables-1.3.3/include
-
-BASEOBJS = miniupnpd.o upnphttp.o upnpdescgen.o upnpsoap.o \
- upnpreplyparse.o minixml.o \
- upnpredirect.o getifaddr.o daemonize.o upnpglobalvars.o \
- options.o upnppermissions.o minissdp.o natpmp.o
-
-LNXOBJS = linux/getifstats.o
-NETFILTEROBJS = netfilter/iptcrdr.o
-ALLOBJS = $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS)
-
-#LIBS = $(BUILD_DIR)/iptables-1.3.3/libiptc/libiptc.a
-#LIBS = $(TOPDIR)/../iptables-1.3.3/libiptc/libiptc.a
-
-TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o
-
-EXECUTABLES = miniupnpd testupnpdescgen
-
-.PHONY: all clean install depend
-
-all: $(EXECUTABLES)
-
-clean:
- $(RM) $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS) $(EXECUTABLES) \
- testupnpdescgen.o
-
-install: miniupnpd
- @echo no install for now...
-
-miniupnpd: $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS) $(LIBS)
-
-testupnpdescgen: $(TESTUPNPDESCGENOBJS)
-
-netfilter/iptcrdr.o: netfilter/iptcrdr.c
- $(CC) $(CFLAGS) -I$(IPTABLESINC) -c -o $@ $<
-
-depend: config.h
- makedepend -f$(MAKEFILE_LIST) -Y \
- $(ALLOBJS:.o=.c) $(TESTUPNPDESCGENOBJS:.o=.c) \
- 2>/dev/null
-
-config.h: genconfig.sh
- ./genconfig.sh
-
-# DO NOT DELETE
-
-miniupnpd.o: config.h upnpglobalvars.h upnppermissions.h miniupnpdtypes.h
-miniupnpd.o: upnphttp.h upnpdescgen.h miniupnpdpath.h getifaddr.h daemonize.h
-miniupnpd.o: upnpsoap.h options.h minissdp.h upnpredirect.h natpmp.h
-upnphttp.o: upnphttp.h config.h upnpdescgen.h miniupnpdpath.h upnpsoap.h
-upnpdescgen.o: upnpdescgen.h miniupnpdpath.h upnpglobalvars.h
-upnpdescgen.o: upnppermissions.h config.h miniupnpdtypes.h upnpdescstrings.h
-upnpsoap.o: upnpglobalvars.h upnppermissions.h config.h miniupnpdtypes.h
-upnpsoap.o: upnphttp.h upnpsoap.h upnpreplyparse.h upnpredirect.h getifaddr.h
-upnpsoap.o: getifstats.h
-upnpreplyparse.o: upnpreplyparse.h minixml.h
-minixml.o: minixml.h
-upnpredirect.o: config.h upnpredirect.h upnpglobalvars.h upnppermissions.h
-upnpredirect.o: miniupnpdtypes.h netfilter/iptcrdr.h commonrdr.h
-getifaddr.o: getifaddr.h
-daemonize.o: daemonize.h
-upnpglobalvars.o: upnpglobalvars.h upnppermissions.h config.h
-upnpglobalvars.o: miniupnpdtypes.h
-options.o: options.h upnppermissions.h config.h upnpglobalvars.h
-options.o: miniupnpdtypes.h
-upnppermissions.o: config.h upnppermissions.h
-minissdp.o: config.h upnpdescstrings.h miniupnpdpath.h upnphttp.h
-minissdp.o: upnpglobalvars.h upnppermissions.h miniupnpdtypes.h minissdp.h
-natpmp.o: config.h natpmp.h upnpglobalvars.h upnppermissions.h
-natpmp.o: miniupnpdtypes.h getifaddr.h upnpredirect.h commonrdr.h
-linux/getifstats.o: getifstats.h config.h
-netfilter/iptcrdr.o: netfilter/iptcrdr.h commonrdr.h config.h
-testupnpdescgen.o: upnpdescgen.h
-upnpdescgen.o: upnpdescgen.h miniupnpdpath.h upnpglobalvars.h
-upnpdescgen.o: upnppermissions.h config.h miniupnpdtypes.h upnpdescstrings.h
--- /dev/null
+++ b/Makefile.openwrt.old
@@ -0,0 +1,95 @@
+# $Id: Makefile.openwrt,v 1.12 2008/05/01 23:11:18 nanard Exp $
+# http://miniupnp.free.fr/
+# Author : Thomas Bernard
+# for use with GNU Make
+# This Makefile would probably need some modifications depending on
+# your openwrt SDK/etc...
+# http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=713
+
+#include $(TOPDIR)/rules.mk
+#CFLAGS = -Wall -O -D_GNU_SOURCE -g
+#CFLAGS = -Wall -Os -D_GNU_SOURCE
+#CC = mipsel-linux-gcc
+CC = $(TARGET_CC)
+CFLAGS = $(TARGET_CFLAGS)
+CFLAGS += -D_GNU_SOURCE
+CP = cp
+RM = rm -f
+INSTALL = install
+IPTABLESINC=$(STAGING_DIR)/usr/include
+#IPTABLESINC=$(BUILD_DIR)/iptables-1.3.3/include
+#IPTABLESINC=$(TOPDIR)/../iptables-1.3.3/include
+
+BASEOBJS = miniupnpd.o upnphttp.o upnpdescgen.o upnpsoap.o \
+ upnpreplyparse.o minixml.o \
+ upnpredirect.o getifaddr.o daemonize.o upnpglobalvars.o \
+ options.o upnppermissions.o minissdp.o natpmp.o
+
+LNXOBJS = linux/getifstats.o
+NETFILTEROBJS = netfilter/iptcrdr.o
+ALLOBJS = $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS)
+
+#LIBS = $(BUILD_DIR)/iptables-1.3.3/libiptc/libiptc.a
+#LIBS = $(TOPDIR)/../iptables-1.3.3/libiptc/libiptc.a
+
+TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o
+
+EXECUTABLES = miniupnpd testupnpdescgen
+
+.PHONY: all clean install depend
+
+all: $(EXECUTABLES)
+
+clean:
+ $(RM) $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS) $(EXECUTABLES) \
+ testupnpdescgen.o
+
+install: miniupnpd
+ @echo no install for now...
+
+miniupnpd: $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS) $(LIBS)
+
+testupnpdescgen: $(TESTUPNPDESCGENOBJS)
+
+netfilter/iptcrdr.o: netfilter/iptcrdr.c
+ $(CC) $(CFLAGS) -I$(IPTABLESINC) -c -o $@ $<
+
+depend: config.h
+ makedepend -f$(MAKEFILE_LIST) -Y \
+ $(ALLOBJS:.o=.c) $(TESTUPNPDESCGENOBJS:.o=.c) \
+ 2>/dev/null
+
+config.h: genconfig.sh
+ ./genconfig.sh
+
+# DO NOT DELETE
+
+miniupnpd.o: config.h upnpglobalvars.h upnppermissions.h miniupnpdtypes.h
+miniupnpd.o: upnphttp.h upnpdescgen.h miniupnpdpath.h getifaddr.h daemonize.h
+miniupnpd.o: upnpsoap.h options.h minissdp.h upnpredirect.h natpmp.h
+upnphttp.o: upnphttp.h config.h upnpdescgen.h miniupnpdpath.h upnpsoap.h
+upnpdescgen.o: upnpdescgen.h miniupnpdpath.h upnpglobalvars.h
+upnpdescgen.o: upnppermissions.h config.h miniupnpdtypes.h upnpdescstrings.h
+upnpsoap.o: upnpglobalvars.h upnppermissions.h config.h miniupnpdtypes.h
+upnpsoap.o: upnphttp.h upnpsoap.h upnpreplyparse.h upnpredirect.h getifaddr.h
+upnpsoap.o: getifstats.h
+upnpreplyparse.o: upnpreplyparse.h minixml.h
+minixml.o: minixml.h
+upnpredirect.o: config.h upnpredirect.h upnpglobalvars.h upnppermissions.h
+upnpredirect.o: miniupnpdtypes.h netfilter/iptcrdr.h commonrdr.h
+getifaddr.o: getifaddr.h
+daemonize.o: daemonize.h
+upnpglobalvars.o: upnpglobalvars.h upnppermissions.h config.h
+upnpglobalvars.o: miniupnpdtypes.h
+options.o: options.h upnppermissions.h config.h upnpglobalvars.h
+options.o: miniupnpdtypes.h
+upnppermissions.o: config.h upnppermissions.h
+minissdp.o: config.h upnpdescstrings.h miniupnpdpath.h upnphttp.h
+minissdp.o: upnpglobalvars.h upnppermissions.h miniupnpdtypes.h minissdp.h
+natpmp.o: config.h natpmp.h upnpglobalvars.h upnppermissions.h
+natpmp.o: miniupnpdtypes.h getifaddr.h upnpredirect.h commonrdr.h
+linux/getifstats.o: getifstats.h config.h
+netfilter/iptcrdr.o: netfilter/iptcrdr.h commonrdr.h config.h
+testupnpdescgen.o: upnpdescgen.h
+upnpdescgen.o: upnpdescgen.h miniupnpdpath.h upnpglobalvars.h
+upnpdescgen.o: upnppermissions.h config.h miniupnpdtypes.h upnpdescstrings.h
--- a/Makefile.linux
+++ b/Makefile.linux
@@ -17,11 +17,12 @@
# $ IPTABLESPATH=/path/to/iptables-1.4.1 make -f Makefile.linux
#
#CFLAGS = -Wall -O -D_GNU_SOURCE -g -DDEBUG
-CFLAGS = -Wall -Os -D_GNU_SOURCE
-CC = gcc
+CFLAGS ?= -Wall -Os -D_GNU_SOURCE
+CC ?= gcc
RM = rm -f
INSTALL = install
-STRIP = strip
+STRIP ?= strip
+CP = cp
INSTALLPREFIX ?= $(PREFIX)/usr
SBININSTALLDIR = $(INSTALLPREFIX)/sbin
@@ -38,16 +39,17 @@ NETFILTEROBJS = netfilter/iptcrdr.o
ALLOBJS = $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS)
-LIBS = -liptc
+LIBS ?= -liptc
# the following is better, at least on gentoo with iptables 1.4.6
# see http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1618
#LIBS = -lip4tc
-ARCH := $(shell uname -m | grep -q "x86_64" && echo 64)
+ARCH ?= $(shell uname -m | grep -q "x86_64" && echo 64)
ifdef IPTABLESPATH
CFLAGS := $(CFLAGS) -I$(IPTABLESPATH)/include/
LDFLAGS := $(LDFLAFGS) -L$(IPTABLESPATH)/libiptc/
# get iptables version and set IPTABLES_143 macro if needed
+ifeq ($(TARGET_OPENWRT),)
IPTABLESVERSION := $(shell grep "\#define VERSION" $(IPTABLESPATH)/config.h | tr -d \" |cut -d" " -f3 )
IPTABLESVERSION1 := $(shell echo $(IPTABLESVERSION) | cut -d. -f1 )
IPTABLESVERSION2 := $(shell echo $(IPTABLESVERSION) | cut -d. -f2 )
@@ -74,6 +76,7 @@ LIBS = -liptc /usr/lib$(ARCH)/libiptc.a
endif
endif
endif
+endif
TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o
@@ -105,7 +108,11 @@ install: miniupnpd genuuid
# genuuid is using the uuidgen CLI tool which is part of libuuid
# from the e2fsprogs
genuuid:
+ifeq ($(TARGET_OPENWRT),)
sed -i -e "s/^uuid=[-0-9a-f]*/uuid=`(genuuid||uuidgen) 2>/dev/null`/" miniupnpd.conf
+else
+ sed -i -e "s/^uuid=[-0-9a-f]*/uuid=`($(STAGING_DIR_HOST)/bin/genuuid||$(STAGING_DIR_HOST)/bin/uuidgen) 2>/dev/null`/" miniupnpd.conf
+endif
miniupnpd: $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS) $(LIBS)
--- a/README.openwrt
+++ /dev/null
@@ -1,76 +0,0 @@
-MiniUPnP Daemon
-(c) 2006 Thomas Bernard
-This software is subject to the conditions detailed in
-the LICENCE file provided within the distribution.
-
-How to build and run miniupnpd for your router running openwrt.
-These instructions apply to the OpenWRT WHITE RUSSIAN (RC6) version.
-My device is a Linksys WRT54G v1, used in pppoe mode.
-More information about OpenWRT on http://openwrt.org/
-
-First make sure that openwrt white russian RC6 is up and running on your
-router device.
-
-NOTES : Makefile.openwrt has been updated, following informations could
- be inacurate.
- The X-Wrt team made an ipk package out of miniupnpd,
- check the webpage : http://www.x-wrt.org/
-
-* A. COMPILATION *
-
-To Build, use your PC. I have been using the SDK but you might need
-to compile the cross compiler yourself.
-
-1. Get the SDK from http://downloads.openwrt.org/whiterussian/rc6/
- I used http://downloads.openwrt.org/whiterussian/rc6/OpenWrt-SDK-Linux-ppc-1.tar.bz2
- unpack somewhere and add the bin directory to your PATH environement :
- > tar xvjf OpenWrt-SDK-Linux-i686-1.tar.bz2
- > PATH=`pwd`/OpenWrt-SDK-Linux-i686-1/staging_dir_mipsel/bin:$PATH
- > mipsel-linux-gcc --version
-mipsel-linux-gcc (GCC) 3.4.4 (OpenWrt-1.0)
-[...]
-
-2. Get iptables 1.3.3 sources from http://downloads.openwrt.org/sources/iptables-1.3.3.tar.bz2
- unpack and compile libiptc.a
- > tar xvjf iptables-1.3.3.tar.bz2
- > cd iptables-1.3.3/libiptc/
- > make CC=mipsel-linux-gcc
-
-3. Go to miniupnpd directory and edit the Makefile.openwrt to make
- IPTABLESINC and LIBS variables point to the correct directory.
- > make -f Makefile.openwrt
- > mipsel-linux-strip miniupnpd
-
-That's it !
-
-
-* B. INSTALLATION - USAGE *
-
-1. copy miniupnpd and scripts to the device :
- > scp miniupnpd root@192.168.1.1:.
- > cd linux
- > scp iptables_init.sh iptables_flush.sh root@192.168.1.1:.
- > scp iptables_display.sh iptables_removall.sh root@192.168.1.1:.
-
-2. log onto your router and edit the scripts in order to adapt to your
- configuration : EXTIF variable shoud be set to your external network
- interface. In my case it is ppp0
-
-3. init tables :
- > ./iptables_init.sh
-
-4. run the daemon :
- ./miniupnpd -i ppp0 -a 192.168.1.1 -p 5000 -U -d
- -d option is a debug option to prevent the program from going to
- background. It is usefull to see the debug messages and check if everything
- is ok.
-
-5. Once you checked that everything is ok,
- you can set up a script in /etc/init.d etc...
-
- If you can build an ipkg package for miniupnpd, I'll be glad !
-
-Thomas
-contact me by email : miniupnp@free.fr
-
-
--- /dev/null
+++ b/README.openwrt.old
@@ -0,0 +1,76 @@
+MiniUPnP Daemon
+(c) 2006 Thomas Bernard
+This software is subject to the conditions detailed in
+the LICENCE file provided within the distribution.
+
+How to build and run miniupnpd for your router running openwrt.
+These instructions apply to the OpenWRT WHITE RUSSIAN (RC6) version.
+My device is a Linksys WRT54G v1, used in pppoe mode.
+More information about OpenWRT on http://openwrt.org/
+
+First make sure that openwrt white russian RC6 is up and running on your
+router device.
+
+NOTES : Makefile.openwrt has been updated, following informations could
+ be inacurate.
+ The X-Wrt team made an ipk package out of miniupnpd,
+ check the webpage : http://www.x-wrt.org/
+
+* A. COMPILATION *
+
+To Build, use your PC. I have been using the SDK but you might need
+to compile the cross compiler yourself.
+
+1. Get the SDK from http://downloads.openwrt.org/whiterussian/rc6/
+ I used http://downloads.openwrt.org/whiterussian/rc6/OpenWrt-SDK-Linux-ppc-1.tar.bz2
+ unpack somewhere and add the bin directory to your PATH environement :
+ > tar xvjf OpenWrt-SDK-Linux-i686-1.tar.bz2
+ > PATH=`pwd`/OpenWrt-SDK-Linux-i686-1/staging_dir_mipsel/bin:$PATH
+ > mipsel-linux-gcc --version
+mipsel-linux-gcc (GCC) 3.4.4 (OpenWrt-1.0)
+[...]
+
+2. Get iptables 1.3.3 sources from http://downloads.openwrt.org/sources/iptables-1.3.3.tar.bz2
+ unpack and compile libiptc.a
+ > tar xvjf iptables-1.3.3.tar.bz2
+ > cd iptables-1.3.3/libiptc/
+ > make CC=mipsel-linux-gcc
+
+3. Go to miniupnpd directory and edit the Makefile.openwrt to make
+ IPTABLESINC and LIBS variables point to the correct directory.
+ > make -f Makefile.openwrt
+ > mipsel-linux-strip miniupnpd
+
+That's it !
+
+
+* B. INSTALLATION - USAGE *
+
+1. copy miniupnpd and scripts to the device :
+ > scp miniupnpd root@192.168.1.1:.
+ > cd linux
+ > scp iptables_init.sh iptables_flush.sh root@192.168.1.1:.
+ > scp iptables_display.sh iptables_removall.sh root@192.168.1.1:.
+
+2. log onto your router and edit the scripts in order to adapt to your
+ configuration : EXTIF variable shoud be set to your external network
+ interface. In my case it is ppp0
+
+3. init tables :
+ > ./iptables_init.sh
+
+4. run the daemon :
+ ./miniupnpd -i ppp0 -a 192.168.1.1 -p 5000 -U -d
+ -d option is a debug option to prevent the program from going to
+ background. It is usefull to see the debug messages and check if everything
+ is ok.
+
+5. Once you checked that everything is ok,
+ you can set up a script in /etc/init.d etc...
+
+ If you can build an ipkg package for miniupnpd, I'll be glad !
+
+Thomas
+contact me by email : miniupnp@free.fr
+
+