From: Frédéric Lécaille Date: Wed, 25 Apr 2018 13:32:18 +0000 (+0200) Subject: MINOR: cfgparse: Useless frontend initialization in "peers" sections. X-Git-Tag: v2.0-dev1~190 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4ba51988992e3e955041d561257c0db6a57a4a15;p=thirdparty%2Fhaproxy.git MINOR: cfgparse: Useless frontend initialization in "peers" sections. Use ->local "peers" struct member to flag a "peers" section frontend has being initialized. This is to be able to initialize the frontend of "peers" sections on lines different from "peer" lines. May be backported to 1.5 and newer. --- diff --git a/src/cfgparse.c b/src/cfgparse.c index 92073a214d..b7c85fa403 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -647,9 +647,16 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) /* We are done. */ goto out; + if (cfg_peers->local) { + ha_alert("parsing [%s:%d] : '%s %s' : local peer name already referenced at %s:%d.\n", + file, linenum, args[0], args[1], + curpeers->peers_fe->conf.file, curpeers->peers_fe->conf.line); + err_code |= ERR_FATAL; + goto out; + } + /* Current is local peer, it define a frontend */ newpeer->local = 1; - cfg_peers->local = newpeer; if (!curpeers->peers_fe) { if (init_peers_frontend(file, linenum, args[1], curpeers) != 0) { @@ -682,13 +689,7 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) l->options |= LI_O_UNLIMITED; /* don't make the peers subject to global limits */ global.maxsock += l->maxconn; } - } - else { - ha_alert("parsing [%s:%d] : '%s %s' : local peer name already referenced at %s:%d.\n", - file, linenum, args[0], args[1], - curpeers->peers_fe->conf.file, curpeers->peers_fe->conf.line); - err_code |= ERR_FATAL; - goto out; + cfg_peers->local = newpeer; } } /* neither "peer" nor "peers" */ else if (!strcmp(args[0], "disabled")) { /* disables this peers section */