[openssh-commits] [openssh] 06/06: upstream commit

git+noreply at mindrot.org git+noreply at mindrot.org
Sun Oct 25 11:42:20 AEDT 2015


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit 9ada37d36003a77902e90a3214981e417457cf13
Author: djm at openbsd.org <djm at openbsd.org>
Date:   Sat Oct 24 22:56:19 2015 +0000

    upstream commit
    
    fix keyscan output for multiple hosts/addrs on one line
     when host hashing or a non standard port is in use; bz#2479 ok dtucker@
    
    Upstream-ID: 5321dabfaeceba343da3c8a8b5754c6f4a0a307b
---
 ssh-keyscan.c | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/ssh-keyscan.c b/ssh-keyscan.c
index 57d8842..7db0e10 100644
--- a/ssh-keyscan.c
+++ b/ssh-keyscan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keyscan.c,v 1.101 2015/04/10 00:08:55 djm Exp $ */
+/* $OpenBSD: ssh-keyscan.c,v 1.102 2015/10/24 22:56:19 djm Exp $ */
 /*
  * Copyright 1995, 1996 by David Mazieres <dm at lcs.mit.edu>.
  *
@@ -296,13 +296,10 @@ keygrab_ssh2(con *c)
 }
 
 static void
-keyprint(con *c, struct sshkey *key)
+keyprint_one(char *host, struct sshkey *key)
 {
-	char *host = c->c_output_name ? c->c_output_name : c->c_name;
-	char *hostport = NULL;
+	char *hostport;
 
-	if (!key)
-		return;
 	if (hash_hosts && (host = host_hash(host, NULL, 0)) == NULL)
 		fatal("host_hash failed");
 
@@ -313,6 +310,24 @@ keyprint(con *c, struct sshkey *key)
 	free(hostport);
 }
 
+static void
+keyprint(con *c, struct sshkey *key)
+{
+	char *hosts = c->c_output_name ? c->c_output_name : c->c_name;
+	char *host, *ohosts;
+
+	if (key == NULL)
+		return;
+	if (!hash_hosts && ssh_port == SSH_DEFAULT_PORT) {
+		keyprint_one(hosts, key);
+		return;
+	}
+	ohosts = hosts = xstrdup(hosts);
+	while ((host = strsep(&hosts, ",")) != NULL)
+		keyprint_one(host, key);
+	free(ohosts);
+}
+
 static int
 tcpconnect(char *host)
 {

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list