MEDIUM: Make 'option forceclose' actually warn
It is deprecated since 315b39c3914f4c2301ce19a93564566caa2ede50 (1.9-dev),
but only was deprecated in the docs.
Make it warn when being used and remove it from the docs.
diff --git a/doc/configuration.txt b/doc/configuration.txt
index f120279..8aa9f2c 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -2342,7 +2342,6 @@
option contstats (*) X X X -
option dontlog-normal (*) X X X -
option dontlognull (*) X X X -
-option forceclose (deprecated) (*) X X X X
-- keyword -------------------------- defaults - frontend - listen -- backend -
option forwardfor X X X X
option http-buffer-request (*) X X X X
@@ -6047,13 +6046,6 @@
section 8 about logging.
-option forceclose (deprecated)
-no option forceclose (deprecated)
- This is an alias for "option httpclose". Thus this option is deprecated.
-
- See also : "option httpclose" and "option http-pretend-keepalive"
-
-
option forwardfor [ except <network> ] [ header <name> ] [ if-none ]
Enable insertion of the X-Forwarded-For header to requests sent to servers
May be used in sections : defaults | frontend | listen | backend
diff --git a/examples/haproxy.vim b/examples/haproxy.vim
index 728a1c5..c13b2c0 100644
--- a/examples/haproxy.vim
+++ b/examples/haproxy.vim
@@ -82,7 +82,7 @@
syn keyword hapLen contained len
syn keyword hapGLog contained global
syn keyword hapMode contained http tcp health
-syn keyword hapOption contained abortonclose allbackups checkcache clitcpka dontlognull forceclose forwardfor
+syn keyword hapOption contained abortonclose allbackups checkcache clitcpka dontlognull forwardfor
syn keyword hapOption contained httpchk httpclose httplog keepalive logasap persist srvtcpka ssl-hello-chk
syn keyword hapOption contained tcplog tcpka tcpsplice
syn keyword hapOption contained except skipwhite nextgroup=hapIPv4Mask
diff --git a/include/types/global.h b/include/types/global.h
index 2df0da9..091506f 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -251,6 +251,7 @@
#define WARN_CLITO_DEPRECATED 0x00000008
#define WARN_SRVTO_DEPRECATED 0x00000010
#define WARN_CONTO_DEPRECATED 0x00000020
+#define WARN_FORCECLOSE_DEPRECATED 0x00000040
/* to be used with warned and WARN_* */
static inline int already_warned(unsigned int warning)
diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c
index 7760d9c..9e2f44c 100644
--- a/src/cfgparse-listen.c
+++ b/src/cfgparse-listen.c
@@ -2160,6 +2160,12 @@
* sections).
*/
if (strcmp(args[1], "httpclose") == 0 || strcmp(args[1], "forceclose") == 0) {
+ if (strcmp(args[1], "forceclose") == 0) {
+ if (!already_warned(WARN_FORCECLOSE_DEPRECATED))
+ ha_warning("parsing [%s:%d]: keyword '%s' is deprecated in favor of 'httpclose', and will not be supported by future versions.\n",
+ file, linenum, args[1]);
+ err_code |= ERR_WARN;
+ }
if (alertif_too_many_args_idx(0, 1, file, linenum, args, &err_code))
goto out;
if (kwm == KWM_STD) {