mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-15 21:59:41 -04:00
CLEANUP: server: do not check for duplicates anymore in findserver()
findserver() used to check for duplicate server names. These are no longer accepted in 3.3 so let's get rid of that test and simplify the code. Note that the function still only uses the list instead of the tree.
This commit is contained in:
parent
d4d72e2303
commit
732cd0dfa2
1 changed files with 8 additions and 19 deletions
27
src/proxy.c
27
src/proxy.c
|
|
@ -1378,34 +1378,23 @@ struct proxy *proxy_find_best_match(int cap, const char *name, int id, int *diff
|
|||
}
|
||||
|
||||
/*
|
||||
* This function finds a server with matching name within selected proxy.
|
||||
* It also checks if there are more matching servers with
|
||||
* requested name as this often leads into unexpected situations.
|
||||
* This function returns the server with a matching name within selected proxy,
|
||||
* or NULL if not found.
|
||||
*/
|
||||
|
||||
struct server *findserver(const struct proxy *px, const char *name) {
|
||||
|
||||
struct server *cursrv, *target = NULL;
|
||||
struct server *findserver(const struct proxy *px, const char *name)
|
||||
{
|
||||
struct server *cursrv;
|
||||
|
||||
if (!px)
|
||||
return NULL;
|
||||
|
||||
for (cursrv = px->srv; cursrv; cursrv = cursrv->next) {
|
||||
if (strcmp(cursrv->id, name) != 0)
|
||||
continue;
|
||||
|
||||
if (!target) {
|
||||
target = cursrv;
|
||||
continue;
|
||||
}
|
||||
|
||||
ha_alert("Refusing to use duplicated server '%s' found in proxy: %s!\n",
|
||||
name, px->id);
|
||||
|
||||
return NULL;
|
||||
if (strcmp(cursrv->id, name) == 0)
|
||||
return cursrv;
|
||||
}
|
||||
|
||||
return target;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* This function checks that the designated proxy has no http directives
|
||||
|
|
|
|||
Loading…
Reference in a new issue