]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-remove-find-lana-by-name-20070227
authorJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 28 Feb 2007 00:09:16 +0000 (00:09 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 28 Feb 2007 00:09:16 +0000 (00:09 +0000)
commit the rest of the patch that didn't pullup from
STABLE14-remove-find-lana-by-name-20070219

src/WINNT/afsd/lanahelper.cpp

index 2858ce0365b535982a70fa815b4e71840381960d..9fff76246161913574b9bd20c63f87417194b0d6 100644 (file)
@@ -519,107 +519,123 @@ extern "C" BOOL lana_IsLoopback(lana_number_t lana)
 //      LANA_NETBIOS_NAME_FULL : Return full netbios name
 extern "C" long lana_GetUncServerNameEx(char *buffer, lana_number_t * pLana, int * pIsGateway, int flags) {
     HKEY hkConfig;
-       DWORD dummyLen;
-       LONG rv;
-       int regLana;
-       int regGateway, regNoFindLanaByName;
-       TCHAR regNbName[MAX_NB_NAME_LENGTH];
-       TCHAR nbName[MAX_NB_NAME_LENGTH];
-       TCHAR hostname[MAX_COMPUTERNAME_LENGTH+1];
-
-       rv = RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkConfig);
-       if(rv == ERROR_SUCCESS) {
-               if(!(flags & LANA_NETBIOS_NAME_IN) || !pLana) {
-                       dummyLen = sizeof(regLana);
-                       rv = RegQueryValueEx(hkConfig, szLanAdapterValue, NULL, NULL, (LPBYTE) &regLana, &dummyLen);
-                       if(rv != ERROR_SUCCESS) regLana = -1;
-               } else
-                       regLana = *pLana;
-
-               if(!(flags & LANA_NETBIOS_NAME_IN) || !pIsGateway) {
-                       dummyLen = sizeof(regGateway);
-                       rv = RegQueryValueEx(hkConfig, szIsGatewayValue, NULL, NULL, (LPBYTE) &regGateway, &dummyLen);
-                       if(rv != ERROR_SUCCESS) regGateway = 0;
-               } else
-                       regGateway = *pIsGateway;
-
-               dummyLen = sizeof(regNoFindLanaByName);
-               rv = RegQueryValueEx(hkConfig, szNoFindLanaByName, NULL, NULL, (LPBYTE) &regNoFindLanaByName, &dummyLen);
-               if(rv != ERROR_SUCCESS) regNoFindLanaByName = 0;
-
-               // Do not care if the call fails for insufficient buffer size.  We are not interested
-               // in netbios names over 15 chars.
-               dummyLen = sizeof(regNbName);
-               rv = RegQueryValueEx(hkConfig, szNetbiosNameValue, NULL, NULL, (LPBYTE) &regNbName, &dummyLen);
-               if(rv != ERROR_SUCCESS) regNbName[0] = 0;
-               else regNbName[15] = 0;
-
-               RegCloseKey(hkConfig);
+    DWORD dummyLen;
+    LONG rv;
+    int regLana;
+    int regGateway;
+#ifdef USE_FINDLANABYNAME
+    int regNoFindLanaByName;
+#endif
+    TCHAR regNbName[MAX_NB_NAME_LENGTH] = "AFS";
+    TCHAR nbName[MAX_NB_NAME_LENGTH];
+    TCHAR hostname[MAX_COMPUTERNAME_LENGTH+1];
+
+    rv = RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkConfig);
+    if(rv == ERROR_SUCCESS) {
+       if(!(flags & LANA_NETBIOS_NAME_IN) || !pLana) {
+           dummyLen = sizeof(regLana);
+           rv = RegQueryValueEx(hkConfig, szLanAdapterValue, NULL, NULL, (LPBYTE) &regLana, &dummyLen);
+           if(rv != ERROR_SUCCESS) 
+               regLana = -1;
+       } else
+           regLana = *pLana;
+
+       if(!(flags & LANA_NETBIOS_NAME_IN) || !pIsGateway) {
+           dummyLen = sizeof(regGateway);
+           rv = RegQueryValueEx(hkConfig, szIsGatewayValue, NULL, NULL, (LPBYTE) &regGateway, &dummyLen);
+           if(rv != ERROR_SUCCESS)
+               regGateway = 0;
+       } else
+           regGateway = *pIsGateway;
+
+#ifdef USE_FINDLANABYNAME
+       dummyLen = sizeof(regNoFindLanaByName);
+       rv = RegQueryValueEx(hkConfig, szNoFindLanaByName, NULL, NULL, (LPBYTE) &regNoFindLanaByName, &dummyLen);
+       if(rv != ERROR_SUCCESS) 
+           regNoFindLanaByName = 0;
+#endif
+       // Do not care if the call fails for insufficient buffer size.  We are not interested
+       // in netbios names over 15 chars.
+       dummyLen = sizeof(regNbName);
+       rv = RegQueryValueEx(hkConfig, szNetbiosNameValue, NULL, NULL, (LPBYTE) &regNbName, &dummyLen);
+       if(rv != ERROR_SUCCESS)
+           strcpy(regNbName, "AFS");
+       else 
+           regNbName[15] = 0;
+
+       RegCloseKey(hkConfig);
+    } else {
+       if(flags & LANA_NETBIOS_NAME_IN) {
+           regLana = (pLana)? *pLana: -1;
+           regGateway = (pIsGateway)? *pIsGateway: 0;
        } else {
-               if(flags & LANA_NETBIOS_NAME_IN) {
-                       regLana = (pLana)? *pLana: -1;
-                       regGateway = (pIsGateway)? *pIsGateway: 0;
-               } else {
-                       regLana = -1;
-                       regGateway = 0;
-               }
-        regNoFindLanaByName = 0;
-               regNbName[0] = 0;
+           regLana = -1;
+           regGateway = 0;
        }
+#ifdef USE_FINDLANABYNAME
+        regNoFindLanaByName = 0;
+#endif
+       strcpy(regNbName, "AFS");
+    }
 
     if(regLana < 0 || regLana > MAX_LANA) 
         regLana = -1;
 
-       if(regLana == -1) {
-               LANAINFO *lanaInfo = NULL;
+    if(regLana == -1) {
+       LANAINFO *lanaInfo = NULL;
         int nLana = LANA_INVALID;
 
+#ifdef USE_FINDLANABYNAME
         if (!regNoFindLanaByName)
             lanaInfo = lana_FindLanaByName("AFS");
-               if(lanaInfo != NULL) {
+#endif
+       if(lanaInfo != NULL) {
             nLana = lanaInfo[0].lana_number;
-                       free(lanaInfo);
-               } else
-                       nLana = LANA_INVALID;
-
-               if(nLana == LANA_INVALID && !regGateway) {
-                       nLana = lana_FindLoopback();
-               }
-               if(nLana != LANA_INVALID) 
-            regLana = nLana;
+           free(lanaInfo);
+       } else
+           nLana = LANA_INVALID;
+
+       if(nLana == LANA_INVALID && !regGateway) {
+           nLana = lana_FindLoopback();
        }
+       if(nLana != LANA_INVALID) 
+            regLana = nLana;
+       }       
 
-       if(regNbName[0] &&
-       (regLana >=0 && lana_IsLoopback((lana_number_t) regLana))) {
+    if(regNbName[0] &&
+       (regLana >=0 && lana_IsLoopback((lana_number_t) regLana))) 
+    {
         strncpy(nbName,regNbName,15);
         nbName[16] = 0;
         strupr(nbName);
+    } else {
+       char * dot;
+
+       if(flags & LANA_NETBIOS_NAME_SUFFIX) {
+           strcpy(nbName,"-AFS");
        } else {
-               char * dot;
-
-               if(flags & LANA_NETBIOS_NAME_SUFFIX) {
-                       strcpy(nbName,"-AFS");
-               } else {
-                       dummyLen = sizeof(hostname);
-                       // assume we are not a cluster.
-                       rv = GetComputerName(hostname, &dummyLen);
-                       if(!SUCCEEDED(rv)) { // should not happen, but...
-                               return rv;
-                       }
-                       strncpy(nbName, hostname, 11);
-                       nbName[11] = 0;
-                       if(dot = strchr(nbName,'.'))
-                               *dot = 0;
-                       strcat(nbName,"-AFS");
-               }
+           dummyLen = sizeof(hostname);
+           // assume we are not a cluster.
+           rv = GetComputerName(hostname, &dummyLen);
+           if(!SUCCEEDED(rv)) { // should not happen, but...
+               return rv;
+           }
+           strncpy(nbName, hostname, 11);
+           nbName[11] = 0;
+           if(dot = strchr(nbName,'.'))
+               *dot = 0;
+           strcat(nbName,"-AFS");
        }
+    }
 
-       if(pLana) *pLana = regLana;
-       if(pIsGateway) *pIsGateway = regGateway;
+    if(pLana) 
+       *pLana = regLana;
+    if(pIsGateway)
+       *pIsGateway = regGateway;
 
-       strcpy(buffer, nbName);
+    strcpy(buffer, nbName);
 
-       return ERROR_SUCCESS;
+    return ERROR_SUCCESS;
 }
 
 extern "C" void lana_GetUncServerNameDynamic(int lanaNumber, BOOL isGateway, TCHAR *name, int type) {