X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/84aacf34eae6543be9f0280b2015385f91e5c2c6..b54c578e17e9bcbd74aa30ea75e25e955b9a6205:/OSX/utilities/src/der_array.c?ds=inline diff --git a/OSX/utilities/src/der_array.c b/OSX/utilities/src/der_array.c deleted file mode 100644 index 95eaf95e..00000000 --- a/OSX/utilities/src/der_array.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2012,2014 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@ - */ - - -#include - -#include "utilities/SecCFRelease.h" -#include "utilities/der_plist.h" -#include "utilities/der_plist_internal.h" - -#include -#include - - -const uint8_t* der_decode_array(CFAllocatorRef allocator, CFOptionFlags mutability, - CFArrayRef* array, CFErrorRef *error, - const uint8_t* der, const uint8_t *der_end) -{ - if (NULL == der) - return NULL; - - CFMutableArrayRef result = CFArrayCreateMutable(allocator, 0, &kCFTypeArrayCallBacks); - - const uint8_t *elements_end; - const uint8_t *current_element = ccder_decode_sequence_tl(&elements_end, der, der_end); - - while (current_element != NULL && current_element < elements_end) { - CFPropertyListRef element = NULL; - current_element = der_decode_plist(allocator, mutability, &element, error, current_element, elements_end); - if (current_element) { - CFArrayAppendValue(result, element); - CFReleaseNull(element); - } - } - - if (current_element) { - *array = result; - result = NULL; - } - - CFReleaseNull(result); - return current_element; -} - - -size_t der_sizeof_array(CFArrayRef data, CFErrorRef *error) -{ - size_t body_size = 0; - for(CFIndex position = CFArrayGetCount(data) - 1; - position >= 0; - --position) - { - body_size += der_sizeof_plist(CFArrayGetValueAtIndex(data, position), error); - } - return ccder_sizeof(CCDER_CONSTRUCTED_SEQUENCE, body_size); -} - - -uint8_t* der_encode_array(CFArrayRef array, CFErrorRef *error, - const uint8_t *der, uint8_t *der_end) -{ - uint8_t* original_der_end = der_end; - for(CFIndex position = CFArrayGetCount(array) - 1; - position >= 0; - --position) - { - der_end = der_encode_plist(CFArrayGetValueAtIndex(array, position), error, der, der_end); - } - - return ccder_encode_constructed_tl(CCDER_CONSTRUCTED_SEQUENCE, original_der_end, der, der_end); -}