aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorVlad Drukker <vlad@storewiz.com>2005-11-12 15:13:14 -0500
committerDavid S. Miller <davem@davemloft.net>2005-11-12 15:13:14 -0500
commita2d7222f0f5861ce13b9308c30bd18f28ebeb583 (patch)
tree09d4dafe35b9cd4de344c4a8a63ef7d922466c2a /net/netfilter
parentefacfbcb6c88677809f44a574fbcd9824835dccb (diff)
[NETFILTER] {ip,nf}_conntrack TCP: Accept SYN+PUSH like SYN
Some devices (e.g. Qlogic iSCSI HBA hardware like QLA4010 up to firmware 3.0.0.4) initiates TCP with SYN and PUSH flags set. The Linux TCP/IP stack deals fine with that, but the connection tracking code doesn't. This patch alters TCP connection tracking to accept SYN+PUSH as a valid flag combination. Signed-off-by: Vlad Drukker <vlad@storewiz.com> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netfilter')
-rw-r--r--net/netfilter/nf_conntrack_proto_tcp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c
index 83d90dd624f..156680ddb04 100644
--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
@@ -779,6 +779,7 @@ static u8 tcp_valid_flags[(TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG) + 1] =
779{ 779{
780 [TH_SYN] = 1, 780 [TH_SYN] = 1,
781 [TH_SYN|TH_ACK] = 1, 781 [TH_SYN|TH_ACK] = 1,
782 [TH_SYN|TH_PUSH] = 1,
782 [TH_SYN|TH_ACK|TH_PUSH] = 1, 783 [TH_SYN|TH_ACK|TH_PUSH] = 1,
783 [TH_RST] = 1, 784 [TH_RST] = 1,
784 [TH_RST|TH_ACK] = 1, 785 [TH_RST|TH_ACK] = 1,