libtins Changelog

What's new in libtins 1.2

Oct 9, 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 Dot1Data 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.

New in libtins 1.0 (May 24, 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.