X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..07691282a056c4efea71e1e505527601e8cc166b:/OSX/libsecurity_keychain/lib/PolicyCursor.cpp diff --git a/OSX/libsecurity_keychain/lib/PolicyCursor.cpp b/OSX/libsecurity_keychain/lib/PolicyCursor.cpp index aa12338f..d8db218b 100644 --- a/OSX/libsecurity_keychain/lib/PolicyCursor.cpp +++ b/OSX/libsecurity_keychain/lib/PolicyCursor.cpp @@ -42,26 +42,29 @@ struct TheOneTP : public TP { }; static ModuleNexus theOneTP; -static const CssmOid *theOidList[] = { - static_cast(&CSSMOID_APPLE_ISIGN), - static_cast(&CSSMOID_APPLE_X509_BASIC), - static_cast(&CSSMOID_APPLE_TP_SSL), - static_cast(&CSSMOID_APPLE_TP_SMIME), - static_cast(&CSSMOID_APPLE_TP_EAP), - static_cast(&CSSMOID_APPLE_TP_SW_UPDATE_SIGNING), - static_cast(&CSSMOID_APPLE_TP_IP_SEC), - static_cast(&CSSMOID_APPLE_TP_ICHAT), - static_cast(&CSSMOID_APPLE_TP_RESOURCE_SIGN), - static_cast(&CSSMOID_APPLE_TP_PKINIT_CLIENT), - static_cast(&CSSMOID_APPLE_TP_PKINIT_SERVER), - static_cast(&CSSMOID_APPLE_TP_CODE_SIGNING), - static_cast(&CSSMOID_APPLE_TP_PACKAGE_SIGNING), - static_cast(&CSSMOID_APPLE_TP_REVOCATION_CRL), - static_cast(&CSSMOID_APPLE_TP_REVOCATION_OCSP), - static_cast(&CSSMOID_APPLE_TP_MACAPPSTORE_RECEIPT), - static_cast(&CSSMOID_APPLE_TP_APPLEID_SHARING), - static_cast(&CSSMOID_APPLE_TP_TIMESTAMPING), - NULL // sentinel +static const CssmOid** theOidList() { + static const CssmOid* list[] = { + static_cast(&CSSMOID_APPLE_ISIGN), + static_cast(&CSSMOID_APPLE_X509_BASIC), + static_cast(&CSSMOID_APPLE_TP_SSL), + static_cast(&CSSMOID_APPLE_TP_SMIME), + static_cast(&CSSMOID_APPLE_TP_EAP), + static_cast(&CSSMOID_APPLE_TP_SW_UPDATE_SIGNING), + static_cast(&CSSMOID_APPLE_TP_IP_SEC), + static_cast(&CSSMOID_APPLE_TP_ICHAT), + static_cast(&CSSMOID_APPLE_TP_RESOURCE_SIGN), + static_cast(&CSSMOID_APPLE_TP_PKINIT_CLIENT), + static_cast(&CSSMOID_APPLE_TP_PKINIT_SERVER), + static_cast(&CSSMOID_APPLE_TP_CODE_SIGNING), + static_cast(&CSSMOID_APPLE_TP_PACKAGE_SIGNING), + static_cast(&CSSMOID_APPLE_TP_REVOCATION_CRL), + static_cast(&CSSMOID_APPLE_TP_REVOCATION_OCSP), + static_cast(&CSSMOID_APPLE_TP_MACAPPSTORE_RECEIPT), + static_cast(&CSSMOID_APPLE_TP_APPLEID_SHARING), + static_cast(&CSSMOID_APPLE_TP_TIMESTAMPING), + NULL // sentinel + }; + return list; }; @@ -94,13 +97,13 @@ bool PolicyCursor::next(SecPointer &policy) { StLock_(mMutex); - while (theOidList[mSearchPos]) { - if (mOidGiven && mOid != *theOidList[mSearchPos]) { + while (theOidList()[mSearchPos]) { + if (mOidGiven && mOid != *(theOidList()[mSearchPos])) { mSearchPos++; continue; // no oid match } // ignoring mValue - not used by current TP - policy = new Policy(theOneTP(), *theOidList[mSearchPos]); + policy = new Policy(theOneTP(), *(theOidList()[mSearchPos])); mSearchPos++; // advance cursor return true; // return next match }