#include <security_cdsa_client/aclclient.h>
#include <Security/cssmapple.h>
#include <Security/cssmapplePriv.h>
+#include <Security/SecBase.h>
using namespace CssmClient;
void
DbImpl::open()
{
- if (!mActive)
- {
- assert(mDbInfo == nil);
- mHandle.DLHandle = dl()->handle();
- check(CSSM_DL_DbOpen(mHandle.DLHandle, mDbName.canonicalName(), dbLocation(),
- mAccessRequest, mAccessCredentials,
- mOpenParameters, &mHandle.DBHandle));
-
+ {
StLock<Mutex> _(mActivateMutex);
- mActive = true;
-
- if (!mAccessCredentials && mDefaultCredentials)
- if (const AccessCredentials *creds = mDefaultCredentials->makeCredentials())
- CSSM_DL_Authenticate(handle(), mAccessRequest, creds); // ignore error
+ if (!mActive)
+ {
+ assert(mDbInfo == nil);
+ mHandle.DLHandle = dl()->handle();
+ check(CSSM_DL_DbOpen(mHandle.DLHandle, mDbName.canonicalName(), dbLocation(),
+ mAccessRequest, mAccessCredentials,
+ mOpenParameters, &mHandle.DBHandle));
+
+ mActive = true;
+ }
}
+
+ if (!mAccessCredentials && mDefaultCredentials)
+ if (const AccessCredentials *creds = mDefaultCredentials->makeCredentials())
+ CSSM_DL_Authenticate(handle(), mAccessRequest, creds); // ignore error
}
void
void
DbImpl::activate()
{
- StLock<Mutex> _(mActivateMutex);
if (!mActive)
{
if (mDbInfo)
check(CSSM_DL_PassThrough(handle(), CSSM_APPLECSPDL_DB_UNLOCK, &password, NULL));
}
+void
+DbImpl::stash()
+{
+ check(CSSM_DL_PassThrough(handle(), CSSM_APPLECSPDL_DB_STASH, NULL, NULL));
+}
+
+void
+DbImpl::stashCheck()
+{
+ check(CSSM_DL_PassThrough(handle(), CSSM_APPLECSPDL_DB_STASH_CHECK, NULL, NULL));
+}
+
void
DbImpl::getSettings(uint32 &outIdleTimeout, bool &outLockOnSleep)
{
//
// Now, toggle the autocommit...
//
- if ( result == noErr )
+ if ( result == errSecSuccess )
{
CSSM_BOOL modeToUse = !mode;
if (rollback)
result = CSSM_DL_PassThrough(dldbHandleOfUnderlyingDL,
CSSM_APPLEFILEDL_TOGGLE_AUTOCOMMIT,
- (void *)(modeToUse),
+ (void *)((size_t) modeToUse),
NULL);
if (!rollback && modeToUse)
result = CSSM_DL_PassThrough(dldbHandleOfUnderlyingDL,