did one of the tap-win32 developers see this:
Seems to be a bug in the TAP driver. It's happening after you try to
refresh the DHCP lease 3 times (after resume from hibernation, Windows
tries to acquire a DHCP lease too).
I think the reason for this is a programming error in dhcp.c in function
ProcessDHCP:
// Is this a bad DHCPREQUEST?
if (msg_type == DHCPREQUEST && dhcp->ciaddr != p_Adapter->m_dhcp_addr)
++p_Adapter->m_dhcp_bad_requests;
should be:
if (dhcp->ciaddr && msg_type == DHCPREQUEST && dhcp->ciaddr !=
p_Adapter->m_dhcp_addr)
++p_Adapter->m_dhcp_bad_requests;
as the win32 DHCP client always requests with all fields set to 0, so this
increases the error counter even though it isn't a bad request and as
BAD_DHCPREQUEST_NAK_THRESHOLD is 3, it fails after the third renew
attempt.
?
share and enjoy,
JJK
--- Begin Message ---
#97: OpenVPN produces DCHP NAK bomb on Win 7 64bit
--------------------------------------------------+-------------------------
Reporter: janjust | Owner:
Type: Bug / Defect | Status: closed
Priority: major | Milestone: release 2.2.2
Component: Networking | Version: 2.1.4
Severity: Not set (if unsure, select this one) | Resolution: fixed
Keywords: win7 tap-win32 dhcpnak |
--------------------------------------------------+-------------------------
Comment(by ert):
Seems to be a bug in the TAP driver. It's happening after you try to
refresh the DHCP lease 3 times (after resume from hibernation, Windows
tries to acquire a DHCP lease too).
I think the reason for this is a programming error in dhcp.c in function
ProcessDHCP:
// Is this a bad DHCPREQUEST?
if (msg_type == DHCPREQUEST && dhcp->ciaddr != p_Adapter->m_dhcp_addr)
++p_Adapter->m_dhcp_bad_requests;
should be:
if (dhcp->ciaddr && msg_type == DHCPREQUEST && dhcp->ciaddr !=
p_Adapter->m_dhcp_addr)
++p_Adapter->m_dhcp_bad_requests;
as the win32 DHCP client always requests with all fields set to 0, so this
increases the error counter even though it isn't a bad request and as
BAD_DHCPREQUEST_NAK_THRESHOLD is 3, it fails after the third renew
attempt.
Could someone please fix this in the TAP driver and provide a signed copy?
We need the driver for production use...
Regards.
--
Ticket URL: <https://community.openvpn.net/openvpn/ticket/97#comment:8>
OpenVPN Community <http://openvpn.net>
OpenVPN is a layer 2/3 SSL VPN
--- End Message ---