aboutsummaryrefslogtreecommitdiffstats
path: root/src/verify.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/verify.c')
-rw-r--r--src/verify.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/verify.c b/src/verify.c
index d221c30e..f97c255f 100644
--- a/src/verify.c
+++ b/src/verify.c
@@ -491,7 +491,7 @@ parse_valid_sig (gpgme_signature_t sig, char *args, gpgme_protocol_t protocol)
static gpgme_error_t
-parse_sig_info (gpgme_signature_t sig, char *args)
+parse_sig_info (gpgme_signature_t sig, char *args, gpgme_protocol_t protocol)
{
char *end = args;
char *tail;
@@ -500,6 +500,9 @@ parse_sig_info (gpgme_signature_t sig, char *args)
/* We require at least the creation time. */
return gpg_error (GPG_ERR_GENERAL);
+ if ((protocol == GPGME_PROTOCOL_CMS) && (*args == '-'))
+ return 0;
+
sig->timestamp = _gpgme_parse_timestamp (end, &tail);
if (sig->timestamp == -1 || end == tail || (*tail && *tail != ' '))
return trace_gpg_error (GPG_ERR_INV_ENGINE);
@@ -1036,7 +1039,7 @@ _gpgme_verify_status_handler (void *priv, gpgme_status_code_t code, char *args)
case GPGME_STATUS_SIGINFO:
opd->only_newsig_seen = 0;
- return sig ? parse_sig_info (sig, args)
+ return sig ? parse_sig_info (sig, args, ctx->protocol)
: trace_gpg_error (GPG_ERR_INV_ENGINE);
case GPGME_STATUS_NODATA: