From 4b3c120e8e571f650e8274da553b1489cc34bd5e Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 9 Feb 2006 15:28:56 +0000 Subject: [PATCH] windows-afslogon-20060209 replace sizeof(opt) with sizeof(LogonOption_t) add more debug statements --- src/WINNT/afsd/afslogon.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/afslogon.c b/src/WINNT/afsd/afslogon.c index 0643a5ffa..7f174c4f3 100644 --- a/src/WINNT/afsd/afslogon.c +++ b/src/WINNT/afsd/afslogon.c @@ -1049,7 +1049,7 @@ VOID AFS_Logoff_Event( PWLX_NOTIFICATION_INFO pInfo ) RegCloseKey (NPKey); if (!LogoffPreserveTokens) { - ZeroMemory(&opt, sizeof(opt)); + memset(&opt, 0, sizeof(LogonOptions_t)); if (pInfo->UserName && pInfo->Domain) { char username[MAX_USERNAME_LENGTH] = ""; @@ -1144,13 +1144,15 @@ VOID AFS_Logon_Event( PWLX_NOTIFICATION_INFO pInfo ) DebugEvent("AFS_Logon_Event Process ID: %d",GetCurrentProcessId()); - ZeroMemory(&opt, sizeof(opt)); + memset(&opt, 0, sizeof(LogonOptions_t)); if (pInfo->UserName && pInfo->Domain) { char username[MAX_USERNAME_LENGTH] = ""; char domain[MAX_DOMAIN_LENGTH] = ""; size_t szlen = 0; + DebugEvent0("AFS_Logon_Event - pInfo UserName and Domain"); + StringCchLengthW(pInfo->UserName, MAX_USERNAME_LENGTH, &szlen); WideCharToMultiByte(CP_UTF8, 0, pInfo->UserName, szlen, username, sizeof(username), NULL, NULL); @@ -1159,14 +1161,25 @@ VOID AFS_Logon_Event( PWLX_NOTIFICATION_INFO pInfo ) WideCharToMultiByte(CP_UTF8, 0, pInfo->Domain, szlen, domain, sizeof(domain), NULL, NULL); + DebugEvent0("AFS_Logon_Event - Calling GetDomainLogonOptions"); GetDomainLogonOptions(NULL, username, domain, &opt); + } else { + if (!pInfo->UserName) + DebugEvent0("AFS_Logon_Event - No pInfo->UserName"); + if (!pInfo->Domain) + DebugEvent0("AFS_Logon_Event - No pInfo->Domain"); } + DebugEvent("AFS_Logon_Event - opt.LogonOption = %lX opt.flags = %lX", + opt.LogonOption, opt.flags); + if (!ISLOGONINTEGRATED(opt.LogonOption) || !ISREMOTE(opt.flags)) { - DebugEvent("AFS_Logon_Event - Logon is not integrated or not remote"); + DebugEvent0("AFS_Logon_Event - Logon is not integrated or not remote"); goto done_logon_event; } + DebugEvent0("AFS_Logon_Event - Calling GetTokenInformation"); + if (!GetTokenInformation(pInfo->hToken, TokenUser, NULL, 0, &retLen)) { if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) { -- 2.39.5