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.
---
 doc/configuration.txt  | 8 --------
 examples/haproxy.vim   | 2 +-
 include/types/global.h | 1 +
 src/cfgparse-listen.c  | 6 ++++++
 4 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/doc/configuration.txt b/doc/configuration.txt
index 6920f129c..85309bcc9 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -2339,7 +2339,6 @@ option clitcpka                      (*)  X          X    
     X         -
 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
@@ -5943,13 +5942,6 @@ no option dontlognull
              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 502bbfee3..48fd78c63 100644
--- a/examples/haproxy.vim
+++ b/examples/haproxy.vim
@@ -82,7 +82,7 @@ syn keyword hapBalance   contained roundrobin source
 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 de2516814..cc691a408 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -251,6 +251,7 @@ __decl_hathreads(extern pthread_t *threads);
 /* unassigned : 0x00000008 (previously: WARN_CLITO_DEPRECATED) */
 /* unassigned : 0x00000010 (previously: WARN_SRVTO_DEPRECATED) */
 /* unassigned : 0x00000020 (previously: WARN_CONTO_DEPRECATED) */
+#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 b29484478..cae345de9 100644
--- a/src/cfgparse-listen.c
+++ b/src/cfgparse-listen.c
@@ -2138,6 +2138,12 @@ stats_error_parsing:
                 * 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) {
-- 
2.21.0


Reply via email to