diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2006-03-22 16:55:40 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-22 16:55:40 -0500 |
commit | a45049c51ce6a3fecf2a909b591b28164c927112 (patch) | |
tree | 582c35205f9c1c12825447a009518eb2116beacd /net/ipv6 | |
parent | 4e3882f77376e036a52b022909d7e910714bd27b (diff) |
[NETFILTER]: x_tables: set the protocol family in x_tables targets/matches
Set the family field in xt_[matches|targets] registered.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/netfilter/ip6_tables.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c index 5a2063bda676..db3c9ae98e95 100644 --- a/net/ipv6/netfilter/ip6_tables.c +++ b/net/ipv6/netfilter/ip6_tables.c | |||
@@ -1377,12 +1377,14 @@ icmp6_checkentry(const char *tablename, | |||
1377 | static struct ip6t_target ip6t_standard_target = { | 1377 | static struct ip6t_target ip6t_standard_target = { |
1378 | .name = IP6T_STANDARD_TARGET, | 1378 | .name = IP6T_STANDARD_TARGET, |
1379 | .targetsize = sizeof(int), | 1379 | .targetsize = sizeof(int), |
1380 | .family = AF_INET6, | ||
1380 | }; | 1381 | }; |
1381 | 1382 | ||
1382 | static struct ip6t_target ip6t_error_target = { | 1383 | static struct ip6t_target ip6t_error_target = { |
1383 | .name = IP6T_ERROR_TARGET, | 1384 | .name = IP6T_ERROR_TARGET, |
1384 | .target = ip6t_error, | 1385 | .target = ip6t_error, |
1385 | .targetsize = IP6T_FUNCTION_MAXNAMELEN, | 1386 | .targetsize = IP6T_FUNCTION_MAXNAMELEN, |
1387 | .family = AF_INET6, | ||
1386 | }; | 1388 | }; |
1387 | 1389 | ||
1388 | static struct nf_sockopt_ops ip6t_sockopts = { | 1390 | static struct nf_sockopt_ops ip6t_sockopts = { |
@@ -1401,6 +1403,7 @@ static struct ip6t_match icmp6_matchstruct = { | |||
1401 | .matchsize = sizeof(struct ip6t_icmp), | 1403 | .matchsize = sizeof(struct ip6t_icmp), |
1402 | .checkentry = icmp6_checkentry, | 1404 | .checkentry = icmp6_checkentry, |
1403 | .proto = IPPROTO_ICMPV6, | 1405 | .proto = IPPROTO_ICMPV6, |
1406 | .family = AF_INET6, | ||
1404 | }; | 1407 | }; |
1405 | 1408 | ||
1406 | static int __init init(void) | 1409 | static int __init init(void) |
@@ -1410,9 +1413,9 @@ static int __init init(void) | |||
1410 | xt_proto_init(AF_INET6); | 1413 | xt_proto_init(AF_INET6); |
1411 | 1414 | ||
1412 | /* Noone else will be downing sem now, so we won't sleep */ | 1415 | /* Noone else will be downing sem now, so we won't sleep */ |
1413 | xt_register_target(AF_INET6, &ip6t_standard_target); | 1416 | xt_register_target(&ip6t_standard_target); |
1414 | xt_register_target(AF_INET6, &ip6t_error_target); | 1417 | xt_register_target(&ip6t_error_target); |
1415 | xt_register_match(AF_INET6, &icmp6_matchstruct); | 1418 | xt_register_match(&icmp6_matchstruct); |
1416 | 1419 | ||
1417 | /* Register setsockopt */ | 1420 | /* Register setsockopt */ |
1418 | ret = nf_register_sockopt(&ip6t_sockopts); | 1421 | ret = nf_register_sockopt(&ip6t_sockopts); |
@@ -1429,9 +1432,9 @@ static int __init init(void) | |||
1429 | static void __exit fini(void) | 1432 | static void __exit fini(void) |
1430 | { | 1433 | { |
1431 | nf_unregister_sockopt(&ip6t_sockopts); | 1434 | nf_unregister_sockopt(&ip6t_sockopts); |
1432 | xt_unregister_match(AF_INET6, &icmp6_matchstruct); | 1435 | xt_unregister_match(&icmp6_matchstruct); |
1433 | xt_unregister_target(AF_INET6, &ip6t_error_target); | 1436 | xt_unregister_target(&ip6t_error_target); |
1434 | xt_unregister_target(AF_INET6, &ip6t_standard_target); | 1437 | xt_unregister_target(&ip6t_standard_target); |
1435 | xt_proto_fini(AF_INET6); | 1438 | xt_proto_fini(AF_INET6); |
1436 | } | 1439 | } |
1437 | 1440 | ||