[ros-diffs] [cgutman] 41907: - Store the static default gateway forward entry in DHCP_ADAPTER - Loop the adapter list backward so DhclientInfo gets linked properly

cgutman at svn.reactos.org cgutman at svn.reactos.org
Sun Jul 12 07:21:53 CEST 2009


Author: cgutman
Date: Sun Jul 12 09:21:52 2009
New Revision: 41907

URL: http://svn.reactos.org/svn/reactos?rev=41907&view=rev
Log:
 - Store the static default gateway forward entry in DHCP_ADAPTER
 - Loop the adapter list backward so DhclientInfo gets linked properly

Modified:
    trunk/reactos/base/services/dhcp/adapter.c

Modified: trunk/reactos/base/services/dhcp/adapter.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/dhcp/adapter.c?rev=41907&r1=41906&r2=41907&view=diff
==============================================================================
--- trunk/reactos/base/services/dhcp/adapter.c [iso-8859-1] (original)
+++ trunk/reactos/base/services/dhcp/adapter.c [iso-8859-1] Sun Jul 12 09:21:52 2009
@@ -149,7 +149,6 @@
     PCHAR IPAddress = NULL, Netmask = NULL, DefaultGateway = NULL;
     NTSTATUS Status = STATUS_SUCCESS;
     DWORD Error = ERROR_SUCCESS;
-    MIB_IPFORWARDROW DefGatewayRow;
 
     Adapter->DhclientState.config = &Adapter->DhclientConfig;
     strncpy(Adapter->DhclientInfo.name, (char*)Adapter->IfMib.bDescr,
@@ -181,11 +180,11 @@
         DefaultGateway = RegReadString( AdapterKey, NULL, "DefaultGateway" );
 
         if( DefaultGateway ) {
-            DefGatewayRow.dwForwardDest = 0;
-            DefGatewayRow.dwForwardMask = 0;
-            DefGatewayRow.dwForwardMetric1 = 1;
-            DefGatewayRow.dwForwardNextHop = inet_addr(DefaultGateway);
-            Error = CreateIpForwardEntry( &DefGatewayRow );
+            Adapter->RouterMib.dwForwardDest = 0;
+            Adapter->RouterMib.dwForwardMask = 0;
+            Adapter->RouterMib.dwForwardMetric1 = 1;
+            Adapter->RouterMib.dwForwardNextHop = inet_addr(DefaultGateway);
+            Error = CreateIpForwardEntry( &Adapter->RouterMib );
             if( Error )
                 warning("Failed to set default gateway %s: %ld\n",
                         DefaultGateway, Error);
@@ -212,9 +211,10 @@
 
 void AdapterInit() {
     PMIB_IFTABLE Table = (PMIB_IFTABLE) malloc(sizeof(MIB_IFTABLE));
-    DWORD Error, Size = sizeof(MIB_IFTABLE), i;
+    DWORD Error, Size = sizeof(MIB_IFTABLE);
     PDHCP_ADAPTER Adapter = NULL;
     struct interface_info *ifi = NULL;
+    int i;
 
     WSAStartup(0x0101,&wsd);
 
@@ -233,7 +233,7 @@
 
     DH_DbgPrint(MID_TRACE,("Got Adapter List (%d entries)\n", Table->dwNumEntries));
 
-    for( i = 0; i < Table->dwNumEntries; i++ ) {
+    for( i = Table->dwNumEntries - 1; i >= 0; i-- ) {
         DH_DbgPrint(MID_TRACE,("Getting adapter %d attributes\n",
                                Table->table[i].dwIndex));
         Adapter = (DHCP_ADAPTER*) calloc( sizeof( DHCP_ADAPTER ) + Table->table[i].dwMtu, 1 );



More information about the Ros-diffs mailing list