From c4fcda78d4f9e1c85a2854f31e262e11209074b7 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 11 Jan 2012 23:38:48 +0000 Subject: [PATCH] [DHCPCSVC] - Delete the existing default gateway when releasing DHCP IP or transitioning to static IP - Fixes bug #6205 svn path=/branches/wlan-bringup/; revision=54913 --- dll/win32/dhcpcsvc/dhcp/api.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dll/win32/dhcpcsvc/dhcp/api.c b/dll/win32/dhcpcsvc/dhcp/api.c index 02add5033d8..26723f9c38e 100644 --- a/dll/win32/dhcpcsvc/dhcp/api.c +++ b/dll/win32/dhcpcsvc/dhcp/api.c @@ -102,6 +102,8 @@ DWORD DSReleaseIpAddressLease( PipeSendFunc Send, COMM_DHCP_REQ *Req ) { if( Adapter ) { if (Adapter->NteContext) DeleteIPAddress( Adapter->NteContext ); + if (Adapter->RouterMib.dwForwardNextHop) + DeleteIpForwardEntry( &Adapter->RouterMib ); proto = find_protocol_by_adapter( &Adapter->DhclientInfo ); if (proto) @@ -170,6 +172,9 @@ DWORD DSStaticRefreshParams( PipeSendFunc Send, COMM_DHCP_REQ *Req ) { if( Adapter ) { if (Adapter->NteContext) DeleteIPAddress( Adapter->NteContext ); + if (Adapter->RouterMib.dwForwardNextHop) + DeleteIpForwardEntry( &Adapter->RouterMib ); + Adapter->DhclientState.state = S_STATIC; proto = find_protocol_by_adapter( &Adapter->DhclientInfo ); if (proto)