Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ pfSensible.Core Release Notes

.. contents:: Topics

v0.7.2
======

Minor Changes
-------------

- pfsense_dns_resolver - Add ability to set Strict Outgoing Network Interface Binding (https://github.com/pfsensible/core/issues/254).

v0.7.1
======

Expand Down
14 changes: 12 additions & 2 deletions plugins/modules/pfsense_dns_resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@
default: [ "all" ]
type: list
elements: str
strictout:
description:
Comment thread
opoplawski marked this conversation as resolved.
Outdated
- Strict Outgoing Network Interface Binding.
- Do not send recursive queries if none of the Outgoing Network Interfaces are available.
required: false
default: false
type: bool
Comment thread
opoplawski marked this conversation as resolved.
version_added: 0.7.2
system_domain_local_zone_type:
description: The local-zone type used for the pfSense system domain.
required: false
Expand Down Expand Up @@ -338,7 +346,7 @@
tlsport=dict(default=None, type='int'),
active_interface=dict(default=["all"], type='list', elements='str'),
outgoing_interface=dict(default=["all"], type='list', elements='str'),
# TODO: Strict Outgoing Network interface Binding: check box option
strictout=dict(default=False, type='bool'),
Comment thread
mart1n-anders marked this conversation as resolved.
Outdated
system_domain_local_zone_type=dict(default='transparent', choices=['deny', 'refuse', 'static', 'transparent', 'typetransparent', 'redirect', 'inform',
'inform_deny', 'nodefault']),
dnssec=dict(default=True, type='bool'),
Expand Down Expand Up @@ -455,6 +463,7 @@ def _params_to_obj(self):
self._get_ansible_param_bool(obj, "forward_tls_upstream", value="")
self._get_ansible_param_bool(obj, "prefetch", value="")
self._get_ansible_param_bool(obj, "prefetchkey", value="")
self._get_ansible_param_bool(obj, "strictout", value="")
self._get_ansible_param(obj, "msgcachesize")
self._get_ansible_param(obj, "outgoing_num_tcp")
self._get_ansible_param(obj, "incoming_num_tcp")
Expand Down Expand Up @@ -524,7 +533,7 @@ def _get_params_to_remove(self):
return ["enable"]
else:
return ["hideidentity", "hideversion", "dnssecstripped", "forwarding", "regdhcp", "regdhcpstatic", "regovpnclients", "enablessl", "dnssec",
"forward_tls_upstream", "prefetch", "prefetchkey"]
"forward_tls_upstream", "prefetch", "prefetchkey", "strictout"]

##############################
# run
Expand Down Expand Up @@ -564,6 +573,7 @@ def _log_fields(self, before=None):
values += self.format_updated_cli_field(self.obj, before, 'tlsport', fvalue=self.fvalue_bool, add_comma=(values), log_none=False)
values += self.format_updated_cli_field(self.obj, before, 'sslcertref', fvalue=self.fvalue_bool, add_comma=(values), log_none=False)
values += self.format_updated_cli_field(self.obj, before, 'forwarding', fvalue=self.fvalue_bool, add_comma=(values), log_none=False)
values += self.format_updated_cli_field(self.obj, before, 'strictout', fvalue=self.fvalue_bool, add_comma=(values), log_none=False)
values += self.format_updated_cli_field(self.obj, before, 'system_domain_local_zone_type', add_comma=(values), log_none=False)
values += self.format_updated_cli_field(self.obj, before, 'regdhcp', fvalue=self.fvalue_bool, add_comma=(values), log_none=False)
values += self.format_updated_cli_field(self.obj, before, 'regdhcpstatic', fvalue=self.fvalue_bool, add_comma=(values), log_none=False)
Expand Down
1 change: 1 addition & 0 deletions tests/unit/plugins/modules/test_pfsense_dns_resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ def check_target_elt(self, obj, target_elt, target_idx=-1):
# self.check_param_equal(obj, target_elt, 'active_interface')
# self.check_param_equal(obj, target_elt, 'outgoing_interface')
# self.check_param_equal(obj, target_elt, 'system_domain_local_zone_type')
self.check_param_bool(obj, target_elt, 'strictout', default=False)
self.check_param_bool(obj, target_elt, 'dnssec', default=True)
self.check_param_bool(obj, target_elt, 'forwarding')
self.check_param_bool(obj, target_elt, 'forward_tls_upstream')
Expand Down
Loading