netfilter-2.6/patch-o-matic-ng/trunk: net/ipv4/netfilter/ipt_u32.c
status
pluto
cvs at pld-linux.org
Mon Aug 1 10:48:35 CEST 2005
Author: pluto
Date: Mon Aug 1 10:48:34 2005
New Revision: 6283
Modified:
netfilter-2.6/patch-o-matic-ng/trunk/net/ipv4/netfilter/ipt_u32.c
netfilter-2.6/patch-o-matic-ng/trunk/status
Log:
- fix header offset calculation (Giuseppe Della Bianca).
Modified: netfilter-2.6/patch-o-matic-ng/trunk/net/ipv4/netfilter/ipt_u32.c
==============================================================================
--- netfilter-2.6/patch-o-matic-ng/trunk/net/ipv4/netfilter/ipt_u32.c (original)
+++ netfilter-2.6/patch-o-matic-ng/trunk/net/ipv4/netfilter/ipt_u32.c Mon Aug 1 10:48:34 2005
@@ -134,21 +134,20 @@
int nnums, nvals;
u_int32_t pos, val;
+ u_int32_t AttPos;
+
LOCK_BH(&u32_lock);
head = skb_header_pointer(skb, 0, skb->len, u32_buffer);
BUG_ON(head == NULL);
- origbase = head + (((void *)skb->nh.iph) - ((void *)skb->head));
- end = head + (skb->end - skb->head);
- base = origbase;
-
+ base = head;
/* unsigned long long cycles1, cycles2, cycles3, cycles4;
cycles1 = get_cycles(); */
for (testind=0; testind < data->ntests; testind++) {
- base = origbase; /* reset for each test */
+ AttPos = 0;
pos = data->tests[testind].location[0].number;
- if (base+pos+3 > end || base+pos < head) {
+ if (AttPos + pos + 3 > skb->len || AttPos + pos < 0){
UNLOCK_BH(&u32_lock);
return 0;
}
@@ -168,12 +167,15 @@
val = val >> number;
break;
case IPT_U32_AT:
- base = base + val;
+ AttPos += val;
pos = number;
- if (base+pos+3 > end || base+pos < head)
+ if (AttPos + pos + 3 > skb->len || AttPos + pos < 0)
return 0;
- val = (base[pos]<<24) + (base[pos+1]<<16) +
- (base[pos+2]<<8) + base[pos+3];
+
+ val = (base[AttPos + pos]<<24)
+ +(base[AttPos + pos + 1]<<16)
+ +(base[AttPos + pos + 2]<<8)
+ + base[AttPos + pos + 3];
break;
}
}
Modified: netfilter-2.6/patch-o-matic-ng/trunk/status
==============================================================================
--- netfilter-2.6/patch-o-matic-ng/trunk/status (original)
+++ netfilter-2.6/patch-o-matic-ng/trunk/status Mon Aug 1 10:48:34 2005
@@ -38,7 +38,7 @@
TARPIT 2005/07/27 added
time 2005/07/27 added
TTL 2005/07/27 added
-u32 2005/07/27 added
+u32 2005/08/01 updated
ULOG 2005/07/27 updated (ipv6 port)
unclean 2005/07/27 added
XOR 2005/07/27 added
More information about the pld-cvs-commit
mailing list