diff options
Diffstat (limited to 'g10/mainproc.c')
-rw-r--r-- | g10/mainproc.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c index ebb00ee70..674a376f1 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -1346,9 +1346,15 @@ check_sig_and_print( CTX c, KBNODE node ) (int)strlen(tstr), tstr, astr? astr: "?", (ulong)sig->keyid[1] ); rc = do_check_sig(c, node, NULL, &is_expkey, &is_revkey ); - if( rc == G10ERR_NO_PUBKEY && opt.keyserver_scheme && opt.keyserver_options.auto_key_retrieve) { - if( keyserver_import_keyid ( sig->keyid )==0 ) - rc = do_check_sig(c, node, NULL, &is_expkey, &is_revkey ); + if( rc == G10ERR_NO_PUBKEY + && opt.keyserver_scheme && opt.keyserver_options.auto_key_retrieve) { + int res; + + ctrl.in_auto_key_retrieve++; + res = keyserver_import_keyid ( sig->keyid ); + ctrl.in_auto_key_retrieve--; + if (!res) + rc = do_check_sig(c, node, NULL, &is_expkey, &is_revkey ); } /* If the key still isn't found, try to inform the user where it |