Windows: replace lana_OnlyLoopback() calls
authorJeffrey Altman <jaltman@your-file-system.com>
Thu, 4 Sep 2014 13:08:32 +0000 (09:08 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Wed, 24 Sep 2014 22:16:19 +0000 (18:16 -0400)
lana_OnlyLoopback() relies upon Netbios over TCP being enabled but
Netbios over TCP is not officially supported on Vista and above.
Replace all lana_OnlyLoopback() calls with a test on the number of
network interfaces as computed by syscfg_GetIFInfo().   That list
excludes loopback interfaces.

Change-Id: I22d952f1487734ead02335108377bc404baa6024
Reviewed-on: http://gerrit.openafs.org/11444
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsd/afsd_flushvol.c
src/WINNT/afsd/afsd_service.c
src/WINNT/afsd/cm_scache.c

index 9539e20..0a01f1b 100644 (file)
@@ -81,7 +81,7 @@ afsd_ServicePerformFlushVolumes()
     char        *pszShareName, *pc;
     afs_int32  afsRet = 0;
 
-    if ( lana_OnlyLoopback() ) {
+    if (cm_noIPAddr == 0) {
         // Nothing to do if we only have a loopback interface
         return TRUE;
     }
index ea47deb..e819f0e 100644 (file)
@@ -200,7 +200,7 @@ afsd_ServiceControlHandler(DWORD ctrlCode)
             afsi_log("SERVICE_CONTROL_SHUTDOWN");
 
         /* Write all dirty buffers back to server */
-       if ( !lana_OnlyLoopback() )
+       if (cm_noIPAddr > 0)
            buf_CleanAndReset();
 
         /* Force trace if requested */
@@ -282,7 +282,7 @@ afsd_ServiceControlHandlerEx(
 
         /* Write all dirty buffers back to server */
        if (dwCurrentState == SERVICE_RUNNING &&
-            !lana_OnlyLoopback() )
+            cm_noIPAddr > 0)
            buf_CleanAndReset();
 
         /* Force trace if requested */
@@ -342,7 +342,7 @@ afsd_ServiceControlHandlerEx(
                     afsi_log("SERVICE_CONTROL_APMQUERYSUSPEND");
                     osi_Log0(afsd_logp,"SERVICE_CONTROL_APMQUERYSUSPEND");
                     /* Write all dirty buffers back to server */
-                   if ( !lana_OnlyLoopback() )
+                   if (cm_noIPAddr > 0)
                        buf_CleanAndReset();
                     afsi_log("SERVICE_CONTROL_APMQUERYSUSPEND buf_CleanAndReset complete");
                     osi_Log0(afsd_logp,"SERVICE_CONTROL_APMQUERYSUSPEND buf_CleanAndReset complete");
@@ -352,7 +352,7 @@ afsd_ServiceControlHandlerEx(
                     afsi_log("SERVICE_CONTROL_APMQUERYSTANDBY");
                     osi_Log0(afsd_logp,"SERVICE_CONTROL_APMQUERYSTANDBY");
                     /* Write all dirty buffers back to server */
-                   if ( !lana_OnlyLoopback() )
+                   if (cm_noIPAddr > 0)
                        buf_CleanAndReset();
                     afsi_log("SERVICE_CONTROL_APMQUERYSTANDBY buf_CleanAndReset complete");
                     osi_Log0(afsd_logp,"SERVICE_CONTROL_APMQUERYSTANDBY buf_CleanAndReset complete");
index 257689b..f6aadde 100644 (file)
@@ -703,7 +703,7 @@ cm_SuspendSCache(void)
     cm_scache_t * scp;
     time_t now;
 
-    if (!lana_OnlyLoopback())
+    if (cm_noIPAddr > 0)
        cm_GiveUpAllCallbacksAllServersMulti(TRUE);
 
     /*
@@ -740,7 +740,7 @@ cm_ShutdownSCache(void)
 {
     cm_scache_t * scp, * nextp;
 
-    if (!lana_OnlyLoopback())
+    if (cm_noIPAddr > 0)
        cm_GiveUpAllCallbacksAllServersMulti(FALSE);
 
     lock_ObtainWrite(&cm_scacheLock);