mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
BUG/MINOR: server: fix persistence cookie for dynamic servers
When adding a server dynamically, we observe that when a backend has a dynamic persistence cookie, the new server has no cookie as we receive the following HTTP header: set-cookie: test-cookie=; Expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/ Whereas we were expecting to receive something like the following, which is what we receive for a server added in the config file: set-cookie: test-cookie=abcdef1234567890; path=/ After investigating code path, srv_set_dyncookie() is never called when adding a server through CLI, it is only called when parsing config file or using "set server bkd1/srv1 addr". To fix this, call srv_set_dyncookie() inside cli_parse_add_server(). This patch must be backported up to 2.4.
This commit is contained in:
parent
250c19032f
commit
9a0e0d3a19
@ -5732,6 +5732,11 @@ static int cli_parse_add_server(char **args, char *payload, struct appctx *appct
|
||||
*/
|
||||
srv->rid = (srv_id_reuse_cnt) ? (srv_id_reuse_cnt / 2) : 0;
|
||||
|
||||
/* generate new server's dynamic cookie if enabled on backend */
|
||||
if (be->ck_opts & PR_CK_DYNAMIC) {
|
||||
srv_set_dyncookie(srv);
|
||||
}
|
||||
|
||||
/* adding server cannot fail when we reach this:
|
||||
* publishing EVENT_HDL_SUB_SERVER_ADD
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user