diff options
author | Matt Johnston <matt@codeconstruct.com.au> | 2021-10-12 23:32:10 +0800 |
---|---|---|
committer | Matt Johnston <matt@codeconstruct.com.au> | 2021-10-12 23:32:10 +0800 |
commit | 043b0fbd1b8a6b6d47ae997c8d6a9d4f4228aff3 (patch) | |
tree | aa41512e61072cca11eea16b5ce84f72f368e72a /common-runopts.c | |
parent | 110b55214b005b8667eb5612981cf62ccd4f5127 (diff) | |
download | dropbear-043b0fbd1b8a6b6d47ae997c8d6a9d4f4228aff3.tar.gz |
Increase max window size to 10MB, fallback rather than
exiting if an invalid value is given.
Diffstat (limited to 'common-runopts.c')
-rw-r--r-- | common-runopts.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/common-runopts.c b/common-runopts.c index 4d9bbc6..97e5b2e 100644 --- a/common-runopts.c +++ b/common-runopts.c @@ -101,4 +101,20 @@ void print_version() { fprintf(stderr, "Dropbear v%s\n", DROPBEAR_VERSION); } +void parse_recv_window(const char* recv_window_arg) { + int ret; + unsigned int rw; + + ret = m_str_to_uint(recv_window_arg, &rw); + if (ret == DROPBEAR_FAILURE || rw == 0 || rw > MAX_RECV_WINDOW) { + if (rw > MAX_RECV_WINDOW) { + opts.recv_window = MAX_RECV_WINDOW; + } + dropbear_log(LOG_WARNING, "Bad recv window '%s', using %d", + recv_window_arg, opts.recv_window); + } else { + opts.recv_window = rw; + } + +} |