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 <wk@gnupg.org>
This commit is contained in:
parent
1eefc2d43c
commit
38798fee5b
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user