From b8f4ca323969c13b039f35e5792a35f3e903b28c Mon Sep 17 00:00:00 2001 From: Domagoj Pensa Date: Tue, 15 Dec 2020 18:30:04 +0100 Subject: [PATCH] Skip DHCP renew with Wintun adapter Wintun does not support DHCP. Running DHCP renew with Wintun adapter fails with a logged warning. Fixed so that DHCP renewing is called only for TAP-Windows6 adapters. Acked-by: Lev Stipakov Message-Id: <20201215173004.26170-1-domagoj@pensa.hr> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21364.html Signed-off-by: Gert Doering (cherry picked from commit e0e7625c6b15f85b81d4f11d02f3daf4f32f1200) --- src/openvpn/tun.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 1bcc14472..1767420bf 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -6159,35 +6159,35 @@ tuntap_set_ip_addr(struct tuntap *tt, status, strerror_win32(status, &gc)); } - } - /* - * If the TAP-Windows driver is masquerading as a DHCP server - * make sure the TCP/IP properties for the adapter are - * set correctly. - */ - if (dhcp_masq_post) - { - /* check dhcp enable status */ - if (dhcp_status(index) == DHCP_STATUS_DISABLED) + /* + * If the TAP-Windows driver is masquerading as a DHCP server + * make sure the TCP/IP properties for the adapter are + * set correctly. + */ + if (dhcp_masq_post) { - msg(M_WARN, "WARNING: You have selected '--ip-win32 dynamic', which will not work unless the TAP-Windows TCP/IP properties are set to 'Obtain an IP address automatically'"); - } + /* check dhcp enable status */ + if (dhcp_status(index) == DHCP_STATUS_DISABLED) + { + msg(M_WARN, "WARNING: You have selected '--ip-win32 dynamic', which will not work unless the TAP-Windows TCP/IP properties are set to 'Obtain an IP address automatically'"); + } - /* force an explicit DHCP lease renewal on TAP adapter? */ - if (tt->options.dhcp_pre_release) - { - dhcp_release(tt); + /* force an explicit DHCP lease renewal on TAP adapter? */ + if (tt->options.dhcp_pre_release) + { + dhcp_release(tt); + } + if (tt->options.dhcp_renew) + { + dhcp_renew(tt); + } } - if (tt->options.dhcp_renew) + else { - dhcp_renew(tt); + fork_dhcp_action(tt); } } - else - { - fork_dhcp_action(tt); - } if (tt->did_ifconfig_setup && tt->options.ip_win32_type == IPW32_SET_IPAPI) { -- 2.47.2