From: Eric Luehrsen Date: Tue, 30 Apr 2019 02:27:53 +0000 (-0400) Subject: unbound: fix local dns synthesis corner cases X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=refs%2Fpull%2F8849%2Fhead;p=feed%2Fpackages.git unbound: fix local dns synthesis corner cases Signed-off-by: Eric Luehrsen --- diff --git a/net/unbound/Makefile b/net/unbound/Makefile index 22c13051fb..3b48a4e8cc 100644 --- a/net/unbound/Makefile +++ b/net/unbound/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=unbound PKG_VERSION:=1.9.1 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.unbound.net/downloads diff --git a/net/unbound/files/odhcpd.awk b/net/unbound/files/odhcpd.awk index 85c15c2f2c..f8912dfe61 100644 --- a/net/unbound/files/odhcpd.awk +++ b/net/unbound/files/odhcpd.awk @@ -36,10 +36,12 @@ sub( /.*\//, "", cdr ) ; sub( /\/.*/, "", adr2 ) ; sub( /.*\//, "", cdr2 ) ; + gsub( /_/, "-", hst ) ; if ( hst !~ /^[[:alnum:]]([-[:alnum:]]*[[:alnum:]])?$/ ) { # that is not a valid host name (RFC1123) + # above replaced common error of "_" in host name with "-" hst = "-" ; } @@ -48,7 +50,7 @@ # TODO: this might be better with a substituion option, # or per DHCP pool do-not-DNS option, but its getting busy here. fqdn = net - fqdn = sub( /\./, "-", fqdn ) ; + gsub( /\./, "-", fqdn ) ; fqdn = tolower( hst "." fqdn "." domain ) ; } @@ -86,6 +88,7 @@ while ( ( cmd | getline adr ) > 0 ) { if (( substr( adr, 1, 5 ) <= "fdff:" ) \ + && ( index( adr, "::/" ) != 0 ) \ && ( index( adr, "anycast" ) == 0 ) \ && ( index( adr, "via" ) == 0 )) { # GA or ULA routed addresses only (not LL or MC) diff --git a/net/unbound/files/unbound.sh b/net/unbound/files/unbound.sh index 759616136f..87b632952a 100644 --- a/net/unbound/files/unbound.sh +++ b/net/unbound/files/unbound.sh @@ -112,10 +112,11 @@ bundle_all_networks() { bundle_lan_networks() { local cfg="$1" - local ifsubnet ifname ifdashname ignore + local interface ifsubnet ifname ifdashname ignore config_get_bool ignore "$cfg" ignore 0 - network_get_device ifname "$cfg" + config_get interface "$cfg" interface "" + network_get_device ifname "$interface" ifdashname="${ifname//./-}"