diff --git a/net/haproxy/pkg-descr b/net/haproxy/pkg-descr
index eacea0b89..bf40d39e7 100644
--- a/net/haproxy/pkg-descr
+++ b/net/haproxy/pkg-descr
@@ -11,6 +11,9 @@ Plugin Changelog
WARNING: This release switches to the HAProxy 2.4 release series,
which may result in incompatible changes for some users.
+Added:
+* add support for DNS resolution over TCP (#2644)
+
Changed:
* upgrade to HAProxy 2.4 release series (#2644)
* disable strict-limits for safekeeping (#2644)
diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogResolver.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogResolver.xml
index a769aead4..73ca63cdc 100644
--- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogResolver.xml
+++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogResolver.xml
@@ -24,7 +24,7 @@
truetrue
-
+ Enter ip:port here. Finish with TAB.
@@ -55,7 +55,7 @@
resolver.accepted_payload_sizetext
-
+ true
diff --git a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml
index 9ef6f6748..efa38510d 100644
--- a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml
+++ b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml
@@ -2796,9 +2796,9 @@
NYY
- /^((([0-9a-zA-Z._\-\*:\[\]]+:[0-9]+(-[0-9]+)?)([,]){0,1}))*/u
+ /^((((udp@|tcp@)?[0-9a-zA-Z._\-\*:\[\]]+:[0-9]+(-[0-9]+)?)([,]){0,1}))*/ulower
- Please provide a valid nameserver address, i.e. 127.0.0.1:53, [::1]:53 or 192.168.1.1:53.
+ Please provide a valid nameserver address, i.e. 127.0.0.1:53, [::1]:53 or tcp@192.168.1.1:53.0
@@ -2825,8 +2825,8 @@
0
- 8192
- Should be a number between 0 and 8192
+ 65535
+ Should be a number between 0 and 65535N
diff --git a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
index 0c8c1ab2e..34862fb13 100644
--- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
+++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
@@ -1174,7 +1174,8 @@ userlist stats_auth
resolvers {{resolver.id}}
{% if resolver.nameservers|default("") != "" %}
{% for nameserver in resolver.nameservers.split(",") %}
- nameserver {{nameserver}} {{nameserver}}
+{# # special characters are not supported in server names #}
+ nameserver {{nameserver|replace('@', '_')}} {{nameserver}}
{% endfor %}
{% endif %}
{% if resolver.parse_resolv_conf|default("") == "1" %}