From e565183ccfa4abe37b5ef1e9777e0525e54fd717 Mon Sep 17 00:00:00 2001 From: djm Date: Sat, 17 Jan 2015 18:53:34 +0000 Subject: [PATCH] fix hostkeys on ssh agent; found by unit test I'm about to commit --- usr.bin/ssh/sshd.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/usr.bin/ssh/sshd.c b/usr.bin/ssh/sshd.c index cb9689daced..b4d4cdb8609 100644 --- a/usr.bin/ssh/sshd.c +++ b/usr.bin/ssh/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.432 2015/01/14 20:05:27 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.433 2015/01/17 18:53:34 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1599,7 +1599,11 @@ main(int ac, char **av) if (strcmp(options.host_key_agent, SSH_AUTHSOCKET_ENV_NAME)) setenv(SSH_AUTHSOCKET_ENV_NAME, options.host_key_agent, 1); - have_agent = ssh_get_authentication_socket(NULL); + if ((r = ssh_get_authentication_socket(NULL)) == 0) + have_agent = 1; + else + error("Could not connect to agent \"%s\": %s", + options.host_key_agent, ssh_err(r)); } for (i = 0; i < options.num_host_key_files; i++) { @@ -1967,7 +1971,7 @@ main(int ac, char **av) } else if (compat20 && have_agent) { if ((r = ssh_get_authentication_socket(&auth_sock)) != 0) { error("Unable to get agent socket: %s", ssh_err(r)); - have_agent = -1; + have_agent = 0; } } -- 2.20.1