From 32ac53821fd6cd37f7b2afbbda3d42d2ce61ae87 Mon Sep 17 00:00:00 2001
From: Steven Barth <cyrus@openwrt.org>
Date: Tue, 26 Feb 2013 12:42:53 +0000
Subject: [PATCH] 6relayd: compatibility with broken IPv6 devices * Announce
 ULA as deprecated if other addresses are available * Allow the announced
 DNS-server to be overwritten

SVN-Revision: 35803
---
 package/network/ipv6/6relayd/Makefile             | 4 ++--
 package/network/ipv6/6relayd/files/6relayd.config | 1 +
 package/network/ipv6/6relayd/files/6relayd.init   | 9 +++++++--
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/package/network/ipv6/6relayd/Makefile b/package/network/ipv6/6relayd/Makefile
index 5bc9d4dafc..790f5e2772 100644
--- a/package/network/ipv6/6relayd/Makefile
+++ b/package/network/ipv6/6relayd/Makefile
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=6relayd
-PKG_VERSION:=2013-02-19
+PKG_VERSION:=2013-02-26
 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/6relayd.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=186ebf632dfe48aa7df76f256949eea88067394d
+PKG_SOURCE_VERSION:=d577d90bed7df627ff5333462cab8269be590ae2
 
 PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
 
diff --git a/package/network/ipv6/6relayd/files/6relayd.config b/package/network/ipv6/6relayd/files/6relayd.config
index fd0d29d37c..a4376c0a0c 100644
--- a/package/network/ipv6/6relayd/files/6relayd.config
+++ b/package/network/ipv6/6relayd/files/6relayd.config
@@ -4,6 +4,7 @@ config server default
 	option rd	server
 	option dhcpv6	server
 	option fallback_relay	'rd dhcpv6 ndp'
+	option compat_ula 1
 
 
 # Example #1: Create a relay for several networks in proxy mode
diff --git a/package/network/ipv6/6relayd/files/6relayd.init b/package/network/ipv6/6relayd/files/6relayd.init
index 82cd24de4a..410164a9d7 100644
--- a/package/network/ipv6/6relayd/files/6relayd.init
+++ b/package/network/ipv6/6relayd/files/6relayd.init
@@ -66,14 +66,19 @@ start_6relayd() {
 	fi
 
 	# Configure feature options
-	local always_rewrite_dns
+	local always_rewrite_dns rewrite_dns_addr
 	config_get_bool always_rewrite_dns "$cfg" always_rewrite_dns 0
-	[ "$always_rewrite_dns" -eq 1 ] && append args "-n"
+	config_get rewrite_dns_addr "$cfg" rewrite_dns_addr
+	[ "$always_rewrite_dns" -eq 1 ] && append args "-n$rewrite_dns_addr"
 
 	local always_assume_default
 	config_get_bool always_assume_default "$cfg" always_assume_default 0
 	[ "$always_assume_default" -eq 1 ] && append args "-u"
 
+	local compat_ula
+	config_get_bool compat_ula "$cfg" compat_ula 0
+	[ "$compat_ula" -eq 1 ] && append args "-c"
+
 	[ "$ndp" = "relay" ] && append args "-N -s -l"
 	[ "$rd" = "relay" ] && append args "-Rrelay"
 	[ "$rd" = "server" ] && append args "-Rserver"
-- 
GitLab