mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-31 17:12:05 +00:00
BUG/MINOR: server: explicitly set "none" init-addr for dynamic servers
Define srv.init_addr_methods to SRV_IADDR_NONE on 'add server' CLI handler. This explicitly states that no resolution will be made on the server creation. This is not a real bug as the default value (SRV_IADDR_END) has the same effect in practice. However the intent is clearer and prevent to use the default "libc,last" by mistake which cannot execute on runtime (blocking call + file access via gethostbyname/getaddrinfo). The doc is also updated to reflect this limitation. This should be backported up to 2.4.
This commit is contained in:
parent
2a77c62c18
commit
efbf35caf9
@ -1466,6 +1466,10 @@ add server <backend>/<server> [args]*
|
||||
used to configure the server behavior. Also note that no settings will be
|
||||
reused from an hypothetical 'default-server' statement in the same backend.
|
||||
|
||||
Currently a dynamic server is statically initialized with the "none"
|
||||
init-addr method. This means that no resolution will be undertaken if a FQDN
|
||||
is specified as an address, even if the server creation will be validated.
|
||||
|
||||
Here is the list of the currently supported keywords :
|
||||
|
||||
- backup
|
||||
|
@ -4375,6 +4375,13 @@ static int cli_parse_add_server(char **args, char *payload, struct appctx *appct
|
||||
if (errcode)
|
||||
goto out;
|
||||
|
||||
/* A dynamic server does not currently support resolution.
|
||||
*
|
||||
* Initialize it explicitly to the "none" method to ensure no
|
||||
* resolution will ever be executed.
|
||||
*/
|
||||
srv->init_addr_methods = SRV_IADDR_NONE;
|
||||
|
||||
if (srv->mux_proto) {
|
||||
if (!conn_get_best_mux_entry(srv->mux_proto->token, PROTO_SIDE_BE, be->mode)) {
|
||||
ha_alert("MUX protocol is not usable for server.\n");
|
||||
|
Loading…
Reference in New Issue
Block a user