summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-10-11 20:57:18 +0200
committerGitHub <noreply@github.com>2026-10-11 20:57:18 +0200
commit1bd02305554643b698e254fcc725487b0d66b20f (patch)
tree35cff475812bd035abd45aafa612f46311f8445e /python
parenta3a16c61445e4f53cab9093b26cc7022181fd0b6 (diff)
parenta9bd2b76ea4ca248d50cc2648b6ab8b19ce5dbf0 (diff)
downloadvyos-1x-1bd02305554643b698e254fcc725487b0d66b20f.tar.gz
vyos-1x-1bd02305554643b698e254fcc725487b0d66b20f.zip
Merge pull request #5487 from ar0311/fix/T9332-geoip-src-dst-set-collision
firewall: T9332: fix GeoIP source/destination nftables set name colli…
Diffstat (limited to 'python')
-rwxr-xr-xpython/vyos/firewall.py2
-rw-r--r--python/vyos/geoip.py8
2 files changed, 5 insertions, 5 deletions
diff --git a/python/vyos/firewall.py b/python/vyos/firewall.py
index f68c317f9..08f978f39 100755
--- a/python/vyos/firewall.py
+++ b/python/vyos/firewall.py
@@ -259,7 +259,7 @@ def parse_rule(rule_conf, hook, fw_name, rule_id, ip_name):
# for policy
if hook == 'route' or hook == 'route6':
hook_name = hook
- output.append(f'{ip_name} {prefix}addr {operator} @GEOIP_{geoip_prefix}{def_suffix}_{hook_name}_{fw_name}_{rule_id}')
+ output.append(f'{ip_name} {prefix}addr {operator} @GEOIP_{geoip_prefix}{def_suffix}_{hook_name}_{fw_name}_{rule_id}_{prefix}')
if 'mac_address' in side_conf:
suffix = side_conf['mac_address']
diff --git a/python/vyos/geoip.py b/python/vyos/geoip.py
index 70c74b04f..eb81f4ce8 100644
--- a/python/vyos/geoip.py
+++ b/python/vyos/geoip.py
@@ -266,13 +266,13 @@ def geoip_update(firewall=None, policy=None):
version = 6 if path[0] == 'ipv6' else 4
vprefix = '6' if version == 6 else ''
- set_name = f'GEOIP_CC{vprefix}_{path[1]}_{path[2]}_{path[4]}'
+ set_name = f'GEOIP_CC{vprefix}_{path[1]}_{path[2]}_{path[4]}_{path[5][0]}'
firewall_sets[f'v{version}'][set_name] = db_return_cc_ranges(codes, version)
for asns, path in dict_search_recursive(firewall, 'asn'):
version = 6 if path[0] == 'ipv6' else 4
vprefix = '6' if version == 6 else ''
- set_name = f'GEOIP_ASN{vprefix}_{path[1]}_{path[2]}_{path[4]}'
+ set_name = f'GEOIP_ASN{vprefix}_{path[1]}_{path[2]}_{path[4]}_{path[5][0]}'
firewall_sets[f'v{version}'][set_name] = db_return_asn_ranges(asns, version)
if policy:
@@ -282,13 +282,13 @@ def geoip_update(firewall=None, policy=None):
version = 6 if path[0] == 'route6' else 4
vprefix = '6' if version == 6 else ''
- set_name = f'GEOIP_CC{vprefix}_{path[0]}_{path[1]}_{path[3]}'
+ set_name = f'GEOIP_CC{vprefix}_{path[0]}_{path[1]}_{path[3]}_{path[4][0]}'
policy_sets[f'v{version}'][set_name] = db_return_cc_ranges(codes, version)
for asns, path in dict_search_recursive(policy, 'asn'):
version = 6 if path[0] == 'route6' else 4
vprefix = '6' if version == 6 else ''
- set_name = f'GEOIP_ASN{vprefix}_{path[0]}_{path[1]}_{path[3]}'
+ set_name = f'GEOIP_ASN{vprefix}_{path[0]}_{path[1]}_{path[3]}_{path[4][0]}'
policy_sets[f'v{version}'][set_name] = db_return_asn_ranges(asns, version)
render(