diff --git a/net/haproxy/pkg-descr b/net/haproxy/pkg-descr
index b3867d3e2..1675d938b 100644
--- a/net/haproxy/pkg-descr
+++ b/net/haproxy/pkg-descr
@@ -7,12 +7,15 @@ Plugin Changelog
================
Changed:
-* update URLs to HAProxy 2.6 documentation
+* rename frontend option "Type" to "Connection Mode" (#3026)
+* update URLs to HAProxy 2.6 documentation (#3026)
+* migrate options "http-tunnel" and "forceclose" to "http-keep-alive" (#3026)
Removed:
-* remove Processes/nbproc option (use Threads/nbthread instead)
-* remove "Process ID" from CPU Affinity settings (now always 1)
-* remove "bind-process" option (replaced by the "process" bind keyword)
+* remove Processes/nbproc option (use Threads/nbthread instead) (#3026)
+* remove "Process ID" from CPU Affinity settings (now always 1) (#3026)
+* remove "bind-process" option (replaced by the "process" bind keyword) (#3026)
+* remove options "http-tunnel" and "forceclose" from "Connection Mode" (#3026)
3.12
diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml
index 98475acd0..9d776f2ff 100644
--- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml
+++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml
@@ -225,6 +225,13 @@
true
+
+ frontend.connectionBehaviour
+
+ dropdown
+ keep-alive mode with regards to persistent connections. Option "httpclose" configures HAProxy to close connections with the server and the client as soon as the request and the response are received. It will also check if a "Connection: close" header is already set in each direction, and will add one if missing. Option "http-server-close" enables HTTP connection-close mode on the server side while keeping the ability to support HTTP keep-alive and pipelining on the client side.]]>
+ true
+ header
@@ -426,13 +433,6 @@
header
-
- frontend.connectionBehaviour
-
- dropdown
- keep-alive mode with regards to persistent connections. Option "http-tunnel" disables any HTTP processing past the first request and the first response. Option "httpclose" configures HAProxy to work in HTTP tunnel mode and check if a "Connection: close" header is already set in each direction, and will add one if missing. Option "http-server-close" enables HTTP connection-close mode on the server side while keeping the ability to support HTTP keep-alive and pipelining on the client side. With Option "forceclose" HAProxy will actively close the outgoing server channel as soon as the server has finished to respond and release some resources earlier.]]>
- true
- frontend.customOptions
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 a4920acc2..5a465b296 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
@@ -1,6 +1,6 @@
//OPNsense/HAProxy
- 3.8.0
+ 4.0.0the HAProxy load balancer
@@ -803,10 +803,8 @@
http-keep-alivehttp-keep-alive [default]
- http-tunnelhttpclosehttp-server-close
- forceclose
diff --git a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/Migrations/M4_0_0.php b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/Migrations/M4_0_0.php
new file mode 100644
index 000000000..c13544da5
--- /dev/null
+++ b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/Migrations/M4_0_0.php
@@ -0,0 +1,50 @@
+getNodeByReference('frontends.frontend')->iterateItems() as $frontend) {
+ switch ((string)$frontend->connectionBehaviour) {
+ case 'http-tunnel':
+ $frontend->connectionBehaviour = 'http-keep-alive';
+ break;
+ case 'forceclose':
+ $frontend->connectionBehaviour = 'http-keep-alive';
+ break;
+ }
+ }
+ }
+}