Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 int *hotdrop)
27{
28 /* We always match */
29 return 1;
30}
31
32static struct xt_match comment_match = {
33 .name = "comment",
34 .match = match,
35 .matchsize = sizeof(struct xt_comment_info),
36 .family = AF_INET,
37 .me = THIS_MODULE
38};
39
40static struct xt_match comment6_match = {
41 .name = "comment",
42 .match = match,
43 .matchsize = sizeof(struct xt_comment_info),
44 .family = AF_INET6,
45 .me = THIS_MODULE
46};
47
48static int __init xt_comment_init(void)
49{
50 int ret;
51
52 ret = xt_register_match(&comment_match);
53 if (ret)
54 return ret;
55
56 ret = xt_register_match(&comment6_match);
57 if (ret)
58 xt_unregister_match(&comment_match);
59
60 return ret;
61}
62
63static void __exit xt_comment_fini(void)
64{
65 xt_unregister_match(&comment_match);
66 xt_unregister_match(&comment6_match);
67}
68
69module_init(xt_comment_init);
70module_exit(xt_comment_fini);