Blame SOURCES/Convert-some-pkiDebug-messages-to-TRACE-macros.patch

e58a44
From b4c2212ae7412e21f4965acdb8c10e4a60b65b9b Mon Sep 17 00:00:00 2001
e58a44
From: Matt Rogers <mrogers@redhat.com>
e58a44
Date: Wed, 29 Mar 2017 10:35:13 -0400
e58a44
Subject: [PATCH] Convert some pkiDebug messages to TRACE macros
e58a44
e58a44
ticket: 8568 (new)
e58a44
(cherry picked from commit 9852862a83952a94300adfafa3e333f43396ec33)
e58a44
(cherry picked from commit 686fa6476eb759532d566794fa8d430774d44cf7)
e58a44
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
e58a44
---
e58a44
 src/plugins/preauth/pkinit/pkinit_crypto_openssl.c | 46 ++++++---------
e58a44
 src/plugins/preauth/pkinit/pkinit_identity.c       |  3 -
e58a44
 src/plugins/preauth/pkinit/pkinit_matching.c       |  1 +
e58a44
 src/plugins/preauth/pkinit/pkinit_srv.c            | 24 ++++----
e58a44
 src/plugins/preauth/pkinit/pkinit_trace.h          | 68 +++++++++++++++++++++-
e58a44
 5 files changed, 97 insertions(+), 45 deletions(-)
e58a44
e58a44
diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
e58a44
index 90c30dbf5..70e230ec2 100644
e58a44
--- a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
e58a44
+++ b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
e58a44
@@ -2320,7 +2320,6 @@ crypto_check_cert_eku(krb5_context context,
e58a44
 
e58a44
     X509_NAME_oneline(X509_get_subject_name(reqctx->received_cert),
e58a44
                       buf, sizeof(buf));
e58a44
-    pkiDebug("%s: looking for EKUs in cert = %s\n", __FUNCTION__, buf);
e58a44
 
e58a44
     if ((i = X509_get_ext_by_NID(reqctx->received_cert,
e58a44
                                  NID_ext_key_usage, -1)) >= 0) {
e58a44
@@ -2354,7 +2353,6 @@ crypto_check_cert_eku(krb5_context context,
e58a44
 
e58a44
         if (found_eku) {
e58a44
             ASN1_BIT_STRING *usage = NULL;
e58a44
-            pkiDebug("%s: found acceptable EKU, checking for digitalSignature\n", __FUNCTION__);
e58a44
 
e58a44
             /* check that digitalSignature KeyUsage is present */
e58a44
             X509_check_ca(reqctx->received_cert);
e58a44
@@ -2363,12 +2361,10 @@ crypto_check_cert_eku(krb5_context context,
e58a44
 
e58a44
                 if (!ku_reject(reqctx->received_cert,
e58a44
                                X509v3_KU_DIGITAL_SIGNATURE)) {
e58a44
-                    pkiDebug("%s: found digitalSignature KU\n",
e58a44
-                             __FUNCTION__);
e58a44
+                    TRACE_PKINIT_EKU(context);
e58a44
                     *valid_eku = 1;
e58a44
                 } else
e58a44
-                    pkiDebug("%s: didn't find digitalSignature KU\n",
e58a44
-                             __FUNCTION__);
e58a44
+                    TRACE_PKINIT_EKU_NO_KU(context);
e58a44
             }
e58a44
             ASN1_BIT_STRING_free(usage);
e58a44
         }
e58a44
@@ -4317,8 +4313,7 @@ pkinit_get_certs_pkcs12(krb5_context context,
e58a44
 
e58a44
     fp = fopen(idopts->cert_filename, "rb");
e58a44
     if (fp == NULL) {
e58a44
-        pkiDebug("Failed to open PKCS12 file '%s', error %d\n",
e58a44
-                 idopts->cert_filename, errno);
e58a44
+        TRACE_PKINIT_PKCS_OPEN_FAIL(context, idopts->cert_filename, errno);
e58a44
         goto cleanup;
e58a44
     }
e58a44
     set_cloexec_file(fp);
e58a44
@@ -4326,8 +4321,7 @@ pkinit_get_certs_pkcs12(krb5_context context,
e58a44
     p12 = d2i_PKCS12_fp(fp, NULL);
e58a44
     fclose(fp);
e58a44
     if (p12 == NULL) {
e58a44
-        pkiDebug("Failed to decode PKCS12 file '%s' contents\n",
e58a44
-                 idopts->cert_filename);
e58a44
+        TRACE_PKINIT_PKCS_DECODE_FAIL(context, idopts->cert_filename);
e58a44
         goto cleanup;
e58a44
     }
e58a44
     /*
e58a44
@@ -4345,7 +4339,7 @@ pkinit_get_certs_pkcs12(krb5_context context,
e58a44
         char *p12name = reassemble_pkcs12_name(idopts->cert_filename);
e58a44
         const char *tmp;
e58a44
 
e58a44
-        pkiDebug("Initial PKCS12_parse with no password failed\n");
e58a44
+        TRACE_PKINIT_PKCS_PARSE_FAIL_FIRST(context);
e58a44
 
e58a44
         if (id_cryptoctx->defer_id_prompt) {
e58a44
             /* Supply the identity name to be passed to the responder. */
e58a44
@@ -4386,14 +4380,14 @@ pkinit_get_certs_pkcs12(krb5_context context,
e58a44
                                           NULL, NULL, 1, &kprompt);
e58a44
             k5int_set_prompt_types(context, 0);
e58a44
             if (r) {
e58a44
-                pkiDebug("Failed to prompt for PKCS12 password");
e58a44
+                TRACE_PKINIT_PKCS_PROMPT_FAIL(context);
e58a44
                 goto cleanup;
e58a44
             }
e58a44
         }
e58a44
 
e58a44
         ret = PKCS12_parse(p12, rdat.data, &y, &x, NULL);
e58a44
         if (ret == 0) {
e58a44
-            pkiDebug("Second PKCS12_parse with password failed\n");
e58a44
+            TRACE_PKINIT_PKCS_PARSE_FAIL_SECOND(context);
e58a44
             goto cleanup;
e58a44
         }
e58a44
     }
e58a44
@@ -4516,8 +4510,7 @@ pkinit_get_certs_fs(krb5_context context,
e58a44
     }
e58a44
 
e58a44
     if (idopts->key_filename == NULL) {
e58a44
-        pkiDebug("%s: failed to get user's private key location\n",
e58a44
-                 __FUNCTION__);
e58a44
+        TRACE_PKINIT_NO_PRIVKEY(context);
e58a44
         goto cleanup;
e58a44
     }
e58a44
 
e58a44
@@ -4545,8 +4538,7 @@ pkinit_get_certs_dir(krb5_context context,
e58a44
     char *dirname, *suf;
e58a44
 
e58a44
     if (idopts->cert_filename == NULL) {
e58a44
-        pkiDebug("%s: failed to get user's certificate directory location\n",
e58a44
-                 __FUNCTION__);
e58a44
+        TRACE_PKINIT_NO_CERT(context);
e58a44
         return ENOENT;
e58a44
     }
e58a44
 
e58a44
@@ -4590,8 +4582,7 @@ pkinit_get_certs_dir(krb5_context context,
e58a44
         retval = pkinit_load_fs_cert_and_key(context, id_cryptoctx,
e58a44
                                              certname, keyname, i);
e58a44
         if (retval == 0) {
e58a44
-            pkiDebug("%s: Successfully loaded cert (and key) for %s\n",
e58a44
-                     __FUNCTION__, dentry->d_name);
e58a44
+            TRACE_PKINIT_LOADED_CERT(context, dentry->d_name);
e58a44
             i++;
e58a44
         }
e58a44
         else
e58a44
@@ -4599,8 +4590,7 @@ pkinit_get_certs_dir(krb5_context context,
e58a44
     }
e58a44
 
e58a44
     if (!id_cryptoctx->defer_id_prompt && i == 0) {
e58a44
-        pkiDebug("%s: No cert/key pairs found in directory '%s'\n",
e58a44
-                 __FUNCTION__, idopts->cert_filename);
e58a44
+        TRACE_PKINIT_NO_CERT_AND_KEY(context, idopts->cert_filename);
e58a44
         retval = ENOENT;
e58a44
         goto cleanup;
e58a44
     }
e58a44
@@ -5370,9 +5360,7 @@ crypto_cert_select_default(krb5_context context,
e58a44
         goto errout;
e58a44
     }
e58a44
     if (cert_count != 1) {
e58a44
-        pkiDebug("%s: ERROR: There are %d certs to choose from, "
e58a44
-                 "but there must be exactly one.\n",
e58a44
-                 __FUNCTION__, cert_count);
e58a44
+        TRACE_PKINIT_NO_DEFAULT_CERT(context, cert_count);
e58a44
         retval = EINVAL;
e58a44
         goto errout;
e58a44
     }
e58a44
@@ -5520,7 +5508,7 @@ load_cas_and_crls(krb5_context context,
e58a44
     switch(catype) {
e58a44
     case CATYPE_ANCHORS:
e58a44
         if (sk_X509_num(ca_certs) == 0) {
e58a44
-            pkiDebug("no anchors in file, %s\n", filename);
e58a44
+            TRACE_PKINIT_NO_CA_ANCHOR(context, filename);
e58a44
             if (id_cryptoctx->trustedCAs == NULL)
e58a44
                 sk_X509_free(ca_certs);
e58a44
         } else {
e58a44
@@ -5530,7 +5518,7 @@ load_cas_and_crls(krb5_context context,
e58a44
         break;
e58a44
     case CATYPE_INTERMEDIATES:
e58a44
         if (sk_X509_num(ca_certs) == 0) {
e58a44
-            pkiDebug("no intermediates in file, %s\n", filename);
e58a44
+            TRACE_PKINIT_NO_CA_INTERMEDIATE(context, filename);
e58a44
             if (id_cryptoctx->intermediateCAs == NULL)
e58a44
                 sk_X509_free(ca_certs);
e58a44
         } else {
e58a44
@@ -5540,7 +5528,7 @@ load_cas_and_crls(krb5_context context,
e58a44
         break;
e58a44
     case CATYPE_CRLS:
e58a44
         if (sk_X509_CRL_num(ca_crls) == 0) {
e58a44
-            pkiDebug("no crls in file, %s\n", filename);
e58a44
+            TRACE_PKINIT_NO_CRL(context, filename);
e58a44
             if (id_cryptoctx->revoked == NULL)
e58a44
                 sk_X509_CRL_free(ca_crls);
e58a44
         } else {
e58a44
@@ -5626,14 +5614,14 @@ crypto_load_cas_and_crls(krb5_context context,
e58a44
                          int catype,
e58a44
                          char *id)
e58a44
 {
e58a44
-    pkiDebug("%s: called with idtype %s and catype %s\n",
e58a44
-             __FUNCTION__, idtype2string(idtype), catype2string(catype));
e58a44
     switch (idtype) {
e58a44
     case IDTYPE_FILE:
e58a44
+        TRACE_PKINIT_LOAD_FROM_FILE(context);
e58a44
         return load_cas_and_crls(context, plg_cryptoctx, req_cryptoctx,
e58a44
                                  id_cryptoctx, catype, id);
e58a44
         break;
e58a44
     case IDTYPE_DIR:
e58a44
+        TRACE_PKINIT_LOAD_FROM_DIR(context);
e58a44
         return load_cas_and_crls_dir(context, plg_cryptoctx, req_cryptoctx,
e58a44
                                      id_cryptoctx, catype, id);
e58a44
         break;
e58a44
diff --git a/src/plugins/preauth/pkinit/pkinit_identity.c b/src/plugins/preauth/pkinit/pkinit_identity.c
e58a44
index a897efa25..737552e85 100644
e58a44
--- a/src/plugins/preauth/pkinit/pkinit_identity.c
e58a44
+++ b/src/plugins/preauth/pkinit/pkinit_identity.c
e58a44
@@ -608,7 +608,6 @@ pkinit_identity_prompt(krb5_context context,
e58a44
             retval = pkinit_cert_matching(context, plg_cryptoctx,
e58a44
                                           req_cryptoctx, id_cryptoctx, princ);
e58a44
             if (retval) {
e58a44
-                pkiDebug("%s: No matching certificate found\n", __FUNCTION__);
e58a44
                 crypto_free_cert_info(context, plg_cryptoctx, req_cryptoctx,
e58a44
                                       id_cryptoctx);
e58a44
                 goto errout;
e58a44
@@ -621,8 +620,6 @@ pkinit_identity_prompt(krb5_context context,
e58a44
             retval = crypto_cert_select_default(context, plg_cryptoctx,
e58a44
                                                 req_cryptoctx, id_cryptoctx);
e58a44
             if (retval) {
e58a44
-                pkiDebug("%s: Failed while selecting default certificate\n",
e58a44
-                         __FUNCTION__);
e58a44
                 crypto_free_cert_info(context, plg_cryptoctx, req_cryptoctx,
e58a44
                                       id_cryptoctx);
e58a44
                 goto errout;
e58a44
diff --git a/src/plugins/preauth/pkinit/pkinit_matching.c b/src/plugins/preauth/pkinit/pkinit_matching.c
e58a44
index a50c50c8d..cad4c2b9a 100644
e58a44
--- a/src/plugins/preauth/pkinit/pkinit_matching.c
e58a44
+++ b/src/plugins/preauth/pkinit/pkinit_matching.c
e58a44
@@ -812,6 +812,7 @@ pkinit_cert_matching(krb5_context context,
e58a44
             goto cleanup;
e58a44
         }
e58a44
     } else {
e58a44
+        TRACE_PKINIT_NO_MATCHING_CERT(context);
e58a44
         retval = ENOENT;    /* XXX */
e58a44
         goto cleanup;
e58a44
     }
e58a44
diff --git a/src/plugins/preauth/pkinit/pkinit_srv.c b/src/plugins/preauth/pkinit/pkinit_srv.c
e58a44
index 32ca122f2..9c6e96c9e 100644
e58a44
--- a/src/plugins/preauth/pkinit/pkinit_srv.c
e58a44
+++ b/src/plugins/preauth/pkinit/pkinit_srv.c
e58a44
@@ -188,6 +188,7 @@ verify_client_san(krb5_context context,
e58a44
                                        plgctx->opts->allow_upn ? &upns : NULL,
e58a44
                                        NULL);
e58a44
     if (retval == ENOENT) {
e58a44
+        TRACE_PKINIT_SERVER_NO_SAN(context);
e58a44
         goto out;
e58a44
     } else if (retval) {
e58a44
         pkiDebug("%s: error from retrieve_certificate_sans()\n", __FUNCTION__);
e58a44
@@ -224,7 +225,7 @@ verify_client_san(krb5_context context,
e58a44
         krb5_free_unparsed_name(context, san_string);
e58a44
 #endif
e58a44
         if (cb->match_client(context, rock, princs[i])) {
e58a44
-            pkiDebug("%s: pkinit san match found\n", __FUNCTION__);
e58a44
+            TRACE_PKINIT_SERVER_MATCHING_SAN_FOUND(context);
e58a44
             *valid_san = 1;
e58a44
             retval = 0;
e58a44
             goto out;
e58a44
@@ -252,7 +253,7 @@ verify_client_san(krb5_context context,
e58a44
         krb5_free_unparsed_name(context, san_string);
e58a44
 #endif
e58a44
         if (cb->match_client(context, rock, upns[i])) {
e58a44
-            pkiDebug("%s: upn san match found\n", __FUNCTION__);
e58a44
+            TRACE_PKINIT_SERVER_MATCHING_UPN_FOUND(context);
e58a44
             *valid_san = 1;
e58a44
             retval = 0;
e58a44
             goto out;
e58a44
@@ -300,7 +301,7 @@ verify_client_eku(krb5_context context,
e58a44
     *eku_accepted = 0;
e58a44
 
e58a44
     if (plgctx->opts->require_eku == 0) {
e58a44
-        pkiDebug("%s: configuration requests no EKU checking\n", __FUNCTION__);
e58a44
+        TRACE_PKINIT_SERVER_EKU_SKIP(context);
e58a44
         *eku_accepted = 1;
e58a44
         retval = 0;
e58a44
         goto out;
e58a44
@@ -364,6 +365,7 @@ authorize_cert(krb5_context context, certauth_handle *certauth_modules,
e58a44
     ret = KRB5_PLUGIN_NO_HANDLE;
e58a44
     for (i = 0; certauth_modules != NULL && certauth_modules[i] != NULL; i++) {
e58a44
         h = certauth_modules[i];
e58a44
+        TRACE_PKINIT_SERVER_CERT_AUTH(context, h->vt.name);
e58a44
         ret = h->vt.authorize(context, h->moddata, cert, cert_len, client,
e58a44
                               &opts, db_ent, &ais);
e58a44
         if (ret == 0)
e58a44
@@ -449,7 +451,7 @@ pkinit_server_verify_padata(krb5_context context,
e58a44
 
e58a44
     switch ((int)data->pa_type) {
e58a44
     case KRB5_PADATA_PK_AS_REQ:
e58a44
-        pkiDebug("processing KRB5_PADATA_PK_AS_REQ\n");
e58a44
+        TRACE_PKINIT_SERVER_PADATA_VERIFY(context);
e58a44
         retval = k5int_decode_krb5_pa_pk_as_req(&k5data, &reqp);
e58a44
         if (retval) {
e58a44
             pkiDebug("decode_krb5_pa_pk_as_req failed\n");
e58a44
@@ -472,7 +474,7 @@ pkinit_server_verify_padata(krb5_context context,
e58a44
         break;
e58a44
     case KRB5_PADATA_PK_AS_REP_OLD:
e58a44
     case KRB5_PADATA_PK_AS_REQ_OLD:
e58a44
-        pkiDebug("processing KRB5_PADATA_PK_AS_REQ_OLD\n");
e58a44
+        TRACE_PKINIT_SERVER_PADATA_VERIFY_OLD(context);
e58a44
         retval = k5int_decode_krb5_pa_pk_as_req_draft9(&k5data, &reqp9);
e58a44
         if (retval) {
e58a44
             pkiDebug("decode_krb5_pa_pk_as_req_draft9 failed\n");
e58a44
@@ -500,7 +502,7 @@ pkinit_server_verify_padata(krb5_context context,
e58a44
         goto cleanup;
e58a44
     }
e58a44
     if (retval) {
e58a44
-        pkiDebug("pkcs7_signeddata_verify failed\n");
e58a44
+        TRACE_PKINIT_SERVER_PADATA_VERIFY_FAIL(context);
e58a44
         goto cleanup;
e58a44
     }
e58a44
     if (is_signed) {
e58a44
@@ -830,7 +832,7 @@ pkinit_server_return_padata(krb5_context context,
e58a44
         return ENOENT;
e58a44
     }
e58a44
 
e58a44
-    pkiDebug("pkinit_return_padata: entered!\n");
e58a44
+    TRACE_PKINIT_SERVER_RETURN_PADATA(context);
e58a44
     reqctx = (pkinit_kdc_req_context)modreq;
e58a44
 
e58a44
     if (encrypting_key->contents) {
e58a44
@@ -1463,8 +1465,7 @@ pkinit_san_authorize(krb5_context context, krb5_certauth_moddata moddata,
e58a44
         return ret;
e58a44
 
e58a44
     if (!valid_san) {
e58a44
-        pkiDebug("%s: did not find an acceptable SAN in user certificate\n",
e58a44
-                 __FUNCTION__);
e58a44
+        TRACE_PKINIT_SERVER_SAN_REJECT(context);
e58a44
         return KRB5KDC_ERR_CLIENT_NAME_MISMATCH;
e58a44
     }
e58a44
 
e58a44
@@ -1490,8 +1491,7 @@ pkinit_eku_authorize(krb5_context context, krb5_certauth_moddata moddata,
e58a44
         return ret;
e58a44
 
e58a44
     if (!valid_eku) {
e58a44
-        pkiDebug("%s: did not find an acceptable EKU in user certificate\n",
e58a44
-                 __FUNCTION__);
e58a44
+        TRACE_PKINIT_SERVER_EKU_REJECT(context);
e58a44
         return KRB5KDC_ERR_INCONSISTENT_KEY_PURPOSE;
e58a44
     }
e58a44
 
e58a44
@@ -1617,7 +1617,7 @@ pkinit_server_plugin_init(krb5_context context,
e58a44
         return ENOMEM;
e58a44
 
e58a44
     for (i = 0, j = 0; i < numrealms; i++) {
e58a44
-        pkiDebug("%s: processing realm '%s'\n", __FUNCTION__, realmnames[i]);
e58a44
+        TRACE_PKINIT_SERVER_INIT_REALM(context, realmnames[i]);
e58a44
         retval = pkinit_server_plugin_init_realm(context, realmnames[i], &plgctx);
e58a44
         if (retval == 0 && plgctx != NULL)
e58a44
             realm_contexts[j++] = plgctx;
e58a44
diff --git a/src/plugins/preauth/pkinit/pkinit_trace.h b/src/plugins/preauth/pkinit/pkinit_trace.h
e58a44
index 458d0961e..6abe28c0c 100644
e58a44
--- a/src/plugins/preauth/pkinit/pkinit_trace.h
e58a44
+++ b/src/plugins/preauth/pkinit/pkinit_trace.h
e58a44
@@ -52,7 +52,7 @@
e58a44
 #define TRACE_PKINIT_CLIENT_REP_CHECKSUM_FAIL(c, expected, received)    \
e58a44
     TRACE(c, "PKINIT client checksum mismatch: expected {cksum}, "      \
e58a44
           "received {cksum}", expected, received)
e58a44
-#define TRACE_PKINIT_CLIENT_REP_DH(c)                   \
e58a44
+#define TRACE_PKINIT_CLIENT_REP_DH(c)           \
e58a44
     TRACE(c, "PKINIT client verified DH reply")
e58a44
 #define TRACE_PKINIT_CLIENT_REP_DH_FAIL(c)              \
e58a44
     TRACE(c, "PKINIT client could not verify DH reply")
e58a44
@@ -91,6 +91,72 @@
e58a44
 #define TRACE_PKINIT_OPENSSL_ERROR(c, msg)              \
e58a44
     TRACE(c, "PKINIT OpenSSL error: {str}", msg)
e58a44
 
e58a44
+#define TRACE_PKINIT_SERVER_CERT_AUTH(c, modname)                       \
e58a44
+    TRACE(c, "PKINIT server authorizing cert with module {str}",        \
e58a44
+          modname)
e58a44
+#define TRACE_PKINIT_SERVER_EKU_REJECT(c)                               \
e58a44
+    TRACE(c, "PKINIT server found no acceptable EKU in client cert")
e58a44
+#define TRACE_PKINIT_SERVER_EKU_SKIP(c)                                 \
e58a44
+    TRACE(c, "PKINIT server skipping EKU check due to configuration")
e58a44
+#define TRACE_PKINIT_SERVER_INIT_REALM(c, realm)                \
e58a44
+    TRACE(c, "PKINIT server initializing realm {str}", realm)
e58a44
+#define TRACE_PKINIT_SERVER_MATCHING_UPN_FOUND(c)                       \
e58a44
+    TRACE(c, "PKINIT server found a matching UPN SAN in client cert")
e58a44
+#define TRACE_PKINIT_SERVER_MATCHING_SAN_FOUND(c)                       \
e58a44
+    TRACE(c, "PKINIT server found a matching SAN in client cert")
e58a44
+#define TRACE_PKINIT_SERVER_NO_SAN(c)                           \
e58a44
+    TRACE(c, "PKINIT server found no SAN in client cert")
e58a44
+#define TRACE_PKINIT_SERVER_PADATA_VERIFY(c)                    \
e58a44
+    TRACE(c, "PKINIT server verifying KRB5_PADATA_PK_AS_REQ")
e58a44
+#define TRACE_PKINIT_SERVER_PADATA_VERIFY_OLD(c)                        \
e58a44
+    TRACE(c, "PKINIT server verifying KRB5_PADATA_PK_AS_REQ_OLD")
e58a44
+#define TRACE_PKINIT_SERVER_PADATA_VERIFY_FAIL(c)       \
e58a44
+    TRACE(c, "PKINIT server failed to verify PA data")
e58a44
+#define TRACE_PKINIT_SERVER_RETURN_PADATA(c)    \
e58a44
+    TRACE(c, "PKINIT server returning PA data")
e58a44
+#define TRACE_PKINIT_SERVER_SAN_REJECT(c)                               \
e58a44
+    TRACE(c, "PKINIT server found no acceptable SAN in client cert")
e58a44
+
e58a44
+#define TRACE_PKINIT_EKU(c)                                             \
e58a44
+    TRACE(c, "PKINIT found acceptable EKU and digitalSignature KU")
e58a44
+#define TRACE_PKINIT_EKU_NO_KU(c)                                       \
e58a44
+    TRACE(c, "PKINIT found acceptable EKU but no digitalSignature KU")
e58a44
+#define TRACE_PKINIT_LOADED_CERT(c, name)                       \
e58a44
+    TRACE(c, "PKINIT loaded cert and key for {str}", name)
e58a44
+#define TRACE_PKINIT_LOAD_FROM_FILE(c)                          \
e58a44
+    TRACE(c, "PKINIT loading CA certs and CRLs from FILE")
e58a44
+#define TRACE_PKINIT_LOAD_FROM_DIR(c)                           \
e58a44
+    TRACE(c, "PKINIT loading CA certs and CRLs from DIR")
e58a44
+#define TRACE_PKINIT_NO_CA_ANCHOR(c, file)              \
e58a44
+    TRACE(c, "PKINIT no anchor CA in file {str}", file)
e58a44
+#define TRACE_PKINIT_NO_CA_INTERMEDIATE(c, file)                \
e58a44
+    TRACE(c, "PKINIT no intermediate CA in file {str}", file)
e58a44
+#define TRACE_PKINIT_NO_CERT(c)                 \
e58a44
+    TRACE(c, "PKINIT no certificate provided")
e58a44
+#define TRACE_PKINIT_NO_CERT_AND_KEY(c, dirname)                        \
e58a44
+    TRACE(c, "PKINIT no cert and key pair found in directory {str}",    \
e58a44
+          dirname)
e58a44
+#define TRACE_PKINIT_NO_CRL(c, file)                    \
e58a44
+    TRACE(c, "PKINIT no CRL in file {str}", file)
e58a44
+#define TRACE_PKINIT_NO_DEFAULT_CERT(c, count)                          \
e58a44
+    TRACE(c, "PKINIT error: There are {int} certs, but there must "     \
e58a44
+          "be exactly one.", count)
e58a44
+#define TRACE_PKINIT_NO_MATCHING_CERT(c)                \
e58a44
+    TRACE(c, "PKINIT no matching certificate found")
e58a44
+#define TRACE_PKINIT_NO_PRIVKEY(c)              \
e58a44
+    TRACE(c, "PKINIT no private key provided")
e58a44
+#define TRACE_PKINIT_PKCS_DECODE_FAIL(c, name)                          \
e58a44
+    TRACE(c, "PKINIT failed to decode PKCS12 file {str} contents", name)
e58a44
+#define TRACE_PKINIT_PKCS_OPEN_FAIL(c, name, err)                       \
e58a44
+    TRACE(c, "PKINIT failed to open PKCS12 file {str}: err {errno}",    \
e58a44
+          name, err)
e58a44
+#define TRACE_PKINIT_PKCS_PARSE_FAIL_FIRST(c)                           \
e58a44
+    TRACE(c, "PKINIT initial PKCS12_parse with no password failed")
e58a44
+#define TRACE_PKINIT_PKCS_PARSE_FAIL_SECOND(c)                          \
e58a44
+    TRACE(c, "PKINIT second PKCS12_parse with password failed")
e58a44
+#define TRACE_PKINIT_PKCS_PROMPT_FAIL(c)                        \
e58a44
+    TRACE(c, "PKINIT failed to prompt for PKCS12 password")
e58a44
+
e58a44
 #define TRACE_CERTAUTH_VTINIT_FAIL(c, ret)                              \
e58a44
     TRACE(c, "certauth module failed to init vtable: {kerr}", ret)
e58a44
 #define TRACE_CERTAUTH_INIT_FAIL(c, name, ret)                          \