[netfilter-cvslog] r3620 -
trunk/patch-o-matic-ng/pptp-conntrack-nat/linux-2.6/net/ipv4/netfilter
laforge at netfilter.org
laforge at netfilter.org
Tue Feb 1 10:41:48 CET 2005
Author: laforge at netfilter.org
Date: 2005-02-01 10:41:47 +0100 (Tue, 01 Feb 2005)
New Revision: 3620
Modified:
trunk/patch-o-matic-ng/pptp-conntrack-nat/linux-2.6/net/ipv4/netfilter/ip_conntrack_proto_gre.c
Log:
fix tracking of pptp-GRE packets that have incomplete heder, such as ACK without SEQ (Mark Huang <mlhuang at cs.princeton.edu>) (Closes: #277)
Modified: trunk/patch-o-matic-ng/pptp-conntrack-nat/linux-2.6/net/ipv4/netfilter/ip_conntrack_proto_gre.c
===================================================================
--- trunk/patch-o-matic-ng/pptp-conntrack-nat/linux-2.6/net/ipv4/netfilter/ip_conntrack_proto_gre.c 2005-01-30 19:33:42 UTC (rev 3619)
+++ trunk/patch-o-matic-ng/pptp-conntrack-nat/linux-2.6/net/ipv4/netfilter/ip_conntrack_proto_gre.c 2005-02-01 09:41:47 UTC (rev 3620)
@@ -55,9 +55,8 @@
#define GRE_STREAM_TIMEOUT (180*HZ)
#if 0
-#define DEBUGP(format, args...) printk(KERN_DEBUG __FILE__ ":" __FUNCTION__ \
- ": " format, ## args)
-#define DUMP_TUPLE_GRE(x) printk("%u.%u.%u.%u:0x%x -> %u.%u.%u.%u:0x%x:%u:0x%x\n", \
+#define DEBUGP(format, args...) printk(KERN_DEBUG "%s:%s: " format, __FILE__, __FUNCTION__, ## args)
+#define DUMP_TUPLE_GRE(x) printk("%u.%u.%u.%u:0x%x -> %u.%u.%u.%u:0x%x\n", \
NIPQUAD((x)->src.ip), ntohl((x)->src.u.gre.key), \
NIPQUAD((x)->dst.ip), ntohl((x)->dst.u.gre.key))
#else
@@ -182,7 +181,8 @@
u_int32_t srckey;
grehdr = skb_header_pointer(skb, dataoff, sizeof(_grehdr), &_grehdr);
- pgrehdr = skb_header_pointer(skb, dataoff, sizeof(_pgrehdr), &_pgrehdr);
+ /* PPTP header is variable length, only need up to the call_id field */
+ pgrehdr = skb_header_pointer(skb, dataoff, 8, &_pgrehdr);
if (!grehdr || !pgrehdr)
return 0;
@@ -212,11 +212,11 @@
srckey = gre_keymap_lookup(tuple);
+ tuple->src.u.gre.key = srckey;
#if 0
DEBUGP("found src key %x for tuple ", ntohl(srckey));
DUMP_TUPLE_GRE(tuple);
#endif
- tuple->src.u.gre.key = srckey;
return 1;
}
More information about the netfilter-cvslog
mailing list