dropbear: fix keepalive with putty
[openwrt/staging/chunkeey.git] / package / network / services / dropbear / patches / 001-dont_send_SSH_MSG_IMPLEMENTED.patch
1
2 # HG changeset patch
3 # User Matt Johnston <matt@ucc.asn.au>
4 # Date 1407937727 -28800
5 # Node ID f7f6c15b0ec30b0def69c9ccbb3dc4eb97374abc
6 # Parent 02821319ab1f1208b7ab5de4af82a562c386d40d
7 Don't send SSH_MSG_UNIMPLEMENTED for keepalive responses
8
9 diff -r 02821319ab1f -r f7f6c15b0ec3 cli-session.c
10 --- a/cli-session.c Fri Aug 08 21:53:47 2014 +0800
11 +++ b/cli-session.c Wed Aug 13 21:48:47 2014 +0800
12 @@ -73,6 +73,8 @@
13 #ifdef ENABLE_CLI_REMOTETCPFWD
14 {SSH_MSG_REQUEST_SUCCESS, cli_recv_msg_request_success}, /* client */
15 {SSH_MSG_REQUEST_FAILURE, cli_recv_msg_request_failure}, /* client */
16 +#else
17 + {SSH_MSG_REQUEST_FAILURE, ignore_recv_msg_request_failure}, /* for keepalive */
18 #endif
19 {0, 0} /* End */
20 };
21 diff -r 02821319ab1f -r f7f6c15b0ec3 common-session.c
22 --- a/common-session.c Fri Aug 08 21:53:47 2014 +0800
23 +++ b/common-session.c Wed Aug 13 21:48:47 2014 +0800
24 @@ -394,6 +394,11 @@
25 return pos+1;
26 }
27
28 +void ignore_recv_msg_request_failure() {
29 + // Do nothing
30 + TRACE(("Ignored msg_request_failure"))
31 +}
32 +
33 static void send_msg_keepalive() {
34 CHECKCLEARTOWRITE();
35 time_t old_time_idle = ses.last_packet_time_idle;
36 diff -r 02821319ab1f -r f7f6c15b0ec3 session.h
37 --- a/session.h Fri Aug 08 21:53:47 2014 +0800
38 +++ b/session.h Wed Aug 13 21:48:47 2014 +0800
39 @@ -47,6 +47,7 @@
40 void session_cleanup();
41 void send_session_identification();
42 void send_msg_ignore();
43 +void ignore_recv_msg_request_failure();
44
45 void update_channel_prio();
46
47 diff -r 02821319ab1f -r f7f6c15b0ec3 svr-session.c
48 --- a/svr-session.c Fri Aug 08 21:53:47 2014 +0800
49 +++ b/svr-session.c Wed Aug 13 21:48:47 2014 +0800
50 @@ -58,6 +58,7 @@
51 {SSH_MSG_CHANNEL_OPEN, recv_msg_channel_open},
52 {SSH_MSG_CHANNEL_EOF, recv_msg_channel_eof},
53 {SSH_MSG_CHANNEL_CLOSE, recv_msg_channel_close},
54 + {SSH_MSG_REQUEST_FAILURE, ignore_recv_msg_request_failure}, /* for keepalive */
55 #ifdef USING_LISTENERS
56 {SSH_MSG_CHANNEL_OPEN_CONFIRMATION, recv_msg_channel_open_confirmation},
57 {SSH_MSG_CHANNEL_OPEN_FAILURE, recv_msg_channel_open_failure},
58