mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-20 14:05:31 +00:00
MINOR: http-rules: Add a flag on redirect rules to know the rule direction
HTTP redirect rules can be evaluated on the request or the response path. So when a redirect rule is evaluated, it is important to have this information because some specific processing may be performed depending on the direction. So the REDIRECT_FLAG_FROM_REQ flag has been added. It is set when applicable on the redirect rule during the parsing. This patch is mandatory to fix a bug on redirect rule. It must be backported to all stable versions.
This commit is contained in:
parent
c20afb810f
commit
c87e468816
@ -99,6 +99,7 @@ enum {
|
|||||||
REDIRECT_FLAG_NONE = 0,
|
REDIRECT_FLAG_NONE = 0,
|
||||||
REDIRECT_FLAG_DROP_QS = 1, /* drop query string */
|
REDIRECT_FLAG_DROP_QS = 1, /* drop query string */
|
||||||
REDIRECT_FLAG_APPEND_SLASH = 2, /* append a slash if missing at the end */
|
REDIRECT_FLAG_APPEND_SLASH = 2, /* append a slash if missing at the end */
|
||||||
|
REDIRECT_FLAG_FROM_REQ = 3, /* redirect rule on the request path */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Redirect types (location, prefix, extended ) */
|
/* Redirect types (location, prefix, extended ) */
|
||||||
|
@ -206,7 +206,7 @@ struct redirect_rule *http_parse_redirect_rule(const char *file, int linenum, st
|
|||||||
const char *destination = NULL;
|
const char *destination = NULL;
|
||||||
const char *cookie = NULL;
|
const char *cookie = NULL;
|
||||||
int cookie_set = 0;
|
int cookie_set = 0;
|
||||||
unsigned int flags = REDIRECT_FLAG_NONE;
|
unsigned int flags = (!dir ? REDIRECT_FLAG_FROM_REQ : REDIRECT_FLAG_NONE);
|
||||||
struct acl_cond *cond = NULL;
|
struct acl_cond *cond = NULL;
|
||||||
|
|
||||||
cur_arg = 0;
|
cur_arg = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user