[NETFILTER]: nf_conntrack_ipv4: fix "Frag of proto ..." messages
[cascardo/linux.git] / net / ipv4 / netfilter / ipt_ah.c
index 18a1678..61b017f 100644 (file)
@@ -25,10 +25,10 @@ MODULE_DESCRIPTION("iptables AH SPI match module");
 #endif
 
 /* Returns 1 if the spi is matched by the range, 0 otherwise */
-static inline int
-spi_match(u_int32_t min, u_int32_t max, u_int32_t spi, int invert)
+static inline bool
+spi_match(u_int32_t min, u_int32_t max, u_int32_t spi, bool invert)
 {
-       int r=0;
+       bool r;
        duprintf("ah spi_match:%c 0x%x <= 0x%x <= 0x%x",invert? '!':' ',
                min,spi,max);
        r=(spi >= min && spi <= max) ^ invert;
@@ -36,7 +36,7 @@ spi_match(u_int32_t min, u_int32_t max, u_int32_t spi, int invert)
        return r;
 }
 
-static int
+static bool
 match(const struct sk_buff *skb,
       const struct net_device *in,
       const struct net_device *out,
@@ -44,14 +44,15 @@ match(const struct sk_buff *skb,
       const void *matchinfo,
       int offset,
       unsigned int protoff,
-      int *hotdrop)
+      bool *hotdrop)
 {
-       struct ip_auth_hdr _ahdr, *ah;
+       struct ip_auth_hdr _ahdr;
+       const struct ip_auth_hdr *ah;
        const struct ipt_ah *ahinfo = matchinfo;
 
        /* Must not be a fragment. */
        if (offset)
-               return 0;
+               return false;
 
        ah = skb_header_pointer(skb, protoff,
                                sizeof(_ahdr), &_ahdr);
@@ -60,7 +61,7 @@ match(const struct sk_buff *skb,
                 * can't.  Hence, no choice but to drop.
                 */
                duprintf("Dropping evil AH tinygram.\n");
-               *hotdrop = 1;
+               *hotdrop = true;
                return 0;
        }
 
@@ -70,7 +71,7 @@ match(const struct sk_buff *skb,
 }
 
 /* Called when user tries to insert an entry of this type. */
-static int
+static bool
 checkentry(const char *tablename,
           const void *ip_void,
           const struct xt_match *match,
@@ -82,12 +83,12 @@ checkentry(const char *tablename,
        /* Must specify no unknown invflags */
        if (ahinfo->invflags & ~IPT_AH_INV_MASK) {
                duprintf("ipt_ah: unknown flags %X\n", ahinfo->invflags);
-               return 0;
+               return false;
        }
-       return 1;
+       return true;
 }
 
-static struct xt_match ah_match = {
+static struct xt_match ah_match __read_mostly = {
        .name           = "ah",
        .family         = AF_INET,
        .match          = match,