Browse Source

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>
lilik-openwrt-22.03
danrl 8 years ago
committed by Yousong Zhou
parent
commit
7d34e8e5f4
2 changed files with 11 additions and 24 deletions
  1. +4
    -3
      net/wireguard/Makefile
  2. +7
    -21
      net/wireguard/files/wireguard.sh

+ 4
- 3
net/wireguard/Makefile View File

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=wireguard PKG_NAME:=wireguard
PKG_VERSION:=0.0.20161218 PKG_VERSION:=0.0.20161218
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
# This is actually SHA256, but OpenWRT/LEDE will figure it out based on the length # 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 SECTION:=net
CATEGORY:=Network CATEGORY:=Network
URL:=https://www.wireguard.io URL:=https://www.wireguard.io
MAINTAINER:=Baptiste Jonglez <openwrt@bitsofnetworks.org>
MAINTAINER:=Baptiste Jonglez <openwrt@bitsofnetworks.org>, \
Dan Luedtke <mail@danrl.com>
endef endef
define Package/wireguard/Default/description define Package/wireguard/Default/description
@ -71,7 +72,7 @@ endef
define Package/wireguard-tools define Package/wireguard-tools
$(call Package/wireguard/Default) $(call Package/wireguard/Default)
TITLE:=Wireguard userspace control program (wg) TITLE:=Wireguard userspace control program (wg)
DEPENDS:=+libmnl +resolveip
DEPENDS:=+libmnl
endef endef
define Package/wireguard-tools/description define Package/wireguard-tools/description


+ 7
- 21
net/wireguard/files/wireguard.sh View File

@ -83,27 +83,6 @@ proto_wireguard_setup_peer() {
esac esac
done done
fi 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 exit 1
fi 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}" proto_send_update "${config}"
} }


Loading…
Cancel
Save