diff --git a/src/opnsense/mvc/app/models/OPNsense/Unbound/FieldTypes/UnboundDomainField.php b/src/opnsense/mvc/app/models/OPNsense/Unbound/FieldTypes/UnboundDomainField.php new file mode 100755 index 000000000..329f21ac3 --- /dev/null +++ b/src/opnsense/mvc/app/models/OPNsense/Unbound/FieldTypes/UnboundDomainField.php @@ -0,0 +1,72 @@ +internalValue != null) { + $validators[] = new CallbackValidator([ + "callback" => function($data) { + if (substr($data, 0, 6) == '_msdcs') { + $subdomain = substr($data, 7); + if (substr($data, 6, 1) != '.' || !Util::isDomain($subdomain)) { + return [gettext("A valid domain must be specified after '_msdcs', prefixed with a dot")]; + } + } elseif (!Util::isDomain($data)) { + return [gettext("A valid domain must be specified")]; + } + return []; + } + ]); + } + + return $validators; + } +} diff --git a/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml b/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml index 1cf57ff90..6223507b2 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml @@ -226,9 +226,8 @@ 1 Y - + Y - /^(?:(?:[a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])\.)*(?:[a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])$/i A valid domain must be specified.