From fa7c236e19e55901dc99da771d06e089d4f70d50 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Oct 17 2011 21:06:27 +0000 Subject: - leverage whatever-to-base64-to-pem functions to handle either PEM or base64 format results from the IPA server --- diff --git a/src/ipa.c b/src/ipa.c index fe5b77b..0455228 100644 --- a/src/ipa.c +++ b/src/ipa.c @@ -50,7 +50,7 @@ main(int argc, char **argv) int i, c, host_is_uri = 0, make_ccache = TRUE; const char *host = NULL, *cainfo = NULL, *capath = NULL; const char *ktname = NULL, *kpname = NULL, *args[2]; - char *csr, *p, *q, uri[LINE_MAX], *s, *reqprinc = NULL, *ipaconfig; + char *csr, *p, uri[LINE_MAX], *s, *reqprinc = NULL, *ipaconfig; struct cm_submit_x_context *ctx; #ifdef ENABLE_NLS @@ -283,16 +283,14 @@ main(int argc, char **argv) /* If we got a certificate, we're probably * okay. */ fprintf(stderr, "Certificate: \"%s\"\n", s); - printf("-----BEGIN CERTIFICATE-----\n"); - for (p = s; *p != '\0'; p = q) { - if (strlen(p) > 64) { - q = p + 64; - } else { - q = p + strlen(p); - } - printf("%.*s\n", (int) (q - p), p); + s = cm_submit_u_base64_from_text(s); + if (s == NULL) { + printf("Out of memory parsing server response, " + "will retry.\n"); + return CM_STATUS_UNREACHABLE; } - printf("-----END CERTIFICATE-----\n"); + s = cm_submit_u_pem_from_base64("CERTIFICATE", s); + printf("%s", s); return CM_STATUS_ISSUED; } else { return CM_STATUS_REJECTED;