Bug 401524. Fix to get correct LUID when ReadBinaryKey is called. (Windows only change for ZEN)

This commit is contained in:
Jim Norman 2008-06-25 16:49:21 +00:00
parent 39fd99738f
commit 6219bb156e
4 changed files with 22 additions and 13 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Jun 25 10:46:21 MDT 2008 - jnorman@novell.com
- Bug 401524. Fixed bug that properly caches binary tokens.
Affects windows only.
-------------------------------------------------------------------
Mon Jun 2 15:05:21 MDT 2008 - jnorman@novell.com

View File

@ -140,8 +140,8 @@ namespace sscs.verbs
// WINDOWS LUID
// System Services, like DLU create fake UIDs, store credentials and then want to read that data.
luidLow = BitConverter.ToInt32(inBuf, 18 + ((int)keyChainIdLen) + ((int)secretIdLen) + 8);
luidHigh = BitConverter.ToInt32(inBuf, 18 + ((int)keyChainIdLen) + ((int)secretIdLen) + 12);
luidLow = BitConverter.ToInt32(inBuf, 22 + ((int)keyChainIdLen) + ((int)secretIdLen) + ((int)keyLen) + 8);
luidHigh = BitConverter.ToInt32(inBuf, 22 + ((int)keyChainIdLen) + ((int)secretIdLen) + ((int)keyLen) + 12);
// this code is for ZEN. Here we switch to a keychain who's ID is the LUID of the user logging in.
// ZEN processes run as system and pass the LUID in the extension parameter.

View File

@ -140,8 +140,8 @@ namespace sscs.verbs
// WINDOWS LUID
// System Services, like DLU create fake UIDs, store credentials and then want to read that data.
luidLow = BitConverter.ToInt32(inBuf, 18 + ((int)keyChainIdLen) + ((int)secretIdLen) + 8);
luidHigh = BitConverter.ToInt32(inBuf, 18 + ((int)keyChainIdLen) + ((int)secretIdLen) + 12);
luidLow = BitConverter.ToInt32(inBuf, 22 + ((int)keyChainIdLen) + ((int)secretIdLen) + ((int)keyLen) + 8);
luidHigh = BitConverter.ToInt32(inBuf, 22 + ((int)keyChainIdLen) + ((int)secretIdLen) + ((int)keyLen) + 12);
// this code is for ZEN. Here we switch to a keychain who's ID is the LUID of the user logging in.
// ZEN processes run as system and pass the LUID in the extension parameter.

View File

@ -138,6 +138,8 @@ namespace sscs.verbs
#if W32
if (extId == 1)
{
CSSSLogger.DbgLog("LUID ExtID found");
// WINDOWS LUID
// This is how the Login Capture module on windows, running as System, sets the Desktop Credential.
// we might be able to change this if/when we abstract the session.
@ -178,6 +180,7 @@ namespace sscs.verbs
CSSSLogger.DbgLog("WriteKey: Adding keychain returned error: " + e.ToString());
}
}
CSSSLogger.DbgLog("WriteBinaryKey: Switching LUID to [" + luidHigh.ToString() + "][" + luidLow.ToString() + "]");
}
}
#endif