MINOR: tcp: prepare support for the "capture" action

A few minor entries will be needed to capture sample fetches in requests
or responses. This patch just prepares the code for this.
This commit is contained in:
Willy Tarreau 2014-06-13 16:17:14 +02:00
parent 54da8db40b
commit 3a4ac422ce
3 changed files with 9 additions and 0 deletions

View File

@ -58,6 +58,7 @@ enum {
ARGC_HRS, /* http-response */ ARGC_HRS, /* http-response */
ARGC_UIF, /* unique-id-format */ ARGC_UIF, /* unique-id-format */
ARGC_RDR, /* redirect */ ARGC_RDR, /* redirect */
ARGC_CAP, /* capture rule */
}; };
/* some types that are externally defined */ /* some types that are externally defined */

View File

@ -38,6 +38,12 @@ enum {
TCP_ACT_TRK_SC2 = 6, TCP_ACT_TRK_SC2 = 6,
TCP_ACT_TRK_SCMAX = TCP_ACT_TRK_SC0 + MAX_SESS_STKCTR - 1, TCP_ACT_TRK_SCMAX = TCP_ACT_TRK_SC0 + MAX_SESS_STKCTR - 1,
TCP_ACT_CLOSE, /* close at the sender's */ TCP_ACT_CLOSE, /* close at the sender's */
TCP_ACT_CAPTURE, /* capture a fetched sample */
};
struct capture_prm {
struct sample_expr *expr; /* expression used as the key */
struct cap_hdr *hdr; /* the capture storage */
}; };
struct tcp_rule { struct tcp_rule {
@ -46,6 +52,7 @@ struct tcp_rule {
int action; int action;
union { union {
struct track_ctr_prm trk_ctr; struct track_ctr_prm trk_ctr;
struct capture_prm cap;
} act_prm; } act_prm;
}; };

View File

@ -971,6 +971,7 @@ int smp_resolve_args(struct proxy *p)
case ARGC_HRS: where = "in http-response header format string in"; break; case ARGC_HRS: where = "in http-response header format string in"; break;
case ARGC_UIF: where = "in unique-id-format string in"; break; case ARGC_UIF: where = "in unique-id-format string in"; break;
case ARGC_RDR: where = "in redirect format string in"; break; case ARGC_RDR: where = "in redirect format string in"; break;
case ARGC_CAP: where = "in capture rule in"; break;
case ARGC_ACL: ctx = "ACL keyword"; break; case ARGC_ACL: ctx = "ACL keyword"; break;
} }