提交 27143861 编写于 作者: J j3l11234 提交者: coolsnowwolf

wireguard: bump to v0.0.20191012 (#1819)

上级 d24f2401
...@@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk ...@@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=wireguard PKG_NAME:=wireguard
PKG_VERSION:=0.0.20181218 PKG_VERSION:=0.0.20191012
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/ PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
PKG_HASH:=2e9f86acefa49dbfb7fa6f5e10d543f1885a2d5460cd5e102696901107675735 PKG_HASH:=93573193c9c1c22fde31eb1729ad428ca39da77a603a3d81561a9816ccecfa8e
PKG_LICENSE:=GPL-2.0 Apache-2.0 PKG_LICENSE:=GPL-2.0 Apache-2.0
PKG_LICENSE_FILES:=COPYING PKG_LICENSE_FILES:=COPYING
......
...@@ -2,21 +2,18 @@ ...@@ -2,21 +2,18 @@
# Copyright 2016-2017 Dan Luedtke <mail@danrl.com> # Copyright 2016-2017 Dan Luedtke <mail@danrl.com>
# Licensed to the public under the Apache License 2.0. # Licensed to the public under the Apache License 2.0.
WG=/usr/bin/wg WG=/usr/bin/wg
if [ ! -x $WG ]; then if [ ! -x $WG ]; then
logger -t "wireguard" "error: missing wireguard-tools (${WG})" logger -t "wireguard" "error: missing wireguard-tools (${WG})"
exit 0 exit 0
fi fi
[ -n "$INCLUDE_ONLY" ] || { [ -n "$INCLUDE_ONLY" ] || {
. /lib/functions.sh . /lib/functions.sh
. ../netifd-proto.sh . ../netifd-proto.sh
init_proto "$@" init_proto "$@"
} }
proto_wireguard_init_config() { proto_wireguard_init_config() {
proto_config_add_string "private_key" proto_config_add_string "private_key"
proto_config_add_int "listen_port" proto_config_add_int "listen_port"
...@@ -26,7 +23,6 @@ proto_wireguard_init_config() { ...@@ -26,7 +23,6 @@ proto_wireguard_init_config() {
no_proto_task=1 no_proto_task=1
} }
proto_wireguard_setup_peer() { proto_wireguard_setup_peer() {
local peer_config="$1" local peer_config="$1"
...@@ -46,7 +42,6 @@ proto_wireguard_setup_peer() { ...@@ -46,7 +42,6 @@ proto_wireguard_setup_peer() {
config_get endpoint_port "${peer_config}" "endpoint_port" config_get endpoint_port "${peer_config}" "endpoint_port"
config_get persistent_keepalive "${peer_config}" "persistent_keepalive" config_get persistent_keepalive "${peer_config}" "persistent_keepalive"
# peer configuration
echo "[Peer]" >> "${wg_cfg}" echo "[Peer]" >> "${wg_cfg}"
echo "PublicKey=${public_key}" >> "${wg_cfg}" echo "PublicKey=${public_key}" >> "${wg_cfg}"
if [ "${preshared_key}" ]; then if [ "${preshared_key}" ]; then
...@@ -75,7 +70,6 @@ proto_wireguard_setup_peer() { ...@@ -75,7 +70,6 @@ proto_wireguard_setup_peer() {
echo "PersistentKeepalive=${persistent_keepalive}" >> "${wg_cfg}" echo "PersistentKeepalive=${persistent_keepalive}" >> "${wg_cfg}"
fi fi
# add routes for allowed ips
if [ ${route_allowed_ips} -ne 0 ]; then if [ ${route_allowed_ips} -ne 0 ]; then
for allowed_ip in ${allowed_ips}; do for allowed_ip in ${allowed_ips}; do
case "${allowed_ip}" in case "${allowed_ip}" in
...@@ -96,7 +90,6 @@ proto_wireguard_setup_peer() { ...@@ -96,7 +90,6 @@ proto_wireguard_setup_peer() {
fi fi
} }
proto_wireguard_setup() { proto_wireguard_setup() {
local config="$1" local config="$1"
local wg_dir="/tmp/wireguard" local wg_dir="/tmp/wireguard"
...@@ -106,7 +99,6 @@ proto_wireguard_setup() { ...@@ -106,7 +99,6 @@ proto_wireguard_setup() {
local listen_port local listen_port
local mtu local mtu
# load configuration
config_load network config_load network
config_get private_key "${config}" "private_key" config_get private_key "${config}" "private_key"
config_get listen_port "${config}" "listen_port" config_get listen_port "${config}" "listen_port"
...@@ -114,8 +106,8 @@ proto_wireguard_setup() { ...@@ -114,8 +106,8 @@ proto_wireguard_setup() {
config_get mtu "${config}" "mtu" config_get mtu "${config}" "mtu"
config_get fwmark "${config}" "fwmark" config_get fwmark "${config}" "fwmark"
config_get ip6prefix "${config}" "ip6prefix" config_get ip6prefix "${config}" "ip6prefix"
config_get nohostroute "${config}" "nohostroute"
# create interface
ip link del dev "${config}" 2>/dev/null ip link del dev "${config}" 2>/dev/null
ip link add dev "${config}" type wireguard ip link add dev "${config}" type wireguard
...@@ -125,7 +117,6 @@ proto_wireguard_setup() { ...@@ -125,7 +117,6 @@ proto_wireguard_setup() {
proto_init_update "${config}" 1 proto_init_update "${config}" 1
# generate configuration file
umask 077 umask 077
mkdir -p "${wg_dir}" mkdir -p "${wg_dir}"
echo "[Interface]" > "${wg_cfg}" echo "[Interface]" > "${wg_cfg}"
...@@ -142,17 +133,14 @@ proto_wireguard_setup() { ...@@ -142,17 +133,14 @@ proto_wireguard_setup() {
${WG} setconf ${config} "${wg_cfg}" ${WG} setconf ${config} "${wg_cfg}"
WG_RETURN=$? WG_RETURN=$?
# delete configuration file
rm -f "${wg_cfg}" rm -f "${wg_cfg}"
# check status
if [ ${WG_RETURN} -ne 0 ]; then if [ ${WG_RETURN} -ne 0 ]; then
sleep 5 sleep 5
proto_setup_failed "${config}" proto_setup_failed "${config}"
exit 1 exit 1
fi fi
# add ip addresses
for address in ${addresses}; do for address in ${addresses}; do
case "${address}" in case "${address}" in
*:*/*) *:*/*)
...@@ -170,29 +158,28 @@ proto_wireguard_setup() { ...@@ -170,29 +158,28 @@ proto_wireguard_setup() {
esac esac
done done
# support ip6 prefixes
for prefix in ${ip6prefix}; do for prefix in ${ip6prefix}; do
proto_add_ipv6_prefix "$prefix" proto_add_ipv6_prefix "$prefix"
done done
# endpoint dependency # endpoint dependency
if [ "${nohostroute}" != "1" ]; then
wg show "${config}" endpoints | \ wg show "${config}" endpoints | \
sed -E 's/\[?([0-9.:a-f]+)\]?:([0-9]+)/\1 \2/' | \ sed -E 's/\[?([0-9.:a-f]+)\]?:([0-9]+)/\1 \2/' | \
while IFS=$'\t ' read -r key address port; do while IFS=$'\t ' read -r key address port; do
[ -n "${port}" ] || continue [ -n "${port}" ] || continue
proto_add_host_dependency "${config}" "${address}" proto_add_host_dependency "${config}" "${address}"
done done
fi
proto_send_update "${config}" proto_send_update "${config}"
} }
proto_wireguard_teardown() { proto_wireguard_teardown() {
local config="$1" local config="$1"
ip link del dev "${config}" >/dev/null 2>&1 ip link del dev "${config}" >/dev/null 2>&1
} }
[ -n "$INCLUDE_ONLY" ] || { [ -n "$INCLUDE_ONLY" ] || {
add_protocol wireguard add_protocol wireguard
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册