Linux 2.4.5-ac17 ipt_unclean 'fixes'
Quoted 2 lines
2.4.5-ac17
o First set ofipt_uncleanfixes (Rusty Russell)
Alan,
I apologise for having taken so long to write this (I have known about this problem since 2.4.5ac17 and have not had a chance to document til today) but there seems to be a problem with the ipt_unclean fixes by Rusty Russell. ANY incoming packets from any interface (ppp0 and eth0) are marked as 'unclean' with some variation on the following syslog entry:
Jul 8 23:16:04 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long Jul 8 23:16:05 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long Jul 8 23:16:16 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long Jul 8 23:16:18 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long
and thus are blocked by my 'unclean packet dropping' firewall (iptables).
I haven't seen any mention of this on the list, nor have I seen any more ipt_unclean patches to address this problem, so here's your heads-up (albeit a bit late).
Thanks,
J Troy Piper
[email protected]
Me too.
Quoted 32 lines · J Troy Piper
Quoted 3 lines
2.4.5-ac17
o First set ofipt_uncleanfixes (Rusty Russell)Alan,
I apologise for having taken so long to write this (I have known about this problem since 2.4.5ac17 and have not had a chance to document til today) but there seems to be a problem with the
ipt_uncleanfixes by Rusty Russell. ANY incoming packets from any interface (ppp0 and eth0) are marked as 'unclean' with some variation on the following syslog entry:Jul 8 23:16:04 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long Jul 8 23:16:05 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long Jul 8 23:16:16 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long Jul 8 23:16:18 paranoia kernel: ipt_unclean: TCP option 3 at 37 too longand thus are blocked by my 'unclean packet dropping' firewall (iptables).
I haven't seen any mention of this on the list, nor have I seen any more
ipt_uncleanpatches to address this problem, so here's your heads-up (albeit a bit late).Thanks,
J Troy Piper
[email protected]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
In message <[email protected]> you write:
Quoted 5 lines
today) but there seems to be a problem with the
ipt_uncleanfixes by Rusty Russell. ANY incoming packets from any interface (ppp0 and eth0) are marked as 'unclean' with some variation on the following syslog entry:Jul 8 23:16:04 paranoia kernel: ipt_unclean: TCP option 3 at 37 too long
Please try this patch which fixes this as well, which is in Linus' pre-patches.
Rusty.
--
Premature optmztion is rt of all evl. --DK
net/ipv4/netfilter/ipt_unclean.c +4 -2
@@ -268,6 +268,7 @@ int embedded) {u_int8_t *opt = (u_int8_t *)tcph; +u_int8_t *endhdr = (u_int8_t *)tcph + tcph->doff *4 ;u_int8_t tcpflags;int end_of_options =0 ;size_t i;
@@ -373,7 +374,7 @@return 0 ; }/* CHECK: oversize options. */ -else if (opt[i+1 ] + i >= tcph->doff *4 ) { +else if (&opt[i] + opt[i+1 ] > endhdr) {limpk ("TCP option %u at %Zu too long\n" , (unsigned int ) opt[i], i);return 0 ;
@@ -392,6 +393,7 @@ check_ip(struct iphdr *iph, size_t length, int embedded) { u_int8_t *opt = (u_int8_t *)iph; +u_int8_t *endhdr = (u_int8_t *)iph + iph->ihl *4 ;int end_of_options =0 ;void *protoh;size_t datalen;
@@ -444,7 +446,7 @@return 0 ; }/* CHECK: oversize options. */ -else if (opt[i+1 ] + i > iph->ihl *4 ) { +else if (&opt[i] + opt[i+1 ] > endhdr) {limpk ("IP option %u at %u too long\n" , opt[i], i);return 0 ;
Indeed, the patches work and I see that they have made it into 2.4.5-ac3 with the rest of the Linux -pre merge. Thanks.
Troy.
Quoted 14 lines · Rusty Russell
In message <[email protected]> you write:
Quoted 5 lines
today) but there seems to be a problem with the
ipt_uncleanfixes by Rusty Russell. ANY incoming packets from any interface (ppp0 and eth0) are marked as 'unclean' with some variation on the following syslog entry:Jul 8 23:16:04 paranoia kernel: ipt_unclean: TCP option 3 at 37 too longPlease try this patch which fixes this as well, which is in Linus' pre-patches.
Rusty.
--
Premature optmztion is rt of all evl. --DK