PcapPlusPlus v20.08 Release Notes
Release Date: 2020-08-25 // over 3 years ago-
๐ August 2020 release of PcapPlusPlus (v20.08)
๐ฆ This package contains
- Binaries compiled with Ubuntu 20.04 LTS, 18.04 LTS,16.04 LTS
- Binaries compiled with CentOS 7
- Binaries compiled with Fedora 29
- ๐ Binaries compiled with MacOS 10.15 (Catalina) , 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra), and 10.11 (El Capitan) using Xcode ranging from 8.0 to 12.0
- Binaries compiled with FreeBSD 11.3 and 12.1
- ๐ Binaries compiled with Windows using MinGW32 9.2.0 (32bit) and MinGW-w64 8.1.0 (32bit)
- ๐ Binaries compiled with Windows using Microsoft Visual Studio 2019, 2017, 2015 (32bit + 64bit, Debug + Release configurations)
- ๐ง Source code + Linux installation scripts for DPDK, PF_RING and vanilla
- ๐ Full documentation (both PcapPlusPlus web-site and API doxygen documentation) is available here: https://pcapplusplus.github.io/v2008/
๐ Release notes (changes from v19.12)
- ๐ Major security and quality improvements:
- PcapPlusPlus was added to Google OSS-Fuzz which uses the Fuzz testing technique to discover security vulnerabilities and stability bugs (thank you @zlowram !)
- Created a new regression test suite for OSS-Fuzz bugfixes under
Tests/Fuzzers/RegressionTests
(thank you @zlowram !) - Added LGTM integration to enable continuous code analysis and prevent critical vulnerabilities (thank you @alexey-tereshenkov-oxb !)
- More than 60 issues were found by OSS-Fuzz and LGTM and fixed in this release
- Revamped Packet++Test and Pcap++Test: tests are now more structured, divided into multiple files and use common and more intuitive test infrastructure
- Added a new test suite (written in Python) for PcapPlusPlus examples under
Tests/ExamplesTests
- โ Added Npcap support for Windows (in parallel to WinPcap support)
- โ Added DPDK 19.11 (LTS) support
- ๐ New supported protocols:
- BGP v4
- IEEE 802.3 Ethernet
- ๐ New platforms officially supported:
- MacOS Catalina (10.15)
- Ubuntu 20.04
- A complete rewrite of the IP address classes
IPv4Address
,IPv6Address
andIPAddress
to make them more efficient and east to use (thank you @gx740 !) - In addition, new features were added to IP address classes:
- Added "less than" comparison operator (thank you @maruu !)
- Added subnet match for
IPv6Address
(thank you @DinoStray !)
- ๐ Performance optimization, readability improvements and code cleanup in various parts of the code (thank you @maruu and @gx740 !)
- โ Integrated streaming ZStd compression for pcapng files (thank you @Dysl3xik !)
- Pcap/pcapng files:
- Read and write in nanoseconds precision for pcapng files (thank you @Akvinikym !)
- Enable
flush
for pcap and pcapng file writers (thank you @rickyzhang82 and @l-henken !)
- TCP reassembly returns status in every call to
TcpReassembly::reassemblePacket()
(thank you @starliiit !) - โ Added port filter to
HttpAnalyzer
(thank you @makefriend8 !) - ๐ Support for setting snapshot length in
PcapLiveDevice
(thank you @wongsingfo !) GeneralFilter::matchPacketWithFilter()
can now match packet of any link type (thank you @skorup101 !)- โ Added user link types 147-162 to support custom protocols (thank you @l-henken !)
- ๐ Tons of bug fixes (thank you everyone who reported issues and contributed bugfixes!)
Contributors
๐ Thank you for everyone who contributed to this release:
Previous changes from v19.12
-
๐ December 2019 release of PcapPlusPlus (v19.12)
๐ฆ This package contains
- Binaries compiled with Ubuntu 18.04 LTS, 16.04 LTS,14.04 LTS
- Binaries compiled with CentOS 7
- Binaries compiled with Fedora 29
- ๐ Binaries compiled with MacOS 10.11 (El Capitan), 10.12 (Sierra), 10.13 (High Sierra) and 10.14 (Mojave) using Xcode ranging from 7.3 to 11.2
- Binaries compiled with FreeBSD 11.2 and 12.0
- ๐ Binaries compiled with Windows using MinGW32 5.3.0 (32bit) and MinGW-w64 6.3.0 (32bit)
- ๐ Binaries compiled with Windows using Microsoft Visual Studio 2015, 2017, 2019 (32bit + 64bit, Debug + Release configurations)
- Source code
- ๐ง Source code + Linux installation scripts for DPDK, PF_RING and vanilla
- ๐ Full documentation (both PcapPlusPlus web-site and API doxygen documentation) is available here: https://pcapplusplus.github.io/v1912/
๐ Release notes (changes from v19.04)
- โ Added support for Visual Studio 2017 and 2019
- โ Added support for DPDK 19.08 (thanks @gx740 !)
- Major improvements in TCP reassembly (thanks @gx740 !):
- Reducing memory consumption by cleaning up old connections
- A lot of performance and code optimizations
- โ Added out-of-the-box support for MacOS 10.14 Mojave and later
- โ Added support for FreeBSD (thanks @rickyzhang82 !)
- โ Added support for GTP v1 protocol
- โ Added DPDK KNI support (thanks @echo-Mike !)
- โ Added KniPong example to demo the new KNI API (thanks @echo-Mike !)
- ๐ Lots of performance optimizations and code cleanups (special thanks to @gx740 !)
- ๐ Major revamp of reading/writing pcapng files - use streaming instead of memory copies and added support for compression (thanks @Dysl3xik !)
- ๐ง Added support for pcap_setdirection in
PcapLiveDevice
(thanks @MrSiz !) - ๐ Performance optimization and fixes in IPReassembly (thanks @gx740, @silviucpp !)
- โ Added a new
BPFStringFilter
pcap filter to handle raw BPF filter strings and deprecated the oldIPcapDevice::matchPacketWithFilter()
API (thanks @Dysl3xik !) - Let the user add custom LDFLAGS to the main Makefile (thanks @rom1sqr !)
- โ Added data validations in
IPv4Layer
before parsing the next layers (thanks @gx740 !) - โ Created a new unit-test framework to make it easier to write unit-tests
- Replaced old 3rd-party debug-new with new homegrown MemPlumber
- ๐ Tons of bug fixes (special thanks to @gx740 , @echo-Mike , @Dysl3xik !)
Contributors
๐ Thank you for everyone who contributed to this release: