From b22afa7d6b255ec294c6ff98fcd336a92bdc118c Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 24 Jul 2006 20:37:36 +0000 Subject: undo previous commit due to EOL issues ticket: 4048 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18381 dc483132-0cff-0310-8789-dd5450dbe970 --- src/windows/kfwlogon/kfwlogon.c | 50 ++++++++++------------------------------- 1 file changed, 12 insertions(+), 38 deletions(-) (limited to 'src/windows/kfwlogon/kfwlogon.c') diff --git a/src/windows/kfwlogon/kfwlogon.c b/src/windows/kfwlogon/kfwlogon.c index e815f73e00..eddf273412 100644 --- a/src/windows/kfwlogon/kfwlogon.c +++ b/src/windows/kfwlogon/kfwlogon.c @@ -1,5 +1,5 @@ /* -Copyright 2005,2006 by the Massachusetts Institute of Technology +Copyright 2005 by the Massachusetts Institute of Technology All rights reserved. @@ -292,7 +292,6 @@ VOID KFW_Logon_Event( PWLX_NOTIFICATION_INFO pInfo ) char szLogonId[128] = ""; DWORD count; char filename[256]; - char newfilename[256]; char commandline[512]; STARTUPINFO startupinfo; PROCESS_INFORMATION procinfo; @@ -322,36 +321,14 @@ VOID KFW_Logon_Event( PWLX_NOTIFICATION_INFO pInfo ) GetWindowsDirectory(filename, sizeof(filename)); } - if ( strlen(filename) + strlen(szLogonId) + 2 > sizeof(filename) ) { - DebugEvent0("KFW_Logon_Event - filename too long"); - return; - } - - strcat(filename, "\\"); - strcat(filename, szLogonId); + if ( strlen(filename) + strlen(szLogonId) + 2 <= sizeof(filename) ) { + strcat(filename, "\\"); + strcat(filename, szLogonId); - KFW_set_ccache_dacl(filename, pInfo->hToken); + sprintf(commandline, "kfwcpcc.exe \"%s\"", filename); - KFW_obtain_user_temp_directory(pInfo->hToken, newfilename, sizeof(newfilename)); - - if ( strlen(newfilename) + strlen(szLogonId) + 2 > sizeof(newfilename) ) { - DebugEvent0("KFW_Logon_Event - new filename too long"); - return; - } - - strcat(newfilename, "\\"); - strcat(newfilename, szLogonId); - - if (!MoveFileEx(filename, newfilename, - MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING | MOVEFILE_WRITE_THROUGH)) { - DebugEvent("KFW_Logon_Event - MoveFileEx failed GLE = 0x%x", GetLastError()); - return; - } - - sprintf(commandline, "kfwcpcc.exe \"%s\"", newfilename); - - GetStartupInfo(&startupinfo); - if (CreateProcessAsUser( pInfo->hToken, + GetStartupInfo(&startupinfo); + if (CreateProcessAsUser( pInfo->hToken, "kfwcpcc.exe", commandline, NULL, @@ -362,15 +339,12 @@ VOID KFW_Logon_Event( PWLX_NOTIFICATION_INFO pInfo ) NULL, &startupinfo, &procinfo)) - { - DebugEvent("KFW_Logon_Event - CommandLine %s", commandline); + { + WaitForSingleObject(procinfo.hProcess, 30000); - WaitForSingleObject(procinfo.hProcess, 30000); - - CloseHandle(procinfo.hThread); - CloseHandle(procinfo.hProcess); - } else { - DebugEvent0("KFW_Logon_Event - CreateProcessFailed"); + CloseHandle(procinfo.hThread); + CloseHandle(procinfo.hProcess); + } } DeleteFile(filename); -- cgit