MINOR: server: generalize the "updater" source

the function server_parse_addr_change_request() contain an hardcoded
updater source "stats command". this function can be called from other
sources than the "stats command", so this patch make this argument
generic.
This commit is contained in:
Thierry Fournier 2016-02-24 08:25:39 +01:00 committed by Willy Tarreau
parent d35b7a6d93
commit 09a9178311
3 changed files with 9 additions and 7 deletions

View File

@ -105,11 +105,12 @@ const char *server_parse_weight_change_request(struct server *sv,
const char *weight_str);
/*
* Parses addr_str and configures sv accordingly.
* Parses addr_str and configures sv accordingly. updater precise
* the source of the change in the associated message log.
* Returns NULL on success, error message string otherwise.
*/
const char *server_parse_addr_change_request(struct server *sv,
const char *addr_str);
const char *addr_str, const char *updater);
/*
* Return true if the server has a zero user-weight, meaning it's in draining

View File

@ -1600,7 +1600,7 @@ static int stats_sock_parse_request(struct stream_interface *si, char *line)
}
}
else if (strcmp(args[3], "addr") == 0) {
warning = server_parse_addr_change_request(sv, args[4]);
warning = server_parse_addr_change_request(sv, args[4], "stats command");
if (warning) {
appctx->ctx.cli.msg = warning;
appctx->st0 = STAT_CLI_PRINT;

View File

@ -808,22 +808,23 @@ const char *server_parse_weight_change_request(struct server *sv,
}
/*
* Parses <addr_str> and configures <sv> accordingly.
* Parses <addr_str> and configures <sv> accordingly. <from> precise
* the source of the change in the associated message log.
* Returns:
* - error string on error
* - NULL on success
*/
const char *server_parse_addr_change_request(struct server *sv,
const char *addr_str)
const char *addr_str, const char *updater)
{
unsigned char ip[INET6_ADDRSTRLEN];
if (inet_pton(AF_INET6, addr_str, ip)) {
update_server_addr(sv, ip, AF_INET6, "stats command");
update_server_addr(sv, ip, AF_INET6, updater);
return NULL;
}
if (inet_pton(AF_INET, addr_str, ip)) {
update_server_addr(sv, ip, AF_INET, "stats command");
update_server_addr(sv, ip, AF_INET, updater);
return NULL;
}