X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/dd5fb164cf5b32c462296bc65e289e100f74b59a..8a50f688fe9358387648fb83fbfecbefe8d32669:/OSX/libsecurity_keychain/lib/SecFrameworkP.c?ds=inline diff --git a/OSX/libsecurity_keychain/lib/SecFrameworkP.c b/OSX/libsecurity_keychain/lib/SecFrameworkP.c deleted file mode 100644 index febe7c1b..00000000 --- a/OSX/libsecurity_keychain/lib/SecFrameworkP.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (c) 2006-2015 Apple Inc. All Rights Reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The 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. - * - * @APPLE_LICENSE_HEADER_END@ - */ - -/* - * SecFramework.c - generic non API class specific functions - */ - - -#include "SecFrameworkP.h" -#include -#include -#include -#if 0 -#include "SecRandomP.h" -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -/* Security framework's own bundle used for localized string lookups. */ -static CFBundleRef kSecFrameworkBundle; -static pthread_once_t kSecFrameworkBundleLookup = PTHREAD_ONCE_INIT; - -static void SecFrameworkBundleLookup(void) { - // figure out the path to our executable - Dl_info info; - dladdr("", &info); - - // make a file URL from the returned string - CFURLRef urlRef = CFURLCreateFromFileSystemRepresentation(NULL, (const UInt8*) info.dli_fname, strlen(info.dli_fname), false); - kSecFrameworkBundle = _CFBundleCreateWithExecutableURLIfLooksLikeBundle(NULL, urlRef); - CFRelease(urlRef); - - if (kSecFrameworkBundle) - CFRetain(kSecFrameworkBundle); -} - -CFStringRef SecFrameworkCopyLocalizedString(CFStringRef key, - CFStringRef tableName) { - pthread_once(&kSecFrameworkBundleLookup, SecFrameworkBundleLookup); - if (kSecFrameworkBundle) { - return CFBundleCopyLocalizedString(kSecFrameworkBundle, key, key, - tableName); - } - - CFRetain(key); - return key; -} - -CFURLRef SecFrameworkCopyResourceURL(CFStringRef resourceName, - CFStringRef resourceType, CFStringRef subDirName) { - CFURLRef url = NULL; - pthread_once(&kSecFrameworkBundleLookup, SecFrameworkBundleLookup); - if (kSecFrameworkBundle) { - url = CFBundleCopyResourceURL(kSecFrameworkBundle, resourceName, - resourceType, subDirName); - if (!url) { - secinfo("SecFramework", "resource: %@.%@ in %@ not found", resourceName, - resourceType, subDirName); - } - } - - return url; -} - - -CFDataRef SecFrameworkCopyResourceContents(CFStringRef resourceName, - CFStringRef resourceType, CFStringRef subDirName) { - CFURLRef url = SecFrameworkCopyResourceURL(resourceName, resourceType, - subDirName); - CFDataRef data = NULL; - if (url) { - SInt32 error; - if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault, - url, &data, NULL, NULL, &error)) { - secinfo("SecFramework", "read: %d", (int)error); - } - CFRelease(url); - } - - return data; -} - -/* Return the SHA1 digest of a chunk of data as newly allocated CFDataRef. */ -CFDataRef SecSHA1DigestCreate(CFAllocatorRef allocator, - const UInt8 *data, CFIndex length) { - CFMutableDataRef digest = CFDataCreateMutable(allocator, - CC_SHA1_DIGEST_LENGTH); - CFDataSetLength(digest, CC_SHA1_DIGEST_LENGTH); - CC_SHA1(data, (CC_LONG)length, CFDataGetMutableBytePtr(digest)); - return digest; -} - -#if 0 -CFDataRef SecDigestCreate(CFAllocatorRef allocator, - const SecAsn1Oid *algorithm, const SecAsn1Item *params, - const UInt8 *data, CFIndex length) { - unsigned char *(*digestFcn)(const void *data, CC_LONG len, unsigned char *md); - CFIndex digestLen; - - if (SecAsn1OidCompare(algorithm, &CSSMOID_SHA1)) { - digestFcn = CC_SHA1; - digestLen = CC_SHA1_DIGEST_LENGTH; - } else if (SecAsn1OidCompare(algorithm, &CSSMOID_SHA224)) { - digestFcn = CC_SHA224; - digestLen = CC_SHA224_DIGEST_LENGTH; - } else if (SecAsn1OidCompare(algorithm, &CSSMOID_SHA256)) { - digestFcn = CC_SHA256; - digestLen = CC_SHA256_DIGEST_LENGTH; - } else if (SecAsn1OidCompare(algorithm, &CSSMOID_SHA384)) { - digestFcn = CC_SHA384; - digestLen = CC_SHA384_DIGEST_LENGTH; - } else if (SecAsn1OidCompare(algorithm, &CSSMOID_SHA512)) { - digestFcn = CC_SHA512; - digestLen = CC_SHA512_DIGEST_LENGTH; - } else { - return NULL; - } - - CFMutableDataRef digest = CFDataCreateMutable(allocator, digestLen); - CFDataSetLength(digest, digestLen); - digestFcn(data, length, CFDataGetMutableBytePtr(digest)); - return digest; -} -#endif