diff options
| author | Werner Koch <[email protected]> | 2016-08-24 18:10:36 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2016-08-24 18:10:54 +0000 | 
| commit | 38798fee5b539d6153a8a7856152959412ee59b5 (patch) | |
| tree | 67ade1b8e64d8e3feee2d4530703d0c6e05100e4 /src | |
| parent | core: Set the 'encrcount' field in gpgme_tofu_info_t. (diff) | |
| download | gpgme-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 '')
| -rw-r--r-- | src/gpgme.h.in | 8 | ||||
| -rw-r--r-- | src/verify.c | 6 | 
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; | 
