Quote resolveip hostname argument to avoid bad shell injections.
While at it fix pattern match logic in case multiple IPv6 addresses
are returned for a hostname as they're seperated by newline by
resolveip and not a white space
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
PKG_NAME:=ds-lite
PKG_VERSION:=7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
( proto_add_host_dependency "$cfg" "::" "$tunlink" )
- remoteip6=$(resolveip -6 $peeraddr)
+ remoteip6=$(resolveip -6 "$peeraddr")
if [ -z "$remoteip6" ]; then
sleep 3
- remoteip6=$(resolveip -6 $peeraddr)
+ remoteip6=$(resolveip -6 "$peeraddr")
if [ -z "$remoteip6" ]; then
proto_notify_error "$cfg" "AFTR_DNS_FAIL"
return
fi
fi
- peeraddr="${remoteip6%% *}"
+
+ for ip6 in $remoteip6; do
+ peeraddr=$ip6
+ break
+ done
[ -z "$ip6addr" ] && {
local wanif="$tunlink"