xt_comment.c revision cff533ac12494fa002e2c46acc94d670e5f636a2
1/*
2 * Implements a dummy match to allow attaching comments to rules
3 *
4 * 2003-05-13 Brad Fisher (brad@info-link.net)
5 */
6
7#include <linux/module.h>
8#include <linux/skbuff.h>
9#include <linux/netfilter/x_tables.h>
10#include <linux/netfilter/xt_comment.h>
11
12MODULE_AUTHOR("Brad Fisher <brad@info-link.net>");
13MODULE_DESCRIPTION("iptables comment match module");
14MODULE_LICENSE("GPL");
15MODULE_ALIAS("ipt_comment");
16MODULE_ALIAS("ip6t_comment");
17
18static int
19match(const struct sk_buff *skb,
20      const struct net_device *in,
21      const struct net_device *out,
22      const struct xt_match *match,
23      const void *matchinfo,
24      int offset,
25      unsigned int protooff,
26      bool *hotdrop)
27{
28	/* We always match */
29	return 1;
30}
31
32static struct xt_match xt_comment_match[] = {
33	{
34		.name		= "comment",
35		.family		= AF_INET,
36		.match		= match,
37		.matchsize	= sizeof(struct xt_comment_info),
38		.me		= THIS_MODULE
39	},
40	{
41		.name		= "comment",
42		.family		= AF_INET6,
43		.match		= match,
44		.matchsize	= sizeof(struct xt_comment_info),
45		.me		= THIS_MODULE
46	},
47};
48
49static int __init xt_comment_init(void)
50{
51	return xt_register_matches(xt_comment_match,
52				   ARRAY_SIZE(xt_comment_match));
53}
54
55static void __exit xt_comment_fini(void)
56{
57	xt_unregister_matches(xt_comment_match, ARRAY_SIZE(xt_comment_match));
58}
59
60module_init(xt_comment_init);
61module_exit(xt_comment_fini);
62