xref: /xnu-8020.140.41/osfmk/corecrypto/ccdigest_init.c (revision 27b03b360a988dfd3dfdf34262bb0042026747cc)
1 /*
2  *  ccdigest_init.c
3  *  corecrypto
4  *
5  *  Created on 11/30/2010
6  *
7  *  Copyright (c) 2010,2011,2015 Apple Inc. All rights reserved.
8  *
9  *
10  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
11  *
12  * This file contains Original Code and/or Modifications of Original Code
13  * as defined in and that are subject to the Apple Public Source License
14  * Version 2.0 (the 'License'). You may not use this file except in
15  * compliance with the License. The rights granted to you under the License
16  * may not be used to create, or enable the creation or redistribution of,
17  * unlawful or unlicensed copies of an Apple operating system, or to
18  * circumvent, violate, or enable the circumvention or violation of, any
19  * terms of an Apple operating system software license agreement.
20  *
21  * Please obtain a copy of the License at
22  * http://www.opensource.apple.com/apsl/ and read it before using this file.
23  *
24  * The Original Code and all software distributed under the License are
25  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
26  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
27  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
28  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
29  * Please see the License for the specific language governing rights and
30  * limitations under the License.
31  *
32  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
33  */
34 
35 #include <corecrypto/ccdigest_priv.h>
36 #include <corecrypto/cc_priv.h>
37 #include <corecrypto/ccmd4.h>
38 
39 #if 0
40 #if CC_LOGGING_AVAILABLE
41 #if CC_FEATURE_FLAGS_AVAILABLE
42 
43 #include "cclog_internal.h"
44 #include <os/feature_private.h>
45 
46 static void
47 log_trace(const struct ccdigest_info *di)
48 {
49 	if (!CC_FEATURE_ENABLED(ccdigest_logging)) {
50 		return;
51 	}
52 
53 	if (ccdigest_oid_equal(di, CC_DIGEST_OID_MD2)) {
54 		cclog_error_backtrace(CCLOG_CATEGORY_DEFAULT, "trace: md2");
55 	} else if (ccdigest_oid_equal(di, CC_DIGEST_OID_MD4)) {
56 		cclog_error_backtrace(CCLOG_CATEGORY_DEFAULT, "trace: md4");
57 	} else if (ccdigest_oid_equal(di, CC_DIGEST_OID_MD5)) {
58 		cclog_error_backtrace(CCLOG_CATEGORY_ALGORITHM_MD5, "trace: md5");
59 	} else if (ccdigest_oid_equal(di, CC_DIGEST_OID_SHA1)) {
60 		cclog_error_backtrace(CCLOG_CATEGORY_ALGORITHM_SHA1, "trace: sha1");
61 	} else if (ccdigest_oid_equal(di, CC_DIGEST_OID_RMD160)) {
62 		cclog_error_backtrace(CCLOG_CATEGORY_DEFAULT, "trace: rmd160");
63 	}
64 }
65 
66 #endif // CC_FEATURE_FLAGS_AVAILABLE
67 #endif // CC_LOGGING_AVAILABLE
68 #endif
69 
70 void
ccdigest_init(const struct ccdigest_info * di,ccdigest_ctx_t ctx)71 ccdigest_init(const struct ccdigest_info *di, ccdigest_ctx_t ctx)
72 {
73 #if 0
74 #if CC_LOGGING_AVAILABLE
75 #if CC_FEATURE_FLAGS_AVAILABLE
76 	log_trace(di);
77 #endif // CC_FEATURE_FLAGS_AVAILABLE
78 #endif // CC_LOGGING_AVAILABLE
79 #endif
80 
81 	ccdigest_copy_state(di, ccdigest_state_ccn(di, ctx), di->initial_state);
82 	ccdigest_nbits(di, ctx) = 0;
83 	ccdigest_num(di, ctx) = 0;
84 }
85