Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wireguard-tools for openSUSE:Factory 
checked in at 2026-03-10 17:58:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wireguard-tools (Old)
 and      /work/SRC/openSUSE:Factory/.wireguard-tools.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wireguard-tools"

Tue Mar 10 17:58:26 2026 rev:21 rq:1337993 version:1.0.20260223

Changes:
--------
--- /work/SRC/openSUSE:Factory/wireguard-tools/wireguard-tools.changes  
2025-07-15 16:47:12.099927062 +0200
+++ 
/work/SRC/openSUSE:Factory/.wireguard-tools.new.8177/wireguard-tools.changes    
    2026-03-10 19:00:54.839336062 +0100
@@ -1,0 +2,15 @@
+Sat Mar  7 07:46:09 UTC 2026 - Martin Hauke <[email protected]>
+
+- Update to version 1.0.20260223
+  * syncconf: account for persistent keepalive removed from config
+    file.
+  * config: preserve const correctness.
+  * [email protected]: add deps on wg-quick.target.
+  * wg-quick: linux: do not unnecessarily set sysctl.
+  * wg-quick: use addconf instead of setconf.
+  * wg-quick: linux: deal with resolvconf migration more gracefully.
+  * wg-quick: pass on # comments to {Pre,Post}{Up,Down}.
+  * syncconf: account for psks removed from config file.
+  * wg-quick: linux: use smallest mtu, not largest.
+
+-------------------------------------------------------------------

Old:
----
  wireguard-tools-1.0.20250521.tar.asc
  wireguard-tools-1.0.20250521.tar.xz

New:
----
  wireguard-tools-1.0.20260223.tar.asc
  wireguard-tools-1.0.20260223.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wireguard-tools.spec ++++++
--- /var/tmp/diff_new_pack.eX16hL/_old  2026-03-10 19:00:56.911421137 +0100
+++ /var/tmp/diff_new_pack.eX16hL/_new  2026-03-10 19:00:56.935422122 +0100
@@ -1,8 +1,8 @@
 #
 # spec file for package wireguard-tools
 #
-# Copyright (c) 2025 SUSE LLC
-# Copyright (c) 2020-2025, Martin Hauke <[email protected]>
+# Copyright (c) 2026 SUSE LLC and contributors
+# Copyright (c) 2020-2026, Martin Hauke <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 
 Name:           wireguard-tools
-Version:        1.0.20250521
+Version:        1.0.20260223
 Release:        0
 Summary:        WireGuard userspace tools
 License:        GPL-2.0-only


++++++ wireguard-tools-1.0.20250521.tar.xz -> 
wireguard-tools-1.0.20260223.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireguard-tools-1.0.20250521/src/config.c 
new/wireguard-tools-1.0.20260223/src/config.c
--- old/wireguard-tools-1.0.20250521/src/config.c       2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/config.c       2026-02-23 
23:24:27.000000000 +0100
@@ -506,8 +506,9 @@
 bool config_read_line(struct config_ctx *ctx, const char *input)
 {
        size_t len, cleaned_len = 0;
-       char *line, *comment;
+       const char *comment;
        bool ret = true;
+       char *line;
 
        /* This is what strchrnul is for, but that isn't portable. */
        comment = strchr(input, COMMENT_CHAR);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireguard-tools-1.0.20250521/src/setconf.c 
new/wireguard-tools-1.0.20260223/src/setconf.c
--- old/wireguard-tools-1.0.20250521/src/setconf.c      2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/setconf.c      2026-02-23 
23:24:27.000000000 +0100
@@ -13,15 +13,15 @@
 #include "ipc.h"
 #include "subcommands.h"
 
-struct pubkey_origin {
-       uint8_t *pubkey;
+struct peer_origin {
+       struct wgpeer *peer;
        bool from_file;
 };
 
-static int pubkey_cmp(const void *first, const void *second)
+static int peer_cmp(const void *first, const void *second)
 {
-       const struct pubkey_origin *a = first, *b = second;
-       int ret = memcmp(a->pubkey, b->pubkey, WG_KEY_LEN);
+       const struct peer_origin *a = first, *b = second;
+       int ret = memcmp(a->peer->public_key, b->peer->public_key, WG_KEY_LEN);
        if (ret)
                return ret;
        return a->from_file - b->from_file;
@@ -31,7 +31,7 @@
 {
        struct wgdevice *runtime;
        struct wgpeer *peer;
-       struct pubkey_origin *pubkeys;
+       struct peer_origin *peers;
        size_t peer_count = 0, i = 0;
 
        if (!file->first_peer)
@@ -55,46 +55,61 @@
        for_each_wgpeer(runtime, peer)
                ++peer_count;
 
-       pubkeys = calloc(peer_count, sizeof(*pubkeys));
-       if (!pubkeys) {
+       peers = calloc(peer_count, sizeof(*peers));
+       if (!peers) {
                free_wgdevice(runtime);
-               perror("Public key allocation");
+               perror("Peer list allocation");
                return false;
        }
 
        for_each_wgpeer(file, peer) {
-               pubkeys[i].pubkey = peer->public_key;
-               pubkeys[i].from_file = true;
+               peers[i].peer = peer;
+               peers[i].from_file = true;
                ++i;
        }
        for_each_wgpeer(runtime, peer) {
-               pubkeys[i].pubkey = peer->public_key;
-               pubkeys[i].from_file = false;
+               peers[i].peer = peer;
+               peers[i].from_file = false;
                ++i;
        }
-       qsort(pubkeys, peer_count, sizeof(*pubkeys), pubkey_cmp);
+       qsort(peers, peer_count, sizeof(*peers), peer_cmp);
 
        for (i = 0; i < peer_count; ++i) {
-               if (pubkeys[i].from_file)
+               if (peers[i].from_file)
                        continue;
-               if (i == peer_count - 1 || !pubkeys[i + 1].from_file || 
memcmp(pubkeys[i].pubkey, pubkeys[i + 1].pubkey, WG_KEY_LEN)) {
+               if (i == peer_count - 1 || !peers[i + 1].from_file || 
memcmp(peers[i].peer->public_key, peers[i + 1].peer->public_key, WG_KEY_LEN)) {
                        peer = calloc(1, sizeof(struct wgpeer));
                        if (!peer) {
                                free_wgdevice(runtime);
-                               free(pubkeys);
+                               free(peers);
                                perror("Peer allocation");
                                return false;
                        }
                        peer->flags = WGPEER_REMOVE_ME;
-                       memcpy(peer->public_key, pubkeys[i].pubkey, WG_KEY_LEN);
+                       memcpy(peer->public_key, peers[i].peer->public_key, 
WG_KEY_LEN);
                        peer->next_peer = file->first_peer;
                        file->first_peer = peer;
                        if (!file->last_peer)
                                file->last_peer = peer;
+               } else {
+                       if (i < peer_count - 1 && peers[i + 1].from_file &&
+                           (peers[i].peer->flags & WGPEER_HAS_PRESHARED_KEY) &&
+                           !(peers[i + 1].peer->flags & 
WGPEER_HAS_PRESHARED_KEY) &&
+                           !memcmp(peers[i].peer->public_key, peers[i + 
1].peer->public_key, WG_KEY_LEN)) {
+                               memset(peers[i + 1].peer->preshared_key, 0, 
WG_KEY_LEN);
+                               peers[i + 1].peer->flags |= 
WGPEER_HAS_PRESHARED_KEY;
+                       }
+                       if (i < peer_count - 1 && peers[i + 1].from_file &&
+                           peers[i].peer->persistent_keepalive_interval &&
+                           !(peers[i + 1].peer->flags & 
WGPEER_HAS_PERSISTENT_KEEPALIVE_INTERVAL) &&
+                           !memcmp(peers[i].peer->public_key, peers[i + 
1].peer->public_key, WG_KEY_LEN)) {
+                               peers[i + 
1].peer->persistent_keepalive_interval = 0;
+                               peers[i + 1].peer->flags |= 
WGPEER_HAS_PERSISTENT_KEEPALIVE_INTERVAL;
+                       }
                }
        }
        free_wgdevice(runtime);
-       free(pubkeys);
+       free(peers);
        return true;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireguard-tools-1.0.20250521/src/systemd/[email protected] 
new/wireguard-tools-1.0.20260223/src/systemd/[email protected]
--- old/wireguard-tools-1.0.20250521/src/systemd/[email protected]      
2025-05-21 01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/systemd/[email protected]      
2026-02-23 23:24:27.000000000 +0100
@@ -1,5 +1,6 @@
 [Unit]
 Description=WireGuard via wg-quick(8) for %I
+Before=wg-quick.target
 After=network-online.target nss-lookup.target
 Wants=network-online.target nss-lookup.target
 PartOf=wg-quick.target
@@ -19,4 +20,4 @@
 Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=multi-user.target wg-quick.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireguard-tools-1.0.20250521/src/version.h 
new/wireguard-tools-1.0.20260223/src/version.h
--- old/wireguard-tools-1.0.20250521/src/version.h      2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/version.h      2026-02-23 
23:24:27.000000000 +0100
@@ -1,3 +1,3 @@
 #ifndef WIREGUARD_TOOLS_VERSION
-#define WIREGUARD_TOOLS_VERSION "1.0.20250521"
+#define WIREGUARD_TOOLS_VERSION "1.0.20260223"
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireguard-tools-1.0.20250521/src/wg-quick/android.c 
new/wireguard-tools-1.0.20260223/src/wg-quick/android.c
--- old/wireguard-tools-1.0.20250521/src/wg-quick/android.c     2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/wg-quick/android.c     2026-02-23 
23:24:27.000000000 +0100
@@ -1047,7 +1047,7 @@
 static void set_config(const char *iface, const char *config)
 {
        FILE *config_writer;
-       _cleanup_free_ char *cmd = concat("wg setconf ", iface, " 
/proc/self/fd/0", NULL);
+       _cleanup_free_ char *cmd = concat("wg addconf ", iface, " 
/proc/self/fd/0", NULL);
        int ret;
 
        printf("[#] %s\n", cmd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireguard-tools-1.0.20250521/src/wg-quick/darwin.bash 
new/wireguard-tools-1.0.20260223/src/wg-quick/darwin.bash
--- old/wireguard-tools-1.0.20250521/src/wg-quick/darwin.bash   2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/wg-quick/darwin.bash   2026-02-23 
23:24:27.000000000 +0100
@@ -62,6 +62,7 @@
                stripped="${line%%\#*}"
                key="${stripped%%=*}"; key="${key##*([[:space:]])}"; 
key="${key%%*([[:space:]])}"
                value="${stripped#*=}"; value="${value##*([[:space:]])}"; 
value="${value%%*([[:space:]])}"
+               unstripped_value="${line#*=}"; 
unstripped_value="${unstripped_value##*([[:space:]])}"; 
unstripped_value="${unstripped_value%%*([[:space:]])}"
                [[ $key == "["* ]] && interface_section=0
                [[ $key == "[Interface]" ]] && interface_section=1
                if [[ $interface_section -eq 1 ]]; then
@@ -72,10 +73,10 @@
                                [[ $v =~ (^[0-9.]+$)|(^.*:.*$) ]] && DNS+=( $v 
) || DNS_SEARCH+=( $v )
                        done; continue ;;
                        Table) TABLE="$value"; continue ;;
-                       PreUp) PRE_UP+=( "$value" ); continue ;;
-                       PreDown) PRE_DOWN+=( "$value" ); continue ;;
-                       PostUp) POST_UP+=( "$value" ); continue ;;
-                       PostDown) POST_DOWN+=( "$value" ); continue ;;
+                       PreUp) PRE_UP+=( "$unstripped_value" ); continue ;;
+                       PreDown) PRE_DOWN+=( "$unstripped_value" ); continue ;;
+                       PostUp) POST_UP+=( "$unstripped_value" ); continue ;;
+                       PostDown) POST_DOWN+=( "$unstripped_value" ); continue 
;;
                        SaveConfig) read_bool SAVE_CONFIG "$value"; continue ;;
                        esac
                fi
@@ -369,7 +370,7 @@
 }
 
 set_config() {
-       cmd wg setconf "$REAL_INTERFACE" <(echo "$WG_CONFIG")
+       cmd wg addconf "$REAL_INTERFACE" <(echo "$WG_CONFIG")
 }
 
 save_config() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireguard-tools-1.0.20250521/src/wg-quick/freebsd.bash 
new/wireguard-tools-1.0.20260223/src/wg-quick/freebsd.bash
--- old/wireguard-tools-1.0.20250521/src/wg-quick/freebsd.bash  2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/wg-quick/freebsd.bash  2026-02-23 
23:24:27.000000000 +0100
@@ -80,6 +80,7 @@
                stripped="${line%%\#*}"
                key="${stripped%%=*}"; key="${key##*([[:space:]])}"; 
key="${key%%*([[:space:]])}"
                value="${stripped#*=}"; value="${value##*([[:space:]])}"; 
value="${value%%*([[:space:]])}"
+               unstripped_value="${line#*=}"; 
unstripped_value="${unstripped_value##*([[:space:]])}"; 
unstripped_value="${unstripped_value%%*([[:space:]])}"
                [[ $key == "["* ]] && interface_section=0
                [[ $key == "[Interface]" ]] && interface_section=1
                if [[ $interface_section -eq 1 ]]; then
@@ -90,10 +91,10 @@
                                [[ $v =~ (^[0-9.]+$)|(^.*:.*$) ]] && DNS+=( $v 
) || DNS_SEARCH+=( $v )
                        done; continue ;;
                        Table) TABLE="$value"; continue ;;
-                       PreUp) PRE_UP+=( "$value" ); continue ;;
-                       PreDown) PRE_DOWN+=( "$value" ); continue ;;
-                       PostUp) POST_UP+=( "$value" ); continue ;;
-                       PostDown) POST_DOWN+=( "$value" ); continue ;;
+                       PreUp) PRE_UP+=( "$unstripped_value" ); continue ;;
+                       PreDown) PRE_DOWN+=( "$unstripped_value" ); continue ;;
+                       PostUp) POST_UP+=( "$unstripped_value" ); continue ;;
+                       PostDown) POST_DOWN+=( "$unstripped_value" ); continue 
;;
                        SaveConfig) read_bool SAVE_CONFIG "$value"; continue ;;
                        esac
                fi
@@ -337,7 +338,7 @@
 }
 
 set_config() {
-       echo "$WG_CONFIG" | cmd wg setconf "$INTERFACE" /dev/stdin
+       echo "$WG_CONFIG" | cmd wg addconf "$INTERFACE" /dev/stdin
 }
 
 save_config() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireguard-tools-1.0.20250521/src/wg-quick/linux.bash 
new/wireguard-tools-1.0.20260223/src/wg-quick/linux.bash
--- old/wireguard-tools-1.0.20250521/src/wg-quick/linux.bash    2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/wg-quick/linux.bash    2026-02-23 
23:24:27.000000000 +0100
@@ -51,6 +51,7 @@
                stripped="${line%%\#*}"
                key="${stripped%%=*}"; key="${key##*([[:space:]])}"; 
key="${key%%*([[:space:]])}"
                value="${stripped#*=}"; value="${value##*([[:space:]])}"; 
value="${value%%*([[:space:]])}"
+               unstripped_value="${line#*=}"; 
unstripped_value="${unstripped_value##*([[:space:]])}"; 
unstripped_value="${unstripped_value%%*([[:space:]])}"
                [[ $key == "["* ]] && interface_section=0
                [[ $key == "[Interface]" ]] && interface_section=1
                if [[ $interface_section -eq 1 ]]; then
@@ -61,10 +62,10 @@
                                [[ $v =~ (^[0-9.]+$)|(^.*:.*$) ]] && DNS+=( $v 
) || DNS_SEARCH+=( $v )
                        done; continue ;;
                        Table) TABLE="$value"; continue ;;
-                       PreUp) PRE_UP+=( "$value" ); continue ;;
-                       PreDown) PRE_DOWN+=( "$value" ); continue ;;
-                       PostUp) POST_UP+=( "$value" ); continue ;;
-                       PostDown) POST_DOWN+=( "$value" ); continue ;;
+                       PreUp) PRE_UP+=( "$unstripped_value" ); continue ;;
+                       PreDown) PRE_DOWN+=( "$unstripped_value" ); continue ;;
+                       PostUp) POST_UP+=( "$unstripped_value" ); continue ;;
+                       PostDown) POST_DOWN+=( "$unstripped_value" ); continue 
;;
                        SaveConfig) read_bool SAVE_CONFIG "$value"; continue ;;
                        esac
                fi
@@ -123,7 +124,7 @@
 }
 
 set_mtu_up() {
-       local mtu=0 endpoint output
+       local mtu=2147483647 endpoint output
        if [[ -n $MTU ]]; then
                cmd ip link set mtu "$MTU" up dev "$INTERFACE"
                return
@@ -131,18 +132,18 @@
        while read -r _ endpoint; do
                [[ $endpoint =~ ^\[?([a-z0-9:.]+)\]?:[0-9]+$ ]] || continue
                output="$(ip route get "${BASH_REMATCH[1]}" || true)"
-               [[ ( $output =~ mtu\ ([0-9]+) || ( $output =~ dev\ ([^ ]+) && 
$(ip link show dev "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) ) ) && 
${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}"
+               [[ ( $output =~ mtu\ ([0-9]+) || ( $output =~ dev\ ([^ ]+) && 
$(ip link show dev "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) ) ) && 
${BASH_REMATCH[1]} -lt $mtu ]] && mtu="${BASH_REMATCH[1]}"
        done < <(wg show "$INTERFACE" endpoints)
-       if [[ $mtu -eq 0 ]]; then
+       if [[ $mtu -eq 2147483647 ]]; then
                read -r output < <(ip route show default || true) || true
-               [[ ( $output =~ mtu\ ([0-9]+) || ( $output =~ dev\ ([^ ]+) && 
$(ip link show dev "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) ) ) && 
${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}"
+               [[ ( $output =~ mtu\ ([0-9]+) || ( $output =~ dev\ ([^ ]+) && 
$(ip link show dev "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) ) ) && 
${BASH_REMATCH[1]} -lt $mtu ]] && mtu="${BASH_REMATCH[1]}"
        fi
-       [[ $mtu -gt 0 ]] || mtu=1500
+       [[ $mtu -gt 0 && $mtu -lt 2147483647 ]] || mtu=1500
        cmd ip link set mtu $(( mtu - 80 )) up dev "$INTERFACE"
 }
 
 resolvconf_iface_prefix() {
-       [[ -f /etc/resolvconf/interface-order ]] || return 0
+       [[ -f /etc/resolvconf/interface-order && ! -L $(type -P resolvconf) ]] 
|| return 0
        local iface
        while read -r iface; do
                [[ $iface =~ ^([A-Za-z0-9-]+)\*$ ]] || continue
@@ -237,7 +238,7 @@
        printf -v restore '%sCOMMIT\n*mangle\n-I POSTROUTING -m mark --mark %d 
-p udp -j CONNMARK --save-mark %s\n-I PREROUTING -p udp -j CONNMARK 
--restore-mark %s\nCOMMIT\n' "$restore" $table "$marker" "$marker"
        printf -v nftcmd '%sadd rule %s %s postmangle meta l4proto udp mark %d 
ct mark set mark \n' "$nftcmd" "$pf" "$nftable" $table
        printf -v nftcmd '%sadd rule %s %s premangle meta l4proto udp meta mark 
set ct mark \n' "$nftcmd" "$pf" "$nftable"
-       [[ $proto == -4 ]] && cmd sysctl -q net.ipv4.conf.all.src_valid_mark=1
+       [[ $proto == -4 ]] && [[ $(sysctl -n net.ipv4.conf.all.src_valid_mark) 
-ne 1 ]] && cmd sysctl -q net.ipv4.conf.all.src_valid_mark=1
        if type -p nft >/dev/null; then
                cmd nft -f <(echo -n "$nftcmd")
        else
@@ -248,7 +249,7 @@
 }
 
 set_config() {
-       cmd wg setconf "$INTERFACE" <(echo "$WG_CONFIG")
+       cmd wg addconf "$INTERFACE" <(echo "$WG_CONFIG")
 }
 
 save_config() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireguard-tools-1.0.20250521/src/wg-quick/openbsd.bash 
new/wireguard-tools-1.0.20260223/src/wg-quick/openbsd.bash
--- old/wireguard-tools-1.0.20250521/src/wg-quick/openbsd.bash  2025-05-21 
01:05:38.000000000 +0200
+++ new/wireguard-tools-1.0.20260223/src/wg-quick/openbsd.bash  2026-02-23 
23:24:27.000000000 +0100
@@ -52,6 +52,7 @@
                stripped="${line%%\#*}"
                key="${stripped%%=*}"; key="${key##*([[:space:]])}"; 
key="${key%%*([[:space:]])}"
                value="${stripped#*=}"; value="${value##*([[:space:]])}"; 
value="${value%%*([[:space:]])}"
+               unstripped_value="${line#*=}"; 
unstripped_value="${unstripped_value##*([[:space:]])}"; 
unstripped_value="${unstripped_value%%*([[:space:]])}"
                [[ $key == "["* ]] && interface_section=0
                [[ $key == "[Interface]" ]] && interface_section=1
                if [[ $interface_section -eq 1 ]]; then
@@ -62,10 +63,10 @@
                                [[ $v =~ (^[0-9.]+$)|(^.*:.*$) ]] && DNS+=( $v 
) || DNS_SEARCH+=( $v )
                        done; continue ;;
                        Table) TABLE="$value"; continue ;;
-                       PreUp) PRE_UP+=( "$value" ); continue ;;
-                       PreDown) PRE_DOWN+=( "$value" ); continue ;;
-                       PostUp) POST_UP+=( "$value" ); continue ;;
-                       PostDown) POST_DOWN+=( "$value" ); continue ;;
+                       PreUp) PRE_UP+=( "$unstripped_value" ); continue ;;
+                       PreDown) PRE_DOWN+=( "$unstripped_value" ); continue ;;
+                       PostUp) POST_UP+=( "$unstripped_value" ); continue ;;
+                       PostDown) POST_DOWN+=( "$unstripped_value" ); continue 
;;
                        SaveConfig) read_bool SAVE_CONFIG "$value"; continue ;;
                        esac
                fi
@@ -337,7 +338,7 @@
 }
 
 set_config() {
-       cmd wg setconf "$REAL_INTERFACE" <(echo "$WG_CONFIG")
+       cmd wg addconf "$REAL_INTERFACE" <(echo "$WG_CONFIG")
 }
 
 save_config() {

Reply via email to