linux/net/netfilter/ipset
Eric Westbrook 886503f34d netfilter: ipset: actually allow allowable CIDR 0 in hash:net,port,net
Allow /0 as advertised for hash:net,port,net sets.

For "hash:net,port,net", ipset(8) says that "either subnet
is permitted to be a /0 should you wish to match port
between all destinations."

Make that statement true.

Before:

    # ipset create cidrzero hash:net,port,net
    # ipset add cidrzero 0.0.0.0/0,12345,0.0.0.0/0
    ipset v6.34: The value of the CIDR parameter of the IP address is invalid

    # ipset create cidrzero6 hash:net,port,net family inet6
    # ipset add cidrzero6 ::/0,12345,::/0
    ipset v6.34: The value of the CIDR parameter of the IP address is invalid

After:

    # ipset create cidrzero hash:net,port,net
    # ipset add cidrzero 0.0.0.0/0,12345,0.0.0.0/0
    # ipset test cidrzero 192.168.205.129,12345,172.16.205.129
    192.168.205.129,tcp:12345,172.16.205.129 is in set cidrzero.

    # ipset create cidrzero6 hash:net,port,net family inet6
    # ipset add cidrzero6 ::/0,12345,::/0
    # ipset test cidrzero6 fe80::1,12345,ff00::1
    fe80::1,tcp:12345,ff00::1 is in set cidrzero6.

See also:

  https://bugzilla.kernel.org/show_bug.cgi?id=200897
  df7ff6efb0

Signed-off-by: Eric Westbrook <linux@westbrook.io>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2018-11-01 00:29:43 +01:00
..
ip_set_bitmap_gen.h netfilter: ipset: Fix "don't update counters" mode when counters used at the matching 2018-01-08 18:11:12 +01:00
ip_set_bitmap_ip.c netfilter: ipset: use swap macro instead of _manually_ swapping values 2018-01-08 18:11:11 +01:00
ip_set_bitmap_ipmac.c netfilter: ipset: use swap macro instead of _manually_ swapping values 2018-01-08 18:11:11 +01:00
ip_set_bitmap_port.c netfilter: ipset: use swap macro instead of _manually_ swapping values 2018-01-08 18:11:11 +01:00
ip_set_core.c netfilter: ipset: list:set: Decrease refcount synchronously on deletion and replace 2018-11-01 00:29:36 +01:00
ip_set_getport.c sctp: remove the typedef sctp_sctphdr_t 2017-07-01 09:08:41 -07:00
ip_set_hash_gen.h netfilter: Replace spin_is_locked() with lockdep 2018-10-16 10:01:47 +02:00
ip_set_hash_ip.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipmac.c netfilter: ipset: hash: fix boolreturn.cocci warnings 2016-11-10 13:28:50 +01:00
ip_set_hash_ipmark.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipport.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipportip.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipportnet.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_mac.c netfilter: ipset: Use is_zero_ether_addr instead of static and memcmp 2018-03-30 12:20:44 +02:00
ip_set_hash_net.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netiface.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netnet.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netport.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netportnet.c netfilter: ipset: actually allow allowable CIDR 0 in hash:net,port,net 2018-11-01 00:29:43 +01:00
ip_set_list_set.c netfilter: ipset: list:set: Decrease refcount synchronously on deletion and replace 2018-11-01 00:29:36 +01:00
Kconfig netfilter: ipset: hash:ipmac type support added to ipset 2016-11-10 13:28:49 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pfxlen.c netfilter: ipset: deduplicate prefixlen maps 2017-10-04 16:19:06 +02:00