The SiLK IPset distribution contains a subset of the tools in the SiLK
distribution. There is no need to install both SiLK IPset and
SiLK.
A SiLK IPset distribution is created only when there is a new SiLK release
that impacts the IPset utilities or library.
Downloads
(SHA256=703a67c201f5d8e4f2a69a7e540bc458548ac102511721667abfe7ac5906a175)
Notes
-
rwsetcat
-
When --ip-format includes zero-padded and CIDR prefixes are being
printed, also apply zero-padding to the prefix.
-
Fix a bug when using --ip-format=decimal,zero-padded that caused
an extra leading 0 to appear for IPv6 addresses.
-
libskipset changes
-
Add function skipaddrCidrString() to get a string representation
of an IP address and its CIDR designation.
-
Add function skipaddrCidrStringMaxlen() to compute column width.
-
Add macro SKIPADDR_CIDR_STRLEN for defining minimum buffer size.
Downloads
(SHA256=24bc76f5451772b2824f0000dfaec9e97067a763786c078ef6ffde5a7f382057)
Notes
-
rwsetcat
-
POTENTIAL INCOMPATIBILITY. Default to using the IPv4 format for
IPv6-addresses in the ::ffff:0:0/96 netblock.
-
Add new values to the --ip-format switch and change how some
values (zero-padded) work.
-
libskipset changes
-
Add new values to skipaddr_flags_t.
-
Add function skipaddrStringMaxlen() to compute column width.
-
Mark the num2dot0() and num2dot0_r() functions as deprecated.
-
Do not export the structures used by SiLK header entries.
Downloads
(SHA256=c89b04f869c9123d117614ff7ed79f00b3c8ee997a8ccdc268f95f33cfb58d64)
Notes
-
rwsetcat
-
Print an error message when rwsetcat is unable to read an IPset.
Downloads
(SHA256=79600c0757e008d7da5a8c467c76acb0797fc0ef418b9aea349dd0bd4dd8ef00)
Notes
-
libskipset changes
-
rwsetbuild, rwsetcat, rwsetmember, rwsettool
-
Enhance the manual pages.
Notes
-
libskipset changes
-
Add a second argument to skOptionsIPFormatRegister().
-
Remove functions that operate on an IPset Header Entry.
-
Fix a potential bug in skIPSetWrite() by ensuring that the IPset
file's header is set to use native byte order.
-
rwsetcat
-
Add the --output-path switch to specify the output file.
-
Do not use the the pager when the output contains only the count
of the number of IPs in a singe IPset.
Notes
-
libskipset changes
-
Add a new file format, record-version=5, for IPsets that contain
IPv6 addresses.
-
Fix a bug when working with IPsets that contain IPv6 addresses
and have more than 44,739,242 internal nodes. The bug may cause
the tool to crash or to loop endlessly.
-
Reduce how quickly memory grows when building an IPset that
contains IPv6 addresses.
-
Perform additional integrity checks when reading an IPset file
from disk.
-
Add support for printing a more detailed error message when
attempting to read an IPset file. The message is printed when
the SILK_IPSET_PRINT_READ_ERROR environment variable is set.
-
rwsetbuild
-
Fix a bug introduced in SiLK IPset-3.11.0 that may occur when
computing the intersection or difference of an IPv4 IPset with an
IPv6 IPset that is in record-version=4 format. Addresses in the
::ffff:0:0/96 netblock of the IPv6 IPset were ignored when the
IPset contained clusters of addresses less then ::ffff:0:0.
-
rwsetcat
-
Add support for counting the IP addresses in an IPset without
loading the IPset into memory.
-
Fix a bug where a completely full IPv6 IPset would report it
contained 0 IPs.
-
Building
-
Add a configure switch, --enable-ipset-compatibility, that allows
changing the default IPset file format written by the tools. The
argument is the version of SiLK IPset with which IPsets are to be
compatible. New file formats were added at 3.7.0 and 3.14.0.
Notes
-
Building
-
Add a missing file required by developers when running autoconf.
Notes
-
Change across all tools
-
Add support for compressing files with "Snappy" compression when
the Snappy library and header are found during configuration.
-
Add support for the SILK_COMPRESSION_METHOD environment variable
that provides a default value for the --compression-method switch.
-
rwsettool
-
Add a --symmetric-difference switch to compute the set of IP
addresses that occur in only one of two input IPsets.
-
Add more examples to the manual page.
-
rwsetcat
-
Add many more examples to the manual page.
-
libskipset
-
Rename functions sksiteCompmethod...() to skCompMethod...().
-
Rename functions sksiteFileformat...() to skFileFormat...().
-
Remove some skHeader...() functions from the public headers.
Notes
-
libskipset
-
Fix a bug in the code that copies an memory-mapped IPset prior to
modifying it.
Notes
-
libskipset
-
Add functions to process an IPset without reading it into memory.
-
Change definition of skipset_iterator_t.
-
Change some skIPTree* APIs from macros to functions and vice
versa.
-
Fix a bug in skIPSetIteratorNext() and skIPSetWalk() when
visiting the individual IPs of an IPv6 IPset and numeric prefix
of the current leaf is 64 or less.
-
Additional changes.
-
rwsetcat
-
Add support for the SILK_IP_FORMAT environment variable that
provides a default value for the --ip-format switch.
-
Allowing printing of IPset contents without reading the IPset
into memory.
-
rwsettool
-
Avoid reading an IPset into memory when possible.
-
rwsetbuild
-
Print an error and exit when the --ip-ranges delimiter is set to
the comment character('#'), newline, or the empty string.
Notes
-
libskipset
-
Change skipaddrString() when flags is SKIPADDR_FORCE_IPV6 so that
a single 16-bit 0 field is not shortened (RFC5952).
-
rwsetcat
-
Change the printing of IPs when the --ip-format is 'force-ipv6'
so that a single 16-bit 0 field is not shortened (RFC5952).
-
Fix a bug in the output of --network-structure when reading an
IPv4 IPset file and the --ip-format was 'force-ipv6' where the
net block prefix was not adjusted for the move into IPv6.
-
Fix a bug in the output of --network-structure=v4:... when
reading an IPv6 IPset file that produced net blocks counts that
were incorrect and sometimes impossibly large.
-
Fix a display bug of a narrow IP column when processing an IPv4
IPset file and the --ip-format was 'force-ipv6'.
Notes
-
libskipset bug fixes
-
Fix a bug in skIPTreeCheckIntersectIPWildcard() where
intersections with CIDR blocks sized /17 to /26 are not found.
This bug could affect rwsetmember when the --count switch is not
given causing it to report false instead of true.
-
Fix a potential read of uninitialized memory in
skIPTreeCIDRBlockIteratorReset(). The read could occur after
removing IPs such that a /16 becomes empty.
-
Building
-
Add a --disable-applications switch to configure to disable
building of the command lines tools so only the SiLK IPset
library is built and installed.
-
Do not build the static library libskipset.a by default. Specify
the --enable-static switch to configure for static libraries.
-
Require at least autoconf-2.64 and automake-1.12 to rebuild the
configure script and Makefile.in files.
Notes
-
libskipset bug fix
-
Fix a bug where the IPv6 wildcard "x:x:x:x:x:x:x:x" was being
treated as the single IP "::" instead of as all of IPv6 space in
skIPSetInsertIPWildcard() and skIPSetCheckIPWildcard(). This
change affects the rwsetbuild and rwsetmember tools.
-
rwsetmember
-
Improve performance when the --count switch is not specified.
-
rwsettool
-
Improve performance in the --mask and --intersect operations.
-
Fix a bug where rwsettool would report an error and not produce
output when using the --sample switch with an IPv6 IPset.
Notes
-
libskipset bug fix
-
Fix an assertion that may cause the application to abort.
-
Building
-
Fix small bugs in the silk-ipset.spec file.
Notes
-
libskipset bug fix
-
Change parsing of (textual) IPv6 address to be more strict (e.g.,
fix a bug that treated embedded whitespace as a colon).
-
Fix a potential memory leak when intersecting IPsets.
Notes
-
libskipset bug fix
-
Fix bugs when computing the union or intersection of an
IPv4-IPset and an IPv6-IPset that contains only IPv4 addresses.
Notes
-
rwsetcat change
-
Do a better job of reporting errors caused by problems reading
IPset files.
-
rwsetmember change
-
Do a better job of reporting errors caused by problems reading
IPset files.
-
Building
-
Fix a small issue in the silk-ipset.spec file when the dist RPM
macro was not defined.
Notes
-
libskipset changes
-
Add a new file format for IPsets that requires less disk at the
cost of slower start-up time. The format must be explicitly
requested using --record-version=4.
-
Improve the efficiency of the CIDR-block iterator for some
in-core representations of IPsets.
-
Do a better job of reporting errors caused by problems reading or
writing IPset files.
-
rwsetbuild, rwsettool changes
-
Add support for the SILK_IPSET_RECORD_VERSION environment
variable that, when set, is used as the default value for the
--record-version switch.
-
rwsetcat changes
-
Allow the --network-structure switch to work on IPsets that
contain IPv6 addresses.
-
When the --network-structure switch includes 'T' in its argument,
print the total even when the IPset is empty.
-
Add a new --ip-format switch that determines how IP addresses are
printed. The --integer-ips and --zero-pad-ips switches are
deprecated.
-
Have --count-ips return the exact count of IPs for IPsets
containing IPv6 addresses. Previously the returned value could
be less than the exact count due to lack of precision.
Notes
-
libskipset changes
-
Change the library to use the SiLK-2.x representation of IPsets
when the IPset contains only IPv4 addresses.
-
Continue to use the SiLK-3.x representation for IPsets containing
IPv6 addresses.
-
rwsetbuild, rwsettool changes
-
Change the tools that write IPsets to use the SiLK-2.x format for
IPv4 IPsets and the SiLK-3.x representation for IPv6 IPsets.
-
Add '0' as an argument to --record-version meaning 'default',
which is the SiLK-2.x file format for IPv4-only IPsets and the
SiLK-3.x format for IPsets containing IPv6 addresses.
-
Accept '3' an an argument to --record-version to force writing an
IPv4 IPset in the SiLK-3.x format.
-
Building changes
-
Remove the --disable-silk3-ipsets switch from configure.
Notes
-
libskipset bug fixes
-
Fix a bug that made it impossible to save very large IPset files.
-
Fix a bug in LZO decompression on 32 bit platforms that could
cause memory corruption.
Notes
-
rwsetcat change
-
Print the IPset file name when either --print-statistics or
--count-ips is used and multiple files appear on command line.
-
Add new switch --print-filenames which can explicitly enable or
suppress printing of the IPset file name.
-
rwsetmember change
-
Process all files specified on the command line despite being
unable to read some files.
-
Building
-
Add new configure switch --disable-silk3-ipsets. When specified,
SiLK IPset is built with the IPset code from in SiLK-2. Use of
this switch may give worse or better performance depending on the
types of IPsets used. Specifying both --disable-silk3-ipsets and
--enable-ipv6 to configure will create tools that know how to
parse IPv6 addresses but will be unable to store them in the
binary IPsets.
Notes
-
libskipset bug fix
-
Fix a bug in the function that performs IPset difference.
The bug could cause rwsettool to create a corrupt IPset file
which is unreadable by other applications.
-
rwsetcat change
-
Modify --print-statistics so output is generated when the IPset
is empty. Previously, no output was generated.
-
rwsettool change
-
Do not copy the invocation history from the input IPset files to
the output IPset file.
Notes
-
libskipset bug fixes and changes
-
Important Bug Fixes.
-
Fix bugs in the functions that perform IPset union, intersect,
and difference operations. These bugs could cause IPset
applications (e.g., rwsettool) to produce incorrect output or to
exit unexpectedly.
-
Modify the skIPSetInterateBind() and skIPSetWalk() functions to
use the ipv6-policy parameter.
Notes
-
rwsettool bug fix
-
Modify rwsettool to exit with status 1 when it is unable to read
any IPset file. Previously, rwsettool when only exit with status
1 when it was unable to read the first IPset file.
-
libskipset change
-
Change the error code returned when a file is compressed with a
library that is not available in this build of SiLK IPset.
Notes
-
First release of SiLK IPset as a package independent of SiLK.
-
This release corresponds to SiLK-3.1.0.