From 6219bb156e74dc9b37585430c396891b2debfe65 Mon Sep 17 00:00:00 2001 From: Jim Norman Date: Wed, 25 Jun 2008 16:49:21 +0000 Subject: [PATCH] Bug 401524. Fix to get correct LUID when ReadBinaryKey is called. (Windows only change for ZEN) --- CASA/CASA.changes | 16 +++++++++++----- CASA/micasad/verbs/ReadBinaryKey.cs | 6 +++--- CASA/micasad/verbs/ReadKey.cs | 6 +++--- CASA/micasad/verbs/WriteBinaryKey.cs | 7 +++++-- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/CASA/CASA.changes b/CASA/CASA.changes index 6aa6386a..e5f500c2 100644 --- a/CASA/CASA.changes +++ b/CASA/CASA.changes @@ -1,11 +1,17 @@ ------------------------------------------------------------------- -Mon Jun 2 15:05:21 MDT 2008 - jnorman@novell.com - -- Fix java class constructors on java wrapper +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 + +- Fix java class constructors on java wrapper + +------------------------------------------------------------------- Thu May 29 09:38:53 MDT 2008 - jnorman@novell.com - + - Fix bug that prevents CASAManager from displaying ------------------------------------------------------------------- diff --git a/CASA/micasad/verbs/ReadBinaryKey.cs b/CASA/micasad/verbs/ReadBinaryKey.cs index df5122ab..ed30fe0f 100644 --- a/CASA/micasad/verbs/ReadBinaryKey.cs +++ b/CASA/micasad/verbs/ReadBinaryKey.cs @@ -139,9 +139,9 @@ 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); + // System Services, like DLU create fake UIDs, store credentials and then want to read that data. + 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. diff --git a/CASA/micasad/verbs/ReadKey.cs b/CASA/micasad/verbs/ReadKey.cs index 6234dca0..eee4404f 100644 --- a/CASA/micasad/verbs/ReadKey.cs +++ b/CASA/micasad/verbs/ReadKey.cs @@ -139,9 +139,9 @@ 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); + // System Services, like DLU create fake UIDs, store credentials and then want to read that data. + 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. diff --git a/CASA/micasad/verbs/WriteBinaryKey.cs b/CASA/micasad/verbs/WriteBinaryKey.cs index 2e7f47c6..74901ec4 100644 --- a/CASA/micasad/verbs/WriteBinaryKey.cs +++ b/CASA/micasad/verbs/WriteBinaryKey.cs @@ -137,7 +137,9 @@ 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. @@ -177,7 +179,8 @@ namespace sscs.verbs { CSSSLogger.DbgLog("WriteKey: Adding keychain returned error: " + e.ToString()); } - } + } + CSSSLogger.DbgLog("WriteBinaryKey: Switching LUID to [" + luidHigh.ToString() + "][" + luidLow.ToString() + "]"); } } #endif