CHANGELOG
=========

NOTE: More tools exist, but are only handed out to specific people
who support the thc-ipv6 toolkit development by sending in new tools or
large patches.
If this matches *you* send me an email to vh (at) thc (dot) org
with "thc-ipv6 antispam" in the subject line.

v1.6 - PUBLIC
 ! Several private tools and enhancements not put into the public v1.6 version
 ! missing: alive26 - advanced remote network mapping
 ! missing: dnsdic6 enhancements
 ! missing: various dhcp6, mdns, fragmentation attack tools
 + New public tool: covert channel sending with covert_send6, with encryption
 * redir6: 
     - TTL enhancement by frederik(at)kriewitz(dot)eu
     - timing enhancement by me
 * toobig6: added TTL, timing and packet size enhancement
 * parasite6:
     - added -l (loop) option
     - ND security evasion added :-)
 * fake_advertise6:
     - added src ip option
     - added ND security evasion options
 * trace6:
     - added tunnel detection and identification mode (-t)
     - only up to the 13th hop was reported, fixed
     - added patch by Phillipe Langlois for -s sourceipv6 option
 * thcping6: rewrote thcping6 for more lots of more options and packet timing
 * fake_router6:
     - the interface MTU is used as default now
     - added RA guard evasion options
 * flood_router6: RA guard evasion options added :-)
 * implementation6: more test cases
 * thc-ipv6-lib:
     - added thc_ipv62notation function
     - added thc_add_hdr_oneshotfragment function
     - fixed neighbor mac solicitation function for FreeBSD targets
     - better own ipv6 address selection
 * added usage of thc_ipv62notation function to all tools

v1.5 - PRIVATE
 <removed>

v1.4 - December 2010 - PUBLIC
 * removed various tools for public release

v1.3 - PRIVATE
 * added covert_send6 and covert_send6d
 * added fake_dhcps6 - fake dhcp6 server
 * added flood_dhcpc6 - dhcp6 flooder
 * added fake_dns6 - fake dns server, serving only one ipv6 address :-)
 * added fake_mld26 (same as fake_mld6 but for MLDv2)
 * added flood_mld6 - flood network with mld messages
 * added flood_mld26 - flood network with mldv2 messages
 * added fake_mldrouter6 - fake an mld router
 * added flood_mldrouter6 - flood network with mld router messages
 * added exploit6 and the first test cases
 * added denial6 and the first test cases
 * added dos_mld.sh which disables outside multicast traffic to the local LAN
 * alive6: 
    - beautified alive ipv6 address output
    - added -i inputfile and -o outputfile options
    - added -M for mac enumeration mode (autoconfiguration address space)
    - added -D for dhcp6 enumeration mode
    - added range possibility, e.g. "alive6 eth0 2002:0-2:0-10"
    - added -s/-a-/-u TCP SYN/ACK and UDP alive scan mode
    - added -F firewall quick port setup mode (tcp-syn to 22, 25, 80, 443;
       udp dns request; tcp-ack to highport, ping and destination error)
    - added -p and -e icmp and error alive check modes
    - changed hop-by-hop error check to destination error check
    - alive reply type is now printed
    - printing now warnings if icmp destination unreachables are received (-v)
    - added new -S slow, -W waittime,-d resolve, -v verbose switches
    - added new -Z dstmac option
    - removed hop check, changed to dst hdr, and made it the default
    - removed memory leaks
 * fake_mld6:
    - added query and done MLD types
    - new command line option -l = loop
    - command line format changed
    - added target mac option, needed for new vulnerablity found
 * dnsdict6:
    - added 87 more entries to the dictionary
    - now identified even multiple wildcard IPs and displays them accordingly
    - now prints the number of unique IPv6 addresses founds
 * fuzz_ip6:
    - added fuzzing query, report and done MLD + query and report MLDv2 types
    - fuzzing first and last two bytes of IPv6 addresses in the packets
    - command line option for specifying an IPv6 address within the packets
    - added many options
 * trace6:
    - added unreachable detection 
    - added more informative output
    - now multiple run save
    - fixed a core dump which happened on rare occasions
 * changed command line options for fake_router6 to allow specification of DNS
 * toobig6: tighter mtu and removed debug output still present in the code, oops
 * implementation6: added three more test cases, enhanced four test cases, bugfix
 * compile warning fixes (dnsdict6, sendpees6, thc-ipv6-lib)
 * Makefile beautification and header fixes by xmw<at>gentoo<dot>org
 * library:
    - BUG: raw mode does not work! Needs to be implemented properly by someone :-)
    - imporant fix for gathering a local mac, required for Mac OS/X targets
    - added thc_pcap_init_promisc function (required for new fake_mld6 functionality)
    - added thc_is_dst_local function (required for new alive6 functionality)
    - added thc_add_udp function (required for new alive6 functionality)
    - added thc_bind_udp_port function (required for fake_dhcps6)
    - added thc_bind_multicast_to_socket (required for fake_dhcps6)
    - added thc_ipv6_show_errors function to toggle error messages from library
    - optimization in thc_send_as_fragment6 to only get MACs once :-)
    - fix for max offset in thc_add_hdr_fragment, plus bad value check
    - fix for beautification ipv6 address output function
    - looked for memory leaks and removed all I found
    - for performance reasons also stale neighbor mac entries are used now
    - made library thread safe, for this to work I:
       ~ changed thc_pcap_check/thc_pcap_function to add an option
       ~ removed some global variables
       => remaining variables are ok to be global

v1.2 - June 2010
 * compile fixes
 * test case added to implementation6

v1.1 - June 2010
 * dnsdict6: big wordlist update
 * upgraded thc-ipv6 license to GPLv3

v1.0 - May 2010 - PRIVATE
 * beta release

v0.9 - April/May 2010 - PRIVATE
 * added dnsdict6
 * added trace6
 * added flood_router6
 * added flood_advertise6
 * added fuzz_ip6
 * added implementation6d
 * implementation6:
	- renamed from test_implementation6
	- added A LOT of test cases and reply checks
 * fake_router6:
	- changed command line options
	- added default route entry (not supported by many systems though)
	- added DNS server ip (the official dns multicast address)
	- small fixes
 * alive6:
	- small fixes
	- added -l switch for using the link layer address
 * library:
	- fixed a big bug in the routing module, library thought sometimes a
	   remote network is local!
	- fixed a bug where a hard/permanent set mac for a destination would
	   not be found when the dst is not alive
	- now chooses an alternate IP6 address when the prefered one
	   is not available (link vs. global)
	- fixed TTL setting when using raw mode
	- supporting mobile home address option in dst option (for checksum)
	- pcap was opened in promisc mode - shouldnt have been, unnecessary
	- valid icmp checksum for mobile home address and routing pointer == 0
 	- TCP can be now added as a header too + checksum calculation, but
	   not for inverse_packet (yet - no application for that currently).


v0.8 - June 2007 - PRIVATE
 * Clarified License: GPL 2
 * Improved Makefile
 * Added a man page for all tools together (by gebi(at)grml.org)


v0.7 - AUGUST 2006 - BETA
 * Added sendpees6.c and a patch from willdamn@gmail.com - thanks a lot!
   (its a new DOS attack)


v0.6 - MARCH 2006 - BETA
 * Added fake_mipv6 tool to spoof mobile ipv6 binding updates
 * Fixed a bug in the thc_toobig6 and some other thc_ icmp6 lib functions


v0.5 - FEBRUARY 2006 - ALPHA
 * Added RAW mode, just add -r as 1st option to most tools


v0.4 - FEBRUARY 2006 - ALPHA
 * Added fake_mld6 tool


v0.3 - JANUARY 2006 - ALPHA
 * Added detect-new-ip6 tool
 * Added function to get the mac from the ipv6 neighbor cache, thanks to
   dan kaminsky
 * It finally has a README which describes the thc-ipv6-lib.c interface
   (roughly though, but anyway, now there is at least *something*)


v0.2 - NOVEMBER 2005 - ALPHA
 * First release
 