sshtunnel: ProxyCommand option
authorSergey Ponomarev <stokito@gmail.com>
Fri, 22 Dec 2023 21:27:54 +0000 (23:27 +0200)
committerNuno Goncalves <nunojpg@gmail.com>
Wed, 27 Dec 2023 17:31:33 +0000 (17:31 +0000)
The ProxyCommand may have spaces so it must be quoted.
So we must use the procd_append_param.
Currently the option is not supported by Dropbear.
But it has -J instead which in OpenSSH means ProxyJump.
So we can't use it to avoid conflict.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
net/sshtunnel/files/sshtunnel.init

index 8b8f97f933a44810aa6f0af93070a81587033308..195cc7824927066ed50762b06917edb5c18abe93 100644 (file)
@@ -52,7 +52,8 @@ validate_server_section() {
                'ServerAliveInterval:min(0)' \
                'StrictHostKeyChecking:or("yes", "no", "accept-new"):accept-new' \
                'TCPKeepAlive:or("yes", "no")' \
-               'VerifyHostKeyDNS:or("yes", "no")'
+               'VerifyHostKeyDNS:or("yes", "no")' \
+               'ProxyCommand:string(1)'
 }
 
 validate_tunnelR_section() {
@@ -198,6 +199,9 @@ load_server() {
 
        procd_open_instance "$server"
        procd_set_param command "$PROG" $ARGS
+       # ProxyCommand must be quoted
+       [ -n "$ProxyCommand" ] && procd_append_param command -o "ProxyCommand=$ProxyCommand"
+
        procd_set_param stdout 1
        procd_set_param stderr 1
        procd_set_param respawn 0 "$retrydelay" 1