mirror of
https://github.com/mfontanini/libtins
synced 2026-01-23 02:35:57 +01:00
259 lines
7.0 KiB
Plaintext
259 lines
7.0 KiB
Plaintext
v3.1 - Sun Aug 24 21:39:43 ART 2014
|
|
|
|
- Fixed ICMPv6 checksum error on serialization.
|
|
|
|
- Fixed empty domain name encoding on DNS.
|
|
|
|
- Changed the build system to CMake.
|
|
|
|
v3.0 - Thu Aug 7 21:39:09 ART 2014
|
|
|
|
- Timestamps can now be constructed from std::chrono::duration.
|
|
|
|
- Packets can now be constructed from a PDU pointer and take ownership
|
|
of it.
|
|
|
|
- All protocols now set the next layer protocol flag, regardless if
|
|
it was already set. This was not done in some protocols,
|
|
like EthernetII, and as a consequence if the network layer protocol
|
|
was replaced by other, the packet would be serialized incorrectly.
|
|
|
|
- Fixed invalid parsing of some unknown DNS records.
|
|
|
|
- Fixed unaligned memory accesses that were not supported under
|
|
ARMv4 and ARMv5.
|
|
|
|
- Added BaseSniffer::set_extract_raw_pdus.
|
|
|
|
- Reduced minimum automake version to 1.11.
|
|
|
|
- Added Utils::to_string(PDU::PDUType).
|
|
|
|
- Fixed error compilations on Windows.
|
|
|
|
- Fixed ICMPv6 checksum calculation.
|
|
|
|
- Added method in IP and TCP to emplace an option (C++11 only).
|
|
|
|
- Added small option optimization to PDUOption.
|
|
|
|
- Fixed error compilation on RSNInformation.
|
|
|
|
- Renamed ICMP::check to ICMP::checksum.
|
|
|
|
- Added Sniffer support to set interface to promiscuous mode.
|
|
|
|
- TCPStreamFollower now handles overlapping fragments correctly.
|
|
|
|
- Fixed bugs in TCPStreamFollower which didn't allow it to follow
|
|
stream correctly.
|
|
|
|
- TCPStreamFollower now doesn't clear its state after every call to
|
|
TCPStreamFollower::follow_streams.
|
|
|
|
- Added IPv6 flag check to pdu_flag_to_ip_type.
|
|
|
|
- Added DHCP::hostname to extract the hostname options.
|
|
|
|
- Removed extra qualifier on SessionKeys::decrypt_unicast which
|
|
produced compilation errors on some platforms.
|
|
|
|
- PacketSender::send now uses PDU::matches_flag to match specific
|
|
PDU types.
|
|
|
|
- Removed 'no newline at end of file' warnings.
|
|
|
|
- Fixed bug when calling BIOCIMMEDIATE on *BSD.
|
|
|
|
- Fixed bug on PacketSender::send_recv which didn't work under *BSD.
|
|
|
|
- Fixed bug triggered by not including the string header.
|
|
|
|
v2.0 - Thu Jan 23 11:09:38 ART 2014
|
|
|
|
- DNSResourceRecord was removed. Now DNS records are added using
|
|
DNS::Resource.
|
|
|
|
- tins.h now includes ppi.h.
|
|
|
|
- Done significant improvements in the speed of DNS parsing.
|
|
|
|
- Added PDUOption<>::to<> which converts a PDUOption to a specific type.
|
|
|
|
- Layer 3 packets sent using PacketSender::send_recv for which the
|
|
answer is a different PDU type.
|
|
|
|
- ICMP::gateway now uses IPv4Address.
|
|
|
|
- Added support for ICMP address mask request/reply.
|
|
|
|
- Fixed bug in PacketSender when using send_recv and a layer 2 PDU. The
|
|
interface in which the packet was sent was not the default_interface
|
|
set when the sender was constructed.
|
|
|
|
- IP packets sent using PacketSender::send_recv now match ICMP
|
|
responses.
|
|
|
|
- Added support for ICMP timestamp request/reply packets.
|
|
ICMP::matches_response now works with these types of packets as well.
|
|
|
|
- Added support for reassembling of fragmented IP packets via the
|
|
IPv4Reassembler class.
|
|
|
|
- Fragmented IP packet's inner_pdu PDUs are not decoded now.
|
|
|
|
- Added 1000ms as the default read timeout used when calling
|
|
pcap_open_live. Added BaseSniffer::set_timeout to modify this parameter.
|
|
|
|
- Added the --disable-dot11 configure switch.
|
|
|
|
- Added support for IPSec.
|
|
|
|
- Fixed bug triggered when ifaddrs::ifa_addr was null in
|
|
NetworkInterface::addresses.
|
|
|
|
- Added another overload of Utils::route_entries which returns the
|
|
result either than storing it in a parameter.
|
|
|
|
- Added ARP monitor, WPS detector, DNS queries sniffer and DNS spoofer
|
|
examples.
|
|
|
|
- Added another Sniffer constructor which doesn't expect the maximum
|
|
capture size.
|
|
|
|
- Added tins_cast as a replacement for dynamic_cast on PDUs.
|
|
|
|
v1.2 - Mon oct 7 23:33:49 ART 2013
|
|
|
|
- Added BaseSniffer::begin and BaseSniffer::end.
|
|
|
|
- BaseSniffer::next_packet uses pcap_loop instead of pcap_next, which
|
|
doesn't work well on some linux distributions.
|
|
|
|
- Added PPI PDU class.
|
|
|
|
- Fixed a bug in EthernetII triggered when the size of the whole frame
|
|
was lower than 60 bytes.
|
|
|
|
- Added AddressRange class and IPv4Address, IPv6Address and
|
|
HWAddress<>::operator/.
|
|
|
|
- Added is_broadcast, is_multicast and is_unicast to IPv4, IPv6
|
|
and HWAddress.
|
|
|
|
- Added is_private and is_loopback methods to IPv4 and IPv6 addresses.
|
|
|
|
- Done some optimizations on TCP's constructor from buffer.
|
|
|
|
- Added helper functions to Dot11Data to retrieve the source,
|
|
destination and BSSID addresses.
|
|
|
|
- Fixed bugs in DNS triggered when parsing MX and unknown records.
|
|
|
|
- BaseSniffer::next_packet now iterates until a valid packet is found.
|
|
|
|
- TCP::get_flag is now const.
|
|
|
|
- The --disable-wpa2 now works as expected.
|
|
|
|
v1.1 - Wed Jun 5 09:03:37 ART 2013
|
|
|
|
- Implemented std::hash specialization for IPv4, IPv6 and HWAddress<>
|
|
types.
|
|
|
|
- Added a RSNHandshakeCapturer class.
|
|
|
|
- Added WPA2Decrypter class.
|
|
|
|
- IEEE 802.11 frames are not parsed if the RadioTap FAILED_FCS flag
|
|
is on.
|
|
|
|
- RadioTap now calculates its size everytime it's serialized.
|
|
|
|
- Splitted the dot11.h and dot11.cpp files into several files to
|
|
speed up compilation times.
|
|
|
|
- Added HWAddress<>::is_broadcast and HWAddress::operator[].
|
|
|
|
- Fixed a bug triggered when parsing Dot11QoSData frames.
|
|
|
|
v1.0 - Tue Apr 23 20:40:57 ART 2013
|
|
|
|
- Link layer protocol PDUs now don't hold a NetworkInterface. This led
|
|
to changes in their constructors.
|
|
|
|
- Removed the obsolete PDU* parameter taken by several classes'
|
|
constructors.
|
|
|
|
- IP now sets the sender's address automatically when no link layer
|
|
PDU is used.
|
|
|
|
- IP, TCP and UDP now calculate the checksum everytime they're
|
|
serialized.
|
|
|
|
- Added PDU::rfind_pdu.
|
|
|
|
- Defined several exception types.
|
|
|
|
- Implemented matches_response on several protocols.
|
|
|
|
- PacketSender is now movable.
|
|
|
|
- Added an overload of add_option that takes an rvalue-reference in IP,
|
|
TCP, DHCP, ICMPv6 and Dot11.
|
|
|
|
- Added support for GNU/kFreeBSD.
|
|
|
|
- Removed several deprecated methods, such as PDU::clone_packet.
|
|
|
|
- Added PacketSender::send(PDU&, NetworkInterface).
|
|
|
|
- Normalized the TLV options naming conventions in all of the classes
|
|
that used them.
|
|
|
|
- Added support for Dot1Q, STP, PPPoE protocols.
|
|
|
|
- Made some important optimizations on PDUOption<>'s constructors.
|
|
|
|
- Added Utils::resolve_domain and Utils::resolve_domain6
|
|
|
|
v0.3 - Thu Jan 31 16:47:27 ART 2013
|
|
|
|
- Added IPv6, ICMPv6 and DHCPv6 classes.
|
|
|
|
- Added support for Loopback interfaces and the Linux Crooked Capture
|
|
pseudo protocol.
|
|
|
|
- Added support for IPv6 records in DNS.
|
|
|
|
- Added Packet/RefPacket class.
|
|
|
|
- Added support for FreeBSD, OSX and Windows.
|
|
|
|
- Added C++11 move semantics to several classes.
|
|
|
|
- Done a complete rewrite of the build system; it now uses libtool.
|
|
|
|
- Fixed several bugs in DNS.
|
|
|
|
|
|
v0.2 - Sat Oct 20 11:26:40 2012
|
|
|
|
- Added support for big endian architectures.
|
|
|
|
- Simplified several interfaces.
|
|
|
|
- Added IPv4Address and HWAddress class to simplify handling IP and hardware addresses.
|
|
|
|
- Added NetworkInterface class to abstract network interfaces.
|
|
|
|
- Added TCPStreamFollower class to follow TCP streams on the fly.
|
|
|
|
- Added WEPDecrypter class to decrypt WEP-encrypted 802.11 data frames on the fly.
|
|
|
|
- Added several new PDUs: Loopback, IEEE802_3, LLC, DNS.
|
|
|
|
- Added support for reading and writing pcap files.
|
|
|
|
- Moved to BSD-2 license.
|