[netfilter-cvslog] r3609 - trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/ipv4/netfilter

yasuyuki at netfilter.org yasuyuki at netfilter.org
Sat Jan 22 20:12:04 CET 2005


Author: yasuyuki at netfilter.org
Date: 2005-01-22 20:12:03 +0100 (Sat, 22 Jan 2005)
New Revision: 3609

Modified:
   trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
Log:
replaced skb_copy_bits() with skb_header_pointer().



Modified: trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
===================================================================
--- trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c	2005-01-22 19:11:03 UTC (rev 3608)
+++ trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c	2005-01-22 19:12:03 UTC (rev 3609)
@@ -42,13 +42,14 @@
 static int ipv4_pkt_to_tuple(const struct sk_buff *skb, unsigned int nhoff,
 			     struct nf_conntrack_tuple *tuple)
 {
-	if (skb_copy_bits(skb, nhoff + offsetof(struct iphdr, saddr),
-			  &tuple->src.u3.ip, sizeof(tuple->src.u3.ip)))
+	u_int32_t _addrs[2], *ap;
+	ap = skb_header_pointer(skb, nhoff + offsetof(struct iphdr, saddr),
+				sizeof(u_int32_t) * 2, _addrs);
+	if (ap == NULL)
 		return 0;
 
-	if (skb_copy_bits(skb, nhoff + offsetof(struct iphdr, daddr),
-			  &tuple->dst.u3.ip, sizeof(tuple->src.u3.ip)))
-		return 0;
+	tuple->src.u3.ip = ap[0];
+	tuple->dst.u3.ip = ap[1];
 
 	return 1;
 }
@@ -56,8 +57,8 @@
 static int ipv4_invert_tuple(struct nf_conntrack_tuple *tuple,
 			   const struct nf_conntrack_tuple *orig)
 {
-	memcpy(&tuple->src.u3.ip, &orig->dst.u3.ip, sizeof(tuple->src.u3.ip));
-	memcpy(&tuple->dst.u3.ip, &orig->src.u3.ip, sizeof(tuple->dst.u3.ip));
+	tuple->src.u3.ip = orig->dst.u3.ip;
+	tuple->dst.u3.ip = orig->src.u3.ip;
 
 	return 1;
 }




More information about the netfilter-cvslog mailing list