Commit 23dfe33b authored by Patrick McHardy's avatar Patrick McHardy Committed by Greg Kroah-Hartman

tcp conntrack: accept SYN|URG as valid

[NETFILTER]: tcp conntrack: accept SYN|URG as valid

Some stacks apparently send packets with SYN|URG set. Linux accepts
these packets, so TCP conntrack should to.

Pointed out by Martijn Posthuma <posthuma@sangine.com>.
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent 51248d46
...@@ -821,8 +821,10 @@ void ip_conntrack_tcp_update(struct sk_buff *skb, ...@@ -821,8 +821,10 @@ void ip_conntrack_tcp_update(struct sk_buff *skb,
static const u8 tcp_valid_flags[(TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG) + 1] = static const u8 tcp_valid_flags[(TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG) + 1] =
{ {
[TH_SYN] = 1, [TH_SYN] = 1,
[TH_SYN|TH_ACK] = 1,
[TH_SYN|TH_PUSH] = 1, [TH_SYN|TH_PUSH] = 1,
[TH_SYN|TH_URG] = 1,
[TH_SYN|TH_PUSH|TH_URG] = 1,
[TH_SYN|TH_ACK] = 1,
[TH_SYN|TH_ACK|TH_PUSH] = 1, [TH_SYN|TH_ACK|TH_PUSH] = 1,
[TH_RST] = 1, [TH_RST] = 1,
[TH_RST|TH_ACK] = 1, [TH_RST|TH_ACK] = 1,
......
...@@ -778,8 +778,10 @@ EXPORT_SYMBOL_GPL(nf_conntrack_tcp_update); ...@@ -778,8 +778,10 @@ EXPORT_SYMBOL_GPL(nf_conntrack_tcp_update);
static u8 tcp_valid_flags[(TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG) + 1] = static u8 tcp_valid_flags[(TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG) + 1] =
{ {
[TH_SYN] = 1, [TH_SYN] = 1,
[TH_SYN|TH_ACK] = 1,
[TH_SYN|TH_PUSH] = 1, [TH_SYN|TH_PUSH] = 1,
[TH_SYN|TH_URG] = 1,
[TH_SYN|TH_PUSH|TH_URG] = 1,
[TH_SYN|TH_ACK] = 1,
[TH_SYN|TH_ACK|TH_PUSH] = 1, [TH_SYN|TH_ACK|TH_PUSH] = 1,
[TH_RST] = 1, [TH_RST] = 1,
[TH_RST|TH_ACK] = 1, [TH_RST|TH_ACK] = 1,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment