[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