[generic] fix layer7 patches for Kernels >= 2.6.35, thanks Daniel Gimpelevich
[openwrt/svn-archive/archive.git] / target / linux / generic / patches-2.6.36 / 102-netfilter_layer7_match.patch
index 15fc5fadd267dbf6f75622c1d7faef620cb1f6e3..b2e48c824f8e53f735994c86a16d8d6e514c689e 100644 (file)
  match(const struct sk_buff *skbin, const struct xt_match_param *par)
  #else
  match(const struct sk_buff *skbin,
-@@ -598,7 +600,11 @@ match(const struct sk_buff *skbin,
+@@ -597,14 +599,19 @@ match(const struct sk_buff *skbin,
+ }
  
  // load nf_conntrack_ipv4
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++static int
++#else
++static bool
++#endif
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)
-+#  if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
-+static int check(const struct xt_mtchk_param *par)
-+#  else
- static bool check(const struct xt_mtchk_param *par)
-+#  endif
+-static bool check(const struct xt_mtchk_param *par)
++check(const struct xt_mtchk_param *par)
  {
          if (nf_ct_l3proto_try_module_get(par->match->family) < 0) {
                  printk(KERN_WARNING "can't load conntrack support for "
+                                     "proto=%d\n", par->match->family);
+ #else
+-static bool check(const char *tablename, const void *inf,
++check(const char *tablename, const void *inf,
+                const struct xt_match *match, void *matchinfo,
+                unsigned int hook_mask)
+ {
+@@ -612,9 +619,15 @@ static bool check(const char *tablename,
+                 printk(KERN_WARNING "can't load conntrack support for "
+                                     "proto=%d\n", match->family);
+ #endif
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++              return -EINVAL;
++      }
++      return 0;
++#else
+                 return 0;
+         }
+       return 1;
++#endif
+ }