#include <Security/AuthorizationTagsPriv.h>
#include <Security/SecTask.h>
#include <security_keychain/SecCFTypes.h>
+#include "TrustSettingsSchema.h"
//%%% add this to AuthorizationTagsPriv.h later
#ifndef AGENT_HINT_LOGIN_KC_SUPPRESS_RESET_PANEL
if (!dLDbIdentifier)
return Keychain();
- if (gServerMode) {
- secdebug("servermode", "keychain reference in server mode");
- return Keychain();
- }
-
KeychainMap::iterator it = mKeychains.find(dLDbIdentifier);
if (it != mKeychains.end())
{
}
}
+ if (gServerMode) {
+ secdebug("servermode", "keychain reference in server mode");
+ const char *dbname = dLDbIdentifier.dbName();
+ if (!dbname || (strcmp(dbname, SYSTEM_ROOT_STORE_PATH)!=0))
+ return Keychain();
+ }
+
// The keychain is not in our cache. Create it.
Module module(dLDbIdentifier.ssuid().guid());
DL dl;