summaryrefslogtreecommitdiff
blob: f99e92f29e3320f644064a8cf42ad0ece4ea6057 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
https://bugs.gentoo.org/547944

From d8f391caef62378463a0e6b36f940170dadfe605 Mon Sep 17 00:00:00 2001
From: "dtucker@openbsd.org" <dtucker@openbsd.org>
Date: Fri, 10 Apr 2015 05:16:50 +0000
Subject: [PATCH] upstream commit

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@
---
 compat.c | 13 ++++++++++++-
 compat.h |  3 ++-
 sshd.c   |  6 +++++-
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/compat.c b/compat.c
index 2498168..0934de9 100644
--- a/compat.c
+++ b/compat.c
@@ -167,6 +167,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/compat.h b/compat.h
index af2f007..83507f0 100644
--- a/compat.h
+++ b/compat.h
@@ -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/sshd.c b/sshd.c
index 6aa17fa..60b0cd4 100644
--- a/sshd.c
+++ b/sshd.c
@@ -928,6 +928,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++) {
-- 
2.3.6