X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..HEAD:/OSX/libsecurity_cdsa_plugin/lib/DatabaseSession.cpp?ds=sidebyside diff --git a/OSX/libsecurity_cdsa_plugin/lib/DatabaseSession.cpp b/OSX/libsecurity_cdsa_plugin/lib/DatabaseSession.cpp index 637806ba..723b1e2f 100644 --- a/OSX/libsecurity_cdsa_plugin/lib/DatabaseSession.cpp +++ b/OSX/libsecurity_cdsa_plugin/lib/DatabaseSession.cpp @@ -28,7 +28,7 @@ #include /* log open/close events */ -#define DOCDebug(args...) secdebug("DBOpen", ## args) +#define DOCDebug(args...) secinfo("DBOpen", ## args) using namespace std; @@ -52,29 +52,26 @@ DatabaseSession::~DatabaseSession() void DatabaseSession::GetDbNames(CSSM_NAME_LIST_PTR &outNameList) { - secdebug("dbsession", "GetDbNames"); + secinfo("dbsession", "GetDbNames"); outNameList = mDatabaseManager.getDbNames (*this); #ifndef NDEBUG // dump the returned names uint32 n; - secdebug("dbsession", "GetDbNames returned %d names", outNameList->NumStrings); + secinfo("dbsession", "GetDbNames returned %d names", outNameList->NumStrings); for (n = 0; n < outNameList->NumStrings; ++n) { - secdebug("dbsession", "%d: %s", n, outNameList->String[n]); + secinfo("dbsession", "%d: %s", n, outNameList->String[n]); } #endif - - secdebug("dbsession", "********************"); } void DatabaseSession::FreeNameList(CSSM_NAME_LIST &inNameList) { - secdebug("dbsession", "FreeNameList"); + secinfo("dbsession", "FreeNameList"); mDatabaseManager.freeNameList (*this, inNameList); - secdebug("dbsession", "********************"); } @@ -85,9 +82,8 @@ DatabaseSession::DbDelete(const char *inDbName, { // The databaseManager will notify all its DbContext instances // that the database is question is being deleted. - secdebug("dbsession", "DbDelete of %s", inDbName); + secinfo("dbsession", "DbDelete of %s", inDbName); mDatabaseManager.dbDelete(*this, DbName(inDbName, CssmNetAddress::optional(inDbLocation)), inAccessCred); - secdebug("dbsession", "********************"); } // DbContext creation and destruction. @@ -101,7 +97,7 @@ DatabaseSession::DbCreate(const char *inDbName, CSSM_DB_HANDLE &outDbHandle) { outDbHandle = CSSM_INVALID_HANDLE; // CDSA 2.0 says to set this if we fail - secdebug("dbsession", "DbCreate of %s", inDbName); + secinfo("dbsession", "DbCreate of %s", inDbName); outDbHandle = insertDbContext(mDatabaseManager.dbCreate(*this, DbName(inDbName, CssmNetAddress::optional(inDbLocation)), @@ -109,9 +105,7 @@ DatabaseSession::DbCreate(const char *inDbName, inAccessRequest, inCredAndAclEntry, inOpenParameters)); - secdebug("dbsession", "DbCreate returned handle %#lx", outDbHandle); - - secdebug("dbsession", "********************"); + secinfo("dbsession", "DbCreate returned handle %#lx", outDbHandle); } void @@ -123,15 +117,14 @@ DatabaseSession::DbOpen(const char *inDbName, CSSM_DB_HANDLE &outDbHandle) { DOCDebug("DatabaseSession::DbOpen: dbName %s", inDbName); - secdebug("dbsession", "DbOpen of %s", inDbName); + secinfo("dbsession", "DbOpen of %s", inDbName); outDbHandle = CSSM_INVALID_HANDLE; // CDSA 2.0 says to set this if we fail outDbHandle = insertDbContext(mDatabaseManager.dbOpen(*this, DbName(inDbName, CssmNetAddress::optional(inDbLocation)), inAccessRequest, inAccessCred, inOpenParameters)); - secdebug("dbsession", "DbOpen returned handle %#lx", outDbHandle); - secdebug("dbsession", "********************"); + secinfo("dbsession", "DbOpen returned handle %#lx", outDbHandle); } CSSM_DB_HANDLE @@ -187,7 +180,6 @@ DatabaseSession::closeAll() } mDbContextMap.clear(); - secdebug("dbsession", "********************"); } // Operations using DbContext instances. @@ -196,14 +188,13 @@ DatabaseSession::DbClose(CSSM_DB_HANDLE inDbHandle) { StLock _(mDbContextMapLock); DOCDebug("DatabaseSession::Close"); - secdebug("dbsession", "DbClose of handle %ld", inDbHandle); + secinfo("dbsession", "DbClose of handle %ld", inDbHandle); DbContextMap::iterator it = mDbContextMap.find(inDbHandle); if (it == mDbContextMap.end()) CssmError::throwMe(CSSM_ERRCODE_INVALID_DB_HANDLE); - auto_ptr aDbContext(it->second); + unique_ptr aDbContext(it->second); mDbContextMap.erase(it); mDatabaseManager.dbClose(*aDbContext); - secdebug("dbsession", "********************"); } void @@ -215,23 +206,23 @@ DatabaseSession::CreateRelation(CSSM_DB_HANDLE inDbHandle, uint32 inNumberOfIndexes, const CSSM_DB_SCHEMA_INDEX_INFO &inIndexInfo) { - secdebug("dbsession", "CreateRelation from handle %ld of record type %X with relation name %s", inDbHandle, inRelationID, inRelationName); - secdebug("dbsession", "number of attributes = %d", inNumberOfAttributes); + secinfo("dbsession", "CreateRelation from handle %ld of record type %X with relation name %s", inDbHandle, inRelationID, inRelationName); + secinfo("dbsession", "number of attributes = %d", inNumberOfAttributes); #ifndef NDEBUG unsigned n; for (n = 0; n < inNumberOfAttributes; ++n) { - secdebug("dbsession", "%d: id %d name %s, data type %d", n, inAttributeInfo[n].AttributeId, + secinfo("dbsession", "%d: id %d name %s, data type %d", n, inAttributeInfo[n].AttributeId, inAttributeInfo[n].AttributeName, inAttributeInfo[n].DataType); } #endif - secdebug("dbsession", "number of indexes: %d", inNumberOfIndexes); + secinfo("dbsession", "number of indexes: %d", inNumberOfIndexes); #ifndef NDEBUG for (n = 0; n < inNumberOfIndexes; ++n) { - secdebug("dbsession", "%d: id %d indexid %d indextype %d location %d", n, inIndexInfo.AttributeId, + secinfo("dbsession", "%d: id %d indexid %d indextype %d location %d", n, inIndexInfo.AttributeId, inIndexInfo.IndexedDataLocation, inIndexInfo.IndexId, inIndexInfo.IndexType); @@ -242,17 +233,15 @@ DatabaseSession::CreateRelation(CSSM_DB_HANDLE inDbHandle, return aDbContext.mDatabase.createRelation(aDbContext, inRelationID, inRelationName, inNumberOfAttributes, inAttributeInfo, inNumberOfIndexes, inIndexInfo); - secdebug("dbsession", "********************"); } void DatabaseSession::DestroyRelation(CSSM_DB_HANDLE inDbHandle, CSSM_DB_RECORDTYPE inRelationID) { - secdebug("dbsession", "DestroyRelation (handle %ld) %d", inDbHandle, inRelationID); + secinfo("dbsession", "DestroyRelation (handle %ld) %d", inDbHandle, inRelationID); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.destroyRelation(aDbContext, inRelationID); - secdebug("dbsession", "********************"); } void @@ -260,10 +249,9 @@ DatabaseSession::Authenticate(CSSM_DB_HANDLE inDbHandle, CSSM_DB_ACCESS_TYPE inAccessRequest, const AccessCredentials &inAccessCred) { - secdebug("dbsession", "Authenticate (handle %ld) inAccessRequest %d", inDbHandle, inAccessRequest); + secinfo("dbsession", "Authenticate (handle %ld) inAccessRequest %d", inDbHandle, inAccessRequest); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.authenticate(aDbContext, inAccessRequest, inAccessCred); - secdebug("dbsession", "********************"); } @@ -273,10 +261,9 @@ DatabaseSession::GetDbAcl(CSSM_DB_HANDLE inDbHandle, uint32 &outNumberOfAclInfos, CSSM_ACL_ENTRY_INFO_PTR &outAclInfos) { - secdebug("dbsession", "GetDbAcl (handle %ld)", inDbHandle); + secinfo("dbsession", "GetDbAcl (handle %ld)", inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.getDbAcl(aDbContext, inSelectionTag, outNumberOfAclInfos, outAclInfos); - secdebug("dbsession", "********************"); } void @@ -284,20 +271,18 @@ DatabaseSession::ChangeDbAcl(CSSM_DB_HANDLE inDbHandle, const AccessCredentials &inAccessCred, const CSSM_ACL_EDIT &inAclEdit) { - secdebug("dbsession", "ChangeDbAcl (handle %ld)", inDbHandle); + secinfo("dbsession", "ChangeDbAcl (handle %ld)", inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.changeDbAcl(aDbContext, inAccessCred, inAclEdit); - secdebug("dbsession", "********************"); } void DatabaseSession::GetDbOwner(CSSM_DB_HANDLE inDbHandle, CSSM_ACL_OWNER_PROTOTYPE &outOwner) { - secdebug("dbsession", "GetDbOwner (handle %ld)", inDbHandle); + secinfo("dbsession", "GetDbOwner (handle %ld)", inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.getDbOwner(aDbContext, outOwner); - secdebug("dbsession", "********************"); } void @@ -305,21 +290,19 @@ DatabaseSession::ChangeDbOwner(CSSM_DB_HANDLE inDbHandle, const AccessCredentials &inAccessCred, const CSSM_ACL_OWNER_PROTOTYPE &inNewOwner) { - secdebug("dbsession", "ChangeDbOwner (handle %ld)", inDbHandle); + secinfo("dbsession", "ChangeDbOwner (handle %ld)", inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.changeDbOwner(aDbContext, inAccessCred, inNewOwner); - secdebug("dbsession", "********************"); } void DatabaseSession::GetDbNameFromHandle(CSSM_DB_HANDLE inDbHandle, char **outDbName) { - secdebug("dbsession", "GetDbNameFromHandle (handle %ld)", inDbHandle); + secinfo("dbsession", "GetDbNameFromHandle (handle %ld)", inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); Required(outDbName) = aDbContext.mDatabase.getDbNameFromHandle(aDbContext); - secdebug("dbsession", "name: %s", *outDbName); - secdebug("dbsession", "********************"); + secinfo("dbsession", "name: %s", *outDbName); } @@ -346,19 +329,19 @@ void DumpAttributeInfo(const CSSM_DB_ATTRIBUTE_INFO &info) break; } - secdebug("dbsession", " Attribute name type: %s", attrNameType); + secinfo("dbsession", " Attribute name type: %s", attrNameType); switch (info.AttributeFormat) { case CSSM_DB_ATTRIBUTE_NAME_AS_STRING: - secdebug("dbsession", " name: %s", info.Label.AttributeName); + secinfo("dbsession", " name: %s", info.Label.AttributeName); break; case CSSM_DB_ATTRIBUTE_NAME_AS_INTEGER: - secdebug("dbsession", " name: %d", info.Label.AttributeID); + secinfo("dbsession", " name: %d", info.Label.AttributeID); break; case CSSM_DB_ATTRIBUTE_NAME_AS_OID: - secdebug("dbsession", " name is oid"); + secinfo("dbsession", " name is oid"); break; } @@ -394,7 +377,7 @@ void DumpAttributeInfo(const CSSM_DB_ATTRIBUTE_INFO &info) break; } - secdebug("dbsession", " attribute format: %s", s); + secinfo("dbsession", " attribute format: %s", s); } @@ -403,20 +386,20 @@ void DumpAttributes(const CSSM_DB_RECORD_ATTRIBUTE_DATA *inAttributes) { if (!inAttributes) { - secdebug("dbsession", "No attributes defined."); + secinfo("dbsession", "No attributes defined."); return; } - secdebug("dbsession", "insert into %d", inAttributes->DataRecordType); - secdebug("dbsession", "Semantic information %d", inAttributes->SemanticInformation); - secdebug("dbsession", "Number of attributes: %d", inAttributes->NumberOfAttributes); + secinfo("dbsession", "insert into %d", inAttributes->DataRecordType); + secinfo("dbsession", "Semantic information %d", inAttributes->SemanticInformation); + secinfo("dbsession", "Number of attributes: %d", inAttributes->NumberOfAttributes); unsigned n; for (n = 0; n < inAttributes->NumberOfAttributes; ++n) { DumpAttributeInfo(inAttributes->AttributeData[n].Info); - secdebug("dbsession", "Attribute %d\n", n); - secdebug("dbsession", " number of values: %d", inAttributes->AttributeData[n].NumberOfValues); + secinfo("dbsession", "Attribute %d\n", n); + secinfo("dbsession", " number of values: %d", inAttributes->AttributeData[n].NumberOfValues); unsigned i; for (i = 0; i < inAttributes->AttributeData[n].NumberOfValues; ++i) { @@ -425,26 +408,26 @@ void DumpAttributes(const CSSM_DB_RECORD_ATTRIBUTE_DATA *inAttributes) case CSSM_DB_ATTRIBUTE_FORMAT_STRING: { std::string ss((char*) inAttributes->AttributeData[n].Value[i].Data, inAttributes->AttributeData[n].Value[i].Length); - secdebug("dbsession", " Value %d: %s", i, ss.c_str()); + secinfo("dbsession", " Value %d: %s", i, ss.c_str()); break; } case CSSM_DB_ATTRIBUTE_FORMAT_SINT32: - secdebug("dbsession", " Value %d: %d", i, *(sint32*)inAttributes->AttributeData[n].Value[i].Data); + secinfo("dbsession", " Value %d: %d", i, *(sint32*)inAttributes->AttributeData[n].Value[i].Data); break; case CSSM_DB_ATTRIBUTE_FORMAT_UINT32: - secdebug("dbsession", " Value %d: %u", i, *(uint32*)inAttributes->AttributeData[n].Value[i].Data); + secinfo("dbsession", " Value %d: %u", i, *(uint32*)inAttributes->AttributeData[n].Value[i].Data); break; case CSSM_DB_ATTRIBUTE_FORMAT_BIG_NUM: - secdebug("dbsession", " Value %d: (bignum)", i); + secinfo("dbsession", " Value %d: (bignum)", i); break; case CSSM_DB_ATTRIBUTE_FORMAT_REAL: - secdebug("dbsession", " Value %d: %f", i, *(double*)inAttributes->AttributeData[n].Value[i].Data); + secinfo("dbsession", " Value %d: %f", i, *(double*)inAttributes->AttributeData[n].Value[i].Data); break; case CSSM_DB_ATTRIBUTE_FORMAT_TIME_DATE: - secdebug("dbsession", " Value %d: %s", i, (char*)inAttributes->AttributeData[n].Value[i].Data); + secinfo("dbsession", " Value %d: %s", i, (char*)inAttributes->AttributeData[n].Value[i].Data); break; case CSSM_DB_ATTRIBUTE_FORMAT_BLOB: - secdebug("dbsession", " Value %d: (blob)", i); + secinfo("dbsession", " Value %d: (blob)", i); break; case CSSM_DB_ATTRIBUTE_FORMAT_MULTI_UINT32: { @@ -453,14 +436,14 @@ void DumpAttributes(const CSSM_DB_RECORD_ATTRIBUTE_DATA *inAttributes) for (j = 0; j < numInts; ++j) { uint32* nums = (uint32*) inAttributes->AttributeData[n].Value[i].Data; - secdebug("dbsession", " %d", nums[j]); + secinfo("dbsession", " %d", nums[j]); } break; } case CSSM_DB_ATTRIBUTE_FORMAT_COMPLEX: - secdebug("dbsession", " Value %d: (complex)", i); + secinfo("dbsession", " Value %d: (complex)", i); break; } } @@ -490,7 +473,7 @@ DumpUniqueRecord(const CSSM_DB_UNIQUE_RECORD &record) } } - secdebug("dbsession", "RecordLocator.IndexType: %s", s); + secinfo("dbsession", "RecordLocator.IndexType: %s", s); switch (record.RecordLocator.IndexedDataLocation) { @@ -513,9 +496,9 @@ DumpUniqueRecord(const CSSM_DB_UNIQUE_RECORD &record) } } - secdebug("dbsession", "RecordLocator.IndexedDataLocation: %s", s); + secinfo("dbsession", "RecordLocator.IndexedDataLocation: %s", s); - secdebug("dbsession", "Attribute info:"); + secinfo("dbsession", "Attribute info:"); DumpAttributeInfo(record.RecordLocator.Info); */ @@ -530,7 +513,7 @@ DumpUniqueRecord(const CSSM_DB_UNIQUE_RECORD &record) output += hexBuffer; } - secdebug("dbsession", " RecordIdentifier.Data: %s", output.c_str()); + secinfo("dbsession", " RecordIdentifier.Data: %s", output.c_str()); } #endif /* NDEBUG */ @@ -541,16 +524,14 @@ DatabaseSession::DataInsert(CSSM_DB_HANDLE inDbHandle, const CssmData *inData, CSSM_DB_UNIQUE_RECORD_PTR &outUniqueId) { - secdebug("dbsession", "%p DataInsert(%lx,%x)", this, inDbHandle, inRecordType); + secinfo("dbsession", "%p DataInsert(%lx,%x)", this, inDbHandle, inRecordType); DbContext &aDbContext = findDbContext(inDbHandle); outUniqueId = aDbContext.mDatabase.dataInsert(aDbContext, inRecordType, inAttributes, inData); #ifndef NDEBUG - secdebug("dbsession", "Returned unique id:"); + secinfo("dbsession", "Returned unique id:"); DumpUniqueRecord(*outUniqueId); #endif - - secdebug("dbsession", "********************"); } @@ -558,15 +539,14 @@ void DatabaseSession::DataDelete(CSSM_DB_HANDLE inDbHandle, const CSSM_DB_UNIQUE_RECORD &inUniqueRecordIdentifier) { - secdebug("dbsession", "%p DataDelete(%lx)", this, inDbHandle); + secinfo("dbsession", "%p DataDelete(%lx)", this, inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.dataDelete(aDbContext, inUniqueRecordIdentifier); #ifndef NDEBUG - secdebug("dbsession", "Record identifier:"); + secinfo("dbsession", "Record identifier:"); DumpUniqueRecord(inUniqueRecordIdentifier); #endif - secdebug("dbsession", "********************"); } @@ -578,15 +558,14 @@ DatabaseSession::DataModify(CSSM_DB_HANDLE inDbHandle, const CssmData *inDataToBeModified, CSSM_DB_MODIFY_MODE inModifyMode) { - secdebug("dbsession", "%p DataModify(%lx,%x)", this, inDbHandle, inRecordType); + secinfo("dbsession", "%p DataModify(%lx,%x)", this, inDbHandle, inRecordType); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.dataModify(aDbContext, inRecordType, inoutUniqueRecordIdentifier, inAttributesToBeModified, inDataToBeModified, inModifyMode); #ifndef NDEBUG - secdebug("dbsession", "Out record identifier:"); + secinfo("dbsession", "Out record identifier:"); DumpUniqueRecord(inoutUniqueRecordIdentifier); #endif - secdebug("dbsession", "********************"); } CSSM_HANDLE @@ -596,21 +575,20 @@ DatabaseSession::DataGetFirst(CSSM_DB_HANDLE inDbHandle, CssmData *inoutData, CSSM_DB_UNIQUE_RECORD_PTR &outUniqueId) { - secdebug("dbsession", "%p DataGetFirst(%lx)", this, inDbHandle); + secinfo("dbsession", "%p DataGetFirst(%lx)", this, inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); CSSM_HANDLE result = aDbContext.mDatabase.dataGetFirst(aDbContext, inQuery, inoutAttributes, inoutData, outUniqueId); #ifndef NDEBUG - secdebug("dbsession", "result handle: %lx", result); + secinfo("dbsession", "result handle: %lx", result); if (result != 0) { - secdebug("dbsession", "Returned ID:"); + secinfo("dbsession", "Returned ID:"); DumpUniqueRecord(*outUniqueId); } #endif - secdebug("dbsession", "********************"); return result; } @@ -621,7 +599,7 @@ DatabaseSession::DataGetNext(CSSM_DB_HANDLE inDbHandle, CssmData *inoutData, CSSM_DB_UNIQUE_RECORD_PTR &outUniqueRecord) { - secdebug("dbsession", "DataGetNext(%lx)", inDbHandle); + secinfo("dbsession", "DataGetNext(%lx)", inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); bool result = aDbContext.mDatabase.dataGetNext(aDbContext, inResultsHandle, inoutAttributes, @@ -630,12 +608,11 @@ DatabaseSession::DataGetNext(CSSM_DB_HANDLE inDbHandle, #ifndef NDEBUG if (result) { - secdebug("dbsession", "Returned ID:"); + secinfo("dbsession", "Returned ID:"); DumpUniqueRecord(*outUniqueRecord); } #endif - secdebug("dbsession", "********************"); return result; } @@ -643,10 +620,9 @@ void DatabaseSession::DataAbortQuery(CSSM_DB_HANDLE inDbHandle, CSSM_HANDLE inResultsHandle) { - secdebug("dbsession", "%p DataAbortQuery(%lx)", this, inDbHandle); + secinfo("dbsession", "%p DataAbortQuery(%lx)", this, inDbHandle); DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.dataAbortQuery(aDbContext, inResultsHandle); - secdebug("dbsession", "********************"); } void @@ -655,30 +631,28 @@ DatabaseSession::DataGetFromUniqueRecordId(CSSM_DB_HANDLE inDbHandle, CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR inoutAttributes, CssmData *inoutData) { - secdebug("dbsession", "%p DataGetFromUniqueId(%lx)", this, inDbHandle); + secinfo("dbsession", "%p DataGetFromUniqueId(%lx)", this, inDbHandle); #ifndef NDEBUG - secdebug("dbsession", "inUniqueRecord:"); + secinfo("dbsession", "inUniqueRecord:"); DumpUniqueRecord(inUniqueRecord); #endif DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.dataGetFromUniqueRecordId(aDbContext, inUniqueRecord, inoutAttributes, inoutData); - secdebug("dbsession", "********************"); } void DatabaseSession::FreeUniqueRecord(CSSM_DB_HANDLE inDbHandle, CSSM_DB_UNIQUE_RECORD &inUniqueRecordIdentifier) { - secdebug("dbsession", "FreeUniqueRecord: %lx", inDbHandle); + secinfo("dbsession", "FreeUniqueRecord: %lx", inDbHandle); #ifndef NDEBUG - secdebug("dbsession", "inUniqueRecordIdentifier follows:"); + secinfo("dbsession", "inUniqueRecordIdentifier follows:"); DumpUniqueRecord(inUniqueRecordIdentifier); #endif DbContext &aDbContext = findDbContext(inDbHandle); aDbContext.mDatabase.freeUniqueRecord(aDbContext, inUniqueRecordIdentifier); - secdebug("dbsession", "********************"); } void