From bc11f74c7482f369c920222836584acd6d99e029 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sun, 10 Feb 2019 08:51:36 +0000 Subject: [PATCH] Stop aborting the connection if Pageant won't sign. There's been a FIXME comment in there for ages saying we should do something less drastic than ssh_sw_abort(). This actually came up in the course of testing Pageant's support for the new RSA validity check, so I've fixed it: if Pageant won't deliver us a signature from the private key we'd like, then we treat it the same as any other auth method failure: shrug and move on to the next method on our list (or even just the next key in Pageant). --- ssh2userauth.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ssh2userauth.c b/ssh2userauth.c index 6193c7bf..1d6f0d9c 100644 --- a/ssh2userauth.c +++ b/ssh2userauth.c @@ -720,10 +720,10 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl) pq_push(s->ppl.out_pq, s->pktout); s->type = AUTH_TYPE_PUBLICKEY; } else { - /* FIXME: less drastic response */ - ssh_sw_abort(s->ppl.ssh, "Pageant failed to " - "provide a signature"); - return; + ppl_logevent("Pageant refused signing request"); + ppl_printf("Pageant failed to " + "provide a signature\r\n"); + s->suppress_wait_for_response_packet = true; } } }