X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5dd5f9ec28f304ca377c42fd7f711d6cf12b90e1..5c19dc3ae3bd8e40a9c028b0deddd50ff337692c:/Security/libsecurity_cdsa_client/lib/dl_standard.cpp diff --git a/Security/libsecurity_cdsa_client/lib/dl_standard.cpp b/Security/libsecurity_cdsa_client/lib/dl_standard.cpp deleted file mode 100644 index 4c11ba11..00000000 --- a/Security/libsecurity_cdsa_client/lib/dl_standard.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (c) 2000-2004,2011,2014 Apple 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 CssmClient { - - -// -// CDSA Common relation (one record per module) -// -static const char * const commonAttributes[] = { - "PrintName", - "Alias", - NULL -}; -DLCommonFields::DLCommonFields(const char * const * names) - : Record(commonAttributes) -{ - addAttributes(names); -} - -string DLCommonFields::printName() const { return mAttributes[0]; } -string DLCommonFields::alias() const - { return mAttributes[1].size() ? string(mAttributes[1]) : "(no value)"; } - - -// -// The all-record-types pseudo-record -// -AllDLRecords::AllDLRecords() - : DLCommonFields(NULL) -{ } - - -// -// CDSA Generic record attributes -// -static const char * const genericAttributes[] = { - NULL -}; -GenericRecord::GenericRecord() - : DLCommonFields(genericAttributes) -{ -} - - -// -// Apple "Generic Password" records -// -static const char * const genericPasswordAttributes[] = { - // if you find yourself here, you should add the attributes and their functions - NULL -}; -GenericPasswordRecord::GenericPasswordRecord() - : DLCommonFields(genericPasswordAttributes) -{ -} - - -// -// Common key attributes -// -static const char * const keyAttributes[] = { - "KeyClass", - "KeyType", - "KeySizeInBits", - "EffectiveKeySize", - "Label", - "ApplicationTag", - "Permanent", - "Private", - "Modifiable", - "Sensitive", - "AlwaysSensitive", - "Extractable", - "NeverExtractable", - "Encrypt", - "Decrypt", - "Derive", - "Sign", - "Verify", - "Wrap", - "Unwrap", - NULL -}; - -KeyRecord::KeyRecord() - : DLCommonFields(keyAttributes) -{ -} - -uint32 KeyRecord::keyClass() const { return mAttributes[2]; } -uint32 KeyRecord::type() const { return mAttributes[3]; } -uint32 KeyRecord::size() const { return mAttributes[4]; } -uint32 KeyRecord::effectiveSize() const { return mAttributes[5]; } -const CssmData &KeyRecord::label() const { return mAttributes[6]; } -const CssmData &KeyRecord::applicationTag() const { return mAttributes[7]; } -bool KeyRecord::isPermanent() const { return mAttributes[8]; } -bool KeyRecord::isPrivate() const { return mAttributes[9]; } -bool KeyRecord::isModifiable() const { return mAttributes[10]; } -bool KeyRecord::isSensitive() const { return mAttributes[11]; } -bool KeyRecord::wasAlwaysSensitive() const { return mAttributes[12]; } -bool KeyRecord::isExtractable() const { return mAttributes[13]; } -bool KeyRecord::wasNeverExtractable() const { return mAttributes[14]; } -bool KeyRecord::canEncrypt() const { return mAttributes[15]; } -bool KeyRecord::canDecrypt() const { return mAttributes[16]; } -bool KeyRecord::canDerive() const { return mAttributes[17]; } -bool KeyRecord::canSign() const { return mAttributes[18]; } -bool KeyRecord::canVerify() const { return mAttributes[19]; } -bool KeyRecord::canWrap() const { return mAttributes[20]; } -bool KeyRecord::canUnwrap() const { return mAttributes[21]; } - - -// -// Certificate attributes -// -static const char * const certAttributes[] = { - "CertType", - "CertEncoding", - "Subject", - "Issuer", - "SerialNumber", - "SubjectKeyIdentifier", - "PublicKeyHash", - NULL -}; - -X509CertRecord::X509CertRecord() - : DLCommonFields(certAttributes) -{ -} - -CSSM_CERT_TYPE X509CertRecord::type() const { return mAttributes[2]; } -CSSM_CERT_ENCODING X509CertRecord::encoding() const { return mAttributes[3]; } -const CssmData &X509CertRecord::subject() const { return mAttributes[4]; } -const CssmData &X509CertRecord::issuer() const { return mAttributes[5]; } -const CssmData &X509CertRecord::serial() const { return mAttributes[6]; } -const CssmData &X509CertRecord::subjectKeyIdentifier() const { return mAttributes[7]; } -const CssmData &X509CertRecord::publicKeyHash() const { return mAttributes[8]; } - - -// -// UnlockReferral attributes -// -static const char * const unlockReferralAttributes[] = { - "Type", - "DbName", - "DbNetname", - "DbGuid", - "DbSSID", - "DbSSType", - "KeyLabel", - "KeyAppTag", - NULL -}; - -UnlockReferralRecord::UnlockReferralRecord() - : DLCommonFields(unlockReferralAttributes) -{ -} - -uint32 UnlockReferralRecord::type() const { return mAttributes[2]; } -string UnlockReferralRecord::dbName() const { return mAttributes[3]; } -const CssmData &UnlockReferralRecord::dbNetname() const { return mAttributes[4]; } -const Guid &UnlockReferralRecord::dbGuid() const { return mAttributes[5]; } -uint32 UnlockReferralRecord::dbSSID() const { return mAttributes[6]; } -uint32 UnlockReferralRecord::dbSSType() const { return mAttributes[7]; } -const CssmData &UnlockReferralRecord::keyLabel() const { return mAttributes[8]; } -const CssmData &UnlockReferralRecord::keyApplicationTag() const { return mAttributes[9]; } - - -} // end namespace CssmClient -} // end namespace Security