]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
DOC: cfgparse: Warn on option (tcp|http)log in backend
authorTim Duesterhus <tim@bastelstu.be>
Mon, 5 Feb 2018 19:52:27 +0000 (20:52 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 19 Feb 2018 12:57:32 +0000 (13:57 +0100)
The option does not seem to have any effect since at least haproxy
1.3. Also the `log-format` directive already warns when being used
in a backend.

doc/configuration.txt
src/cfgparse.c

index 7cc5c13ceac6c592d3763767acb5badd19aa67ae..51a1493d802044c9284341f35e2232a2b8bb7221 100644 (file)
@@ -6071,7 +6071,7 @@ no option httpclose
 option httplog [ clf ]
   Enable logging of HTTP request, session state and timers
   May be used in sections :   defaults | frontend | listen | backend
-                                 yes   |    yes   |   yes  |   yes
+                                 yes   |    yes   |   yes  |   no
   Arguments :
     clf       if the "clf" argument is added, then the output format will be
               the CLF format instead of HAProxy's default HTTP format. You can
@@ -6087,8 +6087,6 @@ option httplog [ clf ]
   frontend, backend and server name, and of course the source address and
   ports.
 
-  This option may be set either in the frontend or the backend.
-
   Specifying only "option httplog" will automatically clear the 'clf' mode
   if it was set by default.
 
@@ -6938,7 +6936,7 @@ option tcpka
 option tcplog
   Enable advanced logging of TCP connections with session state and timers
   May be used in sections :   defaults | frontend | listen | backend
-                                 yes   |    yes   |   yes  |   yes
+                                 yes   |    yes   |   yes  |   no
   Arguments : none
 
   By default, the log output format is very poor, as it only contains the
@@ -6950,8 +6948,6 @@ option tcplog
   find which of the client or server disconnects or times out. For normal HTTP
   proxies, it's better to use "option httplog" which is even more complete.
 
-  This option may be set either in the frontend or the backend.
-
   "option tcplog" overrides any previous "log-format" directive.
 
   See also :  "option httplog", and section 8 about logging.
index 17b1dd03608c88b0d3057aa00b248a2dbc0159cc..40facd5da89caf1a9a2baf5ac516e578cc9c9c83 100644 (file)
@@ -4827,6 +4827,12 @@ stats_error_parsing:
                        free(curproxy->conf.lfs_file);
                        curproxy->conf.lfs_file = strdup(curproxy->conf.args.file);
                        curproxy->conf.lfs_line = curproxy->conf.args.line;
+
+                       if (curproxy != &defproxy && !(curproxy->cap & PR_CAP_FE)) {
+                               ha_warning("parsing [%s:%d] : backend '%s' : 'option httplog' directive is ignored in backends.\n",
+                                       file, linenum, curproxy->id);
+                               err_code |= ERR_WARN;
+                       }
                }
                else if (!strcmp(args[1], "tcplog")) {
                        if (curproxy->conf.logformat_string && curproxy == &defproxy) {
@@ -4854,6 +4860,12 @@ stats_error_parsing:
 
                        if (alertif_too_many_args_idx(0, 1, file, linenum, args, &err_code))
                                goto out;
+
+                       if (curproxy != &defproxy && !(curproxy->cap & PR_CAP_FE)) {
+                               ha_warning("parsing [%s:%d] : backend '%s' : 'option tcplog' directive is ignored in backends.\n",
+                                       file, linenum, curproxy->id);
+                               err_code |= ERR_WARN;
+                       }
                }
                else if (!strcmp(args[1], "tcpka")) {
                        /* enable TCP keep-alives on client and server streams */