diff options
author | Christian Breunig <christian@breunig.cc> | 2024-07-03 16:32:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-03 16:32:24 +0200 |
commit | d6a332a1f3218ef589e1c724dd4d728e03798925 (patch) | |
tree | 5f89454fb93a2dcc859b3a5fbdecc7ed272d6e8a /src | |
parent | d0bc944526c0c3905fb8bdcf602538465e7d27de (diff) | |
parent | 66ec278393dbabe71f320c543816f27797d51140 (diff) | |
download | vyos-1x-d6a332a1f3218ef589e1c724dd4d728e03798925.tar.gz vyos-1x-d6a332a1f3218ef589e1c724dd4d728e03798925.zip |
Merge pull request #3749 from nicolas-fort/T6536-wildcard
T6536: nat: add migration script that replaces wildcard charater
Diffstat (limited to 'src')
-rw-r--r-- | src/migration-scripts/firewall/7-to-8 | 8 | ||||
-rw-r--r-- | src/migration-scripts/nat/6-to-7 | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/migration-scripts/firewall/7-to-8 b/src/migration-scripts/firewall/7-to-8 index f46994ce2..b8bcc52cc 100644 --- a/src/migration-scripts/firewall/7-to-8 +++ b/src/migration-scripts/firewall/7-to-8 @@ -71,5 +71,11 @@ def migrate(config: ConfigTree) -> None: config.set_tag(['firewall', 'zone']) for zone in config.list_nodes(zone_base + ['zone']): + if 'interface' in config.list_nodes(zone_base + ['zone', zone]): + for iface in config.return_values(zone_base + ['zone', zone, 'interface']): + if '+' in iface: + config.delete_value(zone_base + ['zone', zone, 'interface'], value=iface) + iface = iface.replace('+', '*') + config.set(zone_base + ['zone', zone, 'interface'], value=iface, replace=False) config.copy(zone_base + ['zone', zone], ['firewall', 'zone', zone]) - config.delete(zone_base) + config.delete(zone_base)
\ No newline at end of file diff --git a/src/migration-scripts/nat/6-to-7 b/src/migration-scripts/nat/6-to-7 index 81b413e36..e9b90fc98 100644 --- a/src/migration-scripts/nat/6-to-7 +++ b/src/migration-scripts/nat/6-to-7 @@ -47,6 +47,8 @@ def migrate(config: ConfigTree) -> None: tmp = config.return_value(base + [iface, 'interface-name']) if tmp != 'any': config.delete(base + [iface, 'interface-name']) + if '+' in tmp: + tmp = tmp.replace('+', '*') config.set(base + [iface, 'name'], value=tmp) else: config.delete(base + [iface]) |