X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/80e2389990082500d76eb566d4946be3e786c3ef..d8f41ccd20de16f8ebe2ccc84d47bf1cb2b26bbb:/libsecurity_cdsa_client/lib/mds_standard.cpp?ds=inline diff --git a/libsecurity_cdsa_client/lib/mds_standard.cpp b/libsecurity_cdsa_client/lib/mds_standard.cpp deleted file mode 100644 index 5c2eb46a..00000000 --- a/libsecurity_cdsa_client/lib/mds_standard.cpp +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Copyright (c) 2000-2004 Apple Computer, Inc. All Rights Reserved. - * - * The contents of this file constitute Original Code as defined in and are - * subject to the Apple Public Source License Version 1.2 (the 'License'). - * You may not use this file except in compliance with the License. Please obtain - * a copy of the License at http://www.apple.com/publicsource and read it before - * using this file. - * - * This Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS - * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT - * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the - * specific language governing rights and limitations under the License. - */ - - -// -// mds_standard - standard-defined MDS record types -// -#include -#include - - -namespace Security { -namespace MDSClient { - - -// -// CDSA Common relation (one record per module) -// -static const char * const commonAttributes[] = { - "ModuleID", - "ModuleName", - "Path", - "Desc", - "DynamicFlag", - "MultiThreadFlag", - "ServiceMask", - NULL -}; -Common::Common() : Record(commonAttributes) { } - -string Common::moduleID() const { return mAttributes[0]; } -string Common::moduleName() const { return mAttributes[1]; } -string Common::path() const { return mAttributes[2]; } -string Common::description() const { return mAttributes[3]; } -bool Common::dynamic() const { return mAttributes[4]; } -bool Common::singleThreaded() const { return !mAttributes[5]; } -CSSM_SERVICE_MASK Common::serviceMask() const { return mAttributes[6]; } - - -// -// Common::Carrier draws in the Common fields for anything with -// a ModuleID attribute (which must be the first attribute listed) -// -Common::Carrier::~Carrier() { } - -Common &Common::Carrier::common() const -{ - if (!mCommon) { - const CssmDbRecordAttributeData &attrs - = dynamic_cast(this)->attributes(); - RefPointer rpc; - rpc = Table(mds()).fetch( - Attribute("ModuleID") == string(attrs[0]), - CSSMERR_DL_ENDOFDATA); - mCommon = rpc; - } - return *mCommon; -} - - -// -// Attributes that are common to all primary relations -// -static const char * const primaryAttributes[] = { - "ModuleID", - "SSID", - "ModuleName", - "ProductVersion", - "Vendor", - NULL -}; -PrimaryRecord::PrimaryRecord(const char * const * names) - : Record(primaryAttributes) -{ - addAttributes(names); -} - -string PrimaryRecord::moduleID() const { return mAttributes[0]; } -uint32 PrimaryRecord::subserviceID() const { return mAttributes[1]; } -string PrimaryRecord::moduleName() const { return mAttributes[2]; } -string PrimaryRecord::productVersion() const { return mAttributes[3]; } -string PrimaryRecord::vendor() const { return mAttributes[4]; } - - -// -// CSP Primary relation (one record per CSP SSID) -// -static const char * const cspAttributes[] = { - // up to Vendor is handled by PrimaryRecord - "CspType", - "CspFlags", - NULL -}; -CSP::CSP() : PrimaryRecord(cspAttributes) { } - -uint32 CSP::cspType() const { return mAttributes[5]; } -CSSM_CSP_FLAGS CSP::cspFlags() const { return mAttributes[6]; } - - -// -// CSP capabilities relation -// -static const char * const capAttributes[] = { - "ModuleID", - "SSID", - "ContextType", - "AlgType", - "GroupId", - "AttributeType", - "Description", - NULL -}; -CSPCapabilities::CSPCapabilities() : Record(capAttributes) { } - -string CSPCapabilities::moduleID() const { return mAttributes[0]; } -uint32 CSPCapabilities::subserviceID() const { return mAttributes[1]; } -uint32 CSPCapabilities::contextType() const { return mAttributes[2]; } -uint32 CSPCapabilities::algorithm() const { return mAttributes[3]; } -uint32 CSPCapabilities::group() const { return mAttributes[4]; } -uint32 CSPCapabilities::attribute() const { return mAttributes[5]; } -string CSPCapabilities::description() const { return mAttributes[6]; } - - -// -// CSP SmartcardInfo relation (one record per smartcard token present) -// -static const char * const scAttributes[] = { - "ModuleID", - "SSID", - "ScDesc", - "ScVendor", - "ScVersion", - "ScFirmwareVersion", - "ScFlags", - "ScCustomFlags", - "ScSerialNumber", - NULL -}; -SmartcardInfo::SmartcardInfo() : Record(scAttributes) { } - -string SmartcardInfo::moduleID() const { return mAttributes[0]; } -uint32 SmartcardInfo::subserviceID() const { return mAttributes[1]; } -string SmartcardInfo::description() const { return mAttributes[2]; } -string SmartcardInfo::vendor() const { return mAttributes[3]; } -string SmartcardInfo::version() const { return mAttributes[4]; } -string SmartcardInfo::firmware() const { return mAttributes[5]; } -CSSM_SC_FLAGS SmartcardInfo::flags() const { return mAttributes[6]; } -CSSM_SC_FLAGS SmartcardInfo::customFlags() const { return mAttributes[7]; } -string SmartcardInfo::serial() const { return mAttributes[8]; } - - -// -// DL Primary relation (one record per DL SSID) -// -static const char * const dlAttributes[] = { - // up to Vendor is handled by PrimaryRecord - "DLType", - "QueryLimitsFlag", - NULL -}; -DL::DL() : PrimaryRecord(dlAttributes) { } - -uint32 DL::dlType() const { return mAttributes[5]; } -uint32 DL::queryLimits() const { return mAttributes[6]; } - - -// -// CL Primary relation (one record per CL SSID) -// -static const char * const clAttributes[] = { - // up to Vendor is handled by PrimaryRecord - "CertTypeFormat", - "CrlTypeFormat", - NULL -}; -CL::CL() : PrimaryRecord(clAttributes) { } - -uint32 CL::certTypeFormat() const { return mAttributes[5]; } -uint32 CL::crlTypeFormat() const { return mAttributes[6]; } - - -// -// TP Primary relation (one record per TP SSID) -// -static const char * const tpAttributes[] = { - // up to Vendor is handled by PrimaryRecord - "CertTypeFormat", - NULL -}; -TP::TP() : PrimaryRecord(tpAttributes) { } - -uint32 TP::certTypeFormat() const { return mAttributes[5]; } - - -// -// TP Policy-OIDS relation (one record per supported policy and TP) -// -static const char * const policyAttributes[] = { - "ModuleID", - "SSID", - "OID", - "Value", - NULL -}; -PolicyOids::PolicyOids() : Record(policyAttributes) { } - -string PolicyOids::moduleID() const { return mAttributes[0]; } -uint32 PolicyOids::subserviceID() const { return mAttributes[1]; } -CssmData PolicyOids::oid() const { return mAttributes[2]; } -CssmData PolicyOids::value() const { return mAttributes[3]; } - - -} // end namespace MDSClient -} // end namespace Security