Use serial number 1 for self-generated selfsigned certificate
[exim.git] / src / src / arc.c
index 7374ba405b3bf805c8bf67770ede85ef388773b5..dd2ad51b097dab098592290f02f20abe1f2a6145 100644 (file)
@@ -1258,6 +1258,9 @@ if (  (errstr = exim_dkim_signing_init(privkey, &sctx))
    || (errstr = exim_dkim_sign(&sctx, hm, &hhash, sig)))
   {
   log_write(0, LOG_MAIN, "ARC: %s signing: %s\n", why, errstr);
+  DEBUG(D_transport)
+    debug_printf("private key, or private-key file content, was: '%s'\n",
+      privkey);
   return FALSE;
   }
 return TRUE;
@@ -1696,7 +1699,8 @@ g = arc_sign_append_ams(g, &arc_sign_ctx, instance, identity, selector,
         including self (but with an empty b= in self)
 */
 
-g = arc_sign_prepend_as(g, &arc_sign_ctx, instance, identity, selector, &ar,
+if (g)
+  g = arc_sign_prepend_as(g, &arc_sign_ctx, instance, identity, selector, &ar,
       privkey, options);
 
 /* Finally, append the dkim headers and return the lot. */
@@ -1800,20 +1804,20 @@ for (as = arc_verify_ctx.arcset_chain, inst = 1; as; as = as->next, inst++)
     blob * d = &hdr_as->d;
 
     for (; inst < as->instance; inst++)
-      g = string_catn(g, ":", 1);
+      g = string_catn(g, US":", 1);
 
     g = d->data && d->len
       ? string_append_listele_n(g, ':', d->data, d->len)
-      : string_catn(g, ":", 1);
+      : string_catn(g, US":", 1);
     }
   else
-    g = string_catn(g, ":", 1);
+    g = string_catn(g, US":", 1);
   }
 return g ? g->s : US"";
 }
 
 
-/* Construct an Authenticate-Results header portion, for the ARC module */
+/* Construct an Authentication-Results header portion, for the ARC module */
 
 gstring *
 authres_arc(gstring * g)