]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Make tor-print-ed-signing-cert output RFC1123 and unix timestamps as well
authorrl1987 <rl1987@sdf.lonestar.org>
Wed, 10 Jul 2019 08:36:26 +0000 (11:36 +0300)
committerrl1987 <rl1987@sdf.lonestar.org>
Wed, 10 Jul 2019 08:36:26 +0000 (11:36 +0300)
changes/ticket31012 [new file with mode: 0644]
doc/tor-print-ed-signing-cert.1.txt
src/tools/tor-print-ed-signing-cert.c

diff --git a/changes/ticket31012 b/changes/ticket31012
new file mode 100644 (file)
index 0000000..61ea30d
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes (operator tools):
+    - Make tor-print-ed-signing-cert(1) print certificate expiration date in
+      RFC 1123 and UNIX timestamp formats, to make output machine readable.
+      Fixes bug 31012; bugfix on 0.3.5.1-alpha.
index 1a3109df9550b5d81368b6471c75d9854ec45489..48a3f095d593bae79b68eba498dae6b64213041c 100644 (file)
@@ -21,6 +21,12 @@ DESCRIPTION
 **tor-print-ed-signing-cert** is utility program for Tor relay operators to
 check expiration date of ed25519 signing certificate.
 
+Expiration date is printed in three formats:
+
+* Human-readable timestamp, localized to current timezone.
+* RFC 1123 timestamp (at GMT timezone).
+* Unix time value.
+
 SEE ALSO
 --------
 **tor**(1) +
index 1f1a01ab5cdb9898a526fdcce16ba6c1c0bade17..43a1d7bcbd52684cd4bc1a4ed98ccf592e2f8dac 100644 (file)
 #include "lib/cc/torint.h"  /* TOR_PRIdSZ */
 #include "lib/crypt_ops/crypto_format.h"
 #include "lib/malloc/malloc.h"
+#include "lib/encoding/time_fmt.h"
 
 int
 main(int argc, char **argv)
 {
   ed25519_cert_t *cert = NULL;
+  char rfc1123_buf[RFC1123_TIME_LEN+1] = "";
 
   if (argc != 2) {
     fprintf(stderr, "Usage:\n");
@@ -59,6 +61,11 @@ main(int argc, char **argv)
 
   printf("Expires at: %s", ctime(&expires_at));
 
+  format_rfc1123_time(rfc1123_buf, expires_at);
+  printf("RFC 1123 timestamp: %s\n", rfc1123_buf);
+
+  printf("UNIX timestamp: %ld\n", (long int)expires_at);
+
   ed25519_cert_free(cert);
 
   return 0;