diff options
| author | 2006-03-31 15:34:58 -0500 | |
|---|---|---|
| committer | 2006-03-31 15:34:58 -0500 | |
| commit | 86579dd06deecfa6ac88d5e84e4d63c397cd6f6d (patch) | |
| tree | b4475d3ccde53015ad84a06e4e55e64591171b75 /net/netfilter/xt_string.c | |
| parent | [GFS2] Update ioctl() to new interface (diff) | |
| parent | [PATCH] splice exports (diff) | |
| download | linux-dev-86579dd06deecfa6ac88d5e84e4d63c397cd6f6d.tar.xz linux-dev-86579dd06deecfa6ac88d5e84e4d63c397cd6f6d.zip  | |
Merge branch 'master'
Diffstat (limited to 'net/netfilter/xt_string.c')
| -rw-r--r-- | net/netfilter/xt_string.c | 30 | 
1 files changed, 17 insertions, 13 deletions
diff --git a/net/netfilter/xt_string.c b/net/netfilter/xt_string.c index 7c7d5c8807d6..79d9ea6964ba 100644 --- a/net/netfilter/xt_string.c +++ b/net/netfilter/xt_string.c @@ -24,6 +24,7 @@ MODULE_ALIAS("ip6t_string");  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, @@ -43,6 +44,7 @@ static int match(const struct sk_buff *skb,  static int checkentry(const char *tablename,  		      const void *ip, +		      const struct xt_match *match,  		      void *matchinfo,  		      unsigned int matchsize,  		      unsigned int hook_mask) @@ -50,9 +52,6 @@ static int checkentry(const char *tablename,  	struct xt_string_info *conf = matchinfo;  	struct ts_config *ts_conf; -	if (matchsize != XT_ALIGN(sizeof(struct xt_string_info))) -		return 0; -  	/* Damn, can't handle this case properly with iptables... */  	if (conf->from_offset > conf->to_offset)  		return 0; @@ -67,7 +66,8 @@ static int checkentry(const char *tablename,  	return 1;  } -static void destroy(void *matchinfo, unsigned int matchsize) +static void destroy(const struct xt_match *match, void *matchinfo, +		    unsigned int matchsize)  {  	textsearch_destroy(STRING_TEXT_PRIV(matchinfo)->config);  } @@ -75,37 +75,41 @@ static void destroy(void *matchinfo, unsigned int matchsize)  static struct xt_match string_match = {  	.name 		= "string",  	.match 		= match, +	.matchsize	= sizeof(struct xt_string_info),  	.checkentry	= checkentry,  	.destroy 	= destroy, +	.family		= AF_INET,  	.me 		= THIS_MODULE  };  static struct xt_match string6_match = {  	.name 		= "string",  	.match 		= match, +	.matchsize	= sizeof(struct xt_string_info),  	.checkentry	= checkentry,  	.destroy 	= destroy, +	.family		= AF_INET6,  	.me 		= THIS_MODULE  }; -static int __init init(void) +static int __init xt_string_init(void)  {  	int ret; -	ret = xt_register_match(AF_INET, &string_match); +	ret = xt_register_match(&string_match);  	if (ret)  		return ret; -	ret = xt_register_match(AF_INET6, &string6_match); +	ret = xt_register_match(&string6_match);  	if (ret) -		xt_unregister_match(AF_INET, &string_match); +		xt_unregister_match(&string_match);  	return ret;  } -static void __exit fini(void) +static void __exit xt_string_fini(void)  { -	xt_unregister_match(AF_INET, &string_match); -	xt_unregister_match(AF_INET6, &string6_match); +	xt_unregister_match(&string_match); +	xt_unregister_match(&string6_match);  } -module_init(init); -module_exit(fini); +module_init(xt_string_init); +module_exit(xt_string_fini);  | 
