netfilter: nf_ct_ipv4: handle invalid IPv4 and IPv6 packets consistently
IPv6 conntrack marked invalid packets as INVALID and let the user drop those by an explicit rule, while IPv4 conntrack dropped such packets itself. IPv4 conntrack is changed so that it marks INVALID packets and let the user to drop them. Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
95ad2f873d
Коммит
8430eac2f6
|
@ -74,12 +74,12 @@ static int ipv4_get_l4proto(const struct sk_buff *skb, unsigned int nhoff,
|
|||
|
||||
iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph);
|
||||
if (iph == NULL)
|
||||
return -NF_DROP;
|
||||
return -NF_ACCEPT;
|
||||
|
||||
/* Conntrack defragments packets, we might still see fragments
|
||||
* inside ICMP packets though. */
|
||||
if (iph->frag_off & htons(IP_OFFSET))
|
||||
return -NF_DROP;
|
||||
return -NF_ACCEPT;
|
||||
|
||||
*dataoff = nhoff + (iph->ihl << 2);
|
||||
*protonum = iph->protocol;
|
||||
|
|
Загрузка…
Ссылка в новой задаче