diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2014-08-11 18:15:18 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2014-08-11 18:15:18 +0000 |
commit | 369b4791ce6dd8acac051ff5ee6619af93eb0537 (patch) | |
tree | 5f41eb221d25621e04d78c4ea05b88a37ec53cc9 /package/base-files | |
parent | 22bbd9f08e5a4583240ec1d55b1fdaa9163ace53 (diff) | |
download | upstream-369b4791ce6dd8acac051ff5ee6619af93eb0537.tar.gz upstream-369b4791ce6dd8acac051ff5ee6619af93eb0537.tar.bz2 upstream-369b4791ce6dd8acac051ff5ee6619af93eb0537.zip |
base-files: /lib/functions/network.sh: fix network_get_ipaddr6
When looking for the first ipaddr also consider the current prefix just
like network_get_ipaddrs6 does. If ipv6-address was empty the function
did not return the first ipaddr even if the list was non-empty.
fixes commit 83e9122f88a002871d5cdf421cf6aa6052b7e006
Signed-off-by: Henning Schild <henning@hennsch.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42139 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rw-r--r-- | package/base-files/Makefile | 2 | ||||
-rw-r--r-- | package/base-files/files/lib/functions/network.sh | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 10724b3eac..83385143cf 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/version.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=base-files -PKG_RELEASE:=155 +PKG_RELEASE:=156 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_BUILD_DEPENDS:=opkg/host diff --git a/package/base-files/files/lib/functions/network.sh b/package/base-files/files/lib/functions/network.sh index 86ab8905f1..f4cf2b5344 100644 --- a/package/base-files/files/lib/functions/network.sh +++ b/package/base-files/files/lib/functions/network.sh @@ -29,7 +29,18 @@ network_get_ipaddr() { # 1: destination variable # 2: interface network_get_ipaddr6() { - __network_ifstatus "$1" "$2" "['ipv6-address'][0].address"; + local __addr + + if __network_ifstatus "__addr" "$2" "['ipv6-address','ipv6-prefix-assignment'][0].address"; then + case "$__addr" in + *:) export "$1=${__addr}1" ;; + *) export "$1=${__addr}" ;; + esac + return 0 + fi + + unset $1 + return 1 } # determine first IPv4 subnet of given logical interface |