dropbear: cherry-pick upstream patches
[openwrt/staging/robimarko.git] / package / network / services / dropbear / patches / 016-src-svr-tcpfwd-Fix-noremotetcp-behavior.patch
1 From 3cf8344769eda55e26eee53c1898b2c66544f188 Mon Sep 17 00:00:00 2001
2 From: Justin Chen <justin.chen@broadcom.com>
3 Date: Fri, 8 Sep 2023 11:35:18 -0700
4 Subject: src: svr-tcpfwd: Fix noremotetcp behavior
5
6 If noremotetcp is set, we should still reply with
7 send_msg_request_failed. This matches the behavior
8 of !DROPBEAR_SVR_REMOTETCPFWD.
9
10 We were seeing keepalive packets being ignored when
11 the "-k" option was used.
12 ---
13 svr-tcpfwd.c | 6 +++---
14 1 file changed, 3 insertions(+), 3 deletions(-)
15
16 --- a/svr-tcpfwd.c
17 +++ b/svr-tcpfwd.c
18 @@ -79,14 +79,14 @@ void recv_msg_global_request_remotetcp()
19
20 TRACE(("enter recv_msg_global_request_remotetcp"))
21
22 + reqname = buf_getstring(ses.payload, &namelen);
23 + wantreply = buf_getbool(ses.payload);
24 +
25 if (svr_opts.noremotetcp || !svr_pubkey_allows_tcpfwd()) {
26 TRACE(("leave recv_msg_global_request_remotetcp: remote tcp forwarding disabled"))
27 goto out;
28 }
29
30 - reqname = buf_getstring(ses.payload, &namelen);
31 - wantreply = buf_getbool(ses.payload);
32 -
33 if (namelen > MAX_NAME_LEN) {
34 TRACE(("name len is wrong: %d", namelen))
35 goto out;