summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2008-12-09 02:38:18 +0000
committerdjm <djm@openbsd.org>2008-12-09 02:38:18 +0000
commite35525d330176d101adb44a4c6ec3e7d07dc7f08 (patch)
treec94d20d866b97f60f55c123d98045acec5726324
parentdo device classification for non-UVC and firmware-needing devices together (diff)
downloadwireguard-openbsd-e35525d330176d101adb44a4c6ec3e7d07dc7f08.tar.xz
wireguard-openbsd-e35525d330176d101adb44a4c6ec3e7d07dc7f08.zip
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@
-rw-r--r--usr.bin/ssh/clientloop.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.bin/ssh/clientloop.c b/usr.bin/ssh/clientloop.c
index 6d1683d6675..817be09c99b 100644
--- a/usr.bin/ssh/clientloop.c
+++ b/usr.bin/ssh/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 <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1033,7 +1033,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\
@@ -1042,8 +1041,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\
@@ -1078,6 +1076,8 @@ Supported escape sequences:\r\n\
continue;
case 'C':
+ if (c && c->ctl_fd != -1)
+ goto noescape;
process_cmdline();
continue;