Add support for Dynamic Local User(DLU) on windows

This commit is contained in:
Jim Norman
2006-10-10 17:56:57 +00:00
parent 18e290e209
commit 0e03e5e475
23 changed files with 896 additions and 67 deletions

View File

@@ -35,6 +35,7 @@ LINK_DEF_BLD = \
echo "/EXPORT:miCASARemoveCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASAOpenSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASACloseSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASAMergeCache" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteSecret" >> $(LINKDEF);\

View File

@@ -40,6 +40,7 @@ LINK_DEF_BLD = \
echo "/EXPORT:miCASARemoveCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASAOpenSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASACloseSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASAMergeCache" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteSecret" >> $(LINKDEF);\

View File

@@ -10,6 +10,7 @@ EXPORTS
miCASARemoveCredential
miCASAOpenSecretStoreCache
miCASACloseSecretStoreCache
miCASAMergeCache
miCASAReadSecret
miCASARemoveSecret
miCASAWriteSecret

View File

@@ -1107,7 +1107,7 @@ miCASAReadSecret
}
if(rc = sscs_CacheReadSecret(storeContext->ssHandle, ssFlags, keyChainID, &secretID, &secBuf,
epPassword, &bytesRequired, readData))
epPassword, &bytesRequired, ext))
{
goto errorLevel1;
}
@@ -1285,7 +1285,7 @@ miCASARemoveSecret
}
rc = sscs_CacheRemoveSecret(storeContext->ssHandle, ssFlags, keyChainID,
&secretID, epPassword, NULL);
&secretID, epPassword, ext);
/* ############################### CODE EXITS HERE ############################# */
@@ -3207,7 +3207,7 @@ miCASAGetCredential
// read credset for this app
secID.type = SSCS_CREDENTIAL_TYPE_F;
rcode = miCASAReadSecret(context, &kc, ssFlags, secretHandle, &secID, NULL, &readData, NULL);
rcode = miCASAReadSecret(context, &kc, ssFlags, secretHandle, &secID, NULL, &readData, ext);
if(rcode == NSSCS_SUCCESS)
{
@@ -3231,7 +3231,7 @@ miCASAGetCredential
secID.type = SSCS_CREDENTIAL_TYPE_F;
secID.len = appSecretID->len;
sscs_Utf8Strncpy(secID.name, appSecretID->id, secID.len);
rcode = miCASAReadSecret(context, &kc, ssFlags, secretHandle, &secID, NULL, &readData, NULL);
rcode = miCASAReadSecret(context, &kc, ssFlags, secretHandle, &secID, NULL, &readData, ext);
if(rcode == NSSCS_SUCCESS)
{
// read the username and password
@@ -3605,7 +3605,7 @@ miCASADeleteCredential
secID.len = appSecretID->len;
sscs_Utf8Strncpy(secID.name, appSecretID->id, secID.len);
rcode = miCASARemoveSecret (context, &kc, ssFlags, &secID, NULL, NULL);
rcode = miCASARemoveSecret (context, &kc, ssFlags, &secID, NULL, ext);
// close the secretstore
miCASACloseSecretStoreCache(context, ssFlags, NULL);
@@ -3750,3 +3750,46 @@ miCASAIsSecretPersistent
/* ############################### CODE ENDS HERE ############################# */
} // end of miCASAIsSecretPersistent
/*
* NAME - miCASAMergeCache
*
* DESCRIPTION
* This call merges the src cache with the destination cache
*
*/
SSCS_GLOBAL_LIBCALL(int32_t)
miCASAMergeCache
(
SSCS_EXT_T *srcExt,
SSCS_EXT_T *targetExt,
uint32_t bDestroySrcCache
)
{ /* beginning of the call */
/* ########################## DECLARATIONS START HERE ######################### */
void *context = NULL;
int32_t rcode = 0;
SSCS_SECRETSTORE_T store = {0};
SSCS_CONTEXT_T *storeContext;
/* ############################## CODE STARTS HERE ############################ */
// open secretStore
sscs_Utf8Strncpy(store.ssName, SSCS_DEFAULT_SECRETSTORE_ID, SSCS_DEFAULT_SECRETSTORE_ID_LEN);
store.version = 1;
context = miCASAOpenSecretStoreCache(&store, 0, NULL);
storeContext = (SSCS_CONTEXT_T *)context;
if(context == NULL)
{
return NSSCS_E_SYSTEM_FAILURE;
}
rcode = sscs_MergeCache(storeContext->ssHandle, srcExt, targetExt, bDestroySrcCache);
miCASACloseSecretStoreCache(context, 0, NULL);
return rcode;
/* ############################### CODE ENDS HERE ############################# */
} // end of miCASAIsSecretPersistent