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 <lev@openvpn.net>
Acked-by: Gert Doering <gert@greenie.muc.de>
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 <gert@greenie.muc.de>
This commit is contained in:
Lev Stipakov 2025-12-10 08:59:00 +01:00 committed by Gert Doering
parent d4df0a3fbc
commit 93c9b47cb0

View file

@ -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));