]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-remove-find-lana-by-name-20070219
authorJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 20 Feb 2007 03:07:28 +0000 (03:07 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 20 Feb 2007 03:07:28 +0000 (03:07 +0000)
Remove the find lana by name functionality.  It is crucial that the
name computed by the afs service can also be computed by the pioctl
function executed by generic end users without privilege.  Unfortunately,
the undocumented functions used to implement find lana by name require
access to registry keys that a generic user cannot read.

(cherry picked from commit b2ed3c527b831f329a380203433312653bcd91a4)

src/WINNT/afsd/lanahelper.cpp

index 148a0c49ccfe524c6c7e9b9fc8a62e2bd5544a22..2858ce0365b535982a70fa815b4e71840381960d 100644 (file)
@@ -59,9 +59,12 @@ extern "C" {
 static const char *szNetbiosNameValue = "NetbiosName";
 static const char *szIsGatewayValue = "IsGateway";
 static const char *szLanAdapterValue = "LanAdapter";
+#ifdef USE_FINDLANABYNAME
 static const char *szNoFindLanaByName = "NoFindLanaByName";
+#endif
 static const char *szForceLanaLoopback = "ForceLanaLoopback";
 
+#ifdef USE_FINDLANABYNAME
 // Use the IShellFolder API to get the connection name for the given Guid.
 static HRESULT lana_ShellGetNameFromGuidW(WCHAR *wGuid, WCHAR *wName, int NameSize)
 {
@@ -362,6 +365,7 @@ extern "C" LANAINFO * lana_FindLanaByName(const char *LanaName)
     free(bindpaths);
     return lanainfo;
 }
+#endif
 
 extern "C" lana_number_t lana_FindLoopback(void)
 {
@@ -656,9 +660,9 @@ extern "C" void lana_GetAfsNameString(int lanaNumber, BOOL isGateway, TCHAR* nam
 
 extern "C" void lana_GetNetbiosName(LPTSTR pszName, int type)
 {
-       HKEY hkCfg;
+    HKEY hkCfg;
     TCHAR name[MAX_NB_NAME_LENGTH];
-       DWORD dummyLen;
+    DWORD dummyLen;
 
     memset(name, 0, sizeof(name));
     if (GetVersion() >= 0x80000000) // not WindowsNT
@@ -669,12 +673,12 @@ extern "C" void lana_GetNetbiosName(LPTSTR pszName, int type)
             return;
         }
 
-               if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkCfg) == ERROR_SUCCESS) {
-                       dummyLen = sizeof(name);
-                       if(RegQueryValueEx(hkCfg,TEXT("Gateway"),NULL,NULL,(LPBYTE) name,&dummyLen) == ERROR_SUCCESS)
-                               name[0] = _T('\0');
-                       RegCloseKey(hkCfg);
-               }
+       if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkCfg) == ERROR_SUCCESS) {
+           dummyLen = sizeof(name);
+           if(RegQueryValueEx(hkCfg,TEXT("Gateway"),NULL,NULL,(LPBYTE) name,&dummyLen) == ERROR_SUCCESS)
+               name[0] = _T('\0');
+           RegCloseKey(hkCfg);
+       }
 
         if (_tcslen(name) == 0)
         {
@@ -682,13 +686,13 @@ extern "C" void lana_GetNetbiosName(LPTSTR pszName, int type)
             return;
         }
 
-               _tcscpy(pszName, name);
+       _tcscpy(pszName, name);
         _tcscat(pszName, TEXT("-afs"));
         return;
     }
 
     lana_GetUncServerName(name,type);
-       _tcslwr(name);
+    _tcslwr(name);
     _tcscpy(pszName, name);
     return;
 }