diff options
Diffstat (limited to 'crypto/openssh/ttymodes.c')
-rw-r--r-- | crypto/openssh/ttymodes.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/crypto/openssh/ttymodes.c b/crypto/openssh/ttymodes.c index 8451396353c9..f9fdb92defab 100644 --- a/crypto/openssh/ttymodes.c +++ b/crypto/openssh/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 @@ -56,6 +56,7 @@ #include "log.h" #include "compat.h" #include "buffer.h" +#include "compat.h" #define TTY_OP_END 0 /* @@ -308,9 +309,15 @@ tty_make_modes(int fd, struct termios *tiop) buffer_put_char(&buf, OP); \ buffer_put_int(&buf, special_char_encode(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" |