Added dhcp6, an IPv6 implementation of the dhcp server and client
authorFlorian Fainelli <florian@openwrt.org>
Tue, 13 Dec 2005 13:01:01 +0000 (13:01 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 13 Dec 2005 13:01:01 +0000 (13:01 +0000)
Added support in package/rules.mk for zip files, just use PKG_CAT=unzip to uncompress the archive

SVN-Revision: 2649

openwrt/package/Config.in
openwrt/package/Makefile
openwrt/package/dhcp6/Config.in [new file with mode: 0644]
openwrt/package/dhcp6/Makefile [new file with mode: 0755]
openwrt/package/dhcp6/ipkg/dhcp6.control [new file with mode: 0755]
openwrt/package/dhcp6/ipkg/files/conffiles [new file with mode: 0644]
openwrt/package/dhcp6/patches/01-remove_debug.patch [new file with mode: 0644]
openwrt/package/rules.mk
openwrt/package/vnc-reflector/Config.in

index 5cd589491c2c91abaf562f55b66554e860f8f35d..ad53b4aff5840230946e1b036820c87cced3e7c3 100644 (file)
@@ -151,6 +151,7 @@ source "package/xsupplicant/Config.in"
 comment "IPv6"
 source "package/6tunnel/Config.in"
 source "package/aiccu/Config.in"
+source "package/dhcp6/Config.in"
 source "package/miredo/Config.in"
 source "package/ndisc/Config.in"
 source "package/radvd/Config.in"
index f906df6074adff4491a8e7d5b7d73daec981ebf9..358e1d6c9679240a0431aa0174c16102e00ebe6f 100644 (file)
@@ -27,6 +27,7 @@ package-$(BR2_COMPILE_CYRUS_SASL) += cyrus-sasl
 package-$(BR2_COMPILE_DB) += libdb
 package-$(BR2_PACKAGE_DECO) += deco
 package-$(BR2_COMPILE_DHCP) += dhcp
+package-$(BR2_PACKAGE_DHCP6) += dhcp6
 package-$(BR2_PACKAGE_DHCP_FORWARDER) += dhcp-forwarder
 package-$(BR2_PACKAGE_DNSMASQ) += dnsmasq
 package-$(BR2_PACKAGE_DOSFSTOOLS) += dosfstools
@@ -248,6 +249,7 @@ bind-compile: openssl-compile
 curl-compile: openssl-compile zlib-compile
 cyrus-sasl-compile: openssl-compile
 deco-compile: ncurses-compile
+dhcp6-compile: ncurses-compile
 dropbear-compile: zlib-compile
 dsniff-compile: libnids-compile openssl-compile libgdbm-compile
 freetype-compile: zlib-compile
diff --git a/openwrt/package/dhcp6/Config.in b/openwrt/package/dhcp6/Config.in
new file mode 100644 (file)
index 0000000..f00e281
--- /dev/null
@@ -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 (executable)
index 0000000..aef4f5c
--- /dev/null
@@ -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 (executable)
index 0000000..cc030a0
--- /dev/null
@@ -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 (file)
index 0000000..267baa9
--- /dev/null
@@ -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 (file)
index 0000000..d39eeb1
--- /dev/null
@@ -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
index 18f53bdc3d2ca226e748f9e14bea19860e491617..9bbf4fa48f89fbac956b4677b3ca56291052d596 100644 (file)
@@ -45,7 +45,11 @@ ifneq ($(strip $(PKG_CAT)),)
 $(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
        rm -rf $(PKG_BUILD_DIR)
        mkdir -p $(PKG_BUILD_DIR)
-       $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) -
+       if [ "$(PKG_CAT)" = "unzip" ]; then \
+               unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE) ; \
+       else \
+               $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) - ; \
+       fi                                                
        if [ -d ./patches ]; then \
                $(PATCH) $(PKG_BUILD_DIR) ./patches ; \
        fi
index 84a158c399e9f75674e6a534ea1297eeed7a1a3b..19dfebf4bda995c86e2d3d0f567ab5f67c397ac9 100755 (executable)
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_VNC_REFLECTOR
-        tristate "vnc-reflector....................... VNC proxy for multiple clients"
+        tristate "vnc-reflector - VNC proxy"
        default m if CONFIG_DEVEL
        depends on BR2_PACKAGE_JPEG
        depends on BR2_PACKAGE_ZLIB