summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@cvs.openbsd.org>2015-04-10 05:16:51 +0000
committerDarren Tucker <dtucker@cvs.openbsd.org>2015-04-10 05:16:51 +0000
commitd079c77a85fc6a58405babf993f3285dc0c1fb85 (patch)
tree7101059036e236c8ad3c6acab5b9b931dea26c86
parent3522aa12b16911d75379cf8ce1f8d6dad15021b2 (diff)
Don't send hostkey advertisments (hostkeys-00@openssh.com) to current
versions of Tera Term as they can't handle them. Newer versions should be OK. Patch from Bryan Drewery and IWAMOTO Kouichi, ok djm@
-rw-r--r--usr.bin/ssh/compat.c13
-rw-r--r--usr.bin/ssh/compat.h3
-rw-r--r--usr.bin/ssh/sshd.c6
3 files changed, 19 insertions, 3 deletions
diff --git a/usr.bin/ssh/compat.c b/usr.bin/ssh/compat.c
index c8b01a135e2..9f4e576a8de 100644
--- a/usr.bin/ssh/compat.c
+++ b/usr.bin/ssh/compat.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.c,v 1.88 2015/04/07 23:00:42 djm Exp $ */
+/* $OpenBSD: compat.c,v 1.89 2015/04/10 05:16:50 dtucker Exp $ */
/*
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
*
@@ -165,6 +165,17 @@ compat_datafellows(const char *version)
SSH_BUG_SCANNER },
{ "Probe-*",
SSH_BUG_PROBE },
+ { "TeraTerm SSH*,"
+ "TTSSH/1.5.*,"
+ "TTSSH/2.1*,"
+ "TTSSH/2.2*,"
+ "TTSSH/2.3*,"
+ "TTSSH/2.4*,"
+ "TTSSH/2.5*,"
+ "TTSSH/2.6*,"
+ "TTSSH/2.70*,"
+ "TTSSH/2.71*,"
+ "TTSSH/2.72*", SSH_BUG_HOSTKEYS },
{ NULL, 0 }
};
diff --git a/usr.bin/ssh/compat.h b/usr.bin/ssh/compat.h
index af2f0073fb0..83507f07035 100644
--- a/usr.bin/ssh/compat.h
+++ b/usr.bin/ssh/compat.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.h,v 1.46 2015/01/19 20:20:20 markus Exp $ */
+/* $OpenBSD: compat.h,v 1.47 2015/04/10 05:16:50 dtucker Exp $ */
/*
* Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved.
@@ -60,6 +60,7 @@
#define SSH_NEW_OPENSSH 0x04000000
#define SSH_BUG_DYNAMIC_RPORT 0x08000000
#define SSH_BUG_CURVE25519PAD 0x10000000
+#define SSH_BUG_HOSTKEYS 0x20000000
void enable_compat13(void);
void enable_compat20(void);
diff --git a/usr.bin/ssh/sshd.c b/usr.bin/ssh/sshd.c
index b30b74bcd56..008025f7968 100644
--- a/usr.bin/ssh/sshd.c
+++ b/usr.bin/ssh/sshd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshd.c,v 1.445 2015/03/31 22:55:24 djm Exp $ */
+/* $OpenBSD: sshd.c,v 1.446 2015/04/10 05:16:50 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -891,6 +891,10 @@ notify_hostkeys(struct ssh *ssh)
int i, nkeys, r;
char *fp;
+ /* Some clients cannot cope with the hostkeys message, skip those. */
+ if (datafellows & SSH_BUG_HOSTKEYS)
+ return;
+
if ((buf = sshbuf_new()) == NULL)
fatal("%s: sshbuf_new", __func__);
for (i = nkeys = 0; i < options.num_host_key_files; i++) {