|
146 | 146 | domainoverrides:
|
147 | 147 | description: Domains for which the resolver's standard DNS lookup should be overridden.
|
148 | 148 | required: false
|
| 149 | + default: [] |
149 | 150 | type: list
|
150 | 151 | elements: dict
|
151 | 152 | suboptions:
|
|
348 | 349 | regovpnclients=dict(default=False, type='bool'),
|
349 | 350 | custom_options=dict(default="", type='str'),
|
350 | 351 | hosts=dict(default=[], type='list', elements='dict', options=DNS_RESOLVER_HOST_SPEC),
|
351 |
| - domainoverrides=dict(type='list', elements='dict', options=DNS_RESOLVER_DOMAIN_OVERRIDE_SPEC), |
| 352 | + domainoverrides=dict(default=[], type='list', elements='dict', options=DNS_RESOLVER_DOMAIN_OVERRIDE_SPEC), |
352 | 353 | # Advanced Settings
|
353 | 354 | hideidentity=dict(default=True, type='bool'),
|
354 | 355 | hideversion=dict(default=True, type='bool'),
|
@@ -477,8 +478,13 @@ def _validate_params(self):
|
477 | 478 | self.module.fail_json(msg=f'sslcert, {params["sslcert"]} is not a valid description of cert')
|
478 | 479 |
|
479 | 480 | for host in params["hosts"]:
|
480 |
| - if not self.pfsense.is_ipv4_address(host["ip"]): |
481 |
| - self.module.fail_json(msg=f'ip, {host["ip"]} is not a ipv4 address') |
| 481 | + for ipaddr in host["ip"].split(","): |
| 482 | + if not self.pfsense.is_ipv4_address(ipaddr): |
| 483 | + self.module.fail_json(msg=f'ip, {ipaddr} is not a ipv4 address') |
| 484 | + |
| 485 | + for domain in params["domainoverrides"]: |
| 486 | + if not self.pfsense.is_ipv4_address(domain["ip"]): |
| 487 | + self.module.fail_json(msg=f'ip, {domain["ip"]} is not a ipv4 address') |
482 | 488 |
|
483 | 489 | for if_descr in params["active_interface"] + params["outgoing_interface"]:
|
484 | 490 | if not self.pfsense.is_interface_display_name(if_descr) and if_descr.lower() != "all":
|
|
0 commit comments