aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gpgsm
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2026-08-05 12:17:31 +0200
committerIngo Klöcker <[email protected]>2026-08-05 12:17:31 +0200
commit8dc1de3acb86375830e7034cab419030bdf1d36b (patch)
treebe3df93551cfbed1153e314ef17d44cf6c7c21b7 /tests/gpgsm
parentdoc: Document new fields in gpgme_signature_t (diff)
downloadgpgme-8dc1de3acb86375830e7034cab419030bdf1d36b.tar.gz
gpgme-8dc1de3acb86375830e7034cab419030bdf1d36b.zip
Fix handling of missing timestamp in SIGINFO status
* src/verify.c (parse_sig_info): Add argument protocol. Check for "-" if protocol is CMS. (_gpgme_verify_status_handler): Pass protocol to parse_sig_info. * tests/gpg/t-verify.c (check_result): Add argument timestamp. Check timestamp. (main): Add expected timestamp to all check_result calls. * tests/gpgsm/t-verify.c (check_result): Add argument timestamp. Check timestamp. (main): Add expected timestamp to all check_result calls. -- S/MIME signatures do not necessarily have a timestamp. In this case gpgsm emits "-" in the SIGINFO status line. Fixes-commit: 31eb884e8f102ed3cf1220ccdd77e6e1931a9a7b GnuPG-bug-id: 8368
Diffstat (limited to 'tests/gpgsm')
-rw-r--r--tests/gpgsm/t-verify.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/tests/gpgsm/t-verify.c b/tests/gpgsm/t-verify.c
index 3e0c6550..681ab02d 100644
--- a/tests/gpgsm/t-verify.c
+++ b/tests/gpgsm/t-verify.c
@@ -53,7 +53,8 @@ static const char test_sig1[] =
static void
check_result (gpgme_verify_result_t result, int summary, const char *fpr,
- gpgme_error_t status, gpgme_validity_t validity)
+ gpgme_error_t status, gpgme_validity_t validity,
+ unsigned long timestamp)
{
gpgme_signature_t sig;
@@ -109,6 +110,13 @@ check_result (gpgme_verify_result_t result, int summary, const char *fpr,
__FILE__, __LINE__, gpgme_strerror (sig->validity_reason));
got_errors = 1;
}
+ if (sig->timestamp != timestamp)
+ {
+ fprintf (stderr, "%s:%i: Unexpected timestamp: "
+ "want=%li have=%li\n",
+ __FILE__, __LINE__, timestamp, sig->timestamp);
+ exit (1);
+ }
}
@@ -159,7 +167,7 @@ main (void)
result = gpgme_op_verify_result (ctx);
check_result (result, GPGME_SIGSUM_VALID | GPGME_SIGSUM_GREEN,
"3CF405464F66ED4A7DF45BBDD1E4282E33BDB76E",
- GPG_ERR_NO_ERROR, GPGME_VALIDITY_FULL);
+ GPG_ERR_NO_ERROR, GPGME_VALIDITY_FULL, 0);
show_auditlog (ctx);
@@ -173,7 +181,7 @@ main (void)
result = gpgme_op_verify_result (ctx);
check_result (result, GPGME_SIGSUM_RED,
"3CF405464F66ED4A7DF45BBDD1E4282E33BDB76E",
- GPG_ERR_BAD_SIGNATURE, GPGME_VALIDITY_UNKNOWN);
+ GPG_ERR_BAD_SIGNATURE, GPGME_VALIDITY_UNKNOWN, 0);
show_auditlog (ctx);