mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-23 14:16:53 +00:00
BUG/MINOR: dns: check for duplicate nameserver id in a resolvers section was missing
Current resolvers section parsing function is permissive on nameserver id and two nameservers may have the same id. It's a shame, since we don't know for example, whose statistics belong to which nameserver... From now, configuration with duplicated nameserver id in a resolvers section are considered as broken and returns a fatal error when parsing.
This commit is contained in:
parent
5ac425ca48
commit
a315c5534e
@ -2262,6 +2262,15 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
|
||||
goto out;
|
||||
}
|
||||
|
||||
list_for_each_entry(newnameserver, &curr_resolvers->nameserver_list, list) {
|
||||
/* Error if two resolvers owns the same name */
|
||||
if (strcmp(newnameserver->id, args[1]) == 0) {
|
||||
Alert("Parsing [%s:%d]: nameserver '%s' has same name as another nameserver (declared at %s:%d).\n",
|
||||
file, linenum, args[1], curr_resolvers->conf.file, curr_resolvers->conf.line);
|
||||
err_code |= ERR_ALERT | ERR_FATAL;
|
||||
}
|
||||
}
|
||||
|
||||
if ((newnameserver = (struct dns_nameserver *)calloc(1, sizeof(struct dns_nameserver))) == NULL) {
|
||||
Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
|
Loading…
Reference in New Issue
Block a user