mirror of
git://anongit.mindrot.org/openssh.git
synced 2024-12-22 18:02:20 +00:00
upstream commit
purge the last traces of SSHv1 from the TTY modes handling code ok markus Upstream-ID: 963a19f1e06577377c38a3b7ce468f121b966195
This commit is contained in:
parent
dfa641f758
commit
aebd0abfaa
25
ttymodes.c
25
ttymodes.c
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ttymodes.c,v 1.31 2017/04/30 23:13:25 djm Exp $ */
|
/* $OpenBSD: ttymodes.c,v 1.32 2017/04/30 23:26:54 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@ -59,12 +59,10 @@
|
|||||||
|
|
||||||
#define TTY_OP_END 0
|
#define TTY_OP_END 0
|
||||||
/*
|
/*
|
||||||
* uint32 (u_int) follows speed in SSH1 and SSH2
|
* uint32 (u_int) follows speed.
|
||||||
*/
|
*/
|
||||||
#define TTY_OP_ISPEED_PROTO1 192
|
#define TTY_OP_ISPEED 128
|
||||||
#define TTY_OP_OSPEED_PROTO1 193
|
#define TTY_OP_OSPEED 129
|
||||||
#define TTY_OP_ISPEED_PROTO2 128
|
|
||||||
#define TTY_OP_OSPEED_PROTO2 129
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Converts POSIX speed_t to a baud rate. The values of the
|
* Converts POSIX speed_t to a baud rate. The values of the
|
||||||
@ -282,11 +280,8 @@ tty_make_modes(int fd, struct termios *tiop)
|
|||||||
struct termios tio;
|
struct termios tio;
|
||||||
int baud;
|
int baud;
|
||||||
Buffer buf;
|
Buffer buf;
|
||||||
int tty_op_ospeed, tty_op_ispeed;
|
|
||||||
|
|
||||||
buffer_init(&buf);
|
buffer_init(&buf);
|
||||||
tty_op_ospeed = TTY_OP_OSPEED_PROTO2;
|
|
||||||
tty_op_ispeed = TTY_OP_ISPEED_PROTO2;
|
|
||||||
|
|
||||||
if (tiop == NULL) {
|
if (tiop == NULL) {
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
@ -302,10 +297,10 @@ tty_make_modes(int fd, struct termios *tiop)
|
|||||||
|
|
||||||
/* Store input and output baud rates. */
|
/* Store input and output baud rates. */
|
||||||
baud = speed_to_baud(cfgetospeed(&tio));
|
baud = speed_to_baud(cfgetospeed(&tio));
|
||||||
buffer_put_char(&buf, tty_op_ospeed);
|
buffer_put_char(&buf, TTY_OP_OSPEED);
|
||||||
buffer_put_int(&buf, baud);
|
buffer_put_int(&buf, baud);
|
||||||
baud = speed_to_baud(cfgetispeed(&tio));
|
baud = speed_to_baud(cfgetispeed(&tio));
|
||||||
buffer_put_char(&buf, tty_op_ispeed);
|
buffer_put_char(&buf, TTY_OP_ISPEED);
|
||||||
buffer_put_int(&buf, baud);
|
buffer_put_int(&buf, baud);
|
||||||
|
|
||||||
/* Store values of mode flags. */
|
/* Store values of mode flags. */
|
||||||
@ -362,9 +357,7 @@ tty_parse_modes(int fd, int *n_bytes_ptr)
|
|||||||
case TTY_OP_END:
|
case TTY_OP_END:
|
||||||
goto set;
|
goto set;
|
||||||
|
|
||||||
/* XXX: future conflict possible */
|
case TTY_OP_ISPEED:
|
||||||
case TTY_OP_ISPEED_PROTO1:
|
|
||||||
case TTY_OP_ISPEED_PROTO2:
|
|
||||||
n_bytes += 4;
|
n_bytes += 4;
|
||||||
baud = packet_get_int();
|
baud = packet_get_int();
|
||||||
if (failure != -1 &&
|
if (failure != -1 &&
|
||||||
@ -372,9 +365,7 @@ tty_parse_modes(int fd, int *n_bytes_ptr)
|
|||||||
error("cfsetispeed failed for %d", baud);
|
error("cfsetispeed failed for %d", baud);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* XXX: future conflict possible */
|
case TTY_OP_OSPEED:
|
||||||
case TTY_OP_OSPEED_PROTO1:
|
|
||||||
case TTY_OP_OSPEED_PROTO2:
|
|
||||||
n_bytes += 4;
|
n_bytes += 4;
|
||||||
baud = packet_get_int();
|
baud = packet_get_int();
|
||||||
if (failure != -1 &&
|
if (failure != -1 &&
|
||||||
|
21
ttymodes.h
21
ttymodes.h
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ttymodes.h,v 1.15 2016/05/03 09:03:49 dtucker Exp $ */
|
/* $OpenBSD: ttymodes.h,v 1.16 2017/04/30 23:26:54 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
@ -38,22 +38,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SSH1:
|
* The tty mode description is a string, consisting of
|
||||||
* The tty mode description is a stream of bytes. The stream consists of
|
|
||||||
* opcode-arguments pairs. It is terminated by opcode TTY_OP_END (0).
|
* opcode-arguments pairs. It is terminated by opcode TTY_OP_END (0).
|
||||||
* Opcodes 1-127 have one-byte arguments. Opcodes 128-159 have integer
|
* Opcodes 1-159 have uint32 arguments.
|
||||||
* arguments. Opcodes 160-255 are not yet defined, and cause parsing to
|
* Opcodes 160-255 are not yet defined and cause parsing to stop (they
|
||||||
* stop (they should only be used after any other data).
|
* should only be used after any other data).
|
||||||
*
|
*
|
||||||
* SSH2:
|
* The client puts in the string any modes it knows about, and the
|
||||||
* Differences between SSH1 and SSH2 terminal mode encoding include:
|
|
||||||
* 1. Encoded terminal modes are represented as a string, and a stream
|
|
||||||
* of bytes within that string.
|
|
||||||
* 2. Opcode arguments are uint32 (1-159); 160-255 remain undefined.
|
|
||||||
* 3. The values for TTY_OP_ISPEED and TTY_OP_OSPEED are different;
|
|
||||||
* 128 and 129 vs. 192 and 193 respectively.
|
|
||||||
*
|
|
||||||
* The client puts in the stream any modes it knows about, and the
|
|
||||||
* server ignores any modes it does not know about. This allows some degree
|
* server ignores any modes it does not know about. This allows some degree
|
||||||
* of machine-independence, at least between systems that use a posix-like
|
* of machine-independence, at least between systems that use a posix-like
|
||||||
* tty interface. The protocol can support other systems as well, but might
|
* tty interface. The protocol can support other systems as well, but might
|
||||||
|
Loading…
Reference in New Issue
Block a user