diff options
author | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2025-04-08 22:36:07 +0200 |
---|---|---|
committer | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2025-04-08 22:36:07 +0200 |
commit | 8ca2d3486e2c0b3fde944a46086a625928814a79 (patch) | |
tree | 75c13cd226a9f7dc518854eda40f5dd01ba418dd /src/services | |
parent | ada2cac0324dd3fa668b9af58f119b8a64b4e9e1 (diff) | |
download | vyos-1x-8ca2d3486e2c0b3fde944a46086a625928814a79.tar.gz vyos-1x-8ca2d3486e2c0b3fde944a46086a625928814a79.zip |
firewall: T7333: Use separate cache keys per inet family
Cache keys were shared by IPv4/IPv6 resolution, causing script to try populate ipv6 sets with ipv4 addresses
Diffstat (limited to 'src/services')
-rwxr-xr-x | src/services/vyos-domain-resolver | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/services/vyos-domain-resolver b/src/services/vyos-domain-resolver index aba5ba9db..4419fc4a7 100755 --- a/src/services/vyos-domain-resolver +++ b/src/services/vyos-domain-resolver @@ -92,12 +92,14 @@ def resolve(domains, ipv6=False): for domain in domains: resolved = fqdn_resolve(domain, ipv6=ipv6) + cache_key = f'{domain}_ipv6' if ipv6 else domain + if resolved and cache: - domain_state[domain] = resolved + domain_state[cache_key] = resolved elif not resolved: - if domain not in domain_state: + if cache_key not in domain_state: continue - resolved = domain_state[domain] + resolved = domain_state[cache_key] ip_list = ip_list | resolved return ip_list |