]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/netfilter/xt_dccp.c
autofs4: collect version check return
[linux-2.6-omap-h63xx.git] / net / netfilter / xt_dccp.c
index 8b6522186d9f9151b86c0bc28c6a34d81bb7134f..e5d3e867328790f59f18fd630595520406ca5c48 100644 (file)
@@ -93,20 +93,18 @@ match_option(u_int8_t option, const struct sk_buff *skb, unsigned int protoff,
 }
 
 static bool
-dccp_mt(const struct sk_buff *skb, const struct net_device *in,
-        const struct net_device *out, const struct xt_match *match,
-        const void *matchinfo, int offset, unsigned int protoff, bool *hotdrop)
+dccp_mt(const struct sk_buff *skb, const struct xt_match_param *par)
 {
-       const struct xt_dccp_info *info = matchinfo;
+       const struct xt_dccp_info *info = par->matchinfo;
        const struct dccp_hdr *dh;
        struct dccp_hdr _dh;
 
-       if (offset)
+       if (par->fragoff != 0)
                return false;
 
-       dh = skb_header_pointer(skb, protoff, sizeof(_dh), &_dh);
+       dh = skb_header_pointer(skb, par->thoff, sizeof(_dh), &_dh);
        if (dh == NULL) {
-               *hotdrop = true;
+               *par->hotdrop = true;
                return false;
        }
 
@@ -118,17 +116,14 @@ dccp_mt(const struct sk_buff *skb, const struct net_device *in,
                        XT_DCCP_DEST_PORTS, info->flags, info->invflags)
                && DCCHECK(match_types(dh, info->typemask),
                           XT_DCCP_TYPE, info->flags, info->invflags)
-               && DCCHECK(match_option(info->option, skb, protoff, dh,
-                                       hotdrop),
+               && DCCHECK(match_option(info->option, skb, par->thoff, dh,
+                                       par->hotdrop),
                           XT_DCCP_OPTION, info->flags, info->invflags);
 }
 
-static bool
-dccp_mt_check(const char *tablename, const void *inf,
-              const struct xt_match *match, void *matchinfo,
-              unsigned int hook_mask)
+static bool dccp_mt_check(const struct xt_mtchk_param *par)
 {
-       const struct xt_dccp_info *info = matchinfo;
+       const struct xt_dccp_info *info = par->matchinfo;
 
        return !(info->flags & ~XT_DCCP_VALID_FLAGS)
                && !(info->invflags & ~XT_DCCP_VALID_FLAGS)
@@ -138,7 +133,7 @@ dccp_mt_check(const char *tablename, const void *inf,
 static struct xt_match dccp_mt_reg[] __read_mostly = {
        {
                .name           = "dccp",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = dccp_mt_check,
                .match          = dccp_mt,
                .matchsize      = sizeof(struct xt_dccp_info),
@@ -147,7 +142,7 @@ static struct xt_match dccp_mt_reg[] __read_mostly = {
        },
        {
                .name           = "dccp",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = dccp_mt_check,
                .match          = dccp_mt,
                .matchsize      = sizeof(struct xt_dccp_info),