]> granicus.if.org Git - ipset/commitdiff
2.4.6 v2.4.6
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Fri, 16 Jan 2009 23:25:24 +0000 (00:25 +0100)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Fri, 16 Jan 2009 23:25:24 +0000 (00:25 +0100)
Compatibility fix for kernels >= 2.6.28

Makefile
kernel/ChangeLog
kernel/ipt_SET.c
kernel/ipt_set.c

index fbe20a2dd68d3cc5665a5ecbdc22ed8673717b21..7d2fd6e08e1fd64f324e35fd591c5f88ccc3cf96 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@ ifndef V
 V=0
 endif
 
-IPSET_VERSION:=2.4.5
+IPSET_VERSION:=2.4.6
 
 PREFIX:=/usr/local
 LIBDIR:=$(PREFIX)/lib
index 178339bd4a371da2b4ebde05156866161e476e26..2c5c0dd0aa3aaa9a045b88ed15e939dd33510ada 100644 (file)
@@ -1,3 +1,6 @@
+2.4.6
+  - Compatibility fix for kernels >= 2.6.28
+
 2.4.5
   - setlist type does not work properly together with swapping
     sets, bug reported by Thomas Jacob.
index a6cad1dc3a7248b93b3923b195e1ee23408af9a7..cd89beb56472c8e4b414d96287b61ad79ee86e55 100644 (file)
@@ -57,16 +57,23 @@ target(struct sk_buff **pskb,
        unsigned int hooknum,
        const struct xt_target *target,
        const void *targinfo)
-#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) */
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
 target(struct sk_buff *skb,
        const struct net_device *in,
        const struct net_device *out,
        unsigned int hooknum,
        const struct xt_target *target,
        const void *targinfo)
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
+target(struct sk_buff *skb,
+       const struct xt_target_param *par)
 #endif
 {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
        const struct ipt_set_info_target *info = targinfo;
+#else
+       const struct ipt_set_info_target *info = par->targinfo;
+#endif
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
        struct sk_buff *skb = *pskb;
 #endif
@@ -113,16 +120,23 @@ checkentry(const char *tablename,
           const struct xt_target *target,
           void *targinfo,
           unsigned int hook_mask)
-#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) */
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
 static bool
 checkentry(const char *tablename,
           const void *e,
           const struct xt_target *target,
           void *targinfo,
           unsigned int hook_mask)
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
+static bool
+checkentry(const struct xt_tgchk_param *par)
 #endif
 {
-       struct ipt_set_info_target *info = targinfo;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
+       const struct ipt_set_info_target *info = targinfo;
+#else
+       const struct ipt_set_info_target *info = par->targinfo;
+#endif
        ip_set_id_t index;
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
@@ -165,12 +179,18 @@ static void destroy(void *targetinfo,
 static void destroy(const struct xt_target *target,
                    void *targetinfo,
                    unsigned int targetsize)
-#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) */
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
 static void destroy(const struct xt_target *target,
                    void *targetinfo)
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
+static void destroy(const struct xt_tgdtor_param *par)
 #endif
 {
-       struct ipt_set_info_target *info = targetinfo;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
+       const struct ipt_set_info_target *info = targinfo;
+#else
+       const struct ipt_set_info_target *info = par->targinfo;
+#endif
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
        if (targetsize != IPT_ALIGN(sizeof(struct ipt_set_info_target))) {
index 114f973c7b7f05e6ef8a415a43e66f5ad2afeb31..2f97cbbd23710aa45c7fbf83f5e3c67b55a7c052 100644 (file)
@@ -73,7 +73,7 @@ match(const struct sk_buff *skb,
       int offset,
       unsigned int protoff,
       int *hotdrop)
-#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) */
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
 static bool
 match(const struct sk_buff *skb,
       const struct net_device *in,
@@ -83,9 +83,17 @@ match(const struct sk_buff *skb,
       int offset, 
       unsigned int protoff, 
       bool *hotdrop)
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
+static bool
+match(const struct sk_buff *skb,
+      const struct xt_match_param *par)
 #endif
 {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
        const struct ipt_set_info_match *info = matchinfo;
+#else
+       const struct ipt_set_info_match *info = par->matchinfo;
+#endif
                
        return match_set(&info->match_set,
                         skb,
@@ -121,16 +129,23 @@ checkentry(const char *tablename,
           const struct xt_match *match,
           void *matchinfo,
           unsigned int hook_mask)
-#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) */
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
 static bool
 checkentry(const char *tablename,
           const void *inf,
           const struct xt_match *match,
           void *matchinfo,
           unsigned int hook_mask)
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
+static bool
+checkentry(const struct xt_mtchk_param *par)
 #endif
 {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
        struct ipt_set_info_match *info = matchinfo;
+#else
+       struct ipt_set_info_match *info = par->matchinfo;
+#endif
        ip_set_id_t index;
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
@@ -162,12 +177,19 @@ static void destroy(void *matchinfo,
 static void destroy(const struct xt_match *match,
                    void *matchinfo,
                    unsigned int matchsize)
-#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) */
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
 static void destroy(const struct xt_match *match,
                    void *matchinfo)
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
+static void destroy(const struct xt_mtdtor_param *par)
 #endif
 {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
        struct ipt_set_info_match *info = matchinfo;
+#else
+       struct ipt_set_info_match *info = par->matchinfo;
+#endif
+
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
        if (matchsize != IPT_ALIGN(sizeof(struct ipt_set_info_match))) {