summaryrefslogtreecommitdiff
path: root/crypto/openssh/ttymodes.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssh/ttymodes.c')
-rw-r--r--crypto/openssh/ttymodes.c13
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"