diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDomainOverride.xml b/src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDomainOverride.xml index 9981898e0..407d5d945 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDomainOverride.xml +++ b/src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDomainOverride.xml @@ -1,4 +1,14 @@
+ + domainoverride.sequence + + text + Sort with a sequence number, e.g., for strict processing order when using the "strict-order" option. + + 6em + asc + + domainoverride.domain diff --git a/src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml b/src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml index 7ab53cf2f..7b9f918cb 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml @@ -1,6 +1,6 @@ /dnsmasq - 1.0.2 + 1.0.3 @@ -94,6 +94,13 @@ + + 1 + 99999 + 1 + Y + Please enter a value between 1 and 99999. + Y N diff --git a/src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf b/src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf index 2184a666a..d04c63b29 100644 --- a/src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf +++ b/src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf @@ -60,8 +60,9 @@ bind-interfaces bogus-priv {% endif %} -{% for override in helpers.toList('dnsmasq.domainoverrides') %} -server=/{{override.domain}}/{{override.ip}}{%if override.port %}#{{override.port}}{% endif %}{%if override.srcip %}@{{override.srcip}}{% endif %} +{# Domain Overrides can be sorted by sequence to support strict order #} +{% for override in helpers.toList('dnsmasq.domainoverrides', sortBy='sequence', sortAs='int') %} +server=/{{override.domain}}/{{override.ip}}{%if override.port %}#{{override.port}}{% endif %}{%if override.srcip %}@{{override.srcip}}{% endif +%} {% if helpers.exists('system.webgui.nodnsrebindcheck') %} rebind-domain-ok=/{{override.domain}}/ {% endif %}