diff options
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/clientloop.c b/clientloop.c index e5270aa57..1c1acf481 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -59,7 +59,7 @@ | |||
59 | */ | 59 | */ |
60 | 60 | ||
61 | #include "includes.h" | 61 | #include "includes.h" |
62 | RCSID("$OpenBSD: clientloop.c,v 1.110 2003/05/11 20:30:24 markus Exp $"); | 62 | RCSID("$OpenBSD: clientloop.c,v 1.111 2003/05/14 22:24:42 markus Exp $"); |
63 | 63 | ||
64 | #include "ssh.h" | 64 | #include "ssh.h" |
65 | #include "ssh1.h" | 65 | #include "ssh1.h" |
@@ -574,6 +574,19 @@ process_escapes(Buffer *bin, Buffer *bout, Buffer *berr, char *buf, int len) | |||
574 | /* We have been continued. */ | 574 | /* We have been continued. */ |
575 | continue; | 575 | continue; |
576 | 576 | ||
577 | case 'B': | ||
578 | if (compat20) { | ||
579 | snprintf(string, sizeof string, | ||
580 | "%cB\r\n", escape_char); | ||
581 | buffer_append(berr, string, | ||
582 | strlen(string)); | ||
583 | channel_request_start(session_ident, | ||
584 | "break", 0); | ||
585 | packet_put_int(1000); | ||
586 | packet_send(); | ||
587 | } | ||
588 | continue; | ||
589 | |||
577 | case 'R': | 590 | case 'R': |
578 | if (compat20) { | 591 | if (compat20) { |
579 | if (datafellows & SSH_BUG_NOREKEY) | 592 | if (datafellows & SSH_BUG_NOREKEY) |
@@ -636,6 +649,7 @@ process_escapes(Buffer *bin, Buffer *bout, Buffer *berr, char *buf, int len) | |||
636 | "%c?\r\n\ | 649 | "%c?\r\n\ |
637 | Supported escape sequences:\r\n\ | 650 | Supported escape sequences:\r\n\ |
638 | %c. - terminate connection\r\n\ | 651 | %c. - terminate connection\r\n\ |
652 | %cB - send a BREAK to the remote system\r\n\ | ||
639 | %cC - open a command line\r\n\ | 653 | %cC - open a command line\r\n\ |
640 | %cR - Request rekey (SSH protocol 2 only)\r\n\ | 654 | %cR - Request rekey (SSH protocol 2 only)\r\n\ |
641 | %c^Z - suspend ssh\r\n\ | 655 | %c^Z - suspend ssh\r\n\ |
@@ -646,7 +660,7 @@ Supported escape sequences:\r\n\ | |||
646 | (Note that escapes are only recognized immediately after newline.)\r\n", | 660 | (Note that escapes are only recognized immediately after newline.)\r\n", |
647 | escape_char, escape_char, escape_char, escape_char, | 661 | escape_char, escape_char, escape_char, escape_char, |
648 | escape_char, escape_char, escape_char, escape_char, | 662 | escape_char, escape_char, escape_char, escape_char, |
649 | escape_char, escape_char); | 663 | escape_char, escape_char, escape_char); |
650 | buffer_append(berr, string, strlen(string)); | 664 | buffer_append(berr, string, strlen(string)); |
651 | continue; | 665 | continue; |
652 | 666 | ||