From 09925c002465cce27d461f64ae6cf43ead5ef31d Mon Sep 17 00:00:00 2001 From: djm Date: Tue, 9 Dec 2008 03:11:32 +0000 Subject: [PATCH] - djm@cvs.openbsd.org 2008/12/09 02:38:18 [clientloop.c] The ~C escape handler does not work correctly for multiplexed sessions - it opens a commandline on the master session, instead of on the slave that requested it. Disable it on slave sessions until such time as it is fixed; bz#1543 report from Adrian Bridgett via Colin Watson ok markus@ --- ChangeLog | 10 ++++++++++ clientloop.c | 8 ++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7b69eade..8bc5e9a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +20081209 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2008/12/09 02:38:18 + [clientloop.c] + The ~C escape handler does not work correctly for multiplexed sessions - + it opens a commandline on the master session, instead of on the slave + that requested it. Disable it on slave sessions until such time as it + is fixed; bz#1543 report from Adrian Bridgett via Colin Watson + ok markus@ + 20081208 - (djm) [configure.ac] bz#1538: better test for ProPolice/SSP: actually use some stack in main(). diff --git a/clientloop.c b/clientloop.c index df454582..0d228421 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.205 2008/12/02 19:01:07 markus Exp $ */ +/* $OpenBSD: clientloop.c,v 1.206 2008/12/09 02:38:18 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1042,7 +1042,6 @@ process_escapes(Channel *c, Buffer *bin, Buffer *bout, Buffer *berr, Supported escape sequences:\r\n\ %c. - terminate session\r\n\ %cB - send a BREAK to the remote system\r\n\ - %cC - open a command line\r\n\ %cR - Request rekey (SSH protocol 2 only)\r\n\ %c# - list forwarded connections\r\n\ %c? - this message\r\n\ @@ -1051,8 +1050,7 @@ Supported escape sequences:\r\n\ escape_char, escape_char, escape_char, escape_char, escape_char, escape_char, - escape_char, escape_char, - escape_char); + escape_char, escape_char); } else { snprintf(string, sizeof string, "%c?\r\n\ @@ -1087,6 +1085,8 @@ Supported escape sequences:\r\n\ continue; case 'C': + if (c && c->ctl_fd != -1) + goto noescape; process_cmdline(); continue; -- 2.45.2