X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b04fe171f0375ecd5d8a24747ca1dff85720a0ca..refs/heads/master:/OSX/libsecurity_keychain/lib/SecBridge.h?ds=inline diff --git a/OSX/libsecurity_keychain/lib/SecBridge.h b/OSX/libsecurity_keychain/lib/SecBridge.h index 7cfad673..c9e39bf9 100644 --- a/OSX/libsecurity_keychain/lib/SecBridge.h +++ b/OSX/libsecurity_keychain/lib/SecBridge.h @@ -26,13 +26,17 @@ #include #include -#include "SecBasePriv.h" +#include #include #include #include +#include "LegacyAPICounts.h" using namespace KeychainCore; +#define COUNTLEGACYAPI static dispatch_once_t countToken; \ + countLegacyAPI(&countToken, __FUNCTION__); + // // API boilerplate macros. These provide a frame for C++ code that is impermeable to exceptions. // Usage: @@ -46,6 +50,8 @@ using namespace KeychainCore; // #define BEGIN_SECAPI \ OSStatus __secapiresult = errSecSuccess; \ + static dispatch_once_t countToken; \ + countLegacyAPI(&countToken, __FUNCTION__); \ try { #define END_SECAPI }\ catch (const MacOSError &err) { __secapiresult=err.osStatus(); } \ @@ -71,9 +77,10 @@ using namespace KeychainCore; // BEGIN_SECKCITEMAPI // Note: this macro assumes an input parameter named "itemRef" // -#if SECTRUST_OSX #define BEGIN_SECKCITEMAPI \ OSStatus __secapiresult=errSecSuccess; \ + static dispatch_once_t countToken; \ + countLegacyAPI(&countToken, __FUNCTION__); \ SecKeychainItemRef __itemImplRef=NULL; \ bool __is_certificate=(itemRef && (CFGetTypeID(itemRef) == SecCertificateGetTypeID())); \ if (__is_certificate) { \ @@ -90,12 +97,7 @@ using namespace KeychainCore; __itemImplRef=(SecKeychainItemRef)((itemRef) ? CFRetain(itemRef) : NULL); \ } \ try { -#else -#define BEGIN_SECKCITEMAPI \ - OSStatus __secapiresult=errSecSuccess; \ - SecKeychainItemRef __itemImplRef=(SecKeychainItemRef)((itemRef) ? CFRetain(itemRef) : NULL); \ - try { -#endif + // // END_SECKCITEMAPI // @@ -112,21 +114,17 @@ using namespace KeychainCore; // BEGIN_SECCERTAPI // Note: this macro assumes an input parameter named "certificate" // -#if SECTRUST_OSX #define BEGIN_SECCERTAPI \ OSStatus __secapiresult=errSecSuccess; \ + static dispatch_once_t countToken; \ + countLegacyAPI(&countToken, __FUNCTION__); \ SecCertificateRef __itemImplRef=NULL; \ if (SecCertificateIsItemImplInstance(certificate)) { __itemImplRef=(SecCertificateRef)CFRetain(certificate); } \ if (!__itemImplRef && certificate) { __itemImplRef=(SecCertificateRef)SecCertificateCopyKeychainItem(certificate); } \ if (!__itemImplRef && certificate) { __itemImplRef=SecCertificateCreateItemImplInstance(certificate); \ (void)SecCertificateSetKeychainItem(certificate,__itemImplRef); } \ try { -#else -#define BEGIN_SECCERTAPI \ - OSStatus __secapiresult=errSecSuccess; \ - SecCertificateRef __itemImplRef=(SecCertificateRef)((certificate)?CFRetain(certificate):NULL); \ - try { -#endif + // // END_SECCERTAPI //