]> git.99rst.org Git - openwrt-packages.git/commitdiff
strongswan: rename 'local_sourceip' to 'vips'
authorFlorian Eckert <redacted>
Mon, 27 Jul 2026 12:00:24 +0000 (14:00 +0200)
committerFlorian Eckert <redacted>
Mon, 3 Aug 2026 09:07:41 +0000 (11:07 +0200)
The name 'local_sourceip' was misleading, since the option actually
refers to virtual IP addresses (VIPs) used for routing/binding,
not just a single local source IP. Renaming it to 'vips' better
reflects its purpose and makes the configuration more intuitive
for users, especially in setups with multiple virtual IPs.

Add a uci-defaults migration script to convert existing 'local_sourceip'
entries (whether stored as a plain option or as a list) to a
'vips' list on upgrade.

Signed-off-by: Florian Eckert <redacted>
net/strongswan/files/etc/uci-defaults/strongswan
net/strongswan/files/swanctl.init

index 9e5628acb0ba7247e284cbd6d2011656025494cc..894806daee3deb2a56df9ec4fc4c03c2680c2a87 100644 (file)
@@ -118,6 +118,27 @@ migrate_local_ip() {
        config_foreach migrate_local_ip_local remote
 }
 
+migrate_local_sourceip_vips() {
+       local cfg="$1"
+
+       local local_sourceip value
+
+       config_get local_sourceip "$cfg" local_sourceip ""
+       [ -z "$local_sourceip" ] && return
+
+       for value in $local_sourceip; do
+               uci add_list "ipsec.${cfg}.vips=${value}"
+       done
+
+       uci -q delete "ipsec.${cfg}.local_sourceip"
+       uci commit ipsec
+}
+
+migrate_local_sourceip() {
+       config_load ipsec
+       config_foreach migrate_local_sourceip_vips remote
+}
+
 main() {
        migrate_ipsec
        migrate_ignore_routing_tables
@@ -125,6 +146,7 @@ main() {
        migrate_gateway
        migrate_remote_gateway
        migrate_local_ip
+       migrate_local_sourceip
 }
 
 main
index 1673c5a1f2f8dde13cd36c346cc0e9f51794bdae..92916c962510ce945b5531542e8516d2eed56fed 100644 (file)
@@ -457,7 +457,7 @@ config_remote() {
        local eap_id
        local local_addrs
        local remote_addrs
-       local local_sourceip
+       local vips
        local remote_ca_certs
        local pools
 
@@ -486,7 +486,7 @@ config_remote() {
 
        config_list_foreach "$conf" local_addrs append_var local_addrs ","
        config_list_foreach "$conf" remote_addrs append_var remote_addrs ","
-       config_list_foreach "$conf" local_sourceip append_var local_sourceip ","
+       config_list_foreach "$conf" vips append_var vips ","
        config_list_foreach "$conf" remote_ca_certs append_var remote_ca_certs ","
        config_list_foreach "$conf" pools append_var pools ","
 
@@ -538,7 +538,7 @@ config_remote() {
        swanctl_xappend1 "$conf {"
        [ -n "$local_addrs" ] && swanctl_xappend2 "local_addrs = $local_addrs"
        [ -n "$remote_addrs" ] && swanctl_xappend2 "remote_addrs = $remote_addrs"
-       [ -n "$local_sourceip" ] && swanctl_xappend2 "vips = $local_sourceip"
+       [ -n "$vips" ] && swanctl_xappend2 "vips = $vips"
        [ -n "$fragmentation" ] && swanctl_xappend2 "fragmentation = $fragmentation"
        [ -n "$pools" ] && swanctl_xappend2 "pools = $pools"
 
git clone https://git.99rst.org/PROJECT