odhcp6c: add noserverunicast config option for broken DHCPv6 servers
authorHans Dedecker <dedeckeh@gmail.com>
Sun, 15 Jul 2018 19:53:25 +0000 (21:53 +0200)
committerHans Dedecker <dedeckeh@gmail.com>
Sun, 15 Jul 2018 20:19:10 +0000 (22:19 +0200)
Fix broken DHCPv6 servers which provide the server unicast option but
do not reply on DHCPv6 renew messages directed to the IPv6 address
contained in the server unicast option whihc results in broken IPv6
connectivity.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
package/network/ipv6/odhcp6c/Makefile
package/network/ipv6/odhcp6c/files/dhcpv6.sh

index 34560611779837c69047bb26bac2f343038d3c12..7f5f745fb85a7f3bbadbe2c4471b0b2732e010e3 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=odhcp6c
-PKG_RELEASE:=13
+PKG_RELEASE:=14
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
-PKG_SOURCE_DATE:=2018-06-20
-PKG_SOURCE_VERSION:=b99c1f63b6e1897de84e0a9dc420a240271fb70c
-PKG_MIRROR_HASH:=d32fb6c851d276a75f6ed72593bda2329312e84961a5730298c9f31b169719bd
+PKG_SOURCE_DATE:=2018-07-14
+PKG_SOURCE_VERSION:=67ae6a71b5762292e114b281d0e329cc24209ae6
+PKG_MIRROR_HASH:=176b637b3856af0d6bb9c526afbddca4e569ea056fc36fc026345e7e22a6cef5
 PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
 PKG_LICENSE:=GPL-2.0
 
index 000b42398c45281647428854d7a4c1dd11a66dcd..7f67f8b1bebe4953bb235a540f00d1f8e5581560 100755 (executable)
@@ -16,6 +16,7 @@ proto_dhcpv6_init_config() {
        proto_config_add_string 'forceprefix:bool'
        proto_config_add_string 'extendprefix:bool'
        proto_config_add_string 'norelease:bool'
+       proto_config_add_string 'noserverunicast:bool'
        proto_config_add_array 'ip6prefix:list(ip6addr)'
        proto_config_add_string iface_dslite
        proto_config_add_string zone_dslite
@@ -50,8 +51,8 @@ proto_dhcpv6_setup() {
        local config="$1"
        local iface="$2"
 
-       local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease ip6prefix ip6prefixes iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
-       json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
+       local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast ip6prefix ip6prefixes iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
+       json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
        json_for_each_item proto_dhcpv6_add_prefix ip6prefix ip6prefixes
 
        # Configure
@@ -71,6 +72,8 @@ proto_dhcpv6_setup() {
 
        [ "$norelease" = "1" ] && append opts "-k"
 
+       [ "$noserverunicast" = "1" ] && append opts "-U"
+
        [ -n "$ifaceid" ] && append opts "-i$ifaceid"
 
        [ -n "$vendorclass" ] && append opts "-V$vendorclass"