- New main branch - ipset completely rewritten
- nethash and ipportnethash types counted every entry twice
which could produce bogus entries when listing/saving these types
of sets (bug reported by Husnu Demir)
- Do not use init_MUTEX either (Jan Engelhardt)
- Improve listing/saving hash type of sets by not copying empty
entries unnecessarily to userspace.
- Compilation of ip_set_iptree.c fails with kernel 2.6.20 due to
missing include of linux/jiffies.h (Jan Engelhardt)
- Do not use DECLARE_MUTEX (compatibility fix on 2.6.31-rt, Jan
- Flushing iptreemap type of sets caused high ksoftirqd load due to
zeroed out gc parameter (bug reported by Georg Chini)
- New protocol is introduced to handle aligment issues properly
(bug reported by Georg Chini)
- Binding support is removed
- Mixed up formats in ip_set_iptree.c (Rob Sterenborg)
- Don't use 'bool' for backward compatibility reasons (Rob Sterenborg)
- Nonexistent sets were reported as existing sets when testing
from userspace in setlist type of sets (bug reported by Victor A.
- When saving sets, setlist type of sets must come last in order
to satisfy the dependency from the elements (bug reported by Marty B.)
- Sparse insists that the flags argument to kmalloc() is gfp_t
- Correct format specifiers and change %i to %d (Jan Engelhardt)
- Fix the definition of 'bool' for kernels <= 2.6.18 (Jan Engelhardt)
- New kernel-userspace protocol release
- Bigendian and 64/32bit fixes (Stefan Gula, bugzilla id 593)
- Support of 2.4.3.* kernels fixed
- Compiling with debugging enabled fixed
- Use the spinlock initiator instead of setting the locks directly
as it causes compilation errors with 2.6.29-rt (Jan Engelhardt).
- References to the old include file replaced with new one in order to
really use the new Jenkins' hash function.
- The Jenkins' hash lookup2() replaced with Jenkins' faster/better lookup3()
- Bug fixed: after elements are added and deleted from a hash, an element
can successfully be added in spite it's already in the hash and thus
duplicates can occur (Shih-Yi Chen).
- Compatibility with old gcc without 'bool' added.
- Typo which broke compilation with kernels < 2.6.28
fixed (reported by Richard Lucassen, Danny Rawlins)
- Compatibility fix for kernels >= 2.6.28
- setlist type does not work properly together with swapping
sets, bug reported by Thomas Jacob.
- Include linux/capability.h explicitly in ip_set.c (Jan Engelhardt)
- Premature checking prevents to add valid elements to hash
types, fixed (bug reported by JC Janos).
- When flushing a nethash/ipportnethash type of set, it can
lead to a kernel crash due to a wrong type declaration,
bug reported by Krzysztof Oledzki.
- iptree and iptreemap types require the header file linux/timer.h,
also reported by Krzysztof Oledzki.
- Zero-valued element are not accepted by hash type of sets
because we cannot make a difference between a zero-valued
element and not-set element.
- ipportiphash, ipportnethash and setlist types added
- set type modules reworked to avoid code duplication
as much as possible, code unification macros
- expand_macros Makefile target added to help debugging
code unification macros
- ip_set_addip_kernel and ip_set_delip_kernel
changed from void to int, __ip_set_get_byname and
__ip_set_put_byid added for the sake of setlist type
- unnecessary includes removed
- compatibility fix for kernels >= 2.6.27:
semaphore.h was moved from asm/ to linux/ (James King)
- ChangeLog forked for kernel part