version 0.34.9 ============== 2009-08-06 - Made build process more platform independent version 0.34.8 ============== 2009-07-29 - Fixed CMake C_FLAGS compiler options for safety checks. version 0.34.7 ============== 2009-07-27 - RTP packet drop count and disorder count (the number of permutations needed to regain the correct sequence) are not only printed on the CLI but also in the 9th and 10th columns of the log file. - Added RTP jitter estimation as specified in RFC3550 (smoothed mean deviation). This value is printed on the CLI and in the 5th column of the rtp log-file. - Fixed -V option with raw layer-2 frames (simulation mode). - Fixed padding (-p) option (segfault when number too big) - Fixed some potential stack overflow issues (thanks Vivek!) 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)