[PATCH gnupg] gpg: Add --list-filter properties sig_expires/sig_expires_d

Robin H. Johnson robbat2 at gentoo.org
Sat Sep 2 18:59:43 CEST 2023


Modelled after key_expires/key_expires_d.

This should be useful to detect upcoming certification expiry, so the
certifications can be renewed in advance of the expiry.

Signed-off-by: Robin H. Johnson <robbat2 at gentoo.org>
---
 doc/gpg.texi |  6 ++++++
 g10/import.c | 14 ++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/doc/gpg.texi b/doc/gpg.texi
index 15b3243d0..6ba944edb 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -2715,6 +2715,12 @@ The available properties are:
   second is the same but given as an ISO date string,
   e.g. "2016-08-17". (drop-sig)
 
+  @item sig_expires
+  @itemx sig_expires_d
+  The expiration time of a signature packet or 0 if it does not
+  expire.  The second is the same but given as an ISO date string or
+  an empty string e.g. "2038-01-19".
+
   @item sig_algo
   A number with the public key algorithm of a signature packet. (drop-sig)
 
diff --git a/g10/import.c b/g10/import.c
index d84a083cc..c1e76c3f0 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -1509,6 +1509,20 @@ impex_filter_getval (void *cookie, const char *propname)
         {
           result = dateonlystr_from_sig (sig);
         }
+      else if (!strcmp (propname, "sig_expires"))
+        {
+          snprintf (numbuf, sizeof numbuf, "%lu", (ulong)sig->expiredate);
+          result = numbuf;
+        }
+      else if (!strcmp (propname, "sig_expires_d"))
+        {
+          static char exdatestr[MK_DATESTR_SIZE];
+
+          if (sig->expiredate)
+            result = mk_datestr (exdatestr, sizeof exdatestr, sig->expiredate);
+          else
+            result = "";
+        }
       else if (!strcmp (propname, "sig_algo"))
         {
           snprintf (numbuf, sizeof numbuf, "%d", sig->pubkey_algo);
-- 
2.42.0




More information about the Gnupg-devel mailing list