aboutsummaryrefslogtreecommitdiffstats
path: root/g10/mainproc.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/mainproc.c')
-rw-r--r--g10/mainproc.c12
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