summaryrefslogtreecommitdiff
path: root/ttymodes.c
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2010-01-01 23:53:30 +0000
committerColin Watson <cjwatson@debian.org>2010-01-01 23:53:30 +0000
commitdf03186a4f9e0c2ece398b5c0571cb6263d7a752 (patch)
tree1aab079441dff9615274769b19f2d734ddf508dd /ttymodes.c
parent6ad6994c288662fca6949f42bf91fec2aff00bca (diff)
parent99b402ea4c8457b0a3cafff37f5b3410a8dc6476 (diff)
* New upstream release (closes: #536182). Yes, I know 5.3p1 has been out
for a while, but there's no GSSAPI patch available for it yet. - Change the default cipher order to prefer the AES CTR modes and the revised "arcfour256" mode to CBC mode ciphers that are susceptible to CPNI-957037 "Plaintext Recovery Attack Against SSH". - Add countermeasures to mitigate CPNI-957037-style attacks against the SSH protocol's use of CBC-mode ciphers. Upon detection of an invalid packet length or Message Authentication Code, ssh/sshd will continue reading up to the maximum supported packet length rather than immediately terminating the connection. This eliminates most of the known differences in behaviour that leaked information about the plaintext of injected data which formed the basis of this attack (closes: #506115, LP: #379329). - ForceCommand directive now accepts commandline arguments for the internal-sftp server (closes: #524423, LP: #362511). - Add AllowAgentForwarding to available Match keywords list (closes: #540623). - Make ssh(1) send the correct channel number for SSH2_MSG_CHANNEL_SUCCESS and SSH2_MSG_CHANNEL_FAILURE messages to avoid triggering 'Non-public channel' error messages on sshd(8) in openssh-5.1. - Avoid printing 'Non-public channel' warnings in sshd(8), since the ssh(1) has sent incorrect channel numbers since ~2004 (this reverts a behaviour introduced in openssh-5.1; closes: #496017). * Update to GSSAPI patch from http://www.sxw.org.uk/computing/patches/openssh-5.2p1-gsskex-all-20090726.patch, including cascading credentials support (LP: #416958).
Diffstat (limited to 'ttymodes.c')
-rw-r--r--ttymodes.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/ttymodes.c b/ttymodes.c
index e116b1999..6f51b8a70 100644
--- a/ttymodes.c
+++ b/ttymodes.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ttymodes.c,v 1.28 2008/07/07 00:31:41 stevesk Exp $ */ 1/* $OpenBSD: ttymodes.c,v 1.29 2008/11/02 00:16:16 stevesk Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -311,11 +311,9 @@ tty_make_modes(int fd, struct termios *tiop)
311 311
312 /* Store input and output baud rates. */ 312 /* Store input and output baud rates. */
313 baud = speed_to_baud(cfgetospeed(&tio)); 313 baud = speed_to_baud(cfgetospeed(&tio));
314 debug3("tty_make_modes: ospeed %d", baud);
315 buffer_put_char(&buf, tty_op_ospeed); 314 buffer_put_char(&buf, tty_op_ospeed);
316 buffer_put_int(&buf, baud); 315 buffer_put_int(&buf, baud);
317 baud = speed_to_baud(cfgetispeed(&tio)); 316 baud = speed_to_baud(cfgetispeed(&tio));
318 debug3("tty_make_modes: ispeed %d", baud);
319 buffer_put_char(&buf, tty_op_ispeed); 317 buffer_put_char(&buf, tty_op_ispeed);
320 buffer_put_int(&buf, baud); 318 buffer_put_int(&buf, baud);
321 319
@@ -359,7 +357,6 @@ tty_parse_modes(int fd, int *n_bytes_ptr)
359 357
360 if (compat20) { 358 if (compat20) {
361 *n_bytes_ptr = packet_get_int(); 359 *n_bytes_ptr = packet_get_int();
362 debug3("tty_parse_modes: SSH2 n_bytes %d", *n_bytes_ptr);
363 if (*n_bytes_ptr == 0) 360 if (*n_bytes_ptr == 0)
364 return; 361 return;
365 get_arg = packet_get_int; 362 get_arg = packet_get_int;
@@ -391,7 +388,6 @@ tty_parse_modes(int fd, int *n_bytes_ptr)
391 case TTY_OP_ISPEED_PROTO2: 388 case TTY_OP_ISPEED_PROTO2:
392 n_bytes += 4; 389 n_bytes += 4;
393 baud = packet_get_int(); 390 baud = packet_get_int();
394 debug3("tty_parse_modes: ispeed %d", baud);
395 if (failure != -1 && 391 if (failure != -1 &&
396 cfsetispeed(&tio, baud_to_speed(baud)) == -1) 392 cfsetispeed(&tio, baud_to_speed(baud)) == -1)
397 error("cfsetispeed failed for %d", baud); 393 error("cfsetispeed failed for %d", baud);
@@ -402,7 +398,6 @@ tty_parse_modes(int fd, int *n_bytes_ptr)
402 case TTY_OP_OSPEED_PROTO2: 398 case TTY_OP_OSPEED_PROTO2:
403 n_bytes += 4; 399 n_bytes += 4;
404 baud = packet_get_int(); 400 baud = packet_get_int();
405 debug3("tty_parse_modes: ospeed %d", baud);
406 if (failure != -1 && 401 if (failure != -1 &&
407 cfsetospeed(&tio, baud_to_speed(baud)) == -1) 402 cfsetospeed(&tio, baud_to_speed(baud)) == -1)
408 error("cfsetospeed failed for %d", baud); 403 error("cfsetospeed failed for %d", baud);