From ed175e0ad666e5be27020746fd685da6294a05ee Mon Sep 17 00:00:00 2001 From: Matias F Date: Thu, 23 Jan 2014 11:30:05 -0300 Subject: [PATCH] Updated CHANGES, README and configure.ac files. --- CHANGES | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README | 4 ++-- configure | 37 +++++++++++++++++------------------ configure.ac | 43 +++++++++++++++++++++-------------------- 4 files changed, 97 insertions(+), 41 deletions(-) diff --git a/CHANGES b/CHANGES index c5513bc..b790dce 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,57 @@ +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. diff --git a/README b/README index 729a8ff..9d2e8d7 100644 --- a/README +++ b/README @@ -1,12 +1,12 @@ ------------------------------------------------------------------------ - libtins v1.3 + libtins v2.0 ------------------------------------------------------------------------ -------------------------------- About --------------------------------- libtins is a high-level, multiplatform C++ network packet sniffing and -crafting library. +crafting library. Its main purpose is to provide the C++ developer an easy, efficient, platform and endianess-independent way to create tools which need to diff --git a/configure b/configure index e10e1b7..e7068be 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libtins 1.3. +# Generated by GNU Autoconf 2.69 for libtins 2.0. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libtins' PACKAGE_TARNAME='libtins' -PACKAGE_VERSION='1.3' -PACKAGE_STRING='libtins 1.3' +PACKAGE_VERSION='2.0' +PACKAGE_STRING='libtins 2.0' PACKAGE_BUGREPORT='matias.fontanini@gmail.com' PACKAGE_URL='http://libtins.sourceforge.net' @@ -1331,7 +1331,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libtins 1.3 to adapt to many kinds of systems. +\`configure' configures libtins 2.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1402,7 +1402,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libtins 1.3:";; + short | recursive ) echo "Configuration of libtins 2.0:";; esac cat <<\_ACEOF @@ -1516,7 +1516,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libtins configure 1.3 +libtins configure 2.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2006,7 +2006,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libtins $as_me 1.3, which was +It was created by libtins $as_me 2.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2934,7 +2934,7 @@ fi # Define the identity of the package. PACKAGE='libtins' - VERSION='1.3' + VERSION='2.0' cat >>confdefs.h <<_ACEOF @@ -15342,16 +15342,13 @@ else $as_echo "#define HAVE_DOT11 1" >>confdefs.h - -fi - - -# Check whether --enable-wpa2 was given. + # Only allow enabling WPA2 if Dot11 is enabled. + # Check whether --enable-wpa2 was given. if test "${enable_wpa2+set}" = set; then : enableval=$enable_wpa2; else - for ac_header in openssl/evp.h openssl/hmac.h openssl/aes.h + for ac_header in openssl/evp.h openssl/hmac.h openssl/aes.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -15370,7 +15367,7 @@ fi done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PKCS5_PBKDF2_HMAC_SHA1 in -lcrypto" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PKCS5_PBKDF2_HMAC_SHA1 in -lcrypto" >&5 $as_echo_n "checking for PKCS5_PBKDF2_HMAC_SHA1 in -lcrypto... " >&6; } if ${ac_cv_lib_crypto_PKCS5_PBKDF2_HMAC_SHA1+:} false; then : $as_echo_n "(cached) " >&6 @@ -15423,6 +15420,10 @@ $as_echo "#define HAVE_WPA2_DECRYPTION 1" >>confdefs.h +fi + + + fi @@ -15431,7 +15432,7 @@ fi -LIBTINS_VERSION=1:3:0 +LIBTINS_VERSION=2:0:0 ac_config_files="$ac_config_files Makefile libtins.pc" @@ -15965,7 +15966,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libtins $as_me 1.3, which was +This file was extended by libtins $as_me 2.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16032,7 +16033,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libtins config.status 1.3 +libtins config.status 2.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index b4eab0e..f1516e5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libtins], [1.3], [matias.fontanini@gmail.com], [libtins], [http://libtins.sourceforge.net]) +AC_INIT([libtins], [2.0], [matias.fontanini@gmail.com], [libtins], [http://libtins.sourceforge.net]) AC_CANONICAL_SYSTEM AC_CONFIG_HEADER(include/config.h) AM_INIT_AUTOMAKE([-Wall -Werror -Wno-extra-portability foreign]) @@ -50,27 +50,28 @@ AC_ARG_ENABLE( [], [ AC_DEFINE([HAVE_DOT11], 1, Have IEEE 802.11 support) - ] -) -AC_ARG_ENABLE( - wpa2, - [ --disable-wpa2 disable WPA2 decryption features], - [], - [ - AC_CHECK_HEADERS( - [openssl/evp.h openssl/hmac.h openssl/aes.h], - [], - [AC_MSG_ERROR([openssl headers are missing! $wpa2_msg ])] - AC_DEFINE([HAVE_WPA2_DECRYPTION], 0, Have WPA2 decryption library) + # Only allow enabling WPA2 if Dot11 is enabled. + AC_ARG_ENABLE( + wpa2, + [ --disable-wpa2 disable WPA2 decryption features], + [], + [ + AC_CHECK_HEADERS( + [openssl/evp.h openssl/hmac.h openssl/aes.h], + [], + [AC_MSG_ERROR([openssl headers are missing! $wpa2_msg ])] + AC_DEFINE([HAVE_WPA2_DECRYPTION], 0, Have WPA2 decryption library) + ) + AC_CHECK_LIB( + crypto, + PKCS5_PBKDF2_HMAC_SHA1, + [], + [AC_MSG_ERROR([openssl library is missing! $wpa2_msg ])] + ) + AC_DEFINE([HAVE_WPA2_DECRYPTION], 1, Have WPA2 decryption library) + ] ) - AC_CHECK_LIB( - crypto, - PKCS5_PBKDF2_HMAC_SHA1, - [], - [AC_MSG_ERROR([openssl library is missing! $wpa2_msg ])] - ) - AC_DEFINE([HAVE_WPA2_DECRYPTION], 1, Have WPA2 decryption library) ] ) @@ -79,6 +80,6 @@ AC_ARG_ENABLE( AC_SUBST(CXXFLAGS) AC_SUBST(LIBS) AC_SUBST(LIBTINS_INCLUDE_DIR) -AC_SUBST([LIBTINS_VERSION], [1:3:0]) +AC_SUBST([LIBTINS_VERSION], [2:0:0]) AC_CONFIG_FILES([Makefile libtins.pc]) AC_OUTPUT