Mercurial > trustbridge > nss-cmake-static
comparison nss/lib/libpkix/pkix/util/pkix_tools.h @ 0:1e5118fa0cb1
This is NSS with a Cmake Buildsyste
To compile a static NSS library for Windows we've used the
Chromium-NSS fork and added a Cmake buildsystem to compile
it statically for Windows. See README.chromium for chromium
changes and README.trustbridge for our modifications.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 28 Jul 2014 10:47:06 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1e5118fa0cb1 |
---|---|
1 /* This Source Code Form is subject to the terms of the Mozilla Public | |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
4 /* | |
5 * pkix_tools.h | |
6 * | |
7 * Header for Utility Functions and Macros | |
8 * | |
9 */ | |
10 | |
11 #ifndef _PKIX_TOOLS_H | |
12 #define _PKIX_TOOLS_H | |
13 | |
14 #include "pkix.h" | |
15 #include <stddef.h> | |
16 #include <stdio.h> | |
17 #include "secport.h" | |
18 #include "prlong.h" | |
19 | |
20 /* private PKIX system headers */ | |
21 #include "pkix_basicconstraintschecker.h" | |
22 #include "pkix_buildresult.h" | |
23 #include "pkix_certchainchecker.h" | |
24 #include "pkix_certselector.h" | |
25 #include "pkix_comcertselparams.h" | |
26 #include "pkix_comcrlselparams.h" | |
27 #include "pkix_crlselector.h" | |
28 #include "pkix_error.h" | |
29 #include "pkix_expirationchecker.h" | |
30 #include "pkix_list.h" | |
31 #include "pkix_logger.h" | |
32 #include "pkix_namechainingchecker.h" | |
33 #include "pkix_nameconstraintschecker.h" | |
34 #include "pkix_policychecker.h" | |
35 #include "pkix_policynode.h" | |
36 #include "pkix_procparams.h" | |
37 #include "pkix_resourcelimits.h" | |
38 #include "pkix_revocationmethod.h" | |
39 #include "pkix_revocationchecker.h" | |
40 #include "pkix_crlchecker.h" | |
41 #include "pkix_ocspchecker.h" | |
42 #include "pkix_signaturechecker.h" | |
43 #include "pkix_store.h" | |
44 #include "pkix_targetcertchecker.h" | |
45 #include "pkix_validate.h" | |
46 #include "pkix_valresult.h" | |
47 #include "pkix_verifynode.h" | |
48 | |
49 #ifdef __cplusplus | |
50 extern "C" { | |
51 #endif | |
52 | |
53 typedef struct pkixStdVarsStr { | |
54 const char *aMyFuncName; | |
55 PKIX_Error *aPkixErrorResult; | |
56 PKIX_Error *aPkixTempResult; | |
57 PKIX_Error *aPkixReturnResult; | |
58 PKIX_ERRORCODE aPkixErrorCode; | |
59 PKIX_Boolean aPkixErrorReceived; | |
60 PKIX_Boolean aPkixTempErrorReceived; | |
61 PKIX_ERRORCLASS aPkixErrorClass; | |
62 PKIX_UInt32 aPkixType; | |
63 PKIX_PL_Object *aLockedObject; | |
64 PKIX_List *aPkixErrorList; | |
65 } PKIX_StdVars; | |
66 | |
67 #ifdef PKIX_STDVARS_POINTER | |
68 #define myFuncName stdVars->aMyFuncName | |
69 #define pkixErrorResult stdVars->aPkixErrorResult | |
70 #define pkixTempResult stdVars->aPkixTempResult | |
71 #define pkixReturnResult stdVars->aPkixReturnResult | |
72 #define pkixErrorCode stdVars->aPkixErrorCode | |
73 #define pkixErrorReceived stdVars->aPkixErrorReceived | |
74 #define pkixTempErrorReceived stdVars->aPkixTempErrorReceived | |
75 #define pkixErrorClass stdVars->aPkixErrorClass | |
76 #define pkixType stdVars->aPkixType | |
77 #define lockedObject stdVars->aLockedObject | |
78 #define pkixErrorList stdVars->aPkixErrorList | |
79 #define stdVarsPtr stdVars | |
80 #else | |
81 #define myFuncName stdVars.aMyFuncName | |
82 #define pkixErrorResult stdVars.aPkixErrorResult | |
83 #define pkixTempResult stdVars.aPkixTempResult | |
84 #define pkixReturnResult stdVars.aPkixReturnResult | |
85 #define pkixErrorCode stdVars.aPkixErrorCode | |
86 #define pkixErrorReceived stdVars.aPkixErrorReceived | |
87 #define pkixTempErrorReceived stdVars.aPkixTempErrorReceived | |
88 #define pkixErrorClass stdVars.aPkixErrorClass | |
89 #define pkixType stdVars.aPkixType | |
90 #define lockedObject stdVars.aLockedObject | |
91 #define pkixErrorList stdVars.aPkixErrorList | |
92 #define stdVarsPtr &stdVars | |
93 #endif | |
94 | |
95 extern PKIX_Error * PKIX_DoReturn(PKIX_StdVars * stdVars, | |
96 PKIX_ERRORCLASS errClass, | |
97 PKIX_Boolean doLogger, | |
98 void * plContext); | |
99 | |
100 extern PKIX_Error * PKIX_DoThrow(PKIX_StdVars * stdVars, | |
101 PKIX_ERRORCLASS errClass, | |
102 PKIX_ERRORCODE errCode, | |
103 PKIX_ERRORCLASS overrideClass, | |
104 void * plContext); | |
105 | |
106 extern void PKIX_DoAddError(PKIX_StdVars * stdVars, | |
107 PKIX_Error * error, | |
108 void * plContext); | |
109 | |
110 #ifdef PKIX_OBJECT_LEAK_TEST | |
111 extern PKIX_Error * pkix_CheckForGeneratedError(PKIX_StdVars * stdVars, | |
112 PKIX_ERRORCLASS errClass, | |
113 char * fnName, | |
114 PKIX_Boolean *errorStateSet, | |
115 void * plContext); | |
116 #endif /* PKIX_OBJECT_LEAK_TEST */ | |
117 | |
118 extern const PKIX_StdVars zeroStdVars; | |
119 | |
120 extern PRLogModuleInfo *pkixLog; | |
121 | |
122 /* | |
123 * UTILITY MACROS | |
124 * Documentation for these common utility macros can be found in the | |
125 * Implementation Guidelines document (Section 4.3) | |
126 * | |
127 * In general, macros with multiple statements (or a single "if" statement) | |
128 * use the "do {<body>} while (0)" technique in order to convert the multiple | |
129 * statements into one statement, thus avoiding the dangling else problem. | |
130 * For macros which ALWAYS exit with a "return" or "goto", there is no | |
131 * need to use this technique (and it yields compiler warnings of "statement | |
132 * not reached"), so we just use "{<body>}" to group the statements together. | |
133 */ | |
134 | |
135 #if !defined (PKIX_OBJECT_LEAK_TEST) | |
136 | |
137 #define PKIX_STD_VARS(funcName) \ | |
138 static const char cMyFuncName[] = {funcName}; \ | |
139 PKIX_StdVars stdVars = zeroStdVars; \ | |
140 myFuncName = cMyFuncName | |
141 | |
142 | |
143 #else /* PKIX_OBJECT_LEAK_TEST */ | |
144 | |
145 extern char **fnStackNameArr; | |
146 extern PKIX_UInt32 *fnStackInvCountArr; | |
147 extern PKIX_UInt32 stackPosition; | |
148 extern PKIX_Boolean noErrorState; | |
149 extern PKIX_Boolean errorGenerated; | |
150 extern PKIX_Boolean runningLeakTest; | |
151 extern PLHashTable *fnInvTable; | |
152 extern PKIX_UInt32 testStartFnStackPosition; | |
153 extern char *errorFnStackString; | |
154 | |
155 extern PLHashNumber PR_CALLBACK pkix_ErrorGen_Hash (const void *key); | |
156 | |
157 #define PKIX_STD_VARS(funcName) \ | |
158 static const char cMyFuncName[] = {funcName}; \ | |
159 PKIX_StdVars stdVars = zeroStdVars; \ | |
160 PKIX_Boolean errorSetFlag = PKIX_FALSE; \ | |
161 myFuncName = cMyFuncName; \ | |
162 if (runningLeakTest) { \ | |
163 if (fnStackNameArr) { \ | |
164 fnStackInvCountArr[stackPosition] += 1; \ | |
165 stackPosition += 1; \ | |
166 fnStackInvCountArr[stackPosition] = 0; \ | |
167 fnStackNameArr[stackPosition] = (char*)myFuncName; \ | |
168 fnStackNameArr[stackPosition + 1] = NULL; \ | |
169 PR_LOG(pkixLog, 5, \ | |
170 ("%s%*s+> %s(%d) - %s\n", (errorGenerated ? "*" : " "), \ | |
171 stackPosition, " ", fnStackNameArr[stackPosition], \ | |
172 stackPosition, myFuncName)); \ | |
173 } \ | |
174 do { \ | |
175 pkixErrorResult = pkix_CheckForGeneratedError(&stdVars, PKIX_MEM_ERROR, \ | |
176 funcName, &errorSetFlag, \ | |
177 plContext); \ | |
178 if (pkixErrorResult) { \ | |
179 PR_LOG(pkixLog, 5, \ | |
180 ("%s%*s<- %s(%d) - %s\n", (errorGenerated ? "*" : " "), \ | |
181 stackPosition, " ", fnStackNameArr[stackPosition], \ | |
182 stackPosition, myFuncName)); \ | |
183 fnStackNameArr[stackPosition--] = NULL; \ | |
184 if (errorSetFlag) { \ | |
185 noErrorState = (noErrorState) ? PKIX_FALSE : PKIX_TRUE; \ | |
186 } \ | |
187 return pkixErrorResult; \ | |
188 } \ | |
189 } while (0); \ | |
190 } | |
191 #endif /* PKIX_OBJECT_LEAK_TEST */ | |
192 | |
193 #ifdef DEBUG | |
194 #define _PKIX_DEBUG_TRACE(cond, prefix, level) \ | |
195 do { \ | |
196 if (cond) { \ | |
197 pkix_Logger_Check(pkixLoggersDebugTrace, myFuncName, \ | |
198 prefix, pkixType, level, plContext); \ | |
199 } \ | |
200 } while (0) | |
201 #else | |
202 #define _PKIX_DEBUG_TRACE(cond, prefix, level) | |
203 #endif | |
204 | |
205 #define _PKIX_LOG_ERROR(code, level) \ | |
206 { \ | |
207 if (pkixLoggersErrors) { \ | |
208 pkix_Logger_CheckWithCode(pkixLoggersErrors, code, \ | |
209 NULL, pkixType, level, plContext); \ | |
210 } \ | |
211 } | |
212 | |
213 #define PKIX_ENTER(type, funcName) \ | |
214 PKIX_STD_VARS(funcName); \ | |
215 pkixType = PKIX_ ## type ## _ERROR; \ | |
216 PKIX_DEBUG_ENTER(type); \ | |
217 _PKIX_DEBUG_TRACE(pkixLoggersDebugTrace, ">>>", PKIX_LOGGER_LEVEL_TRACE); | |
218 | |
219 #define PKIX_ENTER_NO_LOGGER(type, funcName) \ | |
220 PKIX_STD_VARS(funcName); \ | |
221 pkixType = PKIX_ ## type ## _ERROR; \ | |
222 PKIX_DEBUG_ENTER(type); | |
223 | |
224 #define PKIX_DEBUG_ENTER(type) \ | |
225 PKIX_ ## type ## _DEBUG_ARG("( Entering %s).\n", myFuncName) | |
226 | |
227 #define PKIX_DEBUG_EXIT(type) \ | |
228 PKIX_ ## type ## _DEBUG_ARG("( Exiting %s).\n", myFuncName) | |
229 | |
230 #define PKIX_OBJECT_UNLOCK(obj) \ | |
231 do { \ | |
232 if (obj && lockedObject == (PKIX_PL_Object *)(obj)){ \ | |
233 pkixTempResult = \ | |
234 PKIX_PL_Object_Unlock \ | |
235 ((PKIX_PL_Object *)(obj), plContext); \ | |
236 if (pkixTempResult) { \ | |
237 PKIX_DoAddError(stdVarsPtr, pkixTempResult, plContext); \ | |
238 pkixTempResult = NULL; \ | |
239 } \ | |
240 lockedObject = NULL; \ | |
241 } else { \ | |
242 PORT_Assert(lockedObject == NULL); \ | |
243 } \ | |
244 } while (0) | |
245 | |
246 #define PKIX_DECREF(obj) \ | |
247 do { \ | |
248 if (obj){ \ | |
249 pkixTempResult = PKIX_PL_Object_DecRef \ | |
250 ((PKIX_PL_Object *)(obj), plContext); \ | |
251 if (pkixTempResult) { \ | |
252 PKIX_DoAddError(stdVarsPtr, pkixTempResult, plContext); \ | |
253 pkixTempResult = NULL; \ | |
254 } \ | |
255 obj = NULL; \ | |
256 } \ | |
257 } while (0) | |
258 | |
259 #define PKIX_THROW(type, descNum) \ | |
260 return PKIX_DoThrow(&stdVars, (PKIX_ ## type ## _ERROR), descNum, \ | |
261 pkixErrorClass, plContext); | |
262 | |
263 #ifdef PKIX_OBJECT_LEAK_TEST | |
264 #define PKIX_RETURN(type) \ | |
265 if (runningLeakTest && fnStackNameArr) { \ | |
266 PR_LOG(pkixLog, 5, \ | |
267 ("%s%*s<- %s(%d) - %s\n", (errorGenerated ? "*" : " "), \ | |
268 stackPosition, " ", fnStackNameArr[stackPosition], \ | |
269 stackPosition, myFuncName)); \ | |
270 fnStackNameArr[stackPosition--] = NULL; \ | |
271 if (errorSetFlag) noErrorState = (noErrorState) ? PKIX_FALSE : PKIX_TRUE; \ | |
272 } \ | |
273 return PKIX_DoReturn(&stdVars, (PKIX_ ## type ## _ERROR), PKIX_TRUE, plContext); | |
274 #else | |
275 #define PKIX_RETURN(type) \ | |
276 return PKIX_DoReturn(&stdVars, (PKIX_ ## type ## _ERROR), PKIX_TRUE, plContext); | |
277 #endif /* PKIX_OBJECT_LEAK_TEST */ | |
278 | |
279 | |
280 #if defined(DEBUG) && !defined(DEBUG_nb95248) | |
281 #define PKIX_RETURN_NO_LOGGER(type) \ | |
282 { \ | |
283 PKIX_OBJECT_UNLOCK(lockedObject); \ | |
284 if ((pkixErrorReceived) || (pkixErrorResult) || pkixErrorList) \ | |
285 PKIX_THROW(type, pkixErrorCode); \ | |
286 PKIX_DEBUG_EXIT(type); \ | |
287 return NULL; \ | |
288 } | |
289 #else | |
290 #define PKIX_RETURN_NO_LOGGER(type) \ | |
291 return PKIX_DoReturn(&stdVars, (PKIX_ ## type ## _ERROR), PKIX_FALSE, plContext); | |
292 #endif | |
293 | |
294 /* disable to disable ;-) */ | |
295 /* #define WANT_TRACE_CHECK_FAILURES */ | |
296 | |
297 #ifdef WANT_TRACE_CHECK_FAILURES | |
298 #define TRACE_CHECK_FAILURE(what, errorstring) \ | |
299 if (pkixLog) { \ | |
300 PR_LOG(pkixLog, PR_LOG_DEBUG, \ | |
301 ("====> [%s] failed: %s\n", #what, errorstring)); \ | |
302 } | |
303 #else | |
304 #define TRACE_CHECK_FAILURE(what, errorstring) | |
305 #endif | |
306 | |
307 #define PKIX_CHECK(func, descNum) \ | |
308 do { \ | |
309 pkixErrorResult = (func); \ | |
310 if (pkixErrorResult) { \ | |
311 TRACE_CHECK_FAILURE((func), PKIX_ErrorText[descNum]) \ | |
312 pkixErrorClass = pkixErrorResult->errClass; \ | |
313 pkixErrorCode = descNum; \ | |
314 goto cleanup; \ | |
315 } \ | |
316 } while (0) | |
317 | |
318 /* like PKIX_CHECK but without goto cleanup */ | |
319 #define PKIX_CHECK_NO_GOTO(func, descNum) \ | |
320 do { \ | |
321 pkixErrorResult = (func); \ | |
322 if (pkixErrorResult) { \ | |
323 TRACE_CHECK_FAILURE((func), PKIX_ErrorText[descNum]) \ | |
324 pkixErrorClass = pkixErrorResult->errClass; \ | |
325 pkixErrorCode = descNum; \ | |
326 } \ | |
327 } while (0) | |
328 | |
329 #define PKIX_CHECK_ONLY_FATAL(func, descNum) \ | |
330 do { \ | |
331 pkixTempErrorReceived = PKIX_FALSE; \ | |
332 pkixErrorResult = (func); \ | |
333 if (pkixErrorResult) { \ | |
334 TRACE_CHECK_FAILURE((func), PKIX_ErrorText[descNum]) \ | |
335 pkixTempErrorReceived = PKIX_TRUE; \ | |
336 pkixErrorClass = pkixErrorResult->errClass; \ | |
337 if (pkixErrorClass == PKIX_FATAL_ERROR) { \ | |
338 goto cleanup; \ | |
339 } \ | |
340 PKIX_DECREF(pkixErrorResult); \ | |
341 } \ | |
342 } while (0) | |
343 | |
344 #define PKIX_LOG_ERROR(descNum) \ | |
345 _PKIX_LOG_ERROR(descNum, PKIX_LOGGER_LEVEL_ERROR) | |
346 | |
347 #define PKIX_ERROR(descNum) \ | |
348 { \ | |
349 PKIX_LOG_ERROR(descNum) \ | |
350 pkixErrorReceived = PKIX_TRUE; \ | |
351 pkixErrorCode = descNum; \ | |
352 goto cleanup; \ | |
353 } | |
354 | |
355 #define PKIX_ERROR_ALLOC_ERROR() \ | |
356 { \ | |
357 PKIX_LOG_ERROR(PKIX_ALLOCERROR) \ | |
358 pkixErrorReceived = PKIX_TRUE; \ | |
359 pkixErrorResult = PKIX_ALLOC_ERROR(); \ | |
360 goto cleanup; \ | |
361 } | |
362 | |
363 #define PKIX_ERROR_FATAL(descNum) \ | |
364 { \ | |
365 pkixErrorReceived = PKIX_TRUE; \ | |
366 pkixErrorCode = descNum; \ | |
367 pkixErrorClass = PKIX_FATAL_ERROR; \ | |
368 _PKIX_LOG_ERROR(pkixErrorCode, PKIX_LOGGER_LEVEL_FATALERROR); \ | |
369 goto cleanup; \ | |
370 } | |
371 | |
372 #define PKIX_CHECK_FATAL(func, descNum) \ | |
373 do { \ | |
374 pkixErrorResult = (func); \ | |
375 if (pkixErrorResult) { \ | |
376 TRACE_CHECK_FAILURE((func), PKIX_ErrorText[descNum]) \ | |
377 pkixErrorReceived = PKIX_TRUE; \ | |
378 pkixErrorCode = descNum; \ | |
379 pkixErrorClass = PKIX_FATAL_ERROR; \ | |
380 _PKIX_LOG_ERROR(pkixErrorCode, PKIX_LOGGER_LEVEL_FATALERROR); \ | |
381 goto fatal; \ | |
382 } \ | |
383 } while (0) | |
384 | |
385 #define PKIX_NULLCHECK_ONE(a) \ | |
386 do { \ | |
387 if ((a) == NULL){ \ | |
388 pkixErrorReceived = PKIX_TRUE; \ | |
389 pkixErrorCode = PKIX_NULLARGUMENT; \ | |
390 PKIX_RETURN(FATAL); \ | |
391 } \ | |
392 } while (0) | |
393 | |
394 #define PKIX_NULLCHECK_TWO(a, b) \ | |
395 do { \ | |
396 if (((a) == NULL) || ((b) == NULL)){ \ | |
397 pkixErrorReceived = PKIX_TRUE; \ | |
398 pkixErrorCode = PKIX_NULLARGUMENT; \ | |
399 PKIX_RETURN(FATAL); \ | |
400 } \ | |
401 } while (0) | |
402 | |
403 #define PKIX_NULLCHECK_THREE(a, b, c) \ | |
404 do { \ | |
405 if (((a) == NULL) || ((b) == NULL) || ((c) == NULL)){ \ | |
406 pkixErrorReceived = PKIX_TRUE; \ | |
407 pkixErrorCode = PKIX_NULLARGUMENT; \ | |
408 PKIX_RETURN(FATAL); \ | |
409 } \ | |
410 } while (0) | |
411 | |
412 #define PKIX_NULLCHECK_FOUR(a, b, c, d) \ | |
413 do { \ | |
414 if (((a) == NULL) || ((b) == NULL) || \ | |
415 ((c) == NULL) || ((d) == NULL)){ \ | |
416 pkixErrorReceived = PKIX_TRUE; \ | |
417 pkixErrorCode = PKIX_NULLARGUMENT; \ | |
418 PKIX_RETURN(FATAL); \ | |
419 } \ | |
420 } while (0) | |
421 | |
422 #define PKIX_OBJECT_LOCK(obj) \ | |
423 do { \ | |
424 if (obj) { \ | |
425 pkixTempResult = \ | |
426 PKIX_PL_Object_Lock((PKIX_PL_Object*)(obj), plContext); \ | |
427 if (pkixTempResult) { \ | |
428 PKIX_DoAddError(stdVarsPtr, pkixTempResult, plContext); \ | |
429 pkixTempResult = NULL; \ | |
430 pkixErrorCode = PKIX_OBJECTLOCKFAILED; \ | |
431 goto cleanup; \ | |
432 } \ | |
433 lockedObject = (PKIX_PL_Object *)(obj); \ | |
434 } \ | |
435 } while (0) | |
436 | |
437 #define PKIX_ERROR_CREATE(type, descNum, error) \ | |
438 { \ | |
439 pkixTempResult = (PKIX_Error*)pkix_Throw \ | |
440 (PKIX_ ## type ## _ERROR, myFuncName, \ | |
441 descNum, PKIX_ ## type ## _ERROR, pkixErrorResult, \ | |
442 &error, plContext); \ | |
443 if (pkixTempResult) { \ | |
444 error = pkixTempResult; \ | |
445 pkixTempResult = NULL; \ | |
446 } \ | |
447 } | |
448 | |
449 | |
450 #define PKIX_ERROR_RECEIVED \ | |
451 (pkixErrorReceived || pkixErrorResult || pkixTempErrorReceived || \ | |
452 pkixErrorList) | |
453 | |
454 #define PKIX_INCREF(obj) \ | |
455 do { \ | |
456 if (obj){ \ | |
457 pkixTempResult = PKIX_PL_Object_IncRef \ | |
458 ((PKIX_PL_Object *)(obj), plContext); \ | |
459 if (pkixTempResult) { \ | |
460 PKIX_DoAddError(&stdVars, pkixTempResult, plContext); \ | |
461 pkixTempResult = NULL; \ | |
462 goto cleanup; \ | |
463 } \ | |
464 } \ | |
465 } while (0) | |
466 | |
467 #define PKIX_FREE(obj) \ | |
468 do { \ | |
469 if (obj) { \ | |
470 pkixTempResult = PKIX_PL_Free((obj), plContext); \ | |
471 if (pkixTempResult) { \ | |
472 PKIX_DoAddError(&stdVars, pkixTempResult, plContext); \ | |
473 pkixTempResult = NULL; \ | |
474 } \ | |
475 obj = NULL; \ | |
476 } \ | |
477 } while (0) | |
478 | |
479 #define PKIX_EXACTLY_ONE_NULL(a, b) (((a) && !(b)) || ((b) && !(a))) | |
480 | |
481 /* DIGIT MACROS */ | |
482 | |
483 #define PKIX_ISDIGIT(c) (((c) >= '0') && ((c) <= '9')) | |
484 | |
485 #define PKIX_ISXDIGIT(c) \ | |
486 (PKIX_ISDIGIT(c) || ( (((c)|0x20) >= 'a') && (((c)|0x20) <= 'f') )) | |
487 | |
488 #define PKIX_TOSTRING(a, b, c, d) \ | |
489 do { \ | |
490 int descNum; \ | |
491 if ((a) != NULL) { \ | |
492 pkixErrorResult = \ | |
493 PKIX_PL_Object_ToString((PKIX_PL_Object *)(a), (b), (c)); \ | |
494 descNum = (d); \ | |
495 } else { \ | |
496 pkixErrorResult = \ | |
497 PKIX_PL_String_Create(PKIX_ESCASCII, "(null)", 0, (b), (c)); \ | |
498 descNum = PKIX_STRINGCREATEFAILED; \ | |
499 } \ | |
500 PKIX_CHECK(pkixErrorResult, descNum); \ | |
501 } while (0) | |
502 | |
503 #define PKIX_EQUALS(a, b, c, d, e) \ | |
504 do { \ | |
505 if ((a) != NULL && (b) != NULL) { \ | |
506 PKIX_CHECK(PKIX_PL_Object_Equals\ | |
507 ((PKIX_PL_Object *)(a), \ | |
508 (PKIX_PL_Object*)(b), \ | |
509 (c), \ | |
510 (d)), \ | |
511 (e)); \ | |
512 } else if ((a) == NULL && (b) == NULL) { \ | |
513 *(c) = PKIX_TRUE; \ | |
514 } else { \ | |
515 *(c) = PKIX_FALSE; \ | |
516 } \ | |
517 } while (0) | |
518 | |
519 #define PKIX_HASHCODE(a, b, c, d) \ | |
520 do { \ | |
521 if ((a) != NULL) { \ | |
522 PKIX_CHECK(PKIX_PL_Object_Hashcode\ | |
523 ((PKIX_PL_Object *)(a), (b), (c)), (d)); \ | |
524 } else { \ | |
525 *(b) = 0; \ | |
526 } \ | |
527 } while (0) | |
528 | |
529 #define PKIX_DUPLICATE(a, b, c, d) \ | |
530 do { \ | |
531 if ((a) != NULL) { \ | |
532 PKIX_CHECK(PKIX_PL_Object_Duplicate\ | |
533 ((PKIX_PL_Object *)(a), \ | |
534 (PKIX_PL_Object **)(b), \ | |
535 (c)), \ | |
536 (d)); \ | |
537 } else { \ | |
538 *(b) = (a); \ | |
539 } \ | |
540 } while (0) | |
541 | |
542 /* | |
543 * DEBUG MACROS | |
544 * | |
545 * Each type has an associated debug flag, which can | |
546 * be set on the compiler line using "-D<debugflag>". For convenience, | |
547 * "-DPKIX_DEBUGALL" turns on debug for all the components. | |
548 * | |
549 * If a type's debug flag is defined, then its two associated macros | |
550 * are defined: PKIX_type_DEBUG(expr) and PKIX_type_DEBUG_ARG(expr, arg), | |
551 * which call PKIX_DEBUG(expr) and PKIX_DEBUG_ARG(expr, arg) respectively, | |
552 * which, in turn, enable standard and consistently formatted output. | |
553 * | |
554 * If a type's debug flag is not defined, the two associated macros | |
555 * are defined as a NO-OP. As such, any PKIX_type_DEBUG or PKIX_type_DEBUG_ARG | |
556 * macros for an undefined type will be stripped from the code during | |
557 * pre-processing, thereby reducing code size. | |
558 */ | |
559 | |
560 #ifdef PKIX_DEBUGALL | |
561 #define PKIX_REFCOUNTDEBUG 1 | |
562 #define PKIX_MEMDEBUG 1 | |
563 #define PKIX_MUTEXDEBUG 1 | |
564 #define PKIX_OBJECTDEBUG 1 | |
565 #define PKIX_STRINGDEBUG 1 | |
566 #define PKIX_OIDDEBUG 1 | |
567 #define PKIX_LISTDEBUG 1 | |
568 #define PKIX_ERRORDEBUG 1 | |
569 #define PKIX_BYTEARRAYDEBUG 1 | |
570 #define PKIX_RWLOCKDEBUG 1 | |
571 #define PKIX_BIGINTDEBUG 1 | |
572 #define PKIX_HASHTABLEDEBUG 1 | |
573 #define PKIX_X500NAMEDEBUG 1 | |
574 #define PKIX_GENERALNAMEDEBUG 1 | |
575 #define PKIX_PUBLICKEYDEBUG 1 | |
576 #define PKIX_CERTDEBUG 1 | |
577 #define PKIX_HTTPCLIENTDEBUG 1 | |
578 #define PKIX_DATEDEBUG 1 | |
579 #define PKIX_TRUSTANCHORDEBUG 1 | |
580 #define PKIX_PROCESSINGPARAMSDEBUG 1 | |
581 #define PKIX_VALIDATEPARAMSDEBUG 1 | |
582 #define PKIX_VALIDATERESULTDEBUG 1 | |
583 #define PKIX_VALIDATEDEBUG 1 | |
584 #define PKIX_CERTCHAINCHECKERDEBUG 1 | |
585 #define PKIX_REVOCATIONCHECKERDEBUG 1 | |
586 #define PKIX_CERTSELECTORDEBUG 1 | |
587 #define PKIX_COMCERTSELPARAMSDEBUG 1 | |
588 #define PKIX_TARGETCERTCHECKERSTATEDEBUG 1 | |
589 #define PKIX_INITIALIZEPARAMSDEBUG 1 | |
590 #define PKIX_CERTBASICCONSTRAINTSDEBUG 1 | |
591 #define PKIX_CERTNAMECONSTRAINTSDEBUG 1 | |
592 #define PKIX_CERTNAMECONSTRAINTSCHECKERSTATEDEBUG 1 | |
593 #define PKIX_SUBJALTNAMECHECKERSTATEDEBUG 1 | |
594 | |
595 #define PKIX_CERTPOLICYQUALIFIERDEBUG 1 | |
596 #define PKIX_CERTPOLICYINFODEBUG 1 | |
597 #define PKIX_CERTPOLICYNODEDEBUG 1 | |
598 #define PKIX_CERTPOLICYCHECKERSTATEDEBUG 1 | |
599 #define PKIX_LIFECYCLEDEBUG 1 | |
600 #define PKIX_BASICCONSTRAINTSCHECKERSTATEDEBUG 1 | |
601 #define PKIX_CRLDEBUG 1 | |
602 #define PKIX_CRLENTRYDEBUG 1 | |
603 #define PKIX_CRLSELECTORDEBUG 1 | |
604 #define PKIX_COMCRLSELPARAMSDEBUG 1 | |
605 #define PKIX_CERTSTOREDEBUG 1 | |
606 #define PKIX_COLLECTIONCERTSTORECONTEXTDEBUG 1 | |
607 #define PKIX_DEFAULTCRLCHECKERSTATEDEBUG 1 | |
608 #define PKIX_CERTPOLICYMAPDEBUG 1 | |
609 #define PKIX_BUILDDEBUG 1 | |
610 #define PKIX_BUILDRESULTDEBUG 1 | |
611 #define PKIX_FORWARDBUILDERSTATEDEBUG 1 | |
612 #define PKIX_SIGNATURECHECKERSTATEDEBUG 1 | |
613 #define PKIX_USERDEFINEDMODULESDEBUG 1 | |
614 #define PKIX_CONTEXTDEBUG 1 | |
615 #define PKIX_DEFAULTREVOCATIONCHECKERDEBUG 1 | |
616 #define PKIX_LDAPREQUESTDEBUG 1 | |
617 #define PKIX_LDAPRESPONSEDEBUG 1 | |
618 #define PKIX_LDAPCLIENTDEBUG 1 | |
619 #define PKIX_LDAPDEFAULTCLIENTDEBUG 1 | |
620 #define PKIX_SOCKETDEBUG 1 | |
621 #define PKIX_RESOURCELIMITSDEBUG 1 | |
622 #define PKIX_LOGGERDEBUG 1 | |
623 #define PKIX_MONITORLOCKDEBUG 1 | |
624 #define PKIX_INFOACCESSDEBUG 1 | |
625 #define PKIX_AIAMGRDEBUG 1 | |
626 #define PKIX_OCSPCHECKERDEBUG 1 | |
627 #define PKIX_OCSPREQUESTDEBUG 1 | |
628 #define PKIX_OCSPRESPONSEDEBUG 1 | |
629 #define PKIX_HTTPDEFAULTCLIENTDEBUG 1 | |
630 #define PKIX_HTTPCERTSTORECONTEXTDEBUG 1 | |
631 #define PKIX_VERIFYNODEDEBUG 1 | |
632 #endif | |
633 | |
634 /* | |
635 * XXX Both PKIX_DEBUG and PKIX_DEBUG_ARG currently use printf. | |
636 * This needs to be replaced with Loggers. | |
637 */ | |
638 | |
639 #ifdef DEBUG | |
640 #define PKIX_DEBUG(expr) \ | |
641 do { \ | |
642 _PKIX_DEBUG_TRACE(pkixLoggersErrors, expr, PKIX_LOGGER_LEVEL_DEBUG); \ | |
643 (void) fprintf(stderr, "(%s: ", myFuncName); \ | |
644 (void) fprintf(stderr, expr); \ | |
645 } while (0) | |
646 #else | |
647 #define PKIX_DEBUG(expr) | |
648 #endif | |
649 | |
650 /* Logging doesn't support DEBUG with ARG: cannot convert control and arg */ | |
651 #define PKIX_DEBUG_ARG(expr, arg) \ | |
652 do { \ | |
653 (void) printf("(%s: ", myFuncName); \ | |
654 (void) printf(expr, arg); \ | |
655 } while (0) | |
656 | |
657 #if PKIX_FATALDEBUG | |
658 #define PKIX_FATAL_DEBUG(expr) \ | |
659 PKIX_DEBUG(expr) | |
660 #define PKIX_FATAL_DEBUG_ARG(expr, arg) \ | |
661 PKIX_DEBUG_ARG(expr, arg) | |
662 #else | |
663 #define PKIX_FATAL_DEBUG(expr) | |
664 #define PKIX_FATAL_DEBUG_ARG(expr, arg) | |
665 #endif | |
666 | |
667 #if PKIX_REFCOUNTDEBUG | |
668 #define PKIX_REF_COUNT_DEBUG(expr) \ | |
669 PKIX_DEBUG(expr) | |
670 #define PKIX_REF_COUNT_DEBUG_ARG(expr, arg) \ | |
671 PKIX_DEBUG_ARG(expr, arg) | |
672 #else | |
673 #define PKIX_REF_COUNT_DEBUG(expr) | |
674 #define PKIX_REF_COUNT_DEBUG_ARG(expr, arg) | |
675 #endif | |
676 | |
677 #if PKIX_MEMDEBUG | |
678 #define PKIX_MEM_DEBUG(expr) \ | |
679 PKIX_DEBUG(expr) | |
680 #define PKIX_MEM_DEBUG_ARG(expr, arg) \ | |
681 PKIX_DEBUG_ARG(expr, arg) | |
682 #else | |
683 #define PKIX_MEM_DEBUG(expr) | |
684 #define PKIX_MEM_DEBUG_ARG(expr, arg) | |
685 #endif | |
686 | |
687 #if PKIX_MUTEXDEBUG | |
688 #define PKIX_MUTEX_DEBUG(expr) \ | |
689 PKIX_DEBUG(expr) | |
690 #define PKIX_MUTEX_DEBUG_ARG(expr, arg) \ | |
691 PKIX_DEBUG_ARG(expr, arg) | |
692 #else | |
693 #define PKIX_MUTEX_DEBUG(expr) | |
694 #define PKIX_MUTEX_DEBUG_ARG(expr, arg) | |
695 #endif | |
696 | |
697 #if PKIX_OBJECTDEBUG | |
698 #define PKIX_OBJECT_DEBUG(expr) \ | |
699 PKIX_DEBUG(expr) | |
700 #define PKIX_OBJECT_DEBUG_ARG(expr, arg) \ | |
701 PKIX_DEBUG_ARG(expr, arg) | |
702 #else | |
703 #define PKIX_OBJECT_DEBUG(expr) | |
704 #define PKIX_OBJECT_DEBUG_ARG(expr, arg) | |
705 #endif | |
706 | |
707 #if PKIX_ERRORDEBUG | |
708 #define PKIX_ERROR_DEBUG(expr) \ | |
709 PKIX_DEBUG(expr) | |
710 #define PKIX_ERROR_DEBUG_ARG(expr, arg) \ | |
711 PKIX_DEBUG_ARG(expr, arg) | |
712 #else | |
713 #define PKIX_ERROR_DEBUG(expr) | |
714 #define PKIX_ERROR_DEBUG_ARG(expr, arg) | |
715 #endif | |
716 | |
717 #if PKIX_STRINGDEBUG | |
718 #define PKIX_STRING_DEBUG(expr) \ | |
719 PKIX_DEBUG(expr) | |
720 #define PKIX_STRING_DEBUG_ARG(expr, arg) \ | |
721 PKIX_DEBUG_ARG(expr, arg) | |
722 #else | |
723 #define PKIX_STRING_DEBUG(expr) | |
724 #define PKIX_STRING_DEBUG_ARG(expr, arg) | |
725 #endif | |
726 | |
727 #if PKIX_OIDDEBUG | |
728 #define PKIX_OID_DEBUG(expr) \ | |
729 PKIX_DEBUG(expr) | |
730 #define PKIX_OID_DEBUG_ARG(expr, arg) \ | |
731 PKIX_DEBUG_ARG(expr, arg) | |
732 #else | |
733 #define PKIX_OID_DEBUG(expr) | |
734 #define PKIX_OID_DEBUG_ARG(expr, arg) | |
735 #endif | |
736 | |
737 #if PKIX_LISTDEBUG | |
738 #define PKIX_LIST_DEBUG(expr) \ | |
739 PKIX_DEBUG(expr) | |
740 #define PKIX_LIST_DEBUG_ARG(expr, arg) \ | |
741 PKIX_DEBUG_ARG(expr, arg) | |
742 #else | |
743 #define PKIX_LIST_DEBUG(expr) | |
744 #define PKIX_LIST_DEBUG_ARG(expr, arg) | |
745 #endif | |
746 | |
747 #if PKIX_RWLOCKDEBUG | |
748 #define PKIX_RWLOCK_DEBUG(expr) \ | |
749 PKIX_DEBUG(expr) | |
750 #define PKIX_RWLOCK_DEBUG_ARG(expr, arg) \ | |
751 PKIX_DEBUG_ARG(expr, arg) | |
752 #else | |
753 #define PKIX_RWLOCK_DEBUG(expr) | |
754 #define PKIX_RWLOCK_DEBUG_ARG(expr, arg) | |
755 #endif | |
756 | |
757 #if PKIX_BYTEARRAYDEBUG | |
758 #define PKIX_BYTEARRAY_DEBUG(expr) \ | |
759 PKIX_DEBUG(expr) | |
760 #define PKIX_BYTEARRAY_DEBUG_ARG(expr, arg) \ | |
761 PKIX_DEBUG_ARG(expr, arg) | |
762 #else | |
763 #define PKIX_BYTEARRAY_DEBUG(expr) | |
764 #define PKIX_BYTEARRAY_DEBUG_ARG(expr, arg) | |
765 #endif | |
766 | |
767 #if PKIX_HASHTABLEDEBUG | |
768 #define PKIX_HASHTABLE_DEBUG(expr) \ | |
769 PKIX_DEBUG(expr) | |
770 #define PKIX_HASHTABLE_DEBUG_ARG(expr, arg) \ | |
771 PKIX_DEBUG_ARG(expr, arg) | |
772 #else | |
773 #define PKIX_HASHTABLE_DEBUG(expr) | |
774 #define PKIX_HASHTABLE_DEBUG_ARG(expr, arg) | |
775 #endif | |
776 | |
777 #if PKIX_X500NAMEDEBUG | |
778 #define PKIX_X500NAME_DEBUG(expr) \ | |
779 PKIX_DEBUG(expr) | |
780 #define PKIX_X500NAME_DEBUG_ARG(expr, arg) \ | |
781 PKIX_DEBUG_ARG(expr, arg) | |
782 #else | |
783 #define PKIX_X500NAME_DEBUG(expr) | |
784 #define PKIX_X500NAME_DEBUG_ARG(expr, arg) | |
785 #endif | |
786 | |
787 #if PKIX_GENERALNAMEDEBUG | |
788 #define PKIX_GENERALNAME_DEBUG(expr) \ | |
789 PKIX_DEBUG(expr) | |
790 #define PKIX_GENERALNAME_DEBUG_ARG(expr, arg) \ | |
791 PKIX_DEBUG_ARG(expr, arg) | |
792 #else | |
793 #define PKIX_GENERALNAME_DEBUG(expr) | |
794 #define PKIX_GENERALNAME_DEBUG_ARG(expr, arg) | |
795 #endif | |
796 | |
797 #if PKIX_PUBLICKEYDEBUG | |
798 #define PKIX_PUBLICKEY_DEBUG(expr) \ | |
799 PKIX_DEBUG(expr) | |
800 #define PKIX_PUBLICKEY_DEBUG_ARG(expr, arg) \ | |
801 PKIX_DEBUG_ARG(expr, arg) | |
802 #else | |
803 #define PKIX_PUBLICKEY_DEBUG(expr) | |
804 #define PKIX_PUBLICKEY_DEBUG_ARG(expr, arg) | |
805 #endif | |
806 | |
807 #if PKIX_CERTDEBUG | |
808 #define PKIX_CERT_DEBUG(expr) \ | |
809 PKIX_DEBUG(expr) | |
810 #define PKIX_CERT_DEBUG_ARG(expr, arg) \ | |
811 PKIX_DEBUG_ARG(expr, arg) | |
812 #else | |
813 #define PKIX_CERT_DEBUG(expr) | |
814 #define PKIX_CERT_DEBUG_ARG(expr, arg) | |
815 #endif | |
816 | |
817 #if PKIX_CRLDPDEBUG | |
818 #define PKIX_CRLDP_DEBUG(expr) \ | |
819 PKIX_DEBUG(expr) | |
820 #define PKIX_CRLDP_DEBUG_ARG(expr, arg) \ | |
821 PKIX_DEBUG_ARG(expr, arg) | |
822 #else | |
823 #define PKIX_CRLDP_DEBUG(expr) | |
824 #define PKIX_CRLDP_DEBUG_ARG(expr, arg) | |
825 #endif | |
826 | |
827 #if PKIX_HTTPCLIENTDEBUG | |
828 #define PKIX_HTTPCLIENT_DEBUG(expr) \ | |
829 PKIX_DEBUG(expr) | |
830 #define PKIX_HTTPCLIENT_DEBUG_ARG(expr, arg) \ | |
831 PKIX_DEBUG_ARG(expr, arg) | |
832 #else | |
833 #define PKIX_HTTPCLIENT_DEBUG(expr) | |
834 #define PKIX_HTTPCLIENT_DEBUG_ARG(expr, arg) | |
835 #endif | |
836 | |
837 #if PKIX_BIGINTDEBUG | |
838 #define PKIX_BIGINT_DEBUG(expr) \ | |
839 PKIX_DEBUG(expr) | |
840 #define PKIX_BIGINT_DEBUG_ARG(expr, arg) \ | |
841 PKIX_DEBUG_ARG(expr, arg) | |
842 #else | |
843 #define PKIX_BIGINT_DEBUG(expr) | |
844 #define PKIX_BIGINT_DEBUG_ARG(expr, arg) | |
845 #endif | |
846 | |
847 #if PKIX_DATEDEBUG | |
848 #define PKIX_DATE_DEBUG(expr) \ | |
849 PKIX_DEBUG(expr) | |
850 #define PKIX_DATE_DEBUG_ARG(expr, arg) \ | |
851 PKIX_DEBUG_ARG(expr, arg) | |
852 #else | |
853 #define PKIX_DATE_DEBUG(expr) | |
854 #define PKIX_DATE_DEBUG_ARG(expr, arg) | |
855 #endif | |
856 | |
857 #if PKIX_TRUSTANCHORDEBUG | |
858 #define PKIX_TRUSTANCHOR_DEBUG(expr) \ | |
859 PKIX_DEBUG(expr) | |
860 #define PKIX_TRUSTANCHOR_DEBUG_ARG(expr, arg) \ | |
861 PKIX_DEBUG_ARG(expr, arg) | |
862 #else | |
863 #define PKIX_TRUSTANCHOR_DEBUG(expr) | |
864 #define PKIX_TRUSTANCHOR_DEBUG_ARG(expr, arg) | |
865 #endif | |
866 | |
867 #if PKIX_PROCESSINGPARAMSDEBUG | |
868 #define PKIX_PROCESSINGPARAMS_DEBUG(expr) \ | |
869 PKIX_DEBUG(expr) | |
870 #define PKIX_PROCESSINGPARAMS_DEBUG_ARG(expr, arg) \ | |
871 PKIX_DEBUG_ARG(expr, arg) | |
872 #else | |
873 #define PKIX_PROCESSINGPARAMS_DEBUG(expr) | |
874 #define PKIX_PROCESSINGPARAMS_DEBUG_ARG(expr, arg) | |
875 #endif | |
876 | |
877 #if PKIX_VALIDATEPARAMSDEBUG | |
878 #define PKIX_VALIDATEPARAMS_DEBUG(expr) \ | |
879 PKIX_DEBUG(expr) | |
880 #define PKIX_VALIDATEPARAMS_DEBUG_ARG(expr, arg) \ | |
881 PKIX_DEBUG_ARG(expr, arg) | |
882 #else | |
883 #define PKIX_VALIDATEPARAMS_DEBUG(expr) | |
884 #define PKIX_VALIDATEPARAMS_DEBUG_ARG(expr, arg) | |
885 #endif | |
886 | |
887 #if PKIX_VALIDATERESULTDEBUG | |
888 #define PKIX_VALIDATERESULT_DEBUG(expr) \ | |
889 PKIX_DEBUG(expr) | |
890 #define PKIX_VALIDATERESULT_DEBUG_ARG(expr, arg) \ | |
891 PKIX_DEBUG_ARG(expr, arg) | |
892 #else | |
893 #define PKIX_VALIDATERESULT_DEBUG(expr) | |
894 #define PKIX_VALIDATERESULT_DEBUG_ARG(expr, arg) | |
895 #endif | |
896 | |
897 #if PKIX_VALIDATEDEBUG | |
898 #define PKIX_VALIDATE_DEBUG(expr) \ | |
899 PKIX_DEBUG(expr) | |
900 #define PKIX_VALIDATE_DEBUG_ARG(expr, arg) \ | |
901 PKIX_DEBUG_ARG(expr, arg) | |
902 #else | |
903 #define PKIX_VALIDATE_DEBUG(expr) | |
904 #define PKIX_VALIDATE_DEBUG_ARG(expr, arg) | |
905 #endif | |
906 | |
907 #if PKIX_BUILDDEBUG | |
908 #define PKIX_BUILD_DEBUG(expr) \ | |
909 PKIX_DEBUG(expr) | |
910 #define PKIX_BUILD_DEBUG_ARG(expr, arg) \ | |
911 PKIX_DEBUG_ARG(expr, arg) | |
912 #else | |
913 #define PKIX_BUILD_DEBUG(expr) | |
914 #define PKIX_BUILD_DEBUG_ARG(expr, arg) | |
915 #endif | |
916 | |
917 #if PKIX_CERTCHAINCHECKERDEBUG | |
918 #define PKIX_CERTCHAINCHECKER_DEBUG(expr) \ | |
919 PKIX_DEBUG(expr) | |
920 #define PKIX_CERTCHAINCHECKER_DEBUG_ARG(expr, arg) \ | |
921 PKIX_DEBUG_ARG(expr, arg) | |
922 #else | |
923 #define PKIX_CERTCHAINCHECKER_DEBUG(expr) | |
924 #define PKIX_CERTCHAINCHECKER_DEBUG_ARG(expr, arg) | |
925 #endif | |
926 | |
927 #if PKIX_REVOCATIONCHECKERDEBUG | |
928 #define PKIX_REVOCATIONCHECKER_DEBUG(expr) \ | |
929 PKIX_DEBUG(expr) | |
930 #define PKIX_REVOCATIONCHECKER_DEBUG_ARG(expr, arg) \ | |
931 PKIX_DEBUG_ARG(expr, arg) | |
932 #else | |
933 #define PKIX_REVOCATIONCHECKER_DEBUG(expr) | |
934 #define PKIX_REVOCATIONCHECKER_DEBUG_ARG(expr, arg) | |
935 #endif | |
936 | |
937 #if PKIX_REVOCATIONMETHODDEBUG | |
938 #define PKIX_REVOCATIONMETHOD_DEBUG(expr) \ | |
939 PKIX_DEBUG(expr) | |
940 #define PKIX_REVOCATIONMETHOD_DEBUG_ARG(expr, arg) \ | |
941 PKIX_DEBUG_ARG(expr, arg) | |
942 #else | |
943 #define PKIX_REVOCATIONMETHOD_DEBUG(expr) | |
944 #define PKIX_REVOCATIONMETHOD_DEBUG_ARG(expr, arg) | |
945 #endif | |
946 | |
947 #if PKIX_CERTSELECTORDEBUG | |
948 #define PKIX_CERTSELECTOR_DEBUG(expr) \ | |
949 PKIX_DEBUG(expr) | |
950 #define PKIX_CERTSELECTOR_DEBUG_ARG(expr, arg) \ | |
951 PKIX_DEBUG_ARG(expr, arg) | |
952 #else | |
953 #define PKIX_CERTSELECTOR_DEBUG(expr) | |
954 #define PKIX_CERTSELECTOR_DEBUG_ARG(expr, arg) | |
955 #endif | |
956 | |
957 #if PKIX_COMCERTSELPARAMSDEBUG | |
958 #define PKIX_COMCERTSELPARAMS_DEBUG(expr) \ | |
959 PKIX_DEBUG(expr) | |
960 #define PKIX_COMCERTSELPARAMS_DEBUG_ARG(expr, arg) \ | |
961 PKIX_DEBUG_ARG(expr, arg) | |
962 #else | |
963 #define PKIX_COMCERTSELPARAMS_DEBUG(expr) | |
964 #define PKIX_COMCERTSELPARAMS_DEBUG_ARG(expr, arg) | |
965 #endif | |
966 | |
967 #if PKIX_TARGETCERTCHECKERSTATEDEBUG | |
968 #define PKIX_TARGETCERTCHECKERSTATE_DEBUG(expr) \ | |
969 PKIX_DEBUG(expr) | |
970 #define PKIX_TARGETCERTCHECKERSTATE_DEBUG_ARG(expr, arg) \ | |
971 PKIX_DEBUG_ARG(expr, arg) | |
972 #else | |
973 #define PKIX_TARGETCERTCHECKERSTATE_DEBUG(expr) | |
974 #define PKIX_TARGETCERTCHECKERSTATE_DEBUG_ARG(expr, arg) | |
975 #endif | |
976 | |
977 #if PKIX_BASICCONSTRAINTSCHECKERSTATEDEBUG | |
978 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG(expr) \ | |
979 PKIX_DEBUG(expr) | |
980 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG_ARG(expr, arg) \ | |
981 PKIX_DEBUG_ARG(expr, arg) | |
982 #else | |
983 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG(expr) | |
984 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG_ARG(expr, arg) | |
985 #endif | |
986 | |
987 #if PKIX_INITIALIZEPARAMSDEBUG | |
988 #define PKIX_INITIALIZEPARAMS_DEBUG(expr) \ | |
989 PKIX_DEBUG(expr) | |
990 #define PKIX_INITIALIZEPARAMS_DEBUG_ARG(expr, arg) \ | |
991 PKIX_DEBUG_ARG(expr, arg) | |
992 #else | |
993 #define PKIX_INITIALIZEPARAMS_DEBUG(expr) | |
994 #define PKIX_INITIALIZEPARAMS_DEBUG_ARG(expr, arg) | |
995 #endif | |
996 | |
997 #if PKIX_CERTBASICCONSTRAINTSDEBUG | |
998 #define PKIX_CERTBASICCONSTRAINTS_DEBUG(expr) \ | |
999 PKIX_DEBUG(expr) | |
1000 #define PKIX_CERTBASICCONSTRAINTS_DEBUG_ARG(expr, arg) \ | |
1001 PKIX_DEBUG_ARG(expr, arg) | |
1002 #else | |
1003 #define PKIX_CERTBASICCONSTRAINTS_DEBUG(expr) | |
1004 #define PKIX_CERTBASICCONSTRAINTS_DEBUG_ARG(expr, arg) | |
1005 #endif | |
1006 | |
1007 #if PKIX_CERTNAMECONSTRAINTSDEBUG | |
1008 #define PKIX_CERTNAMECONSTRAINTS_DEBUG(expr) \ | |
1009 PKIX_DEBUG(expr) | |
1010 #define PKIX_CERTNAMECONSTRAINTS_DEBUG_ARG(expr, arg) \ | |
1011 PKIX_DEBUG_ARG(expr, arg) | |
1012 #else | |
1013 #define PKIX_CERTNAMECONSTRAINTS_DEBUG(expr) | |
1014 #define PKIX_CERTNAMECONSTRAINTS_DEBUG_ARG(expr, arg) | |
1015 #endif | |
1016 | |
1017 #if PKIX_CERTNAMECONSTRAINTSCHECKERSTATEDEBUG | |
1018 #define PKIX_CERTNAMECONSTRAINTSCHECKERSTATE_DEBUG(expr) \ | |
1019 PKIX_DEBUG(expr) | |
1020 #define PKIX_CERTNAMECONSTRAINTSCHECKERSTATE_DEBUG_ARG(expr, arg) \ | |
1021 PKIX_DEBUG_ARG(expr, arg) | |
1022 #else | |
1023 #define PKIX_CERTNAMECONSTRAINTSCHECKERSTATE_DEBUG(expr) | |
1024 #define PKIX_CERTNAMECONSTRAINTSCHECKERSTATE_DEBUG_ARG(expr, arg) | |
1025 #endif | |
1026 | |
1027 #if PKIX_SUBJALTNAMECHECKERSTATEDEBUG | |
1028 #define PKIX_SUBJALTNAMECHECKERSTATE_DEBUG(expr) \ | |
1029 PKIX_DEBUG(expr) | |
1030 #define PKIX_SUBJALTNAMECHECKERSTATE_DEBUG_ARG(expr, arg) \ | |
1031 PKIX_DEBUG_ARG(expr, arg) | |
1032 #else | |
1033 #define PKIX_SUBJALTNAMECHECKERSTATE_DEBUG(expr) | |
1034 #define PKIX_SUBJALTNAMECHECKERSTATE_DEBUG_ARG(expr, arg) | |
1035 #endif | |
1036 | |
1037 #if PKIX_CERTPOLICYQUALIFIERDEBUG | |
1038 #define PKIX_CERTPOLICYQUALIFIER_DEBUG(expr) \ | |
1039 PKIX_DEBUG(expr) | |
1040 #define PKIX_CERTPOLICYQUALIFIER_DEBUG_ARG(expr, arg) \ | |
1041 PKIX_DEBUG_ARG(expr, arg) | |
1042 #else | |
1043 #define PKIX_CERTPOLICYQUALIFIER_DEBUG(expr) | |
1044 #define PKIX_CERTPOLICYQUALIFIER_DEBUG_ARG(expr, arg) | |
1045 #endif | |
1046 | |
1047 #if PKIX_CERTPOLICYINFODEBUG | |
1048 #define PKIX_CERTPOLICYINFO_DEBUG(expr) \ | |
1049 PKIX_DEBUG(expr) | |
1050 #define PKIX_CERTPOLICYINFO_DEBUG_ARG(expr, arg) \ | |
1051 PKIX_DEBUG_ARG(expr, arg) | |
1052 #else | |
1053 #define PKIX_CERTPOLICYINFO_DEBUG(expr) | |
1054 #define PKIX_CERTPOLICYINFO_DEBUG_ARG(expr, arg) | |
1055 #endif | |
1056 | |
1057 #if PKIX_CERTPOLICYNODEDEBUG | |
1058 #define PKIX_CERTPOLICYNODE_DEBUG(expr) \ | |
1059 PKIX_DEBUG(expr) | |
1060 #define PKIX_CERTPOLICYNODE_DEBUG_ARG(expr, arg) \ | |
1061 PKIX_DEBUG_ARG(expr, arg) | |
1062 #else | |
1063 #define PKIX_CERTPOLICYNODE_DEBUG(expr) | |
1064 #define PKIX_CERTPOLICYNODE_DEBUG_ARG(expr, arg) | |
1065 #endif | |
1066 | |
1067 #if PKIX_CERTPOLICYCHECKERSTATEDEBUG | |
1068 #define PKIX_CERTPOLICYCHECKERSTATE_DEBUG(expr) \ | |
1069 PKIX_DEBUG(expr) | |
1070 #define PKIX_CERTPOLICYCHECKERSTATE_DEBUG_ARG(expr, arg) \ | |
1071 PKIX_DEBUG_ARG(expr, arg) | |
1072 #else | |
1073 #define PKIX_CERTPOLICYCHECKERSTATE_DEBUG(expr) | |
1074 #define PKIX_CERTPOLICYCHECKERSTATE_DEBUG_ARG(expr, arg) | |
1075 #endif | |
1076 | |
1077 #if PKIX_LIFECYCLEDEBUG | |
1078 #define PKIX_LIFECYCLE_DEBUG(expr) \ | |
1079 PKIX_DEBUG(expr) | |
1080 #define PKIX_LIFECYCLE_DEBUG_ARG(expr, arg) \ | |
1081 PKIX_DEBUG_ARG(expr, arg) | |
1082 #else | |
1083 #define PKIX_LIFECYCLE_DEBUG(expr) | |
1084 #define PKIX_LIFECYCLE_DEBUG_ARG(expr, arg) | |
1085 #endif | |
1086 | |
1087 #if PKIX_BASICCONSTRAINTSCHECKERSTATEDEBUG | |
1088 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG(expr) \ | |
1089 PKIX_DEBUG(expr) | |
1090 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG_ARG(expr, arg) \ | |
1091 PKIX_DEBUG_ARG(expr, arg) | |
1092 #else | |
1093 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG(expr) | |
1094 #define PKIX_BASICCONSTRAINTSCHECKERSTATE_DEBUG_ARG(expr, arg) | |
1095 #endif | |
1096 | |
1097 #if PKIX_CRLDEBUG | |
1098 #define PKIX_CRL_DEBUG(expr) \ | |
1099 PKIX_DEBUG(expr) | |
1100 #define PKIX_CRL_DEBUG_ARG(expr, arg) \ | |
1101 PKIX_DEBUG_ARG(expr, arg) | |
1102 #else | |
1103 #define PKIX_CRL_DEBUG(expr) | |
1104 #define PKIX_CRL_DEBUG_ARG(expr, arg) | |
1105 #endif | |
1106 | |
1107 #if PKIX_CRLENTRYDEBUG | |
1108 #define PKIX_CRLENTRY_DEBUG(expr) \ | |
1109 PKIX_DEBUG(expr) | |
1110 #define PKIX_CRLENTRY_DEBUG_ARG(expr, arg) \ | |
1111 PKIX_DEBUG_ARG(expr, arg) | |
1112 #else | |
1113 #define PKIX_CRLENTRY_DEBUG(expr) | |
1114 #define PKIX_CRLENTRY_DEBUG_ARG(expr, arg) | |
1115 #endif | |
1116 | |
1117 #if PKIX_CRLSELECTORDEBUG | |
1118 #define PKIX_CRLSELECTOR_DEBUG(expr) \ | |
1119 PKIX_DEBUG(expr) | |
1120 #define PKIX_CRLSELECTOR_DEBUG_ARG(expr, arg) \ | |
1121 PKIX_DEBUG_ARG(expr, arg) | |
1122 #else | |
1123 #define PKIX_CRLSELECTOR_DEBUG(expr) | |
1124 #define PKIX_CRLSELECTOR_DEBUG_ARG(expr, arg) | |
1125 #endif | |
1126 | |
1127 #if PKIX_COMCRLSELPARAMSDEBUG | |
1128 #define PKIX_COMCRLSELPARAMS_DEBUG(expr) \ | |
1129 PKIX_DEBUG(expr) | |
1130 #define PKIX_COMCRLSELPARAMS_DEBUG_ARG(expr, arg) \ | |
1131 PKIX_DEBUG_ARG(expr, arg) | |
1132 #else | |
1133 #define PKIX_COMCRLSELPARAMS_DEBUG(expr) | |
1134 #define PKIX_COMCRLSELPARAMS_DEBUG_ARG(expr, arg) | |
1135 #endif | |
1136 | |
1137 #if PKIX_CERTSTOREDEBUG | |
1138 #define PKIX_CERTSTORE_DEBUG(expr) \ | |
1139 PKIX_DEBUG(expr) | |
1140 #define PKIX_CERTSTORE_DEBUG_ARG(expr, arg) \ | |
1141 PKIX_DEBUG_ARG(expr, arg) | |
1142 #else | |
1143 #define PKIX_CERTSTORE_DEBUG(expr) | |
1144 #define PKIX_CERTSTORE_DEBUG_ARG(expr, arg) | |
1145 #endif | |
1146 | |
1147 #if PKIX_COLLECTIONCERTSTORECONTEXTDEBUG | |
1148 #define PKIX_COLLECTIONCERTSTORECONTEXT_DEBUG(expr) \ | |
1149 PKIX_DEBUG(expr) | |
1150 #define PKIX_COLLECTIONCERTSTORECONTEXT_DEBUG_ARG(expr, arg) \ | |
1151 PKIX_DEBUG_ARG(expr, arg) | |
1152 #else | |
1153 #define PKIX_COLLECTIONCERTSTORECONTEXT_DEBUG(expr) | |
1154 #define PKIX_COLLECTIONCERTSTORECONTEXT_DEBUG_ARG(expr, arg) | |
1155 #endif | |
1156 | |
1157 #if PKIX_CRLCHECKERDEBUG | |
1158 #define PKIX_CRLCHECKER_DEBUG(expr) \ | |
1159 PKIX_DEBUG(expr) | |
1160 #define PKIX_CRLCHECKER_DEBUG_ARG(expr, arg) \ | |
1161 PKIX_DEBUG_ARG(expr, arg) | |
1162 #else | |
1163 #define PKIX_CRLCHECKER_DEBUG(expr) | |
1164 #define PKIX_CRLCHECKER_DEBUG_ARG(expr, arg) | |
1165 #endif | |
1166 | |
1167 #if PKIX_CERTPOLICYMAPDEBUG | |
1168 #define PKIX_CERTPOLICYMAP_DEBUG(expr) \ | |
1169 PKIX_DEBUG(expr) | |
1170 #define PKIX_CERTPOLICYMAP_DEBUG_ARG(expr, arg) \ | |
1171 PKIX_DEBUG_ARG(expr, arg) | |
1172 #else | |
1173 #define PKIX_CERTPOLICYMAP_DEBUG(expr) | |
1174 #define PKIX_CERTPOLICYMAP_DEBUG_ARG(expr, arg) | |
1175 #endif | |
1176 | |
1177 #if PKIX_BUILDRESULTDEBUG | |
1178 #define PKIX_BUILDRESULT_DEBUG(expr) \ | |
1179 PKIX_DEBUG(expr) | |
1180 #define PKIX_BUILDRESULT_DEBUG_ARG(expr, arg) \ | |
1181 PKIX_DEBUG_ARG(expr, arg) | |
1182 #else | |
1183 #define PKIX_BUILDRESULT_DEBUG(expr) | |
1184 #define PKIX_BUILDRESULT_DEBUG_ARG(expr, arg) | |
1185 #endif | |
1186 | |
1187 #if PKIX_FORWARDBUILDERSTATEDEBUG | |
1188 #define PKIX_FORWARDBUILDERSTATE_DEBUG(expr) \ | |
1189 PKIX_DEBUG(expr) | |
1190 #define PKIX_FORWARDBUILDERSTATE_DEBUG_ARG(expr, arg) \ | |
1191 PKIX_DEBUG_ARG(expr, arg) | |
1192 #else | |
1193 #define PKIX_FORWARDBUILDERSTATE_DEBUG(expr) | |
1194 #define PKIX_FORWARDBUILDERSTATE_DEBUG_ARG(expr, arg) | |
1195 #endif | |
1196 | |
1197 #if PKIX_SIGNATURECHECKERSTATEDEBUG | |
1198 #define PKIX_SIGNATURECHECKERSTATE_DEBUG(expr) \ | |
1199 PKIX_DEBUG(expr) | |
1200 #define PKIX_SIGNATURECHECKERSTATE_DEBUG_ARG(expr, arg) \ | |
1201 PKIX_DEBUG_ARG(expr, arg) | |
1202 #else | |
1203 #define PKIX_SIGNATURECHECKERSTATE_DEBUG(expr) | |
1204 #define PKIX_SIGNATURECHECKERSTATE_DEBUG_ARG(expr, arg) | |
1205 #endif | |
1206 | |
1207 #if PKIX_USERDEFINEDMODULESDEBUG | |
1208 #define PKIX_USERDEFINEDMODULES_DEBUG(expr) \ | |
1209 PKIX_DEBUG(expr) | |
1210 #define PKIX_USERDEFINEDMODULES_DEBUG_ARG(expr, arg) \ | |
1211 PKIX_DEBUG_ARG(expr, arg) | |
1212 #else | |
1213 #define PKIX_USERDEFINEDMODULES_DEBUG(expr) | |
1214 #define PKIX_USERDEFINEDMODULES_DEBUG_ARG(expr, arg) | |
1215 #endif | |
1216 | |
1217 #if PKIX_CONTEXTDEBUG | |
1218 #define PKIX_CONTEXT_DEBUG(expr) \ | |
1219 PKIX_DEBUG(expr) | |
1220 #define PKIX_CONTEXT_DEBUG_ARG(expr, arg) \ | |
1221 PKIX_DEBUG_ARG(expr, arg) | |
1222 #else | |
1223 #define PKIX_CONTEXT_DEBUG(expr) | |
1224 #define PKIX_CONTEXT_DEBUG_ARG(expr, arg) | |
1225 #endif | |
1226 | |
1227 #if PKIX_REVOCATIONCHECKERDEBUG | |
1228 #define PKIX_REVOCATIONCHECKER_DEBUG(expr) \ | |
1229 PKIX_DEBUG(expr) | |
1230 #define PKIX_REVOCATIONCHECKER_DEBUG_ARG(expr, arg) \ | |
1231 PKIX_DEBUG_ARG(expr, arg) | |
1232 #else | |
1233 #define PKIX_REVOCATIONCHECKER_DEBUG(expr) | |
1234 #define PKIX_REVOCATIONCHECKER_DEBUG_ARG(expr, arg) | |
1235 #endif | |
1236 | |
1237 #if PKIX_LDAPREQUESTDEBUG | |
1238 #define PKIX_LDAPREQUEST_DEBUG(expr) \ | |
1239 PKIX_DEBUG(expr) | |
1240 #define PKIX_LDAPREQUEST_DEBUG_ARG(expr, arg) \ | |
1241 PKIX_DEBUG_ARG(expr, arg) | |
1242 #else | |
1243 #define PKIX_LDAPREQUEST_DEBUG(expr) | |
1244 #define PKIX_LDAPREQUEST_DEBUG_ARG(expr, arg) | |
1245 #endif | |
1246 | |
1247 #if PKIX_LDAPRESPONSEDEBUG | |
1248 #define PKIX_LDAPRESPONSE_DEBUG(expr) \ | |
1249 PKIX_DEBUG(expr) | |
1250 #define PKIX_LDAPRESPONSE_DEBUG_ARG(expr, arg) \ | |
1251 PKIX_DEBUG_ARG(expr, arg) | |
1252 #else | |
1253 #define PKIX_LDAPRESPONSE_DEBUG(expr) | |
1254 #define PKIX_LDAPRESPONSE_DEBUG_ARG(expr, arg) | |
1255 #endif | |
1256 | |
1257 #if PKIX_LDAPCLIENTDEBUG | |
1258 #define PKIX_LDAPCLIENT_DEBUG(expr) \ | |
1259 PKIX_DEBUG(expr) | |
1260 #define PKIX_LDAPCLIENT_DEBUG_ARG(expr, arg) \ | |
1261 PKIX_DEBUG_ARG(expr, arg) | |
1262 #else | |
1263 #define PKIX_LDAPCLIENT_DEBUG(expr) | |
1264 #define PKIX_LDAPCLIENT_DEBUG_ARG(expr, arg) | |
1265 #endif | |
1266 | |
1267 #if PKIX_LDAPDEFAULTCLIENTDEBUG | |
1268 #define PKIX_LDAPDEFAULTCLIENT_DEBUG(expr) \ | |
1269 PKIX_DEBUG(expr) | |
1270 #define PKIX_LDAPDEFAULTCLIENT_DEBUG_ARG(expr, arg) \ | |
1271 PKIX_DEBUG_ARG(expr, arg) | |
1272 #else | |
1273 #define PKIX_LDAPDEFAULTCLIENT_DEBUG(expr) | |
1274 #define PKIX_LDAPDEFAULTCLIENT_DEBUG_ARG(expr, arg) | |
1275 #endif | |
1276 | |
1277 #if PKIX_SOCKETDEBUG | |
1278 #define PKIX_SOCKET_DEBUG(expr) \ | |
1279 PKIX_DEBUG(expr) | |
1280 #define PKIX_SOCKET_DEBUG_ARG(expr, arg) \ | |
1281 PKIX_DEBUG_ARG(expr, arg) | |
1282 #else | |
1283 #define PKIX_SOCKET_DEBUG(expr) | |
1284 #define PKIX_SOCKET_DEBUG_ARG(expr, arg) | |
1285 #endif | |
1286 | |
1287 #if PKIX_RESOURCELIMITSDEBUG | |
1288 #define PKIX_RESOURCELIMITS_DEBUG(expr) \ | |
1289 PKIX_DEBUG(expr) | |
1290 #define PKIX_RESOURCELIMITS_DEBUG_ARG(expr, arg) \ | |
1291 PKIX_DEBUG_ARG(expr, arg) | |
1292 #else | |
1293 #define PKIX_RESOURCELIMITS_DEBUG(expr) | |
1294 #define PKIX_RESOURCELIMITS_DEBUG_ARG(expr, arg) | |
1295 #endif | |
1296 | |
1297 #if PKIX_LOGGERDEBUG | |
1298 #define PKIX_LOGGER_DEBUG(expr) \ | |
1299 PKIX_DEBUG(expr) | |
1300 #define PKIX_LOGGER_DEBUG_ARG(expr, arg) \ | |
1301 PKIX_DEBUG_ARG(expr, arg) | |
1302 #else | |
1303 #define PKIX_LOGGER_DEBUG(expr) | |
1304 #define PKIX_LOGGER_DEBUG_ARG(expr, arg) | |
1305 #endif | |
1306 | |
1307 #if PKIX_MONITORLOCKDEBUG | |
1308 #define PKIX_MONITORLOCK_DEBUG(expr) \ | |
1309 PKIX_DEBUG(expr) | |
1310 #define PKIX_MONITORLOCK_DEBUG_ARG(expr, arg) \ | |
1311 PKIX_DEBUG_ARG(expr, arg) | |
1312 #else | |
1313 #define PKIX_MONITORLOCK_DEBUG(expr) | |
1314 #define PKIX_MONITORLOCK_DEBUG_ARG(expr, arg) | |
1315 #endif | |
1316 | |
1317 #if PKIX_INFOACCESSDEBUG | |
1318 #define PKIX_INFOACCESS_DEBUG(expr) \ | |
1319 PKIX_DEBUG(expr) | |
1320 #define PKIX_INFOACCESS_DEBUG_ARG(expr, arg) \ | |
1321 PKIX_DEBUG_ARG(expr, arg) | |
1322 #else | |
1323 #define PKIX_INFOACCESS_DEBUG(expr) | |
1324 #define PKIX_INFOACCESS_DEBUG_ARG(expr, arg) | |
1325 #endif | |
1326 | |
1327 #if PKIX_AIAMGRDEBUG | |
1328 #define PKIX_AIAMGR_DEBUG(expr) \ | |
1329 PKIX_DEBUG(expr) | |
1330 #define PKIX_AIAMGR_DEBUG_ARG(expr, arg) \ | |
1331 PKIX_DEBUG_ARG(expr, arg) | |
1332 #else | |
1333 #define PKIX_AIAMGR_DEBUG(expr) | |
1334 #define PKIX_AIAMGR_DEBUG_ARG(expr, arg) | |
1335 #endif | |
1336 | |
1337 #if PKIX_OCSPCHECKERDEBUG | |
1338 #define PKIX_OCSPCHECKER_DEBUG(expr) \ | |
1339 PKIX_DEBUG(expr) | |
1340 #define PKIX_OCSPCHECKER_DEBUG_ARG(expr, arg) \ | |
1341 PKIX_DEBUG_ARG(expr, arg) | |
1342 #else | |
1343 #define PKIX_OCSPCHECKER_DEBUG(expr) | |
1344 #define PKIX_OCSPCHECKER_DEBUG_ARG(expr, arg) | |
1345 #endif | |
1346 | |
1347 #if PKIX_OCSPCERTIDDEBUG | |
1348 #define PKIX_OCSPCERTID_DEBUG(expr) \ | |
1349 PKIX_DEBUG(expr) | |
1350 #define PKIX_OCSPCERTID_DEBUG_ARG(expr, arg) \ | |
1351 PKIX_DEBUG_ARG(expr, arg) | |
1352 #else | |
1353 #define PKIX_OCSPCERTID_DEBUG(expr) | |
1354 #define PKIX_OCSPCERTID_DEBUG_ARG(expr, arg) | |
1355 #endif | |
1356 | |
1357 #if PKIX_OCSPREQUESTDEBUG | |
1358 #define PKIX_OCSPREQUEST_DEBUG(expr) \ | |
1359 PKIX_DEBUG(expr) | |
1360 #define PKIX_OCSPREQUEST_DEBUG_ARG(expr, arg) \ | |
1361 PKIX_DEBUG_ARG(expr, arg) | |
1362 #else | |
1363 #define PKIX_OCSPREQUEST_DEBUG(expr) | |
1364 #define PKIX_OCSPREQUEST_DEBUG_ARG(expr, arg) | |
1365 #endif | |
1366 | |
1367 #if PKIX_OCSPRESPONSEDEBUG | |
1368 #define PKIX_OCSPRESPONSE_DEBUG(expr) \ | |
1369 PKIX_DEBUG(expr) | |
1370 #define PKIX_OCSPRESPONSE_DEBUG_ARG(expr, arg) \ | |
1371 PKIX_DEBUG_ARG(expr, arg) | |
1372 #else | |
1373 #define PKIX_OCSPRESPONSE_DEBUG(expr) | |
1374 #define PKIX_OCSPRESPONSE_DEBUG_ARG(expr, arg) | |
1375 #endif | |
1376 | |
1377 #if PKIX_HTTPDEFAULTCLIENTDEBUG | |
1378 #define PKIX_HTTPDEFAULTCLIENT_DEBUG(expr) \ | |
1379 PKIX_DEBUG(expr) | |
1380 #define PKIX_HTTPDEFAULTCLIENT_DEBUG_ARG(expr, arg) \ | |
1381 PKIX_DEBUG_ARG(expr, arg) | |
1382 #else | |
1383 #define PKIX_HTTPDEFAULTCLIENT_DEBUG(expr) | |
1384 #define PKIX_HTTPDEFAULTCLIENT_DEBUG_ARG(expr, arg) | |
1385 #endif | |
1386 | |
1387 #if PKIX_HTTPCERTSTORECONTEXTDEBUG | |
1388 #define PKIX_HTTPCERTSTORECONTEXT_DEBUG(expr) \ | |
1389 PKIX_DEBUG(expr) | |
1390 #define PKIX_HTTPCERTSTORECONTEXT_DEBUG_ARG(expr, arg) \ | |
1391 PKIX_DEBUG_ARG(expr, arg) | |
1392 #else | |
1393 #define PKIX_HTTPCERTSTORECONTEXT_DEBUG(expr) | |
1394 #define PKIX_HTTPCERTSTORECONTEXT_DEBUG_ARG(expr, arg) | |
1395 #endif | |
1396 | |
1397 #if PKIX_VERIFYNODEDEBUG | |
1398 #define PKIX_VERIFYNODE_DEBUG(expr) \ | |
1399 PKIX_DEBUG(expr) | |
1400 #define PKIX_VERIFYNODE_DEBUG_ARG(expr, arg) \ | |
1401 PKIX_DEBUG_ARG(expr, arg) | |
1402 #else | |
1403 #define PKIX_VERIFYNODE_DEBUG(expr) | |
1404 #define PKIX_VERIFYNODE_DEBUG_ARG(expr, arg) | |
1405 #endif | |
1406 | |
1407 #if PKIX_EKUCHECKER | |
1408 #define PKIX_EKUCHECKER_DEBUG(expr) \ | |
1409 PKIX_DEBUG(expr) | |
1410 #define PKIX_EKUCHECKER_DEBUG_ARG(expr, arg) \ | |
1411 PKIX_DEBUG_ARG(expr, arg) | |
1412 #else | |
1413 #define PKIX_EKUCHECKER_DEBUG(expr) | |
1414 #define PKIX_EKUCHECKER_DEBUG_ARG(expr, arg) | |
1415 #endif | |
1416 | |
1417 #if PKIX_CERTVFYPKIXDEBUG | |
1418 #define PKIX_CERTVFYPKIX_DEBUG(expr) \ | |
1419 PKIX_DEBUG(expr) | |
1420 #define PKIX_CERTVFYPKIX_DEBUG_ARG(expr, arg) \ | |
1421 PKIX_DEBUG_ARG(expr, arg) | |
1422 #else | |
1423 #define PKIX_CERTVFYPKIX_DEBUG(expr) | |
1424 #define PKIX_CERTVFYPKIX_DEBUG_ARG(expr, arg) | |
1425 #endif | |
1426 | |
1427 /* | |
1428 * All object types register themselves with the system using a | |
1429 * pkix_ClassTable_Entry, which consists of a set of functions for that | |
1430 * type and an ASCII string (char *) which is used by the default | |
1431 * ToStringCallback (if necessary). System types register themselves directly | |
1432 * when their respective PKIX_"type"_RegisterSelf functions are called. | |
1433 * User-defined types can be registered using PKIX_PL_Object_RegisterType. | |
1434 * (see comments in pkix_pl_system.h) | |
1435 */ | |
1436 | |
1437 typedef struct pkix_ClassTable_EntryStruct pkix_ClassTable_Entry; | |
1438 struct pkix_ClassTable_EntryStruct { | |
1439 char *description; | |
1440 PKIX_Int32 objCounter; | |
1441 PKIX_Int32 typeObjectSize; | |
1442 PKIX_PL_DestructorCallback destructor; | |
1443 PKIX_PL_EqualsCallback equalsFunction; | |
1444 PKIX_PL_HashcodeCallback hashcodeFunction; | |
1445 PKIX_PL_ToStringCallback toStringFunction; | |
1446 PKIX_PL_ComparatorCallback comparator; | |
1447 PKIX_PL_DuplicateCallback duplicateFunction; | |
1448 }; | |
1449 | |
1450 /* | |
1451 * PKIX_ERRORCLASSNAMES is an array of strings, with each string holding a | |
1452 * descriptive name for an error code. This is used by the default | |
1453 * PKIX_PL_Error_ToString function. | |
1454 */ | |
1455 extern const char *PKIX_ERRORCLASSNAMES[PKIX_NUMERRORCLASSES]; | |
1456 | |
1457 #define MAX_STACK_DEPTH 1000 | |
1458 | |
1459 extern PRLogModuleInfo *pkixLog; | |
1460 | |
1461 #define PKIX_MAGIC_HEADER LL_INIT(0xFEEDC0FF, 0xEEFACADE) | |
1462 #define PKIX_MAGIC_HEADER_DESTROYED LL_INIT(0xBAADF00D, 0xDEADBEEF) | |
1463 | |
1464 /* see source file for function documentation */ | |
1465 | |
1466 PKIX_Error * | |
1467 pkix_IsCertSelfIssued( | |
1468 PKIX_PL_Cert *cert, | |
1469 PKIX_Boolean *pSelfIssued, | |
1470 void *plContext); | |
1471 | |
1472 PKIX_Error * | |
1473 pkix_Throw( | |
1474 PKIX_ERRORCLASS errClass, | |
1475 const char *funcName, | |
1476 PKIX_ERRORCODE errorTextCode, | |
1477 PKIX_ERRORCLASS overrideClass, | |
1478 PKIX_Error *cause, | |
1479 PKIX_Error **pError, | |
1480 void *plContext); | |
1481 | |
1482 PKIX_Error * | |
1483 pkix_CheckTypes( | |
1484 PKIX_PL_Object *first, | |
1485 PKIX_PL_Object *second, | |
1486 PKIX_UInt32 type, | |
1487 void *plContext); | |
1488 | |
1489 PKIX_Error * | |
1490 pkix_CheckType( | |
1491 PKIX_PL_Object *object, | |
1492 PKIX_UInt32 type, | |
1493 void *plContext); | |
1494 | |
1495 PKIX_Error * | |
1496 pkix_hash( | |
1497 const unsigned char *bytes, | |
1498 PKIX_UInt32 length, | |
1499 PKIX_UInt32 *hash, | |
1500 void *plContext); | |
1501 | |
1502 PKIX_Error * | |
1503 pkix_duplicateImmutable( | |
1504 PKIX_PL_Object *object, | |
1505 PKIX_PL_Object **pNewObject, | |
1506 void *plContext); | |
1507 | |
1508 PKIX_UInt32 | |
1509 pkix_countArray(void **array); | |
1510 | |
1511 PKIX_UInt32 | |
1512 pkix_hex2i(char c); | |
1513 | |
1514 char | |
1515 pkix_i2hex(char c); | |
1516 | |
1517 PKIX_Boolean | |
1518 pkix_isPlaintext(unsigned char c, PKIX_Boolean debug); | |
1519 | |
1520 PKIX_Error * | |
1521 pkix_CacheCertChain_Lookup( | |
1522 PKIX_PL_Cert* targetCert, | |
1523 PKIX_List* anchors, | |
1524 PKIX_PL_Date *testDate, | |
1525 PKIX_Boolean *pFound, | |
1526 PKIX_BuildResult **pBuildResult, | |
1527 void *plContext); | |
1528 | |
1529 PKIX_Error * | |
1530 pkix_CacheCertChain_Remove( | |
1531 PKIX_PL_Cert* targetCert, | |
1532 PKIX_List* anchors, | |
1533 void *plContext); | |
1534 | |
1535 PKIX_Error * | |
1536 pkix_CacheCertChain_Add( | |
1537 PKIX_PL_Cert* targetCert, | |
1538 PKIX_List* anchors, | |
1539 PKIX_PL_Date *validityDate, | |
1540 PKIX_BuildResult *buildResult, | |
1541 void *plContext); | |
1542 | |
1543 PKIX_Error * | |
1544 pkix_CacheCert_Lookup( | |
1545 PKIX_CertStore *store, | |
1546 PKIX_ComCertSelParams *certSelParams, | |
1547 PKIX_PL_Date *testDate, | |
1548 PKIX_Boolean *pFound, | |
1549 PKIX_List** pCerts, | |
1550 void *plContext); | |
1551 | |
1552 PKIX_Error * | |
1553 pkix_CacheCert_Add( | |
1554 PKIX_CertStore *store, | |
1555 PKIX_ComCertSelParams *certSelParams, | |
1556 PKIX_List* certs, | |
1557 void *plContext); | |
1558 | |
1559 PKIX_Error * | |
1560 pkix_CacheCrlEntry_Lookup( | |
1561 PKIX_CertStore *store, | |
1562 PKIX_PL_X500Name *certIssuer, | |
1563 PKIX_PL_BigInt *certSerialNumber, | |
1564 PKIX_Boolean *pFound, | |
1565 PKIX_List** pCrlEntryList, | |
1566 void *plContext); | |
1567 | |
1568 PKIX_Error * | |
1569 pkix_CacheCrlEntry_Add( | |
1570 PKIX_CertStore *store, | |
1571 PKIX_PL_X500Name *certIssuer, | |
1572 PKIX_PL_BigInt *certSerialNumber, | |
1573 PKIX_List* crlEntryList, | |
1574 void *plContext); | |
1575 | |
1576 #ifdef PR_LOGGING | |
1577 void | |
1578 pkix_trace_dump_cert( | |
1579 const char *info, | |
1580 PKIX_PL_Cert *cert, | |
1581 void *plContext); | |
1582 #endif | |
1583 | |
1584 #ifdef __cplusplus | |
1585 } | |
1586 #endif | |
1587 | |
1588 #endif /* _PKIX_TOOLS_H */ |