mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-23 23:28:47 -04:00
BUG/MINOR: backend: balance uri specific options were lost across defaults
The "balance uri" options "whole", "len" and "depth" were not properly inherited from the defaults sections. In addition, "whole" and "len" were not even reset when parsing "uri", meaning that 2 subsequent "balance uri" statements would not have the expected effect as the options from the first one would remain for the second one. This may be backported to all maintained versions.
This commit is contained in:
parent
089eaa0ba7
commit
602a499da5
2 changed files with 6 additions and 1 deletions
|
|
@ -1734,6 +1734,8 @@ int backend_parse_balance(const char **args, char **err, struct proxy *curproxy)
|
|||
curproxy->lbprm.algo |= BE_LB_ALGO_UH;
|
||||
|
||||
curproxy->uri_whole = 0;
|
||||
curproxy->uri_len_limit = 0;
|
||||
curproxy->uri_dirs_depth1 = 0;
|
||||
|
||||
while (*args[arg]) {
|
||||
if (!strcmp(args[arg], "len")) {
|
||||
|
|
|
|||
|
|
@ -469,7 +469,10 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
|||
|
||||
if (defproxy.url_param_name)
|
||||
curproxy->url_param_name = strdup(defproxy.url_param_name);
|
||||
curproxy->url_param_len = defproxy.url_param_len;
|
||||
curproxy->url_param_len = defproxy.url_param_len;
|
||||
curproxy->uri_whole = defproxy.uri_whole;
|
||||
curproxy->uri_len_limit = defproxy.uri_len_limit;
|
||||
curproxy->uri_dirs_depth1 = defproxy.uri_dirs_depth1;
|
||||
|
||||
if (defproxy.hh_name)
|
||||
curproxy->hh_name = strdup(defproxy.hh_name);
|
||||
|
|
|
|||
Loading…
Reference in a new issue