libtrace4 (4.0.28-1) unstable; urgency=medium

  * libpacketdump: add decoding support for ETSI CC payloads that
    contain TCP, UDP, or RTP payloads.

 -- Shane Alcock <shane@alcock.co.nz>  Mon, 17 Feb 2025 11:53:49 +1300

libtrace4 (4.0.27-1) unstable; urgency=medium

  * Added new API methods: trace_get_uri_format() and trace_get_uri_body().
  * etsilive: added ability to have keepalive messages be returned by
    packet read functions by setting the environment variable
    LIBTRACE_ETSILI_SHOW_KEEPALIVE.
  * ndagtcp: fix uninitialised address size when accepting connections
  * ndagtcp: fix packet reassembly bug that would occasionally result in
    malformed packets.
  * ndag / ndagtcp: set libtrace error state when a received packet is
    unable to be parsed due to invalid header content.
  * Fixed parsing bug in trace_set_configuration() that affected
    configuration strings that ended in a ']' character.
  * ndagtcp: fixed bug where the beacon thread would be started for
    ndagtcp inputs that were started after a previous ndagtcp input had
    been paused or destroyed.

 -- Shane Alcock <shane@alcock.co.nz>  Tue, 4 Feb 2025 11:47:28 +1300

libtrace4 (4.0.26-1) unstable; urgency=medium

  * pcapfile: fix loss of nanosecond timestamp resolution when
    writing to a pcapfile output.
  * ndag: fix very minor memory leak.

 -- Shane Alcock <shane@alcock.co.nz>  Wed, 20 Jun 2024 09:06:48 +1200

libtrace4 (4.0.25-1) unstable; urgency=medium

  * ndag: fix issue where the most recently received packets may not
    be delivered to libtrace if the multicast source stops sending.

 -- Shane Alcock <shane@alcock.co.nz>  Thu, 9 May 2024 10:16:36 +1200

libtrace4 (4.0.24-1) unstable; urgency=medium

  * ndagtcp: fix miscalculation of ERF header length that would
    prevent packets from being able to be decoded correctly.
  * traceucast: do not exit if the client disconnects, instead try to
    reconnect and resume unicasting.
  * traceucast: fix memory errors when attempting to send a captured
    packet that is larger than 10K bytes.
  * ndagtcp: fix issue that would cause input to silently stop reading
    if it received a packet larger than 10K bytes.
  * ndagtcp: fix lock-up that occurred when trying to halt a program
    that was reading from an ndagtcp input.
  * ndagtcp: fix erroneous "Malformed beacon" message when an ndagtcp
    input reconnects to traceucast.
  * traceucast: fix getaddrinfo memory leak.
  * traceucast: fix endless reconnection loop bug.
  * traceucast: fix race condition that would prevent Ctrl-C from
    halting traceucast properly.

 -- Shane Alcock <shane@alcock.co.nz>  Wed, 24 Jan 2024 13:43:51 +1300

libtrace4 (4.0.23-1) unstable; urgency=medium

  * Add new tool: traceucast, a TCP unicast variant of tracemcast.
  * Add new input format: ndagtcp, for receiving packets sent by
    traceucast.
  * libpacketdump: fix premature free when decoding IPMM IRIs
    received via an etsilive input.
  * tracemcast: fix bug where the sequence number was not being
    incremented for each sent datagram.
  * object cache data structure: fix potential segfault after
    resizing the cache.
  * pcapfile: fix issue where packets owned by "dead" pcapfile trace
    would have an invalid pcap version.

 -- Shane Alcock <shane@alcock.co.nz>  Fri, 10 Nov 2023 09:40:41 +1300

libtrace4 (4.0.22-1) unstable; urgency=medium

  * Fix segmentation fault when closing an ndag input that had
    set a hasher function and was configured to use multiple
    processing threads.
  * Disable setting a hasher function on ndag inputs, as this
    is not generally a good idea anyway (ndag inputs are already
    hashed by the ndag sender).
  * Fix problem where trace_write_packet() would throw an error on
    ring outputs because a write could not be completed without
    blocking and there was no mechanism for trying the write again
    later.

 -- Shane Alcock <shane@alcock.co.nz>  Wed, 14 Jun 2023 17:48:08 +1200

libtrace4 (4.0.21-1) unstable; urgency=medium

  * Fixed issue where idle per packets threads would use 100% CPU
    constantly.
  * Added new supported file format: etsifile -- to read and write binary
    files containing ASN.1 encoded ETSI LI intercept records.
  * Fix numerous build issues on Mac OS X caused by changes in the BPF
    headers.
  * Fix bug where packets returned by trace_event() for certain live
    formats would not work with subsequent API calls.
  * Fix problems with compiling XDP support on more recent buildchains.

 -- Shane Alcock <shane@alcock.co.nz>  Wed, 10 May 2023 18:28:13 +1200

libtrace4 (4.0.20-1) unstable; urgency=medium

  * Updated XDP module to be able to build against recent libxdp
  * Updated libpacketdump to be able to decode ETSI LI email CCs and IRIs

 -- Shane Alcock <shane@alcock.co.nz>  Mon, 07 Nov 2022 11:09:47 +1300

libtrace4 (4.0.19-1) unstable; urgency=medium

  * Fixed issues with compiling against DPDK 21.11
  * Incorporate build system fixes from Gentoo

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Mon, 13 Jun 2022 11:17:29 +1200

libtrace4 (4.0.18-1) unstable; urgency=medium

  * Packets received via `etsilive:` can now be converted to pcap format.
  * traceanon no longer encrypts the Framed-IP-Netmask, Acct-Session-Id and
    Acct-Authentic RADIUS AVPs.
  * traceanon now encrypts the NAS-Port-ID and Chargeable-User-Identity AVPs
    using ASCII characters only.
  * Rename internal method pfring_get_link_type to avoid name collision with
    newer pfring releases.
  * Fixed various threading locking bugs reported by Ryan Cai.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Thu, 03 Feb 2022 15:30:41 +1300

libtrace4 (4.0.17-1) unstable; urgency=medium

  * Added support for PF_RING zero-copy -- this is now the official libtrace `pfring:` format, and the original non-zero-copy version is now available via `pfringold:`.
  * PF_RING formats now default to promiscuous capture mode, which is consistent with other live formats.
  * Fixed incorrect statistics counters for PF_RING formats.
  * Fixed various libpacketdump crashes or infinite loops when presented with bogus packet content.
  * Fixed bug where `pfringold:` was not setting the `order` field for packets.
  * Fixed bug where writing packets to a virtual interface via `ring:` would cause libtrace to hang.
  * Fixed bug where DPDK port stats could not be reset if using Napatech DPDK.
  * Fixed race condition in the `etsilive:` format.
  * Fixed various memory errors and leaks in the `etsilive:` format.
  * Fixed race condition in `tracertstats` when processing a user interrupt.
  * Improved capture speed for `pfringold:`.
  * `ring:` format now supports `trace_flush_output()` method.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Fri, 9 Jul 2021 14:09:06 +1200

libtrace4 (4.0.16-2) UNRELEASED; urgency=medium

  * Trim trailing whitespace.
  * Use secure URI in Homepage field.
  * Bump debhelper from deprecated 9 to 12.
  * Set debhelper-compat version in Build-Depends.
  * Fix day-of-week for changelog entry 4.0.0-1.
  * Remove Section on libtrace4, Section on libpacketdump4 that duplicate
    source.
  * Avoid explicitly specifying -Wl,--as-needed linker flag.

 -- Perry Lorier <perry@windy.meta.net.nz>  Sun, 18 Jul 2021 15:51:11 -0000

libtrace4 (4.0.16-1) unstable; urgency=medium

  * Add support for PF_RING.
  * Add ability to prepend input configuration options to a libtrace URI.
  * Add new API function: trace_hold_packet() to allow users to safely
    retain a reference to a packet for later use.
  * Add new API function: trace_set_coremap() to bind per-packet threads to
    specific CPU cores.
  * Fixed bad packet header structure layouts for ATM headers and 802.1q
    headers.
  * Fixed various bugs in the XDP capture format.
  * DAG transmit functionality should now work correctly.
  * tracertstats will now process trace files at full speed rather than
    try to replicate the original trace timing.
  * XDP will now try to perform packet hashing on the NIC.
  * Improved receive speed for Linux native capture formats.
  * Add ability to run a libtrace program against multiple DPDK inputs.
  * Add support for Mellanox DPDK libraries.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Wed, 17 Mar 2021 11:31:29 +1300

libtrace4 (4.0.15-1) unstable; urgency=medium

  * Fix bug where reading pcapng trace files would produce endless
    "NULL meta passed into trace_get_payload_from_meta()" errors.
  * Fix bug in libpacketdump which would cause packets captured
    using SLL to be truncated by 16 bytes.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Wed, 28 Oct 2020 16:28:08 +1300

libtrace4 (4.0.14-2) unstable; urgency=medium

  * Force libwandder2 as a dependency over libwandder1, to ensure
    consistency with upcoming OpenLI release.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Fri, 04 Sep 2020 15:59:19 +1200

libtrace4 (4.0.14-1) unstable; urgency=medium

  * New upstream release.
  * Add read and write support for AF_XDP (xdp:). Users may run the provided
    eBPF program or write their own custom one.
  * Add basic API for parsing RADIUS messages: trace_get_radius(),
      trace_get_radius_avp(), trace_get_radius_username().
  * tracediff can now write differing packets to libtrace outputs, rather
    than just dumping them to the terminal.
  * Updated tracediff to be able to "look ahead" to see if packets can be
    matched rather than just directly comparing packets in the same position.
  * Added option to tracereplay to control transmit packet batch size.
  * Fixed bug in traceends that was produced invalid byte counter values.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Thu, 06 Aug 2020 17:04:38 +1200

libtrace4 (4.0.13-1) unstable; urgency=medium

  * New upstream release.
  * Add support for DPDK vdevs (both input and output).
  * Update DPDK support to work with 19.11 and 20.02 releases.
  * Fix a number of minor bugs with the DPDK format.
  * tracereplay can now replay traces containing raw IP traffic.
  * Fix libpacketdump segfault when processing corrupt/bogus headers.
  * Fix bugs when using a dedicated hasher thread with a parallel input.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Tue, 26 May 2020 16:39:54 +1200

libtrace4 (4.0.12-1) unstable; urgency=medium

  * New upstream release.
  * Added new tool: tracemcast.
  * Added support for corsaro-tagged packets received via nDAG multicast.
  * Improved performance of multiple calls to trace_get_wire_length() on
    the same packet.
  * Fix truncation bug when a packet has a longer capture length than
    wire length due to the addition of post-capture meta-data.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Fri, 27 Mar 2020 13:50:11 +1300

libtrace4 (4.0.11-1) unstable; urgency=medium

  * New upstream release.
  * Fix bug where trace_apply_filter() would not work correctly with a
    parallel trace input.
  * Fix bug where non-parallel ETSI programs would fail to halt nicely.
  * Fix libpacketdump being unable to decode Ethernet within MPLS properly.
  * Fix libtrace (trace_get_layer3()) being unable to decode Ethernet
    within MPLS properly.
  * tracereplay now strips VLAN and MPLS headers before trying to replay a
    packet from a trace file.
  * Fix bug where the simple circular buffer would leak shared memory files.
  * Fix segfault when using trace_apply_filter() on a packet which came from
    an input trace that is now "closed".
  * Fix bug where libtrace could try to flush a NULL pcap file handle.
  * debian-specific: fix missing dependency on libpacketdump4 for
    libtrace4-tools.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Thu, 13 Feb 2020 15:09:44 +1300

libtrace4 (4.0.10-1) unstable; urgency=medium

  * New upstream release.
  * Fix "SIOCGSTAMP undeclared" error when building against newer Linux kernels.
  * Fix corruption bug when running multiple etsilive: input processes.
  * Add new API function trace_get_errstr(), which provides error message
    strings for a given libtrace error number.
  * Increased TTL for nDAG multicast join messages to 4.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Wed, 6 Nov 2019 13:37:51 +1300

libtrace4 (4.0.9-1) unstable; urgency=medium

  * New upstream release.
  * Update DPDK code to work with newer DPDK releases (18.11 especially).
  * Fix segfault when a DAG device fails to open.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Mon, 15 Jul 2019 16:34:34 +1200

libtrace4 (4.0.8-1) unstable; urgency=medium

  * New upstream release.
  * Added ability to anonymise RADIUS traffic to traceanon.
  * traceanon now uses YAML configuration file instead of CLI arguments.
  * Fixed bug where ndag multicast would bind to all addresses, not
    just the address of the group it had subscribed to.
  * Fixed segfault when calling trace_ppause() before per packet threads
    have been created.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Mon, 01 Jul 2019 11:37:38 +1200

libtrace4 (4.0.7-1) unstable; urgency=medium

  * New upstream release.
  * Added new API for exploring in-stream meta-data records.
  * Added new API for inspecting subsequent layer-2 headers.
  * Added support for reading and writing TZSP sniffing streams.

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Thu, 02 May 2019 16:31:15 +1200

libtrace4 (4.0.6-2) unstable; urgency=low

  * Fix bad dpdk dependencies in libtrace4 package

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Wed, 16 Jan 2019 16:49:04 +1300

libtrace4 (4.0.6-1) unstable; urgency=low

  * New upstream release

 -- Shane Alcock <shane.alcock@waikato.ac.nz>  Tue, 15 Jan 2019 11:50:06 +1300

libtrace4 (4.0.0-1) unstable; urgency=medium

  * New upstream release

 -- Brad Cowie <brad@wand.net.nz>  Mon, 07 Mar 2016 10:24:40 +1300
