openfortivpn: add persistent reconnect option
authorMatthew Hagan <mnhagan88@gmail.com>
Sat, 16 Oct 2021 11:40:33 +0000 (12:40 +0100)
committerRosen Penev <rosenp@gmail.com>
Sat, 30 Oct 2021 08:07:49 +0000 (01:07 -0700)
Currently when the connection times out, the interface will disconnect.
Add capability to add persistent option to re-establish connectivity.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
net/openfortivpn/files/openfortivpn.sh

index 929a0772ad5ce588b43ebd19ef1a74fa8508e6a8..0924d4250f570ffe934b18fd5ff741c1fe023db2 100755 (executable)
@@ -19,6 +19,7 @@ proto_openfortivpn_init_config() {
        proto_config_add_string "local_ip"
        proto_config_add_string "username"
        proto_config_add_string "password"
+       proto_config_add_int "persist_int"
        proto_config_add_string "trusted_cert"
        proto_config_add_string "remote_status_check"
        no_device=1
@@ -30,10 +31,10 @@ proto_openfortivpn_setup() {
 
        local msg ifname ip server_ips pwfile callfile
 
-       local peeraddr port tunlink local_ip username password trusted_cert \
-             remote_status_check
-       json_get_vars host peeraddr port tunlink local_ip username password trusted_cert \
-                     remote_status_check
+       local peeraddr port tunlink local_ip username password persist_int \
+             trusted_cert remote_status_check
+       json_get_vars host peeraddr port tunlink local_ip username password persist_int \
+                     trusted_cert remote_status_check
 
        ifname="vpn-$config"
 
@@ -116,6 +117,7 @@ proto_openfortivpn_setup() {
                append_args "--ifname=$iface_device_name"
        }
 
+       [ -n "$persist_int" ] && append_args "--persistent=$persist_int"
        [ -n "$trusted_cert" ] && append_args "--trusted-cert=$trusted_cert"
        [ -n "$username" ] && append_args -u "$username"
        [ -n "$password" ] && {