mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-12-08 19:21:05 +01:00
MINOR: proto_tcp: add session in the action prototype
Some actions require the "struct session" while the "struct stream" is not avalaible. This patch adds a pointer to the session.
This commit is contained in:
parent
c89f4f5305
commit
422a3af4ce
@ -53,7 +53,7 @@ struct tcp_rule {
|
||||
struct acl_cond *cond;
|
||||
int action;
|
||||
int (*action_ptr)(struct tcp_rule *rule, struct proxy *px,
|
||||
struct stream *s);
|
||||
struct session *sess, struct stream *s);
|
||||
union {
|
||||
struct track_ctr_prm trk_ctr;
|
||||
struct capture_prm cap;
|
||||
|
||||
@ -4380,7 +4380,7 @@ static int hlua_request_act_wrapper(struct hlua_rule *rule, struct proxy *px,
|
||||
* "hlua_request_act_wrapper" for executing the LUA code.
|
||||
*/
|
||||
int hlua_tcp_req_act_wrapper(struct tcp_rule *tcp_rule, struct proxy *px,
|
||||
struct stream *s)
|
||||
struct session *sess, struct stream *s)
|
||||
{
|
||||
return hlua_request_act_wrapper((struct hlua_rule *)tcp_rule->act_prm.data[0],
|
||||
px, s, AN_REQ_INSPECT_FE);
|
||||
@ -4390,7 +4390,7 @@ int hlua_tcp_req_act_wrapper(struct tcp_rule *tcp_rule, struct proxy *px,
|
||||
* "hlua_request_act_wrapper" for executing the LUA code.
|
||||
*/
|
||||
int hlua_tcp_res_act_wrapper(struct tcp_rule *tcp_rule, struct proxy *px,
|
||||
struct stream *s)
|
||||
struct session *sess, struct stream *s)
|
||||
{
|
||||
return hlua_request_act_wrapper((struct hlua_rule *)tcp_rule->act_prm.data[0],
|
||||
px, s, AN_RES_INSPECT);
|
||||
|
||||
@ -1231,7 +1231,7 @@ resume_execution:
|
||||
}
|
||||
else {
|
||||
/* Custom keywords. */
|
||||
if (rule->action_ptr && !rule->action_ptr(rule, s->be, s)) {
|
||||
if (rule->action_ptr && !rule->action_ptr(rule, s->be, s->sess, s)) {
|
||||
s->current_rule = rule;
|
||||
goto missing_data;
|
||||
}
|
||||
@ -1356,7 +1356,7 @@ resume_execution:
|
||||
}
|
||||
else {
|
||||
/* Custom keywords. */
|
||||
if (rule->action_ptr && !rule->action_ptr(rule, s->be, s)) {
|
||||
if (rule->action_ptr && !rule->action_ptr(rule, s->be, s->sess, s)) {
|
||||
channel_dont_close(rep);
|
||||
s->current_rule = rule;
|
||||
return 0;
|
||||
@ -1441,7 +1441,7 @@ int tcp_exec_req_rules(struct session *sess)
|
||||
else {
|
||||
/* Custom keywords. */
|
||||
if (rule->action_ptr) {
|
||||
rule->action_ptr(rule, sess->fe, NULL);
|
||||
rule->action_ptr(rule, sess->fe, sess, NULL);
|
||||
if (rule->action == TCP_ACT_CUSTOM_CONT)
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -502,7 +502,8 @@ static inline int action_store(struct sample_expr *expr, const char *name,
|
||||
}
|
||||
|
||||
/* Returns 0 if miss data, else returns 1. */
|
||||
static int action_tcp_req_store(struct tcp_rule *rule, struct proxy *px, struct stream *s)
|
||||
static int action_tcp_req_store(struct tcp_rule *rule, struct proxy *px,
|
||||
struct session *sess, struct stream *s)
|
||||
{
|
||||
struct sample_expr *expr = rule->act_prm.data[0];
|
||||
const char *name = rule->act_prm.data[1];
|
||||
@ -512,7 +513,8 @@ static int action_tcp_req_store(struct tcp_rule *rule, struct proxy *px, struct
|
||||
}
|
||||
|
||||
/* Returns 0 if miss data, else returns 1. */
|
||||
static int action_tcp_res_store(struct tcp_rule *rule, struct proxy *px, struct stream *s)
|
||||
static int action_tcp_res_store(struct tcp_rule *rule, struct proxy *px,
|
||||
struct session *sess, struct stream *s)
|
||||
{
|
||||
struct sample_expr *expr = rule->act_prm.data[0];
|
||||
const char *name = rule->act_prm.data[1];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user