mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 15:47:01 +02:00
BUG/MINOR: mworker: section ignored in discovery after a post_section_parser
When a new section is discovered, the post_section_parser of the previous section is called. However in the new master-worker mode the discovery mode will skip the post_section_parser. But instead of trying to parse the current section keyword after that, it would skip completely the current line. This is a minor bug since there isn't a lot of section with post_section_parser, and not a lot of section to parse in discovery mode. But this could be reproduced like this: global expose-deprecated-directives resolvers res parse-resolv-conf program foo command sleep 10 program bar command sleep 10 Ths 'resolvers' section has a post_section_parser which will be ignored in discovery mode with the consequence of ignoring the first program section. This must be backported in 3.1.
This commit is contained in:
parent
731340afbd
commit
2c270a05f0
@ -2578,7 +2578,7 @@ int parse_cfg(const struct cfgfile *cfg)
|
||||
|
||||
/* don't call post_section_parser in MODE_DISCOVERY, except program section */
|
||||
if ((global.mode & MODE_DISCOVERY) && (strcmp(pcs->section_name, "program") != 0))
|
||||
continue;
|
||||
goto section_parser;
|
||||
|
||||
status = pcs->post_section_parser();
|
||||
err_code |= status;
|
||||
@ -2590,6 +2590,7 @@ int parse_cfg(const struct cfgfile *cfg)
|
||||
}
|
||||
pcs = NULL;
|
||||
|
||||
section_parser:
|
||||
if (!cs) {
|
||||
/* ignore unknown section names during the first read in MODE_DISCOVERY */
|
||||
if (global.mode & MODE_DISCOVERY)
|
||||
|
Loading…
Reference in New Issue
Block a user