X-Git-Url: http://developer.intra2net.com/git/?p=ipt_ACCOUNT;a=blobdiff_plain;f=linux-2.6%2Fnet%2Fipv4%2Fnetfilter%2Fipt_ACCOUNT.c;h=56b31ad5a4c576780005efd7887e0fd4057ead70;hp=a744381f30c49cbd1100d6019564c228504984e1;hb=4f1016feb1abda967a3eb3b2432aeb75d0780da3;hpb=d0ba79b5f1fd7cd93975f976ba8332941ef0d198 diff --git a/linux-2.6/net/ipv4/netfilter/ipt_ACCOUNT.c b/linux-2.6/net/ipv4/netfilter/ipt_ACCOUNT.c index a744381..56b31ad 100644 --- a/linux-2.6/net/ipv4/netfilter/ipt_ACCOUNT.c +++ b/linux-2.6/net/ipv4/netfilter/ipt_ACCOUNT.c @@ -20,7 +20,13 @@ #include #include #include -#include + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) + #include +#else + #include +#endif + #include #include #include @@ -200,7 +206,11 @@ static int ipt_acc_table_insert(char *name, u_int32_t ip, u_int32_t netmask) return -1; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) +static bool ipt_acc_checkentry(const char *tablename, +#else static int ipt_acc_checkentry(const char *tablename, +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) const void *e, #else @@ -233,13 +243,21 @@ static int ipt_acc_checkentry(const char *tablename, if (table_nr == -1) { printk("ACCOUNT: Table insert problem. Aborting\n"); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) + return false; +#else return 0; +#endif } /* Table nr caching so we don't have to do an extra string compare for every packet */ info->table_nr = table_nr; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) + return true; +#else return 1; +#endif } static void ipt_acc_destroy( @@ -449,7 +467,11 @@ static void ipt_acc_depth2_insert(struct ipt_acc_mask_8 *mask_8, } } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) +static unsigned int ipt_acc_target(struct sk_buff *skb, +#else static unsigned int ipt_acc_target(struct sk_buff **pskb, +#endif const struct net_device *in, const struct net_device *out, unsigned int hooknum, @@ -465,6 +487,11 @@ static unsigned int ipt_acc_target(struct sk_buff **pskb, { const struct ipt_acc_info *info = (const struct ipt_acc_info *)targinfo; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + u_int32_t src_ip = ip_hdr(skb)->saddr; + u_int32_t dst_ip = ip_hdr(skb)->daddr; + u_int32_t size = ntohs(ip_hdr(skb)->tot_len); +#else #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) u_int32_t src_ip = ip_hdr(*pskb)->saddr; u_int32_t dst_ip = ip_hdr(*pskb)->daddr; @@ -474,6 +501,7 @@ static unsigned int ipt_acc_target(struct sk_buff **pskb, u_int32_t dst_ip = (*pskb)->nh.iph->daddr; u_int32_t size = ntohs((*pskb)->nh.iph->tot_len); #endif +#endif spin_lock_bh(&ipt_acc_lock);