From 02c763c4ab60b930b69a892860550527fadad85c Mon Sep 17 00:00:00 2001
From: Steven Barth <cyrus@openwrt.org>
Date: Mon, 3 Feb 2014 09:06:25 +0000
Subject: [PATCH] odhcp6c: Revert to slightly modified version of old behaviour

Latest changes broke source-restriction of on-link routes. Restoring
old-behaviour but adding correct source-restrictions which prevents
the offlink handler to remove the on-link route.

SVN-Revision: 39454
---
 package/network/ipv6/odhcp6c/Makefile            | 4 ++--
 package/network/ipv6/odhcp6c/files/dhcpv6.script | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile
index e50659992d..b7a1513da1 100644
--- a/package/network/ipv6/odhcp6c/Makefile
+++ b/package/network/ipv6/odhcp6c/Makefile
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=odhcp6c
-PKG_VERSION:=2014-02-02
+PKG_VERSION:=2014-01-31
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_URL:=git://github.com/sbyx/odhcp6c.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=9817e4983c7d4e28f53b78d4fc6ea1eabed8affe
+PKG_SOURCE_VERSION:=b4a0f3d74b04074eae21e88fbf5b8f2ddc150f86
 PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.script b/package/network/ipv6/odhcp6c/files/dhcpv6.script
index 5a3b7ecba6..929ab4eed2 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.script
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script
@@ -50,7 +50,7 @@ setup_interface () {
 		entry="${entry#*,}"
 		local valid="${entry%%,*}"
 
-		proto_add_ipv6_address "$addr" "$mask" "$preferred" "$valid"
+		proto_add_ipv6_address "$addr" "$mask" "$preferred" "$valid" 1
 	done
 
 	for entry in $RA_ROUTES; do
@@ -65,7 +65,8 @@ setup_interface () {
 		local metric="${entry%%,*}"
 
 		if [ -z "$SOURCE_ROUTING" -o -z "$gw" ]; then
-			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid"
+			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128"
+			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "$addr/$mask"
 		else
 			proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128"
 			for prefix in $PREFIXES $ADDRESSES; do
-- 
2.34.1