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.

SiLK IPset Release 3.18.0, 2018-Dec-13

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.

SiLK IPset Release 3.17.0, 2018-Apr-19

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.

SiLK IPset Release 3.16.1, 2018-Feb-15

Downloads

(SHA256=c89b04f869c9123d117614ff7ed79f00b3c8ee997a8ccdc268f95f33cfb58d64)

Notes

  • rwsetcat
    • Print an error message when rwsetcat is unable to read an IPset.

SiLK IPset Release 3.16.0, 2017-Jun-29

Downloads

(SHA256=79600c0757e008d7da5a8c467c76acb0797fc0ef418b9aea349dd0bd4dd8ef00)

Notes

  • libskipset changes
    • Internal changes
  • rwsetbuild, rwsetcat, rwsetmember, rwsettool
    • Enhance the manual pages.

SiLK IPset Release 3.15.0, 2017-Mar-25

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.

SiLK IPset Release 3.14.0, 2016-Nov-17

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.

SiLK IPset Release 3.13.0.1, 2016-Nov-11

Notes

  • Building
    • Add a missing file required by developers when running autoconf.

SiLK IPset Release 3.13.0, 2016-Sep-29

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.

SiLK IPset Release 3.12.0, 2016-Mar-31

Notes

  • libskipset
    • Fix a bug in the code that copies an memory-mapped IPset prior to modifying it.

SiLK IPset Release 3.11.0, 2015-Sep-30

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.

SiLK IPset Release 3.10.2, 2015-May-21

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'.

SiLK IPset Release 3.10.0, 2014-Dec-18

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.

SiLK IPset Release 3.9.0, 2014-Sep-25

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.

SiLK IPset Release 3.8.2, 2014-Apr-24

Notes

  • libskipset bug fix
    • Fix an assertion that may cause the application to abort.
  • Building
    • Fix small bugs in the silk-ipset.spec file.

SiLK IPset Release 3.8.1, 2014-Jan-30

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.

SiLK IPset Release 3.7.2, 2013-Aug-15

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.

SiLK IPset Release 3.7.1, 2013-Jun-21

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.

SiLK IPset Release 3.7.0, 2013-May-30

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.

SiLK IPset Release 3.6.0, 2013-Apr-11

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.

SiLK IPset Release 3.5.1, 2012-Dec-20

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.

SiLK IPset Release 3.4.0, 2012-Sep-13

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.

SiLK IPset Release 3.3.2, 2012-Jul-12

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.

SiLK IPset Release 3.3.0, 2012-Jun-14

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.

SiLK IPset Release 3.2.1, 2012-Apr-26

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.

SiLK IPset Release 3.1.0, 2012-Feb-15

Notes

  • First release of SiLK IPset as a package independent of SiLK.
  • This release corresponds to SiLK-3.1.0.