summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-keyscan.c
diff options
context:
space:
mode:
authormarkus <markus@openbsd.org>2001-08-05 23:29:58 +0000
committermarkus <markus@openbsd.org>2001-08-05 23:29:58 +0000
commitdbae0c3162fb11d7056b9087bfecda869e49caa4 (patch)
tree26eb097bf06b53b6be27bb56ddb8f36691993da8 /usr.bin/ssh/ssh-keyscan.c
parentssh 2 support; from wayned@users.sourceforge.net (diff)
downloadwireguard-openbsd-dbae0c3162fb11d7056b9087bfecda869e49caa4.tar.xz
wireguard-openbsd-dbae0c3162fb11d7056b9087bfecda869e49caa4.zip
make -t dsa work with commercial servers, too
Diffstat (limited to 'usr.bin/ssh/ssh-keyscan.c')
-rw-r--r--usr.bin/ssh/ssh-keyscan.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.bin/ssh/ssh-keyscan.c b/usr.bin/ssh/ssh-keyscan.c
index 6a2c62fcace..35f872472a8 100644
--- a/usr.bin/ssh/ssh-keyscan.c
+++ b/usr.bin/ssh/ssh-keyscan.c
@@ -7,7 +7,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: ssh-keyscan.c,v 1.26 2001/08/05 23:18:20 markus Exp $");
+RCSID("$OpenBSD: ssh-keyscan.c,v 1.27 2001/08/05 23:29:58 markus Exp $");
#include <sys/queue.h>
#include <errno.h>
@@ -479,8 +479,11 @@ congreet(int s)
bufsiz = sizeof(buf);
cp = buf;
- while (bufsiz-- && (n = read(s, cp, 1)) == 1 && *cp != '\n' && *cp != '\r')
+ while (bufsiz-- && (n = read(s, cp, 1)) == 1 && *cp != '\n') {
+ if (*cp == '\r')
+ *cp = '\n';
cp++;
+ }
if (n < 0) {
if (errno != ECONNREFUSED)
error("read (%s): %s", c->c_name, strerror(errno));
@@ -493,7 +496,6 @@ congreet(int s)
return;
}
*cp = '\0';
- fprintf(stderr, "# %s %s\n", c->c_name, buf);
if (c->c_keytype != KT_RSA1) {
int remote_major, remote_minor;
char remote_version[sizeof buf];
@@ -509,6 +511,7 @@ congreet(int s)
return;
}
}
+ fprintf(stderr, "# %s %s\n", c->c_name, chop(buf));
n = snprintf(buf, sizeof buf, "SSH-%d.%d-OpenSSH-keyscan\r\n",
c->c_keytype == KT_RSA1? PROTOCOL_MAJOR_1 : PROTOCOL_MAJOR_2,
c->c_keytype == KT_RSA1? PROTOCOL_MINOR_1 : PROTOCOL_MINOR_2);