summaryrefslogtreecommitdiff
path: root/openwrt/package/dhcp6
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2005-12-13 13:01:01 +0000
committerFlorian Fainelli <florian@openwrt.org>2005-12-13 13:01:01 +0000
commitae3c308186cf1913fa5064fc183d1ef016634aeb (patch)
tree2762d6e2571127d83829ee66592298fb7d26009c /openwrt/package/dhcp6
parent9e0057bdf6f40bf6f30e12450abca07ab9fd21ca (diff)
downloadmtk-20170518-ae3c308186cf1913fa5064fc183d1ef016634aeb.zip
mtk-20170518-ae3c308186cf1913fa5064fc183d1ef016634aeb.tar.gz
mtk-20170518-ae3c308186cf1913fa5064fc183d1ef016634aeb.tar.bz2
Added dhcp6, an IPv6 implementation of the dhcp server and client Added support in package/rules.mk for zip files, just use PKG_CAT=unzip to uncompress the archive
SVN-Revision: 2649
Diffstat (limited to 'openwrt/package/dhcp6')
-rw-r--r--openwrt/package/dhcp6/Config.in7
-rwxr-xr-xopenwrt/package/dhcp6/Makefile35
-rwxr-xr-xopenwrt/package/dhcp6/ipkg/dhcp6.control5
-rw-r--r--openwrt/package/dhcp6/ipkg/files/conffiles4
-rw-r--r--openwrt/package/dhcp6/patches/01-remove_debug.patch118
5 files changed, 169 insertions, 0 deletions
diff --git a/openwrt/package/dhcp6/Config.in b/openwrt/package/dhcp6/Config.in
new file mode 100644
index 0000000..f00e281
--- /dev/null
+++ b/openwrt/package/dhcp6/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_DHCP6
+ prompt "dhcp6............................. IPv6 DHCP server and client"
+ tristate
+ default m if CONFIG_DEVEL
+ select BR2_PACKAGE_LIBNCURSES
+ help
+ This is the first ever open source implementation of Dynamic Host Configuration Protocol for IPv6 (DHCPv6) server and client on Linux Operating System. The server provides leases (durations or lifetimes) on IPv6 addresses to the clients who request for it
diff --git a/openwrt/package/dhcp6/Makefile b/openwrt/package/dhcp6/Makefile
new file mode 100755
index 0000000..aef4f5c
--- /dev/null
+++ b/openwrt/package/dhcp6/Makefile
@@ -0,0 +1,35 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=dhcp6
+PKG_VERSION:=1.0
+PKG_RELEASE:=1
+PKG_MD5SUM:=86193dfa62137db3ea459543db4f1102
+PKG_SOURCE_URL:=@SF/dhcpv6-linux
+PKG_SOURCE:=dhcpv6-linux-$(PKG_VERSION).zip
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_CAT:=unzip
+
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,DHCP6,$(PKG_NAME),$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ $(MAKE) CC=$(TARGET_CC) STAGING_DIR=$(STAGING_DIR) -C $(PKG_BUILD_DIR)/server
+ $(MAKE) CC=$(TARGET_CC) STAGING_DIR=$(STAGING_DIR) -C $(PKG_BUILD_DIR)/client
+ install -d $(PKG_INSTALL_DIR)/usr/sbin $(PKG_INSTALL_DIR)/etc/dhcp{d6,6}
+ install -m0755 $(PKG_BUILD_DIR)/client/cli $(PKG_INSTALL_DIR)/usr/sbin/dhcp6client
+ install -m0755 $(PKG_BUILD_DIR)/server/serv $(PKG_INSTALL_DIR)/usr/sbin/dhcpd6
+ install -m0755 $(PKG_BUILD_DIR)/server/*.conf $(PKG_INSTALL_DIR)/etc/dhcpd6/
+ install -m0755 $(PKG_BUILD_DIR)/client/*.conf $(PKG_INSTALL_DIR)/etc/dhcp6/
+ touch $@
+
+$(IPKG_DHCP6):
+ mkdir -p $(IDIR_DHCP6)
+ cp -fpR $(PKG_INSTALL_DIR)/* $(IDIR_DHCP6)/
+ $(RSTRIP) $(IDIR_DHCP6)
+ $(IPKG_BUILD) $(IDIR_DHCP6) $(PACKAGE_DIR)
diff --git a/openwrt/package/dhcp6/ipkg/dhcp6.control b/openwrt/package/dhcp6/ipkg/dhcp6.control
new file mode 100755
index 0000000..cc030a0
--- /dev/null
+++ b/openwrt/package/dhcp6/ipkg/dhcp6.control
@@ -0,0 +1,5 @@
+Package: dhcp6
+Section: net
+Architecture: mipsel
+Priority: optional
+Description: This is the first ever open source implementation of Dynamic Host Configuration Protocol for IPv6 (DHCPv6) server and client on Linux Operating System. The server provides leases (durations or lifetimes) on IPv6 addresses to the clients who request for it.
diff --git a/openwrt/package/dhcp6/ipkg/files/conffiles b/openwrt/package/dhcp6/ipkg/files/conffiles
new file mode 100644
index 0000000..267baa9
--- /dev/null
+++ b/openwrt/package/dhcp6/ipkg/files/conffiles
@@ -0,0 +1,4 @@
+/etc/dhcpd6/dhcpd6.conf
+/etc/dhcpd6/leases6.conf
+/etc/dhcpd6/partial_leases6.conf
+/etc/dhcp6/sollicit.conf
diff --git a/openwrt/package/dhcp6/patches/01-remove_debug.patch b/openwrt/package/dhcp6/patches/01-remove_debug.patch
new file mode 100644
index 0000000..d39eeb1
--- /dev/null
+++ b/openwrt/package/dhcp6/patches/01-remove_debug.patch
@@ -0,0 +1,118 @@
+diff -urN orig/dhcp6-1.0/client/Makefile dhcp6-1.0/client/Makefile
+--- orig/dhcp6-1.0/client/Makefile 2025-06-28 23:21:40.000000000 +0200
++++ dhcp6-1.0/client/Makefile 2005-12-13 13:43:11.000000000 +0100
+@@ -1,42 +1,40 @@
+-
+-CC = gcc
+ STD_HEADERS = stdhead.h head.h struct.h options_type.h message_type.h states.h timer_val.h constants.h macros.h status_codes.h
+ OBJECT_FILES = client.o solicit.o clilib.o parse.o request.o decline.o renew.o rebind.o release.o
+ HEADER_FILES = solicit.h clilib.h parse.h request.h decline.h renew.h rebind.h release.h
+-
++IFLAGS = -I$(STAGING_DIR)/usr/include
+
+ dhcpv6_client : dhcpv6_client.c cli
+- $(CC) -g3 dhcpv6_client.c -o dhcpv6_client
++ $(CC) $(IFLAGS) dhcpv6_client.c -o dhcpv6_client
+
+ cli : $(OBJECT_FILES)
+- $(CC) -g3 $(OBJECT_FILES) -o cli -lncurses
++ $(CC) $(IFLAGS) $(OBJECT_FILES) -o cli -L$(STAGING_DIR)/usr/lib -lncurses
+
+ client.o : client.c $(STD_HEADERS) $(HEADER_FILES)
+- $(CC) -g3 -c client.c -o client.o
++ $(CC) $(IFLAGS) -c client.c -o client.o
+
+ release.o : release.c release.h clilib.h
+- $(CC) -g3 -c release.c -o release.o
++ $(CC) $(IFLAGS) -c release.c -o release.o
+
+ rebind.o : rebind.c rebind.h clilib.h
+- $(CC) -g3 -c rebind.c -o rebind.o
++ $(CC) $(IFLAGS) -c rebind.c -o rebind.o
+
+ renew.o : renew.c renew.h clilib.h
+- $(CC) -g3 -c renew.c -o renew.o
++ $(CC) $(IFLAGS) -c renew.c -o renew.o
+
+ request.o : request.c request.h clilib.h
+- $(CC) -g3 -c request.c -o request.o
++ $(CC) $(IFLAGS) -c request.c -o request.o
+
+ decline.o : decline.c decline.h clilib.h parse.h solicit.h
+- $(CC) -g3 -c decline.c -o decline.o
++ $(CC) $(IFLAGS) -c decline.c -o decline.o
+
+ solicit.o : solicit.c solicit.h clilib.h parse.h
+- $(CC) -g3 -c solicit.c -o solicit.o
++ $(CC) $(IFLAGS) -c solicit.c -o solicit.o
+
+ clilib.o : clilib.c clilib.h parse.h
+- $(CC) -g3 -c clilib.c -o clilib.o
++ $(CC) $(IFLAGS) -c clilib.c -o clilib.o
+
+ parse.o : parse.c parse.h clilib.h
+- $(CC) -g3 -c parse.c -o parse.o
++ $(CC) $(IFLAGS) -c parse.c -o parse.o
+
+ clean :
+ rm -f *.o cli dhcpv6_client
+diff -urN orig/dhcp6-1.0/client/clilib.c dhcp6-1.0/client/clilib.c
+--- orig/dhcp6-1.0/client/clilib.c 2025-06-28 23:21:40.000000000 +0200
++++ dhcp6-1.0/client/clilib.c 2005-12-13 13:42:43.000000000 +0100
+@@ -554,7 +554,7 @@
+
+ void generate_trans_id (u_int32_t *trans_id)
+ {
+- extern u_int32_t g_trans_id;
++ extern int g_trans_id;
+ time_t t;
+ srand (time (&t));
+ *trans_id = 0;
+@@ -890,9 +890,7 @@
+ break;
+
+ default :
+-#if DEBUG == 3
+ printf ("Unrecognized DUID type\n");
+-#endif
+ }
+
+ next_opt = (struct OPTIONS *) malloc (sizeof (struct OPTIONS));
+diff -urN orig/dhcp6-1.0/server/Makefile dhcp6-1.0/server/Makefile
+--- orig/dhcp6-1.0/server/Makefile 2002-06-28 14:50:04.000000000 +0200
++++ dhcp6-1.0/server/Makefile 2005-12-13 11:35:53.000000000 +0100
+@@ -1,27 +1,26 @@
+-CC = gcc
+ STD_HEADERS = stdhead.h head.h struct.h options_type.h message_type.h macros.h status_codes.h constants.h
+ OBJECT_FILES = server.o lib.o advertise.o parse.o leases.o reply.o
+
+ serv: $(OBJECT_FILES)
+- $(CC) -g3 $(OBJECT_FILES) -o serv
++ $(CC) $(OBJECT_FILES) -o serv
+
+ lib.o: lib.c lib.h $(STD_HEADERS)
+- $(CC) -g3 -c lib.c -o lib.o
++ $(CC) -c lib.c -o lib.o
+
+ parse.o: parse.c parse.h $(STD_HEADERS)
+- $(CC) -g3 -c parse.c -o parse.o
++ $(CC) -c parse.c -o parse.o
+
+ leases.o: leases.c leases.h $(STD_HEADERS)
+- $(CC) -g3 -c leases.c -o leases.o
++ $(CC) -c leases.c -o leases.o
+
+ advertise.o: advertise.c advertise.h $(STD_HEADERS)
+- $(CC) -g3 -c advertise.c -o advertise.o
++ $(CC) -c advertise.c -o advertise.o
+
+ reply.o: reply.c reply.h $(STD_HEADERS)
+- $(CC) -g3 -c reply.c -o reply.o
++ $(CC) -c reply.c -o reply.o
+
+ server.o: server.c lib.h advertise.h reply.h leases.h parse.h $(STD_HEADERS)
+- $(CC) -g3 -c server.c -o server.o
++ $(CC) -c server.c -o server.o
+
+ clean:
+ rm -f *.o serv