Windows: NP AFSGetConnectionInfo AuthId == 0
authorJeffrey Altman <jaltman@your-file-system.com>
Wed, 12 Mar 2014 16:41:45 +0000 (12:41 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Tue, 18 Mar 2014 00:25:02 +0000 (17:25 -0700)
During the processing of a network provider GetConnectionInfo request
if the provided Authentication Logon Session Id is zero, the redirector
should attempt to obtain the Logon Session Id in kernel.  This was
not performed within AFSGetConnectionInfo().

Change-Id: Ia060abfdebc17e52eefac24ac9dc19a7d6434314
Reviewed-on: http://gerrit.openafs.org/10899
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsrdr/kernel/lib/AFSNetworkProviderSupport.cpp

index 51eab1e..f3b63c8 100644 (file)
@@ -1466,6 +1466,17 @@ AFSGetConnectionInfo( IN AFSNetworkProviderConnectionCB *ConnectCB,
         uniRemoteName.MaximumLength = uniRemoteName.Length + sizeof( WCHAR);
         uniRemoteName.Buffer = (WCHAR *)ConnectCB->RemoteName;
 
+       if( ConnectCB->AuthenticationId.QuadPart == 0)
+       {
+
+           ConnectCB->AuthenticationId = AFSGetAuthenticationId();
+
+           AFSDbgTrace(( AFS_SUBSYSTEM_NETWORK_PROVIDER,
+                         AFS_TRACE_LEVEL_VERBOSE,
+                         "AFSGetConnectionInfo Retrieved authentication id %I64X\n",
+                         ConnectCB->AuthenticationId.QuadPart));
+       }
+
         if( ConnectCB->LocalName != L'\0')
         {