## ## This file is part of libtrace ## ## Copyright (c) 2004 The University of Waikato, Hamilton, New Zealand. ## Authors: Daniel Lawson, WAND Group ## Perry Lorier, WAND Group ## ## All rights reserved. ## ## This code has been developed by the University of Waikato WAND ## research group. For further information please see http://www.wand.net.nz/ ## ## libtrace is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## libtrace is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with libtrace; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## ## $Id$ ## ## - Version 2.0.25 (unreleased) * updated rtclient_read_packet to be compatible with new rt protocol * rtclient input now correctly ignores packets with type = RT_MSG - Version 2.0.24 * minor bugs in format_erf * applied autoconf to tools/ dir - these are now built and installed automatically * added --disable-libpacketdump and --disable-tools configure options * improved checking for libpcap * improved checking for g++ (needed for libpacketdump) - Version 2.0.23 * configure fixes for dag * set attributes on functions to improve compiler caching * include tools/ dir in distributed tar.gz * added get_framing_length format function, to return the length of any framing headers added by the capture process (eg, pcap or ERF headers) * added libpacketdump, a library for dumping out packet information * updated tracedump to use libpacketdump, and copied it to the tools/ directory - Version 2.0.22 * Documentation updates * Added pcap_dump_flush() replacement function * Better doxygen detection * Support for legacy DAG POS, ATM and Ethernet formats - Version 2.0.21 * fixed error in output erf code, where we were missing 2 bytes * will skip vlan headers * added trace_decode_uri() function - Version 2.0.20 * byte-ordering fixups for WAG * writer functions for pcap and wag * fix of writer functions for erf * format conversion into pcap and erf formats * format conversion only applies if input not already in the right format * move internal fifo* symbols to tracefifo* to prevent collision with libfifo - Version 2.0.19 * Move code for different input formats (erf, pcap, wag) into separate modules, load and initialise on library load. * Add support for primitive trace writing See trace_output_create(), trace_output_destroy(), and trace_write_packet() * Added trace_perror() and libtrace errno functionality. - Version 2.0.18 * When opening a trace file, call open() with O_LARGEFILE set and pass the fd into gzdopen/fdopen. * Distributions should include man pages and other doxygen generated output * make install will install man pages into $PREFIX/man/man3 * fixed some compilation bugs in most of the examples - Version 2.0.17 * Fixed a bug in trace_get_erf_timestamp for the pcap path. Timestamps were not being fabricated correctly. This also effected trace_get_seconds, as that calls trace_get_erf_timestamp internally. * If bpf_setfilter() fails, output the filterstring it failed on * Fixed compilation bug under older distributions (woody), where the LTLIBOBJS auto* macro wasn't being expanded correctly - Version 2.0.16 * Ported to OpenBSD - mad props to meanphil * Fixed a bug in the event api where it would die instantly for offline traces. * Added trace_get_{source,destination}_port * Added some constification fixes - Version 2.0.15b * Fix a memory leak * Correct calls to trace_get_link to catch a NULL returned when an RX error is detected, handle this, and pas it up the chain where appropriate * Use a pcap callback handler when trace_read_packet() reads from a live pcap source. This gives us better diagnostics, such as being able to tell if an error occured. Also fixed a bug under FreeBSD where pcap would block until a buffer was full, then would let pcap_next iterate over all of them. - Version 2.0.14 * Added support for pcap decoding of PPP interfaces (DLT_LINUX_SLL) This DLT provides a direction bit, which we make use of in trace_get_direction(). Check the docs for the specifics * Fixed a bug where ERF traces weren't being checked for rxerrors. If the ERF record indicates an rxerror, then get_link() returns NULL. * Removed an extra , which was preventing compilation under gcc 3.4 in FreeBSD - Version 2.0.13 * Improved source docs / doxygen * Added functions to retrieve TCP, UDP and ICMP headers encapsulated within the IP sublayer * get_tcp_from_ip() * get_udp_from_ip() * get_icmp_from_ip() * Added trace_get_next_option to parse TCP/IP options within a libtrace_packet object - Version 2.0.12 * check for IP Fragmentation - if so, don't return TCP header on a fragmented packet - Version 2.0.11 * Added in a fallback function for strndup under freebsd. Thanks to mjl for this code. - Version 2.0.10 * Removed some badly licensed code. - Version 2.0.9 * Added improved conditional codepaths for * PCAP * ZLIB * BPF * DAG - These sections of code are only compiled in if there is appropriate support for them in the OS / asked by configure. In the event of no zlib support, we use a fread interface for uncompressed trace files instead. - Version 2.0.8 * Added better configure time checking for pcap-bpf.h (ie, actually fail early if it can't find it or an equivalent) * Added trace_set_direction , to set the direction bit in an ERF based trace. * Added trace_truncate_packet, to truncate the packet at a specified length - Version 2.0.7 * Assorted bugfixes. - Version 2.0.3 * Fixed packet->size bug for pcap - Version 2.0.2 * Port to AMD64. Should also work on IA64 * Will compile cleanly under gcc-2.95 (Debian Woody) * Compiles cleanly under FBSD 4.5 and 5.2. - Version 2.0.1 * Port to FreeBSD. Thanks to Phil Murray for testing this - Version 2.0.0 * Major API change for cleanup purposes. * libtrace_packet_t object used to hold reference to the trace object, the buffer, and assorted variables * First autoconf release - Version 1.1.0 * Tagged as REL_1_1_0 * First final release tag