From: Christopher Faulet Date: Fri, 12 Feb 2021 16:36:08 +0000 (+0100) Subject: BUG/MINOR: server: Remove RMAINT from admin state when loading server state X-Git-Tag: v2.4-dev9~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eaab7325a797e61d16a80b2969ab5f9cbd9679c5;p=thirdparty%2Fhaproxy.git BUG/MINOR: server: Remove RMAINT from admin state when loading server state The RMAINT admin state is dynamic and should be remove from the srv_admin_state parameter when a server state is loaded from a server-state file. Otherwise an erorr is reported, the server-state line is ignored and the server state is not updated. This patch should fix the issue #576. It must be backported as far as 1.8. --- diff --git a/src/server.c b/src/server.c index 36eceb58d3..da6ee52ad0 100644 --- a/src/server.c +++ b/src/server.c @@ -2677,7 +2677,7 @@ static void srv_update_state(struct server *srv, int version, char **params) /* inherited statuses will be recomputed later. * Also disable SRV_ADMF_HMAINT flag (set from stats socket fqdn). */ - srv_admin_state &= ~SRV_ADMF_IDRAIN & ~SRV_ADMF_IMAINT & ~SRV_ADMF_HMAINT; + srv_admin_state &= ~SRV_ADMF_IDRAIN & ~SRV_ADMF_IMAINT & ~SRV_ADMF_HMAINT & ~SRV_ADMF_RMAINT; if ((p == params[2]) || errno == EINVAL || errno == ERANGE || (srv_admin_state != 0 &&