From: djm Date: Sun, 30 Apr 2017 23:26:54 +0000 (+0000) Subject: purge the last traces of SSHv1 from the TTY modes handling code X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=0ccaed78deef9477c51d39cd8df049e65cd78ecc;p=openbsd purge the last traces of SSHv1 from the TTY modes handling code ok markus --- diff --git a/usr.bin/ssh/ttymodes.c b/usr.bin/ssh/ttymodes.c index 3b9c400041d..09729ba04f8 100644 --- a/usr.bin/ssh/ttymodes.c +++ b/usr.bin/ssh/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 * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -57,12 +57,10 @@ #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_OSPEED_PROTO1 193 -#define TTY_OP_ISPEED_PROTO2 128 -#define TTY_OP_OSPEED_PROTO2 129 +#define TTY_OP_ISPEED 128 +#define TTY_OP_OSPEED 129 /* * Converts POSIX speed_t to a baud rate. The values of the @@ -254,11 +252,8 @@ tty_make_modes(int fd, struct termios *tiop) struct termios tio; int baud; Buffer buf; - int tty_op_ospeed, tty_op_ispeed; buffer_init(&buf); - tty_op_ospeed = TTY_OP_OSPEED_PROTO2; - tty_op_ispeed = TTY_OP_ISPEED_PROTO2; if (tiop == NULL) { if (fd == -1) { @@ -274,10 +269,10 @@ tty_make_modes(int fd, struct termios *tiop) /* Store input and output baud rates. */ 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); 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); /* Store values of mode flags. */ @@ -334,9 +329,7 @@ tty_parse_modes(int fd, int *n_bytes_ptr) case TTY_OP_END: goto set; - /* XXX: future conflict possible */ - case TTY_OP_ISPEED_PROTO1: - case TTY_OP_ISPEED_PROTO2: + case TTY_OP_ISPEED: n_bytes += 4; baud = packet_get_int(); if (failure != -1 && @@ -344,9 +337,7 @@ tty_parse_modes(int fd, int *n_bytes_ptr) error("cfsetispeed failed for %d", baud); break; - /* XXX: future conflict possible */ - case TTY_OP_OSPEED_PROTO1: - case TTY_OP_OSPEED_PROTO2: + case TTY_OP_OSPEED: n_bytes += 4; baud = packet_get_int(); if (failure != -1 && diff --git a/usr.bin/ssh/ttymodes.h b/usr.bin/ssh/ttymodes.h index f3522ad9988..c257f87baaf 100644 --- a/usr.bin/ssh/ttymodes.h +++ b/usr.bin/ssh/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 @@ -38,22 +38,13 @@ */ /* - * SSH1: - * The tty mode description is a stream of bytes. The stream consists of + * The tty mode description is a string, consisting of * opcode-arguments pairs. It is terminated by opcode TTY_OP_END (0). - * Opcodes 1-127 have one-byte arguments. Opcodes 128-159 have integer - * arguments. Opcodes 160-255 are not yet defined, and cause parsing to - * stop (they should only be used after any other data). + * Opcodes 1-159 have uint32 arguments. + * Opcodes 160-255 are not yet defined and cause parsing to stop (they + * should only be used after any other data). * - * SSH2: - * 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 + * The client puts in the string any modes it knows about, and the * 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 * tty interface. The protocol can support other systems as well, but might