From 606d681be34bd7f9f7081a887af74dd232f01617 Mon Sep 17 00:00:00 2001 From: David McKeone Date: Wed, 14 Jan 2026 09:52:33 -0700 Subject: [PATCH] Update pfsense_dns_resolver.py Add is_ipv6_address validation to dns_resolver hosts and domainoverrides Even though the documentation indicates that `['hosts']['ip']` `['domainoverrides']['ip']` allows for IPv6, the code validation does not. Simply permit both IPv4 and IPv6, as per the documentation: https://github.com/pfsensible/core/blob/master/plugins/modules/pfsense_dns_resolver.py#L123 https://github.com/pfsensible/core/blob/master/plugins/modules/pfsense_dns_resolver.py#L161 --- plugins/modules/pfsense_dns_resolver.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/modules/pfsense_dns_resolver.py b/plugins/modules/pfsense_dns_resolver.py index ff527c1c..1dcaf352 100644 --- a/plugins/modules/pfsense_dns_resolver.py +++ b/plugins/modules/pfsense_dns_resolver.py @@ -499,13 +499,13 @@ def _validate_params(self): for host in params["hosts"]: for ipaddr in host["ip"].split(","): - if not self.pfsense.is_ipv4_address(ipaddr): - self.module.fail_json(msg=f'ip, {ipaddr} is not a ipv4 address') + if not self.pfsense.is_ipv4_address(ipaddr) and not self.pfsense.is_ipv6_address(ipaddr): + self.module.fail_json(msg=f'ip, {ipaddr} is not a ipv4/ipv6 address') if params["domainoverrides"] is not None: for domain in params["domainoverrides"]: - if not self.pfsense.is_ipv4_address(domain["ip"]): - self.module.fail_json(msg=f'ip, {domain["ip"]} is not a ipv4 address') + if not self.pfsense.is_ipv4_address(domain["ip"]) and not self.pfsense.is_ipv6_address(domain["ip"]): + self.module.fail_json(msg=f'ip, {domain["ip"]} is not a ipv4/ipv6 address') ############################## # XML processing