summaryrefslogtreecommitdiff
path: root/common-runopts.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@codeconstruct.com.au>2021-10-12 23:32:10 +0800
committerMatt Johnston <matt@codeconstruct.com.au>2021-10-12 23:32:10 +0800
commit043b0fbd1b8a6b6d47ae997c8d6a9d4f4228aff3 (patch)
treeaa41512e61072cca11eea16b5ce84f72f368e72a /common-runopts.c
parent110b55214b005b8667eb5612981cf62ccd4f5127 (diff)
downloaddropbear-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.c16
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;
+ }
+
+}