From: Domagoj Pensa Date: Tue, 15 Dec 2020 17:30:04 +0000 (+0100) Subject: Skip DHCP renew with Wintun adapter X-Git-Tag: v2.6_beta1~639 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0e7625c6b15f85b81d4f11d02f3daf4f32f1200;p=thirdparty%2Fopenvpn.git 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 --- diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index a9986e3fe..1a523c7bf 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -6154,35 +6154,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) {