summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--clientloop.c11
2 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9fb565c6e..b3ec3e2a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@
7 - jmc@cvs.openbsd.org 2012/09/06 13:57:42 7 - jmc@cvs.openbsd.org 2012/09/06 13:57:42
8 [ssh.1] 8 [ssh.1]
9 missing letter in previous; 9 missing letter in previous;
10 - dtucker@cvs.openbsd.org 2012/09/07 00:30:19
11 [clientloop.c]
12 Print '^Z' instead of a raw ^Z when the sequence is not supported. ok djm@
10 13
1120120906 1420120906
12 - (dtucker) OpenBSD CVS Sync 15 - (dtucker) OpenBSD CVS Sync
diff --git a/clientloop.c b/clientloop.c
index 07d2c8923..20fa4b9f4 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: clientloop.c,v 1.244 2012/09/06 09:50:13 dtucker Exp $ */ 1/* $OpenBSD: clientloop.c,v 1.245 2012/09/07 00:30:19 dtucker 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
@@ -1114,11 +1114,16 @@ process_escapes(Channel *c, Buffer *bin, Buffer *bout, Buffer *berr,
1114 case 'Z' - 64: 1114 case 'Z' - 64:
1115 /* XXX support this for mux clients */ 1115 /* XXX support this for mux clients */
1116 if (c && c->ctl_chan != -1) { 1116 if (c && c->ctl_chan != -1) {
1117 char b[16];
1117 noescape: 1118 noescape:
1119 if (ch == 'Z' - 64)
1120 snprintf(b, sizeof b, "^Z");
1121 else
1122 snprintf(b, sizeof b, "%c", ch);
1118 snprintf(string, sizeof string, 1123 snprintf(string, sizeof string,
1119 "%c%c escape not available to " 1124 "%c%s escape not available to "
1120 "multiplexed sessions\r\n", 1125 "multiplexed sessions\r\n",
1121 escape_char, ch); 1126 escape_char, b);
1122 buffer_append(berr, string, 1127 buffer_append(berr, string,
1123 strlen(string)); 1128 strlen(string));
1124 continue; 1129 continue;