From: Frédéric Lécaille <flecai...@haproxy.com> May help the series of patches to be reviewed.
May be backported to 1.5 and newer. --- src/cfgparse.c | 72 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index 6670a861..04e36e8c 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -648,49 +648,49 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) /* We are done. */ 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) { - ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum); - err_code |= ERR_ALERT | ERR_ABORT; - goto out; - } + /* Current is local peer, it define a frontend */ + newpeer->local = 1; + cfg_peers->local = newpeer; - bind_conf = bind_conf_alloc(curpeers->peers_fe, file, linenum, args[2], xprt_get(XPRT_RAW)); + if (!curpeers->peers_fe) { + if (init_peers_frontend(file, linenum, args[1], curpeers) != 0) { + ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum); + err_code |= ERR_ALERT | ERR_ABORT; + goto out; + } - if (!str2listener(args[2], curpeers->peers_fe, bind_conf, file, linenum, &errmsg)) { - if (errmsg && *errmsg) { - indent_msg(&errmsg, 2); - ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg); - } - else - ha_alert("parsing [%s:%d] : '%s %s' : error encountered while parsing listening address %s.\n", - file, linenum, args[0], args[1], args[2]); - err_code |= ERR_FATAL; - goto out; - } + bind_conf = bind_conf_alloc(curpeers->peers_fe, file, linenum, args[2], xprt_get(XPRT_RAW)); - list_for_each_entry(l, &bind_conf->listeners, by_bind) { - l->maxaccept = 1; - l->maxconn = curpeers->peers_fe->maxconn; - l->backlog = curpeers->peers_fe->backlog; - l->accept = session_accept_fd; - l->analysers |= curpeers->peers_fe->fe_req_ana; - l->default_target = curpeers->peers_fe->default_target; - l->options |= LI_O_UNLIMITED; /* don't make the peers subject to global limits */ - global.maxsock += l->maxconn; + if (!str2listener(args[2], curpeers->peers_fe, bind_conf, file, linenum, &errmsg)) { + if (errmsg && *errmsg) { + indent_msg(&errmsg, 2); + ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg); } - } - 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); + else + ha_alert("parsing [%s:%d] : '%s %s' : error encountered while parsing listening address %s.\n", + file, linenum, args[0], args[1], args[2]); err_code |= ERR_FATAL; goto out; } + + list_for_each_entry(l, &bind_conf->listeners, by_bind) { + l->maxaccept = 1; + l->maxconn = curpeers->peers_fe->maxconn; + l->backlog = curpeers->peers_fe->backlog; + l->accept = session_accept_fd; + l->analysers |= curpeers->peers_fe->fe_req_ana; + l->default_target = curpeers->peers_fe->default_target; + 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; + } } /* neither "peer" nor "peers" */ else if (!strcmp(args[0], "disabled")) { /* disables this peers section */ curpeers->state = PR_STSTOPPED; -- 2.11.0