summaryrefslogtreecommitdiffstats
path: root/clientloop.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2003-05-15 10:20:13 +1000
committerDamien Miller <djm@mindrot.org>2003-05-15 10:20:13 +1000
commit54c459866e2da288a3895eecf097104ac6f9f4d0 (patch)
tree153fc4387b34aaa23b9e088ceb44fbce325cdda3 /clientloop.c
parent37876e913a069036501086a247ed2ea430cea206 (diff)
- markus@cvs.openbsd.org 2003/05/14 22:24:42
[clientloop.c session.c ssh.1] allow to send a BREAK to the remote system; ok various
Diffstat (limited to 'clientloop.c')
-rw-r--r--clientloop.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/clientloop.c b/clientloop.c
index e5270aa5..1c1acf48 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -59,7 +59,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: clientloop.c,v 1.110 2003/05/11 20:30:24 markus Exp $");
+RCSID("$OpenBSD: clientloop.c,v 1.111 2003/05/14 22:24:42 markus Exp $");
#include "ssh.h"
#include "ssh1.h"
@@ -574,6 +574,19 @@ process_escapes(Buffer *bin, Buffer *bout, Buffer *berr, char *buf, int len)
/* We have been continued. */
continue;
+ case 'B':
+ if (compat20) {
+ snprintf(string, sizeof string,
+ "%cB\r\n", escape_char);
+ buffer_append(berr, string,
+ strlen(string));
+ channel_request_start(session_ident,
+ "break", 0);
+ packet_put_int(1000);
+ packet_send();
+ }
+ continue;
+
case 'R':
if (compat20) {
if (datafellows & SSH_BUG_NOREKEY)
@@ -636,6 +649,7 @@ process_escapes(Buffer *bin, Buffer *bout, Buffer *berr, char *buf, int len)
"%c?\r\n\
Supported escape sequences:\r\n\
%c. - terminate connection\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^Z - suspend ssh\r\n\
@@ -646,7 +660,7 @@ Supported escape sequences:\r\n\
(Note that escapes are only recognized immediately after newline.)\r\n",
escape_char, escape_char, escape_char, escape_char,
escape_char, escape_char, escape_char, escape_char,
- escape_char, escape_char);
+ escape_char, escape_char, escape_char);
buffer_append(berr, string, strlen(string));
continue;