diff options
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 7 | ||||
-rw-r--r-- | include/linux/netfilter/xt_connlimit.h | 9 | ||||
-rw-r--r-- | net/netfilter/xt_connlimit.c | 35 |
3 files changed, 13 insertions, 38 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 08e7e71b266c..24ac00f4ae4b 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -414,13 +414,6 @@ Who: Jean Delvare <khali@linux-fr.org> | |||
414 | 414 | ||
415 | ---------------------------- | 415 | ---------------------------- |
416 | 416 | ||
417 | What: xt_connlimit rev 0 | ||
418 | When: 2012 | ||
419 | Who: Jan Engelhardt <jengelh@medozas.de> | ||
420 | Files: net/netfilter/xt_connlimit.c | ||
421 | |||
422 | ---------------------------- | ||
423 | |||
424 | What: i2c_driver.attach_adapter | 417 | What: i2c_driver.attach_adapter |
425 | i2c_driver.detach_adapter | 418 | i2c_driver.detach_adapter |
426 | When: September 2011 | 419 | When: September 2011 |
diff --git a/include/linux/netfilter/xt_connlimit.h b/include/linux/netfilter/xt_connlimit.h index d1366f05d1b2..f1656096121e 100644 --- a/include/linux/netfilter/xt_connlimit.h +++ b/include/linux/netfilter/xt_connlimit.h | |||
@@ -22,13 +22,8 @@ struct xt_connlimit_info { | |||
22 | #endif | 22 | #endif |
23 | }; | 23 | }; |
24 | unsigned int limit; | 24 | unsigned int limit; |
25 | union { | 25 | /* revision 1 */ |
26 | /* revision 0 */ | 26 | __u32 flags; |
27 | unsigned int inverse; | ||
28 | |||
29 | /* revision 1 */ | ||
30 | __u32 flags; | ||
31 | }; | ||
32 | 27 | ||
33 | /* Used internally by the kernel */ | 28 | /* Used internally by the kernel */ |
34 | struct xt_connlimit_data *data __attribute__((aligned(8))); | 29 | struct xt_connlimit_data *data __attribute__((aligned(8))); |
diff --git a/net/netfilter/xt_connlimit.c b/net/netfilter/xt_connlimit.c index c6d5a83450c9..70b5591a2586 100644 --- a/net/netfilter/xt_connlimit.c +++ b/net/netfilter/xt_connlimit.c | |||
@@ -274,38 +274,25 @@ static void connlimit_mt_destroy(const struct xt_mtdtor_param *par) | |||
274 | kfree(info->data); | 274 | kfree(info->data); |
275 | } | 275 | } |
276 | 276 | ||
277 | static struct xt_match connlimit_mt_reg[] __read_mostly = { | 277 | static struct xt_match connlimit_mt_reg __read_mostly = { |
278 | { | 278 | .name = "connlimit", |
279 | .name = "connlimit", | 279 | .revision = 1, |
280 | .revision = 0, | 280 | .family = NFPROTO_UNSPEC, |
281 | .family = NFPROTO_UNSPEC, | 281 | .checkentry = connlimit_mt_check, |
282 | .checkentry = connlimit_mt_check, | 282 | .match = connlimit_mt, |
283 | .match = connlimit_mt, | 283 | .matchsize = sizeof(struct xt_connlimit_info), |
284 | .matchsize = sizeof(struct xt_connlimit_info), | 284 | .destroy = connlimit_mt_destroy, |
285 | .destroy = connlimit_mt_destroy, | 285 | .me = THIS_MODULE, |
286 | .me = THIS_MODULE, | ||
287 | }, | ||
288 | { | ||
289 | .name = "connlimit", | ||
290 | .revision = 1, | ||
291 | .family = NFPROTO_UNSPEC, | ||
292 | .checkentry = connlimit_mt_check, | ||
293 | .match = connlimit_mt, | ||
294 | .matchsize = sizeof(struct xt_connlimit_info), | ||
295 | .destroy = connlimit_mt_destroy, | ||
296 | .me = THIS_MODULE, | ||
297 | }, | ||
298 | }; | 286 | }; |
299 | 287 | ||
300 | static int __init connlimit_mt_init(void) | 288 | static int __init connlimit_mt_init(void) |
301 | { | 289 | { |
302 | return xt_register_matches(connlimit_mt_reg, | 290 | return xt_register_match(&connlimit_mt_reg); |
303 | ARRAY_SIZE(connlimit_mt_reg)); | ||
304 | } | 291 | } |
305 | 292 | ||
306 | static void __exit connlimit_mt_exit(void) | 293 | static void __exit connlimit_mt_exit(void) |
307 | { | 294 | { |
308 | xt_unregister_matches(connlimit_mt_reg, ARRAY_SIZE(connlimit_mt_reg)); | 295 | xt_unregister_match(&connlimit_mt_reg); |
309 | } | 296 | } |
310 | 297 | ||
311 | module_init(connlimit_mt_init); | 298 | module_init(connlimit_mt_init); |