config_foreach migrate_gateway_remote remote
}
+migrate_remote_gateway_remote() {
+ local cfg="$1"
+
+ local remote_gateway value
+
+ config_get remote_gateway "$cfg" remote_gateway ""
+ [ -z "$remote_gateway" ] && return
+
+ for value in $remote_gateway; do
+ uci add_list "ipsec.${cfg}.remote_addrs=${value}"
+ done
+
+ uci -q delete "ipsec.${cfg}.remote_gateway"
+ uci commit ipsec
+}
+
+migrate_remote_gateway() {
+ config_load ipsec
+ config_foreach migrate_remote_gateway_remote remote
+}
+
main() {
migrate_ipsec
migrate_ignore_routing_tables
migrate_local_nat
migrate_gateway
+ migrate_remote_gateway
}
main
local conf="$1"
local enabled
- local remote_gateway
local pre_shared_key
local auth_method
local local_identifier
local send_cert
local send_certreq
local eap_id
+ local remote_addrs
local local_sourceip
local remote_ca_certs
local pools
config_get_bool enabled "$conf" enabled 0
[ $enabled -eq 0 ] && return
- config_get remote_gateway "$conf" remote_gateway '%any'
config_get pre_shared_key "$conf" pre_shared_key
config_get auth_method "$conf" authentication_method
config_get local_identifier "$conf" local_identifier ""
config_get_bool send_certreq "$conf" send_certreq 1
config_get eap_id "$conf" eap_id "%any"
+ config_list_foreach "$conf" remote_addrs append_var remote_addrs ","
config_list_foreach "$conf" local_sourceip append_var local_sourceip ","
config_list_foreach "$conf" remote_ca_certs append_var remote_ca_certs ","
config_list_foreach "$conf" pools append_var pools ","
swanctl_xappend0 "connections {"
swanctl_xappend1 "$conf {"
swanctl_xappend2 "local_addrs = $local_ip"
- swanctl_xappend2 "remote_addrs = $remote_gateway"
-
+ [ -n "$remote_addrs" ] && swanctl_xappend2 "remote_addrs = $remote_addrs"
[ -n "$local_sourceip" ] && swanctl_xappend2 "vips = $local_sourceip"
[ -n "$fragmentation" ] && swanctl_xappend2 "fragmentation = $fragmentation"
[ -n "$pools" ] && swanctl_xappend2 "pools = $pools"