X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsrc%2Ftlscert-gnu.c;h=98ee730d6a0da3062378a822a6b0fd6f59c4b0c4;hb=6023a6ad2ac0294879b14127f62795095da573b5;hp=3261c4e8d3075a5f1280cb782fec74d0a5a4189b;hpb=d502442ac32f8964f6cf86469869cecb035d12c0;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/tlscert-gnu.c b/src/src/tlscert-gnu.c index 3261c4e8d..98ee730d6 100644 --- a/src/src/tlscert-gnu.c +++ b/src/src/tlscert-gnu.c @@ -27,7 +27,7 @@ tls_export_cert(uschar * buf, size_t buflen, void * cert) size_t sz = buflen; void * reset_point = store_get(0); int fail; -uschar * cp; +const uschar * cp; if ((fail = gnutls_x509_crt_export((gnutls_x509_crt_t)cert, GNUTLS_X509_FMT_PEM, buf, &sz))) @@ -98,15 +98,20 @@ static uschar * time_copy(time_t t, uschar * mod) { uschar * cp; -struct tm * tp; -size_t len; +size_t len = 32; if (mod && Ustrcmp(mod, "int") == 0) return string_sprintf("%u", (unsigned)t); -cp = store_get(32); -tp = gmtime(&t); -len = strftime(CS cp, 32, "%b %e %T %Y %Z", tp); +cp = store_get(len); +if (timestamps_utc) + { + uschar * tz = to_tz(US"GMT0"); + len = strftime(CS cp, len, "%b %e %T %Y %Z", gmtime(&t)); + restore_tz(tz); + } +else + len = strftime(CS cp, len, "%b %e %T %Y %Z", localtime(&t)); return len > 0 ? cp : NULL; } @@ -177,7 +182,7 @@ return string_copy(sp); uschar * tls_cert_signature(void * cert, uschar * mod) { -uschar * cp1; +uschar * cp1 = NULL; uschar * cp2; uschar * cp3; size_t len = 0;