Don't send hostkey advertisments (hostkeys-00@openssh.com) to current
authordtucker <dtucker@openbsd.org>
Fri, 10 Apr 2015 05:16:50 +0000 (05:16 +0000)
committerdtucker <dtucker@openbsd.org>
Fri, 10 Apr 2015 05:16:50 +0000 (05:16 +0000)
versions of Tera Term as they can't handle them.  Newer versions should
be OK.  Patch from Bryan Drewery and IWAMOTO Kouichi, ok djm@

usr.bin/ssh/compat.c
usr.bin/ssh/compat.h
usr.bin/ssh/sshd.c

index c8b01a1..9f4e576 100644 (file)
@@ -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 }
        };
 
index af2f007..83507f0 100644 (file)
@@ -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);
index b30b74b..008025f 100644 (file)
@@ -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++) {