X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fipv4%2Fnetfilter%2Fipt_tos.c;fp=net%2Fipv4%2Fnetfilter%2Fipt_tos.c;h=9ab765e126f24db8aa5f4cfab815b5a3ddaf1593;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=5549c39c78512d63228c04c62362633337c8a5f5;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/net/ipv4/netfilter/ipt_tos.c b/net/ipv4/netfilter/ipt_tos.c index 5549c39c7..9ab765e12 100644 --- a/net/ipv4/netfilter/ipt_tos.c +++ b/net/ipv4/netfilter/ipt_tos.c @@ -21,7 +21,6 @@ static int match(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, @@ -32,22 +31,35 @@ match(const struct sk_buff *skb, return (skb->nh.iph->tos == info->tos) ^ info->invert; } +static int +checkentry(const char *tablename, + const void *ip, + void *matchinfo, + unsigned int matchsize, + unsigned int hook_mask) +{ + if (matchsize != IPT_ALIGN(sizeof(struct ipt_tos_info))) + return 0; + + return 1; +} + static struct ipt_match tos_match = { .name = "tos", - .match = match, - .matchsize = sizeof(struct ipt_tos_info), + .match = &match, + .checkentry = &checkentry, .me = THIS_MODULE, }; -static int __init ipt_multiport_init(void) +static int __init init(void) { return ipt_register_match(&tos_match); } -static void __exit ipt_multiport_fini(void) +static void __exit fini(void) { ipt_unregister_match(&tos_match); } -module_init(ipt_multiport_init); -module_exit(ipt_multiport_fini); +module_init(init); +module_exit(fini);