]> git.saurik.com Git - apple/security.git/blobdiff - OSX/utilities/src/SecPaddingConfigurations.c
Security-59306.11.20.tar.gz
[apple/security.git] / OSX / utilities / src / SecPaddingConfigurations.c
diff --git a/OSX/utilities/src/SecPaddingConfigurations.c b/OSX/utilities/src/SecPaddingConfigurations.c
deleted file mode 100644 (file)
index c20e38e..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2017 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@
- */
-
-#define SecPaddingDomain CFSTR("com.apple.security.padding")
-
-typedef enum {
-       SecPaddingErrorUnknownType     = -1
-} SecPaddingError;
-
-#include "debugging.h"
-#include "SecCFError.h"
-#include "SecCFWrappers.h"
-#include "SecPaddingConfigurationsPriv.h"
-
-#pragma mark Padding Helper Methods
-
-// Compute the next power of two
-// Requires: v <= UINT64_MAX/2
-static uint64_t nextPowerOfTwo(uint64_t v)
-{
-       if (v > (UINT64_MAX>>1)) {
-               secerror("Overflowing uint64_t by requesting nextPowerOfTwo of: %llx", v);
-               assert(0);
-       }
-       if (v & (v - 1)) {
-               // Not already a power of 2
-               return ((uint64_t)1 << ((int)sizeof(v)*8 - __builtin_clzll(v)));
-       } else {
-               // Already a power of 2
-               return v;
-       }
-}
-
-// Round to a multiple of n
-// Requires: v+n <= UINT64_MAX
-static uint64_t nextMultiple(uint64_t v,uint64_t n)
-{
-       // Multiples of 0 are 0. Preventing division by 0.
-       if (n == 0) {
-               return 0;
-       }
-
-       if (n <= 0 || v > (UINT64_MAX-n)) {
-               secerror("Overflowing uint64_t by requesting nextMutiple with parameters v: %llx and n: %llx", v, n);
-               assert(0);
-       }
-       return n*((v+n-1)/n);
-}
-
-#pragma mark Padding Configurations
-
-int64_t SecPaddingCompute(SecPaddingType type, uint32_t size, CFErrorRef *error) {
-       if (type != SecPaddingTypeMMCS) {
-               if (error) {
-                       *error = CFErrorCreate(CFAllocatorGetDefault(), SecPaddingDomain, SecPaddingErrorUnknownType, NULL);
-               }
-               return SecPaddingErrorUnknownType;
-       }
-
-       int64_t paddedSize = 0;
-
-       if (size <= 64){
-               paddedSize = 64;
-       } else if (size <= 1024) {
-               paddedSize = nextPowerOfTwo(size);
-       } else if (size <= 32000) {
-               paddedSize = nextMultiple(size, 1024);
-       } else {
-               paddedSize = nextMultiple(size, 8192);
-       }
-       
-       assert(paddedSize >= size);
-       return paddedSize - size;
-}