]> git.saurik.com Git - apple/security.git/blobdiff - securityd/src/tokendatabase.h
Security-59306.101.1.tar.gz
[apple/security.git] / securityd / src / tokendatabase.h
index e48a9a3bcb2d23e84c9623c698a4f310ee89cdef..673f7b41398dd739fca83b05268211a0433b0825 100644 (file)
@@ -61,6 +61,9 @@ public:
        
        uint32 subservice() const { return token().subservice(); }
        std::string dbName() const;
+
+    // TokenDbCommons have no real version, return base
+    uint32 dbVersion() { return CommonBlob::version_MacOS_10_0; }
        
        Adornable &store();
        void resetAcls();
@@ -74,8 +77,6 @@ public:
 private:
        std::string mDbName;                    // name given during open
        bool mHasAclState;                              // Adornment is carrying active ACL state
-
-       ResetGeneration mResetLevel;    // validity tag
 };
 
 
@@ -137,8 +138,8 @@ protected:
                
                Record *commit()        { database().addReference(*this); return this; }
                
-               void validate(AclAuthorization auth, const AccessCredentials *cred)
-               { TokenAcl::validate(auth, cred, &database()); }
+               void validate(AclAuthorization auth, const AccessCredentials *cred, Database *relatedDatabase = NULL)
+        { TokenAcl::validate(auth, cred, relatedDatabase ? relatedDatabase : &database()); }
                
                // TokenAcl personality
                AclKind aclKind() const;
@@ -203,10 +204,10 @@ public:
                CssmDbRecordAttributeData *inAttributes, mach_msg_type_number_t inAttributesLength,
                CssmData *data, RefPointer<Key> &key,
                CssmDbRecordAttributeData * &outAttributes, mach_msg_type_number_t &outAttributesLength);
-       void insertRecord(CSSM_DB_RECORDTYPE recordtype,
+       void tokenInsertRecord(CSSM_DB_RECORDTYPE recordtype,
                const CssmDbRecordAttributeData *attributes, mach_msg_type_number_t inAttributesLength,
                const CssmData &data, RefPointer<Database::Record> &record);
-       void modifyRecord(CSSM_DB_RECORDTYPE recordtype, Record *record,
+       void modifyRecord(CSSM_DB_RECORDTYPE recordtype, Database::Record *record,
                const CssmDbRecordAttributeData *attributes, mach_msg_type_number_t inAttributesLength,
                const CssmData *data, CSSM_DB_MODIFY_MODE modifyMode);
        void deleteRecord(Database::Record *record);