--- ../chaostables/tags/v0.7/kernel/xt_CHAOS.c.orig 2008-03-27 07:28:52.000000000 +0100 +++ ../chaostables/tags/v0.7/kernel/xt_CHAOS.c 2008-03-27 07:41:14.000000000 +0100 @@ -44,16 +44,17 @@ /* CHAOS functions */ static void xt_chaos_total(const struct xt_chaos_info *info, - struct sk_buff **pskb, const struct net_device *in, + struct sk_buff *pskb, const struct net_device *in, const struct net_device *out, unsigned int hooknum) { - const struct iphdr *iph = ip_hdr(*pskb); + const struct iphdr *iph = ip_hdr(pskb); const int protoff = 4 * iph->ihl; const int offset = ntohs(iph->frag_off) & IP_OFFSET; const struct xt_target *destiny; - int hotdrop = false, ret; + bool hotdrop = false; + int ret; - ret = xm_tcp->match(*pskb, in, out, xm_tcp, &tcp_params, + ret = xm_tcp->match(pskb, in, out, xm_tcp, &tcp_params, offset, protoff, &hotdrop); if (!ret || hotdrop || (unsigned int)net_random() > delude_percentage) return; @@ -63,7 +64,7 @@ return; } -static unsigned int xt_chaos_target(struct sk_buff **pskb, +static unsigned int xt_chaos_target(struct sk_buff *pskb, const struct net_device *in, const struct net_device *out, unsigned int hooknum, const struct xt_target *target, const void *targinfo) { @@ -76,7 +77,7 @@ * -A chaos -j DROP; */ const struct xt_chaos_info *info = targinfo; - const struct iphdr *iph = ip_hdr(*pskb); + const struct iphdr *iph = ip_hdr(pskb); if ((unsigned int)net_random() <= reject_percentage) return xt_reject->target(pskb, in, out, hooknum, target, @@ -90,7 +91,7 @@ return NF_DROP; } -static int xt_chaos_checkentry(const char *tablename, const void *entry, +static bool xt_chaos_checkentry(const char *tablename, const void *entry, const struct xt_target *target, void *targinfo, unsigned int hook_mask) { const struct xt_chaos_info *info = targinfo;