summaryrefslogtreecommitdiffstats
path: root/src/windows/kfwlogon/kfwlogon.c
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2006-07-24 20:37:36 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2006-07-24 20:37:36 +0000
commitb22afa7d6b255ec294c6ff98fcd336a92bdc118c (patch)
treede4f65fb044eea6a97729970ef39103dc037e4b7 /src/windows/kfwlogon/kfwlogon.c
parent19f15ab2699fcb8f0d1572d6483bdee65e4cdc6f (diff)
downloadkrb5-b22afa7d6b255ec294c6ff98fcd336a92bdc118c.tar.gz
krb5-b22afa7d6b255ec294c6ff98fcd336a92bdc118c.tar.xz
krb5-b22afa7d6b255ec294c6ff98fcd336a92bdc118c.zip
undo previous commit due to EOL issues
ticket: 4048 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18381 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/windows/kfwlogon/kfwlogon.c')
-rw-r--r--src/windows/kfwlogon/kfwlogon.c50
1 files changed, 12 insertions, 38 deletions
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);