]>
Commit | Line | Data |
---|---|---|
b1ab9ed8 | 1 | /* |
d8f41ccd | 2 | * Copyright (c) 2003-2004,2011,2014 Apple Inc. All Rights Reserved. |
b1ab9ed8 A |
3 | * |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
6 | * This file contains Original Code and/or Modifications of Original Code | |
7 | * as defined in and that are subject to the Apple Public Source License | |
8 | * Version 2.0 (the 'License'). You may not use this file except in | |
9 | * compliance with the License. Please obtain a copy of the License at | |
10 | * http://www.opensource.apple.com/apsl/ and read it before using this | |
11 | * file. | |
12 | * | |
13 | * The Original Code and all software distributed under the License are | |
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. | |
18 | * Please see the License for the specific language governing rights and | |
19 | * limitations under the License. | |
20 | * | |
21 | * @APPLE_LICENSE_HEADER_END@ | |
22 | */ | |
23 | ||
24 | ||
25 | #ifndef _KTRACE_CODES_H_ | |
26 | #define _KTRACE_CODES_H_ | |
27 | ||
28 | #include <security_utilities/debugging.h> | |
29 | #include <sys/kdebug.h> | |
30 | ||
31 | /* | |
32 | we format as follows (not really done this way because bitfields are compiler dependent): | |
33 | ||
34 | struct DebugCode | |
35 | { | |
36 | int DebugClass : 8; | |
37 | int SubClass : 8; | |
38 | int SecurityAppClass : 4; | |
39 | int SecurityCodeClass : 10; | |
40 | int FunctionQualifier : 2; | |
41 | }; | |
42 | */ | |
43 | ||
44 | // Define the following as macros to keep objective c happy. | |
45 | ||
46 | // define app class constants | |
47 | #define APP_DEBUG_CLASS 0x40 | |
48 | ||
49 | // define the sub class for security | |
50 | #define SECURITY_SUB_CLASS 0xAA | |
51 | ||
52 | // define the app classes used by security | |
53 | #define APP_CLASS_SFAUTHORIZATION 0 | |
54 | #define APP_CLASS_SECURITY_AGENT 1 | |
55 | #define APP_CLASS_AUTHORIZATION 2 | |
56 | #define APP_CLASS_SECURITY_SERVER 3 | |
57 | #define APP_CLASS_ADHOC 4 | |
58 | ||
59 | // define function qualifiers | |
60 | #define FUNCTION_START DBG_FUNC_START | |
61 | #define FUNCTION_END DBG_FUNC_END | |
62 | #define FUNCTION_TIMEPOINT DBG_FUNC_NONE | |
63 | ||
64 | // define SFAuthorization code class | |
65 | #define CODE_CLASS_SFAUTHORIZATION_BUTTON_PRESSED 0 | |
66 | #define CODE_CLASS_SFAUTHORIZATION_AUTHORIZATION 1 | |
67 | ||
68 | // define SecurityAgent code class | |
69 | #define CODE_CLASS_SECURITY_AGENT_START 0 | |
70 | #define CODE_CLASS_SECURITY_AGENT_STARTED_BY_SECURITY_SERVER 1 | |
71 | #define CODE_CLASS_SECURITY_AGENT_BEFORE_MECHANISM_INVOKE 2 | |
72 | #define CODE_CLASS_SECURITY_AGENT_CONFIRM_ACCESS 3 | |
73 | ||
74 | // define Authorization code classes | |
75 | #define CODE_CLASS_AUTHORIZATION_CREATE 0 | |
76 | #define CODE_CLASS_AUTHORIZATION_COPY_RIGHTS 1 | |
77 | #define CODE_CLASS_AUTHORIZATION_COPY_INFO 2 | |
78 | ||
79 | // define SecurityServer code classes | |
80 | #define CODE_CLASS_SECURITY_SERVER_INITIALIZE 0 | |
81 | ||
82 | // define adhoc code classes (may change by need) | |
83 | #define CODE_CLASS_ADHOC_FINDGENERICPASSWORD_BEGIN 0 | |
84 | #define CODE_CLASS_ADHOC_UCSP_CLIENT_BEGIN 1 | |
85 | #define CODE_CLASS_ADHOC_UCSP_SERVER_DECRYPT_BEGIN 2 | |
86 | #define CODE_CLASS_ADHOC_UCSP_QUERYKEYCHAINACCESS_BEGIN 3 | |
87 | ||
88 | // define SecurityServer code classes | |
89 | #define TRACECODE(_debugclass, _subclass, _appclass, _codeclass, _functionqualifier) \ | |
90 | ((_debugclass << 24) | (_subclass << 16) | (_appclass << 12) | (_codeclass << 2) | (_functionqualifier)) | |
91 | ||
92 | /* | |
93 | * Trace code allocations. | |
94 | */ | |
95 | enum { | |
96 | kSecTraceSFAuthorizationButtonPressedStart = | |
97 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_BUTTON_PRESSED, FUNCTION_START), | |
98 | kSecTraceSFAuthorizationAuthorizationStart = | |
99 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_AUTHORIZATION, FUNCTION_START), | |
100 | kSecTraceSFAuthorizationAuthorizationEnd = | |
101 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_AUTHORIZATION, FUNCTION_END), | |
102 | kSecTraceSFAuthorizationButtonPressedEnd = | |
103 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SFAUTHORIZATION, CODE_CLASS_SFAUTHORIZATION_BUTTON_PRESSED, FUNCTION_END), | |
104 | ||
105 | kSecTraceSecurityAgentStart = | |
106 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_START, FUNCTION_TIMEPOINT), | |
107 | kSecTraceSecurityAgentStartedBySecurityServer = | |
108 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_STARTED_BY_SECURITY_SERVER, | |
109 | FUNCTION_TIMEPOINT), | |
110 | kSecTraceSecurityAgentBeforeMechanismInvoke = | |
111 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_BEFORE_MECHANISM_INVOKE, | |
112 | FUNCTION_TIMEPOINT), | |
113 | kSecTraceSecurityAgentConfimAccess = | |
114 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_AGENT, CODE_CLASS_SECURITY_AGENT_CONFIRM_ACCESS, FUNCTION_TIMEPOINT), | |
115 | ||
116 | kSecTraceAuthorizationCreateStart = | |
117 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_CREATE, FUNCTION_START), | |
118 | kSecTraceAuthorizationCreateEnd = | |
119 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_CREATE, FUNCTION_END), | |
120 | kSecTraceAuthorizationCopyRightsStart = | |
121 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_RIGHTS, FUNCTION_START), | |
122 | kSecTraceAuthorizationCopyRightsEnd = | |
123 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_RIGHTS, FUNCTION_END), | |
124 | kSecTraceAuthorizationCopyInfoStart = | |
125 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_INFO, FUNCTION_START), | |
126 | kSecTraceAuthorizationCopyInfoEnd = | |
127 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_AUTHORIZATION, CODE_CLASS_AUTHORIZATION_COPY_INFO, FUNCTION_END), | |
128 | ||
129 | kSecTraceSecurityServerStart = | |
130 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_SERVER, CODE_CLASS_SECURITY_SERVER_INITIALIZE, FUNCTION_START), | |
131 | kSecTraceSecurityServerInitialized = | |
132 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_SECURITY_SERVER, CODE_CLASS_SECURITY_SERVER_INITIALIZE, FUNCTION_END), | |
133 | ||
134 | kSecTraceSecurityFrameworkSecKeychainFindGenericPasswordBegin = | |
135 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_FINDGENERICPASSWORD_BEGIN, FUNCTION_TIMEPOINT), | |
136 | kSecTraceUCSPClientDecryptBegin = | |
137 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_UCSP_CLIENT_BEGIN, FUNCTION_TIMEPOINT), | |
138 | kSecTraceUCSPServerDecryptBegin = | |
139 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_UCSP_SERVER_DECRYPT_BEGIN, FUNCTION_TIMEPOINT), | |
140 | kSecTraceSecurityServerQueryKeychainAccess = | |
141 | TRACECODE (APP_DEBUG_CLASS, SECURITY_SUB_CLASS, APP_CLASS_ADHOC, CODE_CLASS_ADHOC_UCSP_QUERYKEYCHAINACCESS_BEGIN, FUNCTION_TIMEPOINT) | |
142 | }; | |
143 | ||
144 | #endif /* _KTRACE_CODES_H_ */ |