diff --git a/src/etc/inc/plugins.inc.d/openvpn.inc b/src/etc/inc/plugins.inc.d/openvpn.inc
index d38a1850a5..5e1e15ebf0 100644
--- a/src/etc/inc/plugins.inc.d/openvpn.inc
+++ b/src/etc/inc/plugins.inc.d/openvpn.inc
@@ -365,7 +365,9 @@ function openvpn_validate_cidr($value, $name, $multiple = false, $ipproto = 'ipv
function openvpn_add_dhcpopts(&$settings, &$conf)
{
if (!empty($settings['dns_domain'])) {
- $conf .= "push \"dhcp-option DOMAIN {$settings['dns_domain']}\"\n";
+ foreach (explode(",", $settings['dns_domain']) as $domain) {
+ $conf .= "push \"dhcp-option DOMAIN {$domain}\"\n";
+ }
}
if (!empty($settings['dns_domain_search'])) {
foreach (explode(",", $settings['dns_domain_search']) as $domain) {
diff --git a/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogCSO.xml b/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogCSO.xml
index 51225ab5be..8501a86458 100644
--- a/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogCSO.xml
+++ b/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogCSO.xml
@@ -150,9 +150,11 @@
cso.dns_domain
-
- text
- Set Connection-specific DNS Suffix.
+
+ select_multiple
+
+ true
+ Set Connection-specific DNS Suffixes.
false
diff --git a/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogInstance.xml b/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogInstance.xml
index 1a1b7bb2d2..e158916921 100644
--- a/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogInstance.xml
+++ b/src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogInstance.xml
@@ -598,10 +598,11 @@ Set to 0 to disable, remember to change your client as well.
instance.dns_domain
-
- text
-
- Set Connection-specific DNS Suffix.
+
+ select_multiple
+
+ true
+ Set Connection-specific DNS Suffixes.
false
diff --git a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.php b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.php
index 85f680edc9..8ec7c01cf3 100644
--- a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.php
+++ b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.php
@@ -664,7 +664,9 @@ class OpenVPN extends BaseModel
$options['push'][] = "\"register-dns\"";
}
if (!$node->dns_domain->isEmpty()) {
- $options['push'][] = "\"dhcp-option DOMAIN {$node->dns_domain}\"";
+ foreach (explode(',', (string)$node->dns_domain) as $opt) {
+ $options['push'][] = "\"dhcp-option DOMAIN {$opt}\"";
+ }
}
if (!$node->dns_domain_search->isEmpty()) {
foreach (explode(',', (string)$node->dns_domain_search) as $opt) {
diff --git a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
index 7c67c8f410..e715e74dc0 100644
--- a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
@@ -57,7 +57,9 @@
0
Y
-
+
+ Y
+
Y
@@ -350,7 +352,9 @@
0
Y
-
+
+ Y
+
Y