From 313eeae7dbcafac37ea6710c92de79c992c17d4c Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Wed, 12 Feb 2025 12:31:11 +0100 Subject: [PATCH] BUG/MINOR: mworker: post_section_parser for the last section in discovery Previous patch 2c270a05f ("BUG/MINOR: mworker: section ignored in discovery after a post_section_parser") needs an adjustment for the last section of the file. Indeed the post_section_parser of the last section must not be called in discovery mode. Must be backported in 3.1. --- src/cfgparse.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index 9b9718258..cbd006bb7 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -2623,8 +2623,13 @@ int parse_cfg(const struct cfgfile *cfg) } ha_free(&global.cfg_curr_section); - if (cs && cs->post_section_parser) - err_code |= cs->post_section_parser(); + + /* call post_section_parser of the last section when there is no more lines */ + if (cs && cs->post_section_parser) { + /* don't call post_section_parser in MODE_DISCOVERY */ + if (!(global.mode & MODE_DISCOVERY)) + err_code |= cs->post_section_parser(); + } if (nested_cond_lvl) { ha_alert("parsing [%s:%d]: non-terminated '.if' block.\n", file, linenum);