commit 7d34e8e5f4ccd73b035c0e40a4c09e870035ba09
parent 333957fba91346093b8d622b2a3611bdf60a4367
Author: danrl <mail@danrl.com>
Date: Tue, 20 Dec 2016 11:06:56 +0100
wireguard: add protocol dependency for endpoints
Endpoint dependency implemented. The actual endpoint is used exclusively. Using
this approach we are dual-stack safe (not errors on missing protocol) and create
only the dependency that are really necessary.
Signed-off-by: Dan Luedtke <mail@danrl.com>
Diffstat:
2 files changed, 11 insertions(+), 24 deletions(-)
diff --git a/net/wireguard/Makefile b/net/wireguard/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=wireguard
PKG_VERSION:=0.0.20161218
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
# This is actually SHA256, but OpenWRT/LEDE will figure it out based on the length
@@ -34,7 +34,8 @@ define Package/wireguard/Default
SECTION:=net
CATEGORY:=Network
URL:=https://www.wireguard.io
- MAINTAINER:=Baptiste Jonglez <openwrt@bitsofnetworks.org>
+ MAINTAINER:=Baptiste Jonglez <openwrt@bitsofnetworks.org>, \
+ Dan Luedtke <mail@danrl.com>
endef
define Package/wireguard/Default/description
@@ -71,7 +72,7 @@ endef
define Package/wireguard-tools
$(call Package/wireguard/Default)
TITLE:=Wireguard userspace control program (wg)
- DEPENDS:=+libmnl +resolveip
+ DEPENDS:=+libmnl
endef
define Package/wireguard-tools/description
diff --git a/net/wireguard/files/wireguard.sh b/net/wireguard/files/wireguard.sh
@@ -83,27 +83,6 @@ proto_wireguard_setup_peer() {
esac
done
fi
-
- #### FEATURE DISABLED
- # proto_add_host_dependency() has failed with IPv6 addresses during tests.
- # Endpoint dependency feature is disabled until the issue is fixed.
- ####
- # # endpoint dependency
- # if [ "${endpoint_host}" ]; then
- # endpoint_dependency=0
- # for ip in $(resolveip -t 10 "${endpoint_host}"); do
- # echo "adding host depedency for ${ip} at ${config}"
- # proto_add_host_dependency "${config}" "${ip}"
- # endpoint_dependency=1
- # done
- # if [ ${endpoint_dependency} -eq 0 ]; then
- # echo "error resolving ${endpoint_host}!"
- # sleep 5
- # proto_setup_failed "${config}"
- # exit 1
- # fi
- # fi
- ####
}
@@ -161,6 +140,13 @@ proto_wireguard_setup() {
exit 1
fi
+ # endpoint dependency
+ wg show "${config}" endpoints | while IFS=$'\t:' read -r key ip port; do
+ [ -n "${port}" ] || continue
+ echo "adding host depedency for ${ip} at ${config}"
+ proto_add_host_dependency "${config}" "${ip}"
+ done
+
proto_send_update "${config}"
}