mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-01 00:50:53 +00:00
MINOR: action: add reference to the original keywork matched for the called parser.
This is usefull because the keyword can contains some condifiguration data set while the keyword registration.
This commit is contained in:
parent
7ea160cb5f
commit
85c6c97830
@ -93,6 +93,7 @@ struct act_rule {
|
||||
short deny_status; /* HTTP status to return to user when denying */
|
||||
enum act_return (*action_ptr)(struct act_rule *rule, struct proxy *px,
|
||||
struct session *sess, struct stream *s); /* ptr to custom action */
|
||||
struct action_kw *kw;
|
||||
union {
|
||||
struct {
|
||||
char *realm;
|
||||
|
@ -9442,6 +9442,7 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
|
||||
cur_arg = 1;
|
||||
/* try in the module list */
|
||||
rule->from = ACT_F_HTTP_REQ;
|
||||
rule->kw = custom;
|
||||
if (custom->parse(args, &cur_arg, proxy, rule, &errmsg) == ACT_RET_PRS_ERR) {
|
||||
Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : %s.\n",
|
||||
file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
|
||||
@ -9798,6 +9799,7 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
|
||||
cur_arg = 1;
|
||||
/* try in the module list */
|
||||
rule->from = ACT_F_HTTP_RES;
|
||||
rule->kw = custom;
|
||||
if (custom->parse(args, &cur_arg, proxy, rule, &errmsg) == ACT_RET_PRS_ERR) {
|
||||
Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : %s.\n",
|
||||
file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
|
||||
|
@ -1435,6 +1435,7 @@ static int tcp_parse_response_rule(char **args, int arg, int section_type,
|
||||
if (kw) {
|
||||
arg++;
|
||||
rule->from = ACT_F_TCP_RES_CNT;
|
||||
rule->kw = kw;
|
||||
if (kw->parse((const char **)args, &arg, curpx, rule, err) == ACT_RET_PRS_ERR)
|
||||
return -1;
|
||||
} else {
|
||||
@ -1636,9 +1637,11 @@ static int tcp_parse_request_rule(char **args, int arg, int section_type,
|
||||
struct action_kw *kw;
|
||||
if (where & SMP_VAL_FE_CON_ACC) {
|
||||
kw = tcp_req_conn_action(args[arg]);
|
||||
rule->kw = kw;
|
||||
rule->from = ACT_F_TCP_REQ_CON;
|
||||
} else {
|
||||
kw = tcp_req_cont_action(args[arg]);
|
||||
rule->kw = kw;
|
||||
rule->from = ACT_F_TCP_REQ_CNT;
|
||||
}
|
||||
if (kw) {
|
||||
|
Loading…
Reference in New Issue
Block a user