mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
[BUG] proto_tcp: potential bug on pattern fetch dst and dport
Pattern fetches relying on destination address must first fetch the address if it has not been done yet. (cherry picked from commit 21abf441feb318b2ccd7df590fd89e9e824627f6)
This commit is contained in:
parent
7cb62f8877
commit
8aa6b3762c
@ -1054,6 +1054,9 @@ static int
|
||||
pattern_fetch_dst(struct proxy *px, struct session *l4, void *l7, int dir,
|
||||
const char *arg, int arg_len, union pattern_data *data)
|
||||
{
|
||||
if (!(l4->flags & SN_FRT_ADDR_SET))
|
||||
get_frt_addr(l4);
|
||||
|
||||
data->ip.s_addr = ((struct sockaddr_in *)&l4->frt_addr)->sin_addr.s_addr;
|
||||
return 1;
|
||||
}
|
||||
@ -1079,6 +1082,9 @@ pattern_fetch_dport(struct proxy *px, struct session *l4, void *l7, int dir,
|
||||
const char *arg, int arg_len, union pattern_data *data)
|
||||
|
||||
{
|
||||
if (!(l4->flags & SN_FRT_ADDR_SET))
|
||||
get_frt_addr(l4);
|
||||
|
||||
data->integer = ntohs(((struct sockaddr_in *)&l4->frt_addr)->sin_port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user