From 93c9b47cb0916c16ef76e6ecb5bf3f2ba7d267aa Mon Sep 17 00:00:00 2001 From: Lev Stipakov Date: Wed, 10 Dec 2025 08:59:00 +0100 Subject: [PATCH] tun.c: set IPv4 address temporary on Windows Use store=active to set IPv4 address temporary so that it will be removed on reboot. This makes the behavior consistent with deletion and IPv6, where we already use store=active. https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/netsh-interface GitHub: fixes OpenVPN/openvpn#915 Change-Id: I07311f397e6cd278b90c33f024e927c282cd03e4 Signed-off-by: Lev Stipakov Acked-by: Gert Doering Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1430 Message-Id: <20251210075906.27693-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg34975.html Signed-off-by: Gert Doering --- src/openvpn/tun.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 72360338d..409cecbbe 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -5119,8 +5119,8 @@ netsh_ifconfig(const struct tuntap_options *to, DWORD adapter_index, const in_ad } else { - /* example: netsh interface ip set address 42 static 10.3.0.1 255.255.255.0 */ - argv_printf(&argv, "%s%s interface ip set address %lu static %s %s", get_win_sys_path(), + /* example: netsh interface ip set address 42 static 10.3.0.1 255.255.255.0 store=active */ + argv_printf(&argv, "%s%s interface ip set address %lu static %s %s store=active", get_win_sys_path(), NETSH_PATH_SUFFIX, adapter_index, print_in_addr_t(ip, 0, &gc), print_in_addr_t(netmask, 0, &gc)); -- 2.47.3