mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
Since traces were adapted to support being declared in the global section in 2.7 with commit c11f1cdf4 ("MINOR: trace: split the CLI "trace" parser in CLI vs statement"), the method used to return the error message was unreliable. For example an invalid sink name in the global section would produce: [ALERT] (26685) : config : parsing [test-trace.cfg:51] : 'trace': No such sink [ALERT] (26685) : config : parsing [test-trace.cfg:51] : (null) [ALERT] (26685) : config : Error(s) found in configuration file : test-trace.cfg [ALERT] (26685) : config : Fatal errors found in configuration. The reason is that the trace is emitted manually using ha_error() in cfg_parse_trace() and -1 is returned without setting the message, and the caller also prints the empty message. That's quite awkward given that the API originally comes from the CLI which does support dynamic strings and that config keywords do as well. This commit modifies both cli_parse_trace() and cfg_parse_trace() to return a dynamically allocated message instead, and adapts the central function trace_parse_statement() to do the same, replacing a few direct assignments with strdup() or memprintf(). This way the alert is no longer emitted by the parser function, it just passes the message to the caller. A few of the static messages switching to memprintf() also took this opportunity to report the faulty word: [ALERT] (26772) : config : parsing [test-trace.cfg:51] : No such trace sink 'stduot' [ALERT] (26772) : config : Error(s) found in configuration file : test-trace.cfg [ALERT] (26772) : config : Fatal errors found in configuration. This may be backported to 2.8 and 2.7.
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)
Description
Languages
C
98.1%
Shell
0.8%
Makefile
0.5%
Lua
0.2%
Python
0.2%