|
@@ -353,7 +353,7 @@ static unsigned int ipv6_synproxy_hook(void *priv,
|
|
nexthdr = ipv6_hdr(skb)->nexthdr;
|
|
nexthdr = ipv6_hdr(skb)->nexthdr;
|
|
thoff = ipv6_skip_exthdr(skb, sizeof(struct ipv6hdr), &nexthdr,
|
|
thoff = ipv6_skip_exthdr(skb, sizeof(struct ipv6hdr), &nexthdr,
|
|
&frag_off);
|
|
&frag_off);
|
|
- if (thoff < 0)
|
|
|
|
|
|
+ if (thoff < 0 || nexthdr != IPPROTO_TCP)
|
|
return NF_ACCEPT;
|
|
return NF_ACCEPT;
|
|
|
|
|
|
th = skb_header_pointer(skb, thoff, sizeof(_th), &_th);
|
|
th = skb_header_pointer(skb, thoff, sizeof(_th), &_th);
|