aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-08-24 18:10:36 +0000
committerWerner Koch <[email protected]>2016-08-24 18:10:54 +0000
commit38798fee5b539d6153a8a7856152959412ee59b5 (patch)
tree67ade1b8e64d8e3feee2d4530703d0c6e05100e4 /src
parentcore: Set the 'encrcount' field in gpgme_tofu_info_t. (diff)
downloadgpgme-38798fee5b539d6153a8a7856152959412ee59b5.tar.gz
gpgme-38798fee5b539d6153a8a7856152959412ee59b5.zip
core: Adjust for TOFU_STATS change in gnupg 2.1.16.
* src/gpgme.h.in (_gpgme_tofu_info): Change 'firstseen' and 'lastseen' to a timestamp value. * src/verify.c (parse_tofu_stats): Do not cap these values at UINT_MAX. -- Using an unsigned long here is okay: We will never get an error and even on machines where unsigned long is 32 bit (e.g. Windows64) this allows us to operate until 2106. By then Windows will be a footnote in history or Windows128 has changed that type to something larger than 32 bit ;-) Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gpgme.h.in8
-rw-r--r--src/verify.c6
2 files changed, 5 insertions, 9 deletions
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index c07cac8d..79a7b9fd 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -648,10 +648,10 @@ struct _gpgme_tofu_info
/* Number of encryptions done with this binding. Capped at USHRT_MAX. */
unsigned short encrcount;
- /* Number of seconds since the first and the most recently seen
- * message was verified. */
- unsigned int firstseen;
- unsigned int lastseen;
+ /* Number of seconds since Epoch when the first and the most
+ * recently seen message were verified. 0 means unknown. */
+ unsigned long firstseen;
+ unsigned long lastseen;
/* If non-NULL a human readable string summarizing the TOFU data. */
char *description;
diff --git a/src/verify.c b/src/verify.c
index e573b016..92eb3334 100644
--- a/src/verify.c
+++ b/src/verify.c
@@ -818,20 +818,16 @@ parse_tofu_stats (gpgme_signature_t sig, char *args)
if (nfields == 4)
return 0; /* No more optional fields. */
- /* Parse first and last seen (none or both are required). */
+ /* Parse first and last seen timestamps (none or both are required). */
if (nfields < 6)
return trace_gpg_error (GPG_ERR_INV_ENGINE); /* "tm2" missing. */
err = _gpgme_strtoul_field (field[4], &uval);
if (err)
return trace_gpg_error (GPG_ERR_INV_ENGINE);
- if (uval > UINT_MAX)
- uval = UINT_MAX;
ti->firstseen = uval;
err = _gpgme_strtoul_field (field[5], &uval);
if (err)
return trace_gpg_error (GPG_ERR_INV_ENGINE);
- if (uval > UINT_MAX)
- uval = UINT_MAX;
ti->lastseen = uval;
return 0;