version 0.34.6
==============
2008-12-10

- Added the IP arguments df (don't fragment), mf (more fragments), and rf
  (reserved flag). This makes it easier to build fragmented packets.
  

version 0.34.5
==============
2008-10-30

- Added RTP packet drop count and disorder count (the number of permutations
  needed to regain the correct sequence). These values are printed on the 
  CLI.
- Fixed usage of ranges even when no payload is specified; previously Mausezahn
  had problems with that; error messages include:
   a)  mz/update_DPORT: Can't build TCP header: libnet_build_tcp(): payload
       inconsistency
   b)  mz/update_IP_DA: IP address manipulation failed!
  or similar.
- Updated the INSTALL file.



version 0.34.1
==============
2008-10-08

- Mausezahn now checks system clock precision and chooses monotonic nanosecond
  clock if available or alternative clock otherwise. No nasty warning message 
  should occur anymore.
  
  

version 0.34
============
2008-09-24

- Replaced gettimeofday() with the clock_gettime(CLOCK_MONOTONIC) which does
  not jump when the system syncs via NTP (otherwise artefacts would occur in
  long-term jitter-measurement data; additionally nanosecond precision is 
  (internally) supported, although it is not really required).
- Added IP options 'Loose Source Route' and 'Strict Source Route', as well as
  the possibility to specify any IP option as hexadecimal string.
- IP packets can now be sent without any payload (previously at least a single
  payload byte has been added)
- Added -V option (extended verbose) which prints only frame details but does
  not put anything on the wire.
- Added icmp option echo request (ping), echo reply (default), and unreachable.
  Also made some clean-ups here.


version 0.33.2
==============
2008-09-11

- RTP packets are now (at least more) standard conform. Now Mausezahn per
  default simulates a G.711 codec with 20 msec inter-packet delay and 160 bytes 
  payload. The usage of the timestamps should be correct now so that other
  applications can also interprete Mausezahn's RTP header.
- Added 8 byte padding to BPDU packets (some switches rejected the packet; now
  whole frame is always 60 bytes long (added 8 zero bytes or 4 for PVST+,
  respectively).
- Fixed PVST+ packet format. Should be correct now; can be sent with (default)
  or without 802.1Q tag.
- Better help text for BPDU mode.
- Added 'pvst' as additional keyword for specification of MAC addresses


version 0.33.1
==============
2008-09-04

- Upon startup Mausezahn checks if it has root privileges (getuid, geteuid)
- 'Cleaned' the files README, INSTALL, and AUTHORS, fixed some missing information
  and applied a line wrap at 80 chars to comply with packaging requirements.
- Also made a 80-char line-wrap in the source code's license statement.


version 0.33 
============
2008-08-20

- Clearly defined GPLv2 as license.
- Support for the Syslog protocol.
- Inclusion of cmake for easier build process.
- Some minor bugfixes, e. g. now "mz -t help" works (before you had to enter 
  "mz eth0 -t help").

Thanks to Cristian Greco, Steve Grubb, Rauno Tuul, and Heinz Wiesinger for help
and feedback.




================================================================================

Since I was too lazy to maintain a changelog before version 0.32 let
me summarize at least all features and possible bugs at this point:

*) Full support for the following protocols:

    - ARP
    - BPDU (PVST+)
    - CDP
    - UDP
    - TCP (only transmission, no state machine so far)
    - DNS 
    
*) Limited support:

    - ICMP (started to implement ICMP redirects, did not had time for
            tests so far; almost sure buggy)
	    
    - RTP  (only needed for jitter measurements, the timestamps used
            are quite proprietary (sec and msec separately))

*) Other features

    - can send arbitrary byte sequences longer or equal 15 bytes
    - randomized MAC and/or IP addresses
    - ranges for IP addresses, port numbers, TCP sequence numbers
    - 802.1Q VLAN tags (arbitrary depth) plus CoS values
    - MPLS tags (arbitrary depth) plus CoS and TTL values
    - automatic padding if desired
    - inter-packet delays in usec (but can also be specified in msec
      and sec)
    - text or hex payloads 
    - RTP receiving mode to measure jitter with high precision (usec
      is base, plan to measure true precision empirically, I guess
      it is at least below 1 msec)

*) Possible bugs

    - Limited checks for wrong arguments and options (however, I
      tried to avoid buffer overflows, mostly)
      
    - ICMP packets (redirects) may be incorrect (I had no use for
      those so far)
