]> granicus.if.org Git - ipset/log
ipset
13 years agoFix compiling ipset as external kernel modules
Jozsef Kadlecsik [Tue, 6 Sep 2011 19:25:10 +0000 (21:25 +0200)]
Fix compiling ipset as external kernel modules

13 years agoipset 6.9 released v6.9
Jozsef Kadlecsik [Tue, 6 Sep 2011 19:12:17 +0000 (21:12 +0200)]
ipset 6.9 released

13 years agoComplete Kconfig with hash:net,iface type
Jozsef Kadlecsik [Mon, 5 Sep 2011 15:33:50 +0000 (17:33 +0200)]
Complete Kconfig with hash:net,iface type

The Kconfig file is not used at building ipset as external system,
still let the file be complete.

13 years agortnetlink: Compute and store minimum ifinfo dump size
Greg Rose [Mon, 5 Sep 2011 15:11:40 +0000 (17:11 +0200)]
rtnetlink: Compute and store minimum ifinfo dump size

[The patch changes the API of the netlink_dump_start interface: port
it to the standalone ipset package.]

The message size allocated for rtnl ifinfo dumps was limited to
a single page.  This is not enough for additional interface info
available with devices that support SR-IOV and caused a bug in
which VF info would not be displayed if more than approximately
40 VFs were created per interface.

Implement a new function pointer for the rtnl_register service that will
calculate the amount of data required for the ifinfo dump and allocate
enough data to satisfy the request.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoRemove redundant linux/version.h includes from net/
Jesper Juhl [Mon, 5 Sep 2011 15:07:17 +0000 (17:07 +0200)]
Remove redundant linux/version.h includes from net/

It was suggested by "make versioncheck" that the follwing includes of
linux/version.h are redundant:

  /home/jj/src/linux-2.6/net/caif/caif_dev.c: 14 linux/version.h not needed.
  /home/jj/src/linux-2.6/net/caif/chnl_net.c: 10 linux/version.h not needed.
  /home/jj/src/linux-2.6/net/ipv4/gre.c: 19 linux/version.h not needed.
  /home/jj/src/linux-2.6/net/netfilter/ipset/ip_set_core.c: 20 linux/version.h not needed.
  /home/jj/src/linux-2.6/net/netfilter/xt_set.c: 16 linux/version.h not needed.

and it seems that it is right.

Beyond manually inspecting the source files I also did a few build
tests with various configs to confirm that including the header in
those files is indeed not needed.

Here's a patch to remove the pointless includes.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
13 years agoMerge branch 'master' of git://dev.medozas.de/ipset
Jozsef Kadlecsik [Thu, 1 Sep 2011 09:10:10 +0000 (11:10 +0200)]
Merge branch 'master' of git://dev.medozas.de/ipset

Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
13 years agobuild: move ipset_errcode into library
Jan Engelhardt [Sun, 28 Aug 2011 17:13:47 +0000 (19:13 +0200)]
build: move ipset_errcode into library

The library cannot stand on its own:

19:13 seven:../ipset/lib > ldd -r .libs/libipset.so.1
        linux-vdso.so.1 =>  (0x00007fff9a569000)
        libmnl.so.0 => /usr/lib64/libmnl.so.0 (0x00007fd42ae5c000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd42aaef000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd42b28d000)
undefined symbol: ipset_errcode (.libs/libipset.so.1)

Resolve this by moving ipset_errcode into the library.

Reported-by: Arkadiusz Miskiewicz <a.miskiewicz@gmail.com>
References: http://marc.info/?l=netfilter-devel&m=131435791514602&w=2

13 years agobuild: abort autogen on subcommand failure
Jan Engelhardt [Mon, 1 Aug 2011 19:26:24 +0000 (21:26 +0200)]
build: abort autogen on subcommand failure

Needed to stop an automated build process when automake requirements
are not fulfilled.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
13 years agoipset: use NFPROTO_ constants
Jan Engelhardt [Thu, 25 Aug 2011 09:17:33 +0000 (11:17 +0200)]
ipset: use NFPROTO_ constants

ipset is actually using NFPROTO values rather than AF (xt_set passes
that along).

13 years agoPropagate "expose userspace-relevant parts in ip_set.h" to ipset source
Jozsef Kadlecsik [Wed, 31 Aug 2011 13:56:34 +0000 (15:56 +0200)]
Propagate "expose userspace-relevant parts in ip_set.h" to ipset source

With the header file restructuring, the ipset userspace enums IPSET_DIM_*
clash with the kernel ones. In this patch the userspace is converted to
use the kernel part enums and thus we got rid of userspace enums IPSET_DIM_*.

13 years agonetfilter: ipset: expose userspace-relevant parts in ip_set.h
Jan Engelhardt [Wed, 31 Aug 2011 12:10:05 +0000 (14:10 +0200)]
netfilter: ipset: expose userspace-relevant parts in ip_set.h

iptables's libxt_SET.c depends on these.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
13 years agonetfilter: ipset: avoid use of kernel-only types
Jan Engelhardt [Wed, 31 Aug 2011 12:10:04 +0000 (14:10 +0200)]
netfilter: ipset: avoid use of kernel-only types

When using the xt_set.h header in userspace, one will get these gcc
reports:

ipset/ip_set.h:184:1: error: unknown type name "u16"
In file included from libxt_SET.c:21:0:
netfilter/xt_set.h:61:2: error: unknown type name "u32"
netfilter/xt_set.h:62:2: error: unknown type name "u32"

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
13 years agonetfilter: Remove unnecessary OOM logging messages
Joe Perches [Mon, 29 Aug 2011 21:17:25 +0000 (14:17 -0700)]
netfilter: Remove unnecessary OOM logging messages

Removing unnecessary messages saves code and text.

Site specific OOM messages are duplications of a generic MM
out of memory message and aren't really useful, so just
delete them.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
13 years agoDumping error triggered removing references twice and lead to kernel BUG
Jozsef Kadlecsik [Wed, 31 Aug 2011 10:32:55 +0000 (12:32 +0200)]
Dumping error triggered removing references twice and lead to kernel BUG

If there was a dumping error in the middle, the set-specific variable was
not zeroed out and thus the 'done' function of the dumping wrongly tried
to release the already released reference of the set. The already released
reference was caught by __ip_set_put and triggered a kernel BUG message.
The issue was reported by Jean-Philippe Menil.

13 years agoAutoload set type modules safely
Jozsef Kadlecsik [Mon, 29 Aug 2011 15:08:55 +0000 (17:08 +0200)]
Autoload set type modules safely

Jan Engelhardt noticed when userspace requests a set type unknown
to the kernel, it can lead to a loop due to the unsafe type module
loading. The issue is fixed in this patch.

13 years agoipset 6.8 released v6.8
Jozsef Kadlecsik [Mon, 11 Jul 2011 09:10:47 +0000 (11:10 +0200)]
ipset 6.8 released

13 years agoUpdate the manpage and document the limits in hash:net,iface.
Jozsef Kadlecsik [Mon, 11 Jul 2011 08:50:21 +0000 (10:50 +0200)]
Update the manpage and document the limits in hash:net,iface.

13 years agoFix compiler warnings "'hash_ip4_data_next' declared inline after being called"
Chris Friesen [Sat, 9 Jul 2011 08:19:41 +0000 (10:19 +0200)]
Fix compiler warnings "'hash_ip4_data_next' declared inline after being called"

Some gcc versions warn about prototypes without "inline" when the declaration
includes the "inline" keyword. The fix generates a false error message
"marked inline, but without a definition" with sparse below 0.4.2.

Signed-off-by: Chris Friesen <chris.friesen@genband.com>
13 years agohash:net,iface fixed to handle overlapping nets behind different interfaces
Jozsef Kadlecsik [Fri, 8 Jul 2011 09:06:40 +0000 (11:06 +0200)]
hash:net,iface fixed to handle overlapping nets behind different interfaces

If overlapping networks with different interfaces was added to
the set, the type did not handle it properly. Example

ipset create test hash:net,iface
ipset add test 192.168.0.0/16,eth0
ipset add test 192.168.0.0/24,eth1

Now, if a packet was sent from 192.168.0.0/24,eth0, the type returned
a match.

In the patch the algorithm is fixed in order to correctly handle
overlapping networks.

Limitation: the same network cannot be stored with more than 64 different
interfaces in a single set.

13 years agoMake possible to hash some part of the data element only.
Jozsef Kadlecsik [Tue, 14 Jun 2011 19:58:39 +0000 (21:58 +0200)]
Make possible to hash some part of the data element only.

13 years agoREADME file corrections from Richard Lucassen
Jozsef Kadlecsik [Wed, 8 Jun 2011 17:41:31 +0000 (19:41 +0200)]
README file corrections from Richard Lucassen

13 years agoipset 6.7 released v6.7
Jozsef Kadlecsik [Tue, 31 May 2011 19:44:47 +0000 (21:44 +0200)]
ipset 6.7 released

13 years agoWhitespace and coding fixes detected by checkpatch.pl
Jozsef Kadlecsik [Tue, 31 May 2011 17:38:00 +0000 (19:38 +0200)]
Whitespace and coding fixes detected by checkpatch.pl

13 years agohash:net,iface type introduced
Jozsef Kadlecsik [Mon, 30 May 2011 15:48:01 +0000 (17:48 +0200)]
hash:net,iface type introduced

The hash:net,iface type makes possible to store network address and
interface name pairs in a set. It's mostly suitable for egress
and ingress filtering. Examples:

# ipset create test hash:net,iface
# ipset add test 192.168.0.0/16,eth0
# ipset add test 192.168.0.0/24,eth1

13 years agohash:* tests may seem to fail due to the too wide grep pattern, fix them
Jozsef Kadlecsik [Mon, 30 May 2011 15:29:58 +0000 (17:29 +0200)]
hash:* tests may seem to fail due to the too wide grep pattern, fix them

13 years agoUse the stored first cidr value instead of '1'
Jozsef Kadlecsik [Sat, 28 May 2011 21:36:14 +0000 (23:36 +0200)]
Use the stored first cidr value instead of '1'

13 years agoFix return code for destroy when sets are in use
Jozsef Kadlecsik [Sat, 28 May 2011 21:16:51 +0000 (23:16 +0200)]
Fix return code for destroy when sets are in use

13 years agoAdd xt_action_param to the variant level kadt functions, ipset API change
Jozsef Kadlecsik [Fri, 27 May 2011 19:06:04 +0000 (21:06 +0200)]
Add xt_action_param to the variant level kadt functions, ipset API change

With the change the sets can use any parameter available for the match
and target extensions, like input/output interface. It's required for
the hash:net,iface set type.

13 years agoRemove iptree tests and compatibility element parsing
Jozsef Kadlecsik [Fri, 27 May 2011 18:56:13 +0000 (20:56 +0200)]
Remove iptree tests and compatibility element parsing

13 years agohash:net test may seem to fail due to the too wide grep pattern, fix it
Jozsef Kadlecsik [Fri, 27 May 2011 18:54:01 +0000 (20:54 +0200)]
hash:net test may seem to fail due to the too wide grep pattern, fix it

13 years agoFix long time uncovered bug at adding string attributes to the netlink message
Jozsef Kadlecsik [Fri, 27 May 2011 18:52:06 +0000 (20:52 +0200)]
Fix long time uncovered bug at adding string attributes to the netlink message

Use the real string length instead of the maximum one when adding the
attribute.

13 years agoFix warnings reported by valgrind
Jozsef Kadlecsik [Wed, 25 May 2011 18:22:05 +0000 (20:22 +0200)]
Fix warnings reported by valgrind

13 years agoRemove supporting set types iptree and iptreemap
Jozsef Kadlecsik [Tue, 24 May 2011 19:06:02 +0000 (21:06 +0200)]
Remove supporting set types iptree and iptreemap

13 years agoDrop supporting kernel versions below 2.6.35
Jozsef Kadlecsik [Tue, 24 May 2011 19:04:50 +0000 (21:04 +0200)]
Drop supporting kernel versions below 2.6.35

13 years agoipset 6.6 released v6.6
Jozsef Kadlecsik [Tue, 24 May 2011 08:29:06 +0000 (10:29 +0200)]
ipset 6.6 released

13 years agoRestore with bitmap:port and list:set types did not work, fixed
Jozsef Kadlecsik [Tue, 24 May 2011 07:35:14 +0000 (09:35 +0200)]
Restore with bitmap:port and list:set types did not work, fixed

13 years agoAccept "\r\n" terminated COMMIT command in restore files
Jozsef Kadlecsik [Tue, 24 May 2011 07:34:36 +0000 (09:34 +0200)]
Accept "\r\n" terminated COMMIT command in restore files

13 years agoFix the message sequence number book-keeping
Jozsef Kadlecsik [Tue, 24 May 2011 07:34:01 +0000 (09:34 +0200)]
Fix the message sequence number book-keeping

The internal messages mix with the public messages and that confused
the sequence number book-keeping. Move setting/updating into
ipset_mnl_query.

13 years agoProtocol-level debugging support added
Jozsef Kadlecsik [Tue, 24 May 2011 07:33:38 +0000 (09:33 +0200)]
Protocol-level debugging support added

13 years agohash:net stress test in range notation added
Jozsef Kadlecsik [Mon, 23 May 2011 09:32:54 +0000 (11:32 +0200)]
hash:net stress test in range notation added

13 years agoUse unified from/to address masking and check the usage
Jozsef Kadlecsik [Mon, 23 May 2011 08:56:14 +0000 (10:56 +0200)]
Use unified from/to address masking and check the usage

13 years agoipset_mnl_query: in debug mode print the errno returned by the cb function
Jozsef Kadlecsik [Mon, 23 May 2011 08:36:33 +0000 (10:36 +0200)]
ipset_mnl_query: in debug mode print the errno returned by the cb function

13 years agoip_set_flush returned -EPROTO instead of -IPSET_ERR_PROTOCOL, fixed
Jozsef Kadlecsik [Mon, 23 May 2011 08:22:47 +0000 (10:22 +0200)]
ip_set_flush returned -EPROTO instead of -IPSET_ERR_PROTOCOL, fixed

13 years agoTake into account cidr value for the from address when creating the set
Jozsef Kadlecsik [Sun, 22 May 2011 10:18:36 +0000 (12:18 +0200)]
Take into account cidr value for the from address when creating the set

When creating a set from a range expressed as a network like
10.1.1.172/29, the from address was taken as the IP address part and
not masked with the netmask from the cidr.

13 years agoAdding ranges to hash types with timeout could still fail, fixed
Jozsef Kadlecsik [Sat, 21 May 2011 21:19:04 +0000 (23:19 +0200)]
Adding ranges to hash types with timeout could still fail, fixed

The patch "Fix adding ranges to hash types" had got a mistypeing
in the timeout variant of the hash types, which actually made
the patch ineffective. Fixed!

13 years agoAccept "\r\n" terminated lines in restore files
Jozsef Kadlecsik [Sat, 21 May 2011 21:10:14 +0000 (23:10 +0200)]
Accept "\r\n" terminated lines in restore files

13 years agoRemoved old, not used hashing method ip_set_chash
Jozsef Kadlecsik [Fri, 20 May 2011 15:07:48 +0000 (17:07 +0200)]
Removed old, not used hashing method ip_set_chash

13 years agoRemove variable 'ret' in type_pf_tdel(), which is set but not used
Jozsef Kadlecsik [Fri, 20 May 2011 09:25:14 +0000 (11:25 +0200)]
Remove variable 'ret' in type_pf_tdel(), which is set but not used

13 years agoUse proper timeout parameter to jiffies conversion
Jozsef Kadlecsik [Fri, 20 May 2011 07:53:39 +0000 (09:53 +0200)]
Use proper timeout parameter to jiffies conversion

13 years agoRemove outdated checking of IPv6 support from configure.ac
Jozsef Kadlecsik [Tue, 17 May 2011 17:28:10 +0000 (19:28 +0200)]
Remove outdated checking of IPv6 support from configure.ac

ipset can be compiled without IPv6 support since 6.0, however
the outdated checking in configure.ac made it not possible.
(reported by Denys Fedoryshchenko)

13 years agoipset 6.5 released v6.5
Jozsef Kadlecsik [Sun, 15 May 2011 13:34:04 +0000 (15:34 +0200)]
ipset 6.5 released

13 years agoSupport range for IPv4 at adding/deleting elements for hash:*net* types
Jozsef Kadlecsik [Sun, 15 May 2011 10:04:19 +0000 (12:04 +0200)]
Support range for IPv4 at adding/deleting elements for hash:*net* types

The range internally is converted to the network(s) equal to the range.
Example:

# ipset new test hash:net
# ipset add test 10.2.0.0-10.2.1.12
# ipset list test
Name: test
Type: hash:net
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 16888
References: 0
Members:
10.2.1.12
10.2.1.0/29
10.2.0.0/24
10.2.1.8/30

13 years agoDisable type revisions which are not supported both by the kernel and ipset
Jozsef Kadlecsik [Fri, 13 May 2011 21:47:56 +0000 (23:47 +0200)]
Disable type revisions which are not supported both by the kernel and ipset

13 years agoUpdate ipset help text to reflect SCTP and UDPLITE support
Jozsef Kadlecsik [Thu, 12 May 2011 15:12:54 +0000 (17:12 +0200)]
Update ipset help text to reflect SCTP and UDPLITE support

13 years agoSet type support with multiple revisions added
Jozsef Kadlecsik [Wed, 11 May 2011 15:29:21 +0000 (17:29 +0200)]
Set type support with multiple revisions added

A set type may have multiple revisions, for example when syntax is extended.
Support continuous revision ranges in set types.

13 years agoFix adding ranges to hash types
Jozsef Kadlecsik [Fri, 6 May 2011 20:08:09 +0000 (22:08 +0200)]
Fix adding ranges to hash types

When ranges are added to hash types, the elements may trigger rehashing the set.
However, the last successfully added element was not kept track so the adding
started again with the first element after the rehashing. Bug reported by Mr Dash Four.

13 years agoIgnore -n flag (list just setnames) when sets are to be saved
Jozsef Kadlecsik [Fri, 6 May 2011 20:05:10 +0000 (22:05 +0200)]
Ignore -n flag (list just setnames) when sets are to be saved

13 years agoipset 6.4 released v6.4
Jozsef Kadlecsik [Tue, 19 Apr 2011 11:43:29 +0000 (13:43 +0200)]
ipset 6.4 released

13 years agoGet rid of the trailing empty line at listing sets.
Jozsef Kadlecsik [Tue, 19 Apr 2011 10:25:38 +0000 (12:25 +0200)]
Get rid of the trailing empty line at listing sets.

Also, remove the empty "members" section when listing
just the set headers.

Testsuite is updated to reflect the changes in the output.

13 years agoFix XML listing, remove broken unused "elements" tag
Jozsef Kadlecsik [Mon, 18 Apr 2011 15:35:10 +0000 (17:35 +0200)]
Fix XML listing, remove broken unused "elements" tag

13 years agoSupport listing setnames and headers too
Jozsef Kadlecsik [Mon, 18 Apr 2011 15:32:25 +0000 (17:32 +0200)]
Support listing setnames and headers too

Current listing makes possible to list sets with full content only.
The patch adds support partial listings, i.e. listing just
the existing setnames or listing set headers, without set members.

13 years agoFix order of listing of sets
Jozsef Kadlecsik [Mon, 18 Apr 2011 11:19:59 +0000 (13:19 +0200)]
Fix order of listing of sets

A restoreable saving of sets requires that list:set type of sets
come last and the code part which should have taken into account
the ordering was broken. The patch fixes the listing order.

Testsuite entry added which checks the listing order.

13 years agoOptions and flags support added to the kernel API
Jozsef Kadlecsik [Mon, 18 Apr 2011 10:53:25 +0000 (12:53 +0200)]
Options and flags support added to the kernel API

The support makes possible to specify the timeout value for
the SET target and a flag to reset the timeout for already existing
entries.

13 years agoSorting is dependent on the locale settings, use LC_ALL=C
Jozsef Kadlecsik [Mon, 11 Apr 2011 08:37:08 +0000 (10:37 +0200)]
Sorting is dependent on the locale settings, use LC_ALL=C

13 years agoUse unified diff output in tests
Jozsef Kadlecsik [Mon, 11 Apr 2011 08:13:16 +0000 (10:13 +0200)]
Use unified diff output in tests

13 years agoipset 6.3 released v6.3
Jozsef Kadlecsik [Sun, 10 Apr 2011 15:26:09 +0000 (17:26 +0200)]
ipset 6.3 released

13 years agoTestsuite checks added
Jozsef Kadlecsik [Sun, 10 Apr 2011 14:22:46 +0000 (16:22 +0200)]
Testsuite checks added

- check iptables match/target extensions with invalid number of
  dir parameters
- check SET target with --del-set option

13 years agoset match and SET target fixes
Jozsef Kadlecsik [Sat, 9 Apr 2011 19:35:02 +0000 (21:35 +0200)]
set match and SET target fixes

The SET target with --del-set did not work due to using wrongly
the internal dimension of --add-set instead of --del-set.
Also, the checkentries did not release the set references when
returned an error. Bugs reported by Lennert Buytenhek.

13 years agoWhitespace fixes: some space before tab slipped in.
Jozsef Kadlecsik [Fri, 8 Apr 2011 14:21:35 +0000 (16:21 +0200)]
Whitespace fixes: some space before tab slipped in.

13 years agobitmap:ip,mac type requires "src" for MAC
Jozsef Kadlecsik [Fri, 8 Apr 2011 14:04:22 +0000 (16:04 +0200)]
bitmap:ip,mac type requires "src" for MAC

Enforce that the second "src/dst" parameter of the set match and SET target
must be "src", because we have access to the source MAC only in the packet.
The previous behaviour, that the type required the second parameter
but actually ignored the value was counter-intuitive and confusing.

Manpage is updated to reflect the change.

13 years agoTestsuite changes: keep temporary files
Jozsef Kadlecsik [Fri, 8 Apr 2011 13:53:02 +0000 (15:53 +0200)]
Testsuite changes: keep temporary files

Keep temporary files in the tests and erase them only after successfully
running the testsuite. This makes simpler to analyze failed tests.

13 years agoipset/Kconfig was a mixed up kernel config file, fixed (Michael Tokarev)
Jozsef Kadlecsik [Tue, 29 Mar 2011 19:21:30 +0000 (21:21 +0200)]
ipset/Kconfig was a mixed up kernel config file, fixed (Michael Tokarev)

13 years agoipset 6.2 released v6.2
Jozsef Kadlecsik [Sun, 27 Mar 2011 19:13:56 +0000 (21:13 +0200)]
ipset 6.2 released

13 years agoManpage update
Jozsef Kadlecsik [Sun, 27 Mar 2011 19:12:45 +0000 (21:12 +0200)]
Manpage update

13 years agoTimeout can be modified for already added elements
Jozsef Kadlecsik [Sun, 27 Mar 2011 19:01:33 +0000 (21:01 +0200)]
Timeout can be modified for already added elements

When an element to a set with timeout added, one can change the timeout
by "readding" the element with the "-exist" flag. That means the timeout
value is reset to the specified one (or to the default from the set
specification if the "timeout n" option is not used). Example

ipset add foo 1.2.3.4 timeout 10
ipset add foo 1.2.3.4 timeout 600 -exist

13 years agoAdd explicit text message to detect patched kernel.
Jozsef Kadlecsik [Sat, 26 Mar 2011 19:19:32 +0000 (20:19 +0100)]
Add explicit text message to detect patched kernel.

13 years agoReferences are protected by rwlock instead of mutex
Jozsef Kadlecsik [Fri, 25 Mar 2011 10:10:29 +0000 (11:10 +0100)]
References are protected by rwlock instead of mutex

The timeout variant of the list:set type must reference the member sets.
However, its garbage collector runs at timer interrupt so the mutex protection
of the references is a no go. Therefore the reference protection
is converted to rwlock.

13 years agolist:set timeout variant fixes
Jozsef Kadlecsik [Wed, 23 Mar 2011 20:10:16 +0000 (21:10 +0100)]
list:set timeout variant fixes

- the timeout value was actually not set
- the garbage collector was broken

The variant is fixed, the tests to the testsuite are added.

13 years agoipset 6.1 released v6.1
Jozsef Kadlecsik [Sat, 19 Mar 2011 10:20:57 +0000 (11:20 +0100)]
ipset 6.1 released

13 years agoFix revision reporting
Jozsef Kadlecsik [Sat, 19 Mar 2011 10:13:20 +0000 (11:13 +0100)]
Fix revision reporting

Revision reporting got broken by the revision checking patch, fixed.

13 years agoSCTP, UDPLITE support added
Jozsef Kadlecsik [Fri, 18 Mar 2011 16:24:50 +0000 (17:24 +0100)]
SCTP, UDPLITE support added

SCTP and UDPLITE port support added to the hash:*port* types.

13 years agoFix checking the revision of the set type at create command
Jozsef Kadlecsik [Fri, 18 Mar 2011 16:23:43 +0000 (17:23 +0100)]
Fix checking the revision of the set type at create command

The revision number was not checked at the create command: if the userspace
sent a valid set type but with not supported revision number, it'd create
a loop.

13 years agoManpage was not installed
Jozsef Kadlecsik [Fri, 18 Mar 2011 16:22:26 +0000 (17:22 +0100)]
Manpage was not installed

Entry to install the manpage was missing from Makefile.am
(reported by Mark A. Ziesemer)

13 years agohash:ip,port* types with IPv4
Jozsef Kadlecsik [Fri, 18 Mar 2011 16:21:20 +0000 (17:21 +0100)]
hash:ip,port* types with IPv4

The hash:ip,port* types with IPv4 silently ignored when address ranges
with non TCP/UDP were added/deleted from the set and the first address from
the range was only used.

13 years agonetfilter:ipset: fix the compile warning in ip_set_create
Shan Wei [Fri, 4 Mar 2011 07:34:35 +0000 (15:34 +0800)]
netfilter:ipset: fix the compile warning in ip_set_create

net/netfilter/ipset/ip_set_core.c:615: warning: ?clash? may be used uninitialized in this function

Signed-off-by: shanw <shanw@shanw-desktop.(none)>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
13 years agoipset 6.0 released v6.0
Jozsef Kadlecsik [Thu, 3 Feb 2011 12:40:23 +0000 (13:40 +0100)]
ipset 6.0 released

13 years agoPrint protocol version together with ipset version
Jozsef Kadlecsik [Thu, 3 Feb 2011 12:05:22 +0000 (13:05 +0100)]
Print protocol version together with ipset version

13 years agoReorganized kernel/ subdir
Jozsef Kadlecsik [Thu, 3 Feb 2011 10:44:27 +0000 (11:44 +0100)]
Reorganized kernel/ subdir

The kernel/ subdirectory is reorganized to follow the kernel directory
structure.

13 years agonetfilter: ipset: fix linking with CONFIG_IPV6=n
Patrick McHardy [Thu, 3 Feb 2011 09:27:49 +0000 (10:27 +0100)]
netfilter: ipset: fix linking with CONFIG_IPV6=n

Add some #ifdefs to unconditionally return false in
ip_set_get_ip6_port() when CONFIG_IPV6=n and convert
to ipv6_skip_exthdr() to avoid pulling in the ip6_tables
module when loading ipset.

Signed-off-by: Patrick McHardy <kaber@trash.net>
13 years agonetfilter: ipset: send error message manually
Jozsef Kadlecsik [Wed, 2 Feb 2011 19:43:18 +0000 (20:43 +0100)]
netfilter: ipset: send error message manually

When a message carries multiple commands and one of them triggers
an error, we have to report to the userspace which one was that.
The line number of the command plays this role and there's an attribute
reserved in the header part of the message to be filled out with the error
line number. In order not to modify the original message received from
the userspace, we construct a new, complete netlink error message and
modifies the attribute there, then send it.
Netlink is notified not to send its ACK/error message.

13 years agonetfilter: ipset: add missing break statemtns in ip_set_get_ip_port()
Patrick McHardy [Wed, 2 Feb 2011 19:40:12 +0000 (20:40 +0100)]
netfilter: ipset: add missing break statemtns in ip_set_get_ip_port()

Don't fall through in the switch statement, otherwise IPv4 headers
are incorrectly parsed again as IPv6 and the return value will always
be 'false'.

Signed-off-by: Patrick McHardy <kaber@trash.net>
13 years agonetfilter: ipset: add missing include to xt_set.h
Patrick McHardy [Tue, 1 Feb 2011 19:55:58 +0000 (20:55 +0100)]
netfilter: ipset: add missing include to xt_set.h

Signed-off-by: Patrick McHardy <kaber@trash.net>
13 years agonetfilter: ipset: remove unnecessary includes
Patrick McHardy [Tue, 1 Feb 2011 19:53:53 +0000 (20:53 +0100)]
netfilter: ipset: remove unnecessary includes

None of the set types need uaccess.h since this is handled centrally
in ip_set_core. Most set types additionally don't need bitops.h and
spinlock.h since they use neither. tcp.h is only needed by those
using before(), udp.h is not needed at all.

Signed-off-by: Patrick McHardy <kaber@trash.net>
13 years agonetfilter: ipset: use nla_parse_nested()
Patrick McHardy [Tue, 1 Feb 2011 19:51:56 +0000 (20:51 +0100)]
netfilter: ipset: use nla_parse_nested()

Replace calls of the form:

nla_parse(tb, ATTR_MAX, nla_data(attr), nla_len(attr), policy)

by:

nla_parse_nested(tb, ATTR_MAX, attr, policy)

Signed-off-by: Patrick McHardy <kaber@trash.net>
13 years agoTestsuite compatibility with debugging enabled
Jozsef Kadlecsik [Tue, 1 Feb 2011 19:37:42 +0000 (20:37 +0100)]
Testsuite compatibility with debugging enabled

The error line checking would fail when debugging is enabled
(and spit out junk lines), fixed.

13 years agoAllow "new" as a commad alias to "create"
Jozsef Kadlecsik [Tue, 1 Feb 2011 19:35:33 +0000 (20:35 +0100)]
Allow "new" as a commad alias to "create"

It's too easy to mistype "n" to "new", so just allow it.

13 years agoipset: improve command argument parsing
Holger Eitzenberger [Tue, 1 Feb 2011 17:13:10 +0000 (18:13 +0100)]
ipset: improve command argument parsing

The number of comparisons for a matching a command name can be
made smaller by just checking on argv[1].

As an example consider the following 'create' arguments 'hashsize',
'family' and 'timeout'.  When having the command

 create foo hash:ip timeout 60 family inet hashsize 64

it compares without this patch:

 strcmp("timeout", "hashsize")
 strcmp("64", "hashsize")
 strcmp("family", "hashsize")
 strcmp("inet", "hashsize")
 strcmp("hashsize", "hashsize")

It is worse in practice, as 'create' has more arguments than this.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
13 years agoipset: avoid the unnecessary argv[] loop
Holger Eitzenberger [Mon, 24 Jan 2011 21:36:35 +0000 (22:36 +0100)]
ipset: avoid the unnecessary argv[] loop

After stripping off the global options there simply has to follow
a command name, there is no other syntax possible.  Therefore the
argv[] loop is unnecessary.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
13 years agoipset: pass ipset_arg argument pointer
Holger Eitzenberger [Tue, 1 Feb 2011 16:30:57 +0000 (17:30 +0100)]
ipset: pass ipset_arg argument pointer

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
13 years agoSeparate ipset errnos completely from system ones and bump protocol version.
Jozsef Kadlecsik [Mon, 31 Jan 2011 22:32:51 +0000 (23:32 +0100)]
Separate ipset errnos completely from system ones and bump protocol version.