diff options
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/ssh/compat.c | 4 | ||||
-rw-r--r-- | usr.bin/ssh/compat.h | 4 | ||||
-rw-r--r-- | usr.bin/ssh/ttymodes.c | 13 |
3 files changed, 15 insertions, 6 deletions
diff --git a/usr.bin/ssh/compat.c b/usr.bin/ssh/compat.c index eea0741ad8d..1fcf84a0588 100644 --- a/usr.bin/ssh/compat.c +++ b/usr.bin/ssh/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.105 2018/01/23 05:27:21 djm Exp $ */ +/* $OpenBSD: compat.c,v 1.106 2018/02/16 04:43:11 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -124,6 +124,8 @@ compat_datafellows(const char *version) "WinSCP_release_5.7.3," "WinSCP_release_5.7.4", SSH_OLD_DHGEX }, + { "ConfD-*", + SSH_BUG_UTF8TTYMODE }, { NULL, 0 } }; diff --git a/usr.bin/ssh/compat.h b/usr.bin/ssh/compat.h index 246e6ee4c20..4fee3495a5a 100644 --- a/usr.bin/ssh/compat.h +++ b/usr.bin/ssh/compat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.50 2018/01/23 05:27:21 djm Exp $ */ +/* $OpenBSD: compat.h,v 1.51 2018/02/16 04:43:11 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -32,7 +32,7 @@ #define SSH_PROTO_1_PREFERRED 0x02 #define SSH_PROTO_2 0x04 -/* #define unused 0x00000001 */ +#define SSH_BUG_UTF8TTYMODE 0x00000001 /* #define unused 0x00000002 */ /* #define unused 0x00000004 */ /* #define unused 0x00000008 */ diff --git a/usr.bin/ssh/ttymodes.c b/usr.bin/ssh/ttymodes.c index 09729ba04f8..65e0888a11a 100644 --- a/usr.bin/ssh/ttymodes.c +++ b/usr.bin/ssh/ttymodes.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ttymodes.c,v 1.32 2017/04/30 23:26:54 djm Exp $ */ +/* $OpenBSD: ttymodes.c,v 1.33 2018/02/16 04:43:11 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -54,6 +54,7 @@ #include "log.h" #include "compat.h" #include "buffer.h" +#include "compat.h" #define TTY_OP_END 0 /* @@ -280,9 +281,15 @@ tty_make_modes(int fd, struct termios *tiop) buffer_put_char(&buf, OP); \ buffer_put_int(&buf, tio.c_cc[NAME]); +#define SSH_TTYMODE_IUTF8 42 /* for SSH_BUG_UTF8TTYMODE */ + #define TTYMODE(NAME, FIELD, OP) \ - buffer_put_char(&buf, OP); \ - buffer_put_int(&buf, ((tio.FIELD & NAME) != 0)); + if (OP == SSH_TTYMODE_IUTF8 && (datafellows & SSH_BUG_UTF8TTYMODE)) { \ + debug3("%s: SSH_BUG_UTF8TTYMODE", __func__); \ + } else { \ + buffer_put_char(&buf, OP); \ + buffer_put_int(&buf, ((tio.FIELD & NAME) != 0)); \ + } #include "ttymodes.h" |