dropbear: add option to set receive window size
[openwrt/openwrt.git] / package / network / services / dropbear / files / dropbear.init
index 3d8cb2ca5e372121e3f1c29fa5aca3d49e6c5a10..2225113498a509403300e556a5da690e0b3959fb 100755 (executable)
@@ -42,6 +42,7 @@ validate_section_dropbear()
                'SSHKeepAlive:uinteger:300' \
                'IdleTimeout:uinteger:0' \
                'MaxAuthTries:uinteger:3' \
+               'RecvWindowSize:uinteger:0' \
                'mdns:bool:1'
 }
 
@@ -50,7 +51,7 @@ dropbear_instance()
        local PasswordAuth enable Interface GatewayPorts \
                RootPasswordAuth RootLogin rsakeyfile \
                BannerFile Port SSHKeepAlive IdleTimeout \
-               MaxAuthTries mdns ipaddrs
+               MaxAuthTries RecvWindowSize mdns ipaddrs
 
        validate_section_dropbear "${1}" || {
                echo "validation failed"
@@ -80,6 +81,8 @@ dropbear_instance()
        [ "${IdleTimeout}" -ne 0 ] && procd_append_param command -I "${IdleTimeout}"
        [ "${SSHKeepAlive}" -ne 0 ] && procd_append_param command -K "${SSHKeepAlive}"
        [ "${MaxAuthTries}" -ne 0 ] && procd_append_param command -T "${MaxAuthTries}"
+       [ "${RecvWindowSize}" -gt 0 -a "${RecvWindowSize}" -le 1048576 ] && \
+               procd_append_param command -W "${RecvWindowSize}"
        [ "${mdns}" -ne 0 ] && procd_add_mdns "ssh" "tcp" "$Port" "daemon=dropbear"
        procd_set_param respawn
        procd_close_instance