Bot releases are hidden (Show)
Changes in this release:
Add VXLAN support (#501)
Add FileSniffer
constructor taking a FILE*
(#499).
Remove use of deprecated std::iterator
(#481).
Add missing algorithm
header include (#497).
Validate high order two bits of first dns label octet (#494).
Use CMAKE_INSTALL_LIBDIR
in CONF_CMAKE_INSTALL_DIR
(#472).
Ignore IPv6 packets with payload after one with no Next Header (#500).
Fix unqualified std::move
call warnings on clang (#488).
Fix incorrect IP address range calculation when using /0 prefix (#484) (#486).
Fall back to system GTest if available (#473).
Fix compilation issue on android (#471).
Fix DNS parser reading garbage on misreported packet size (#468).
Fix DNS parser misinterpreting bad label size (#466).
Published by mfontanini over 2 years ago
Changes in this release:
Add RFC8335 extended echo types to ICMP
and ICMPv6
(#426)
Handle loops in DNS name decompression (#444)
Fix Windows' interface
macro colliding with uses of that identifier in the code (#458)
Sending IPv6 packets to a link-scope destination address now uses the right interface index (#448)
Fix incorrect endian being used for ICMP's gateway
and address_mask
(#437)
Socket in PacketSender::open_l3_socket
is now closed if setsockopt
fails (#433)
Fix various incorrect doxygen documentation comments (#439).
Fix infinite loop when querying the routing table in *BSD (#427)
Published by mfontanini over 2 years ago
Changes in this release:
Assign a PDUType to Dot11ControlTA
(#420)
Don't consider IPv6 ESP header a normal extension header (#374)
Don't include non-existing headers when installed without libpcap (#382)
Add IPv6Address::is_local_unicast
(#369)
Fix memory leak in PacketWriter
(#343)
Fix memory leaks in OfflinePacketFilter
(#343)
Fix detection of new TCP stream (#335)
Introduce TCP::has_flags
(#334)
Fix padding calculations in RadioTapWriter (#333)
Published by mfontanini over 5 years ago
Allow getting a PDU's advertised size and use it in PacketWriter
(#324)
Add missing Dot11 tagged option types (#305)
Add support for DLT_RAW (#313)
Updated location of installed CMake files in unix systems (#331)
Fix check to detect cross compilation (#330)
Install DLLs in right directory (#326)
Fix potential invalid memory accesses when parsing RadioTap (#322)
Implement IPv6::recv_response
Add parsing of well known IPv6 extension headers (#287)
Add missing operators to address classes (#275)
Fix serialization for QinQ (#316)
Added base class access specifier for socket_close_error (#306)
Rewrote hw_address_to_string to not require a stringstream (#299)
Make RadioTapParser::skip_to_field check for end of buffer (#296)
Ensure local include directory comes before system. (#293)
Calculate IP option sizes properly (#288)
Add version macros in config.h
Don't assume IPv6 uses ICMPv6 underneath
Allow users to specify library install dir
Use Sleep windows function passing milliseconds as parameter
Don't use nullptr in non C++11 code
Ignore (possibly malformed) options after EOL (#281)
Don't include dot11.h in tins.h if it is not configured in the library (#277)
Fix memory leak in PDU's move assignment operator
Append padding to IPv6 options
Published by mfontanini almost 7 years ago
For a deeper look into all major changes in this version, please check this blog post.
Add parent PDU to each PDU.
Removed parent PDU parameter on PDU::write_serialization
.
Split utils.h
into multiple files under the utils
directory.
Split internals.h
into multiple files under the detail
directory.
Improve compilation times by removing useless include directives.
Refactor PDUOption
conversions so that heavy headers are not included in source file.
Use std::vector
instead of std::list
in TCP
, IP
, IPv6
, DHCP
, DHCPv6
, DNS
, LLC
, Dot11
and PPPoE
.
Improve performance on IP
, IPv6
and TCP
by compiting option sizes during serialization.
Minor performance improvements in DNS
.
Refactor RadioTap
parsing and serialization using a generic parser/writer.
Add BaseSniffer::set_pcap_sniffing_method
to specify whether pcap_loop
or pcap_dispatch
should be used when sniffing.
Added cipher and akm suites from 802.11-2016.
Add IPv6 layer parsing on Loopback
packets.
Allow serializing Loopback
on Windows.
Restructure CMake files removing useless CMakeLists.txt
in include
paths.
Add getter/setter for "more data" field in Dot11Base
.
Implemented matching for ND protocol related ICMPv6 messages.
Add header files into CMake sources so IDE can pick them up.
Add MPLS "experimental" field.
Fix IPv6
next header handling. Now each one contains its own type and the next type is only set during serialization for ease of use.
Fix dhcpv6::duid_type constructor from duid_ll.
Use IFF_POINTOPOINT
on BSD when getting broadcast address for an interface.
Ensure TCP::OptionTypes has 8-bit range.
Use the first fragment as a base when reassembling IP
packets in IPv4Reassembler
.
Use the right flag on Loopback
for IPv6
.
Added Utils::route6_entries
Allow masking IPv4/6 and hardware addresses via operator&
Add IPv4Address::from_prefix_length
Move stream_id
into a new file and rename it StreamIdentifier
Allow disabling TCPIP classes
Properly handle out of order SACKs on AckTracker
Move TCP data tracking into a separate class
Allow constructing StreamIdentifier
from a Stream
Allow configuring pcap timestamp precision
Allow building libtins using MinGW
Allow including libtins using add_subdirectory
via CMake
Allow setting customer user data to each TCP stream
Allow skipping data forward in TCP streams
Allow attaching to already existing TCP streams
AddressRange masks first address as well
Add TINS_API to IPv4Address::operator<<
, DataTracker
and AckTracker
Don't always set key_t
to 0 on RSNEAPOL
Handle MLDv1 properly on ICMP
Make Utils::resolve_hwaddress work on Windows
Interface was sometimes considered down when it was up (BSD/Linux)
Don't set Dot1Q
's payload type if next protocol type is unknown
Use recvfrom on BSD/OSX when capturing layer 3 packets
Make Timestamp::current_time
work on Windows
Forward NetworkInterface
argument when calling PacketSender::send_l2
Timestamp
overflow issue
boost's include directories variable incorrectly used on build system
Configuring auto cleanup of Stream
's server data not working
Set EthernetII
payload type to UNKNOWN
if there's no inner PDU
Set payload type to 0 if there's no inner PDU in IP
, Dot1Q
and IPv6
Buffer length check issues on Dot11QosData
Use AF_INET6 flag when opening L3 IPv6 socket
Check expecter size properly on DNS::extract_metadata
Several unused parameter warnings
CCMP decryption issue when Dot11QoSData
has a TID != 0