Blame doc/CHANGELOG

Packit 03b34a
===============================================================================
Packit 03b34a
    $Id: CHANGELOG,v 1.26 2004/11/09 07:05:06 mike Exp $
Packit 03b34a
    LIBNET 1.1 (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
Packit 03b34a
                               http://www.packetfactory.net/libnet
Packit 03b34a
===============================================================================
Packit 03b34a
Packit 03b34a
- 1.1.6
Packit 03b34a
Packit 03b34a
    - Note about why including libnet.h breaks dnet.h/dumbnet.h (Sam Roberts)
Packit 03b34a
    - Prepare for 1.1.6-rc3. (Sam Roberts)
Packit 03b34a
    - Only use getifaddrs() if it exists. (reported by Dagobert Michelsen) (Sam Roberts)
Packit 03b34a
    - Clean up use of single and bracket quotes. (Sam Roberts)
Packit 03b34a
    - FreeBSD and Solaris volunteers to contibute. (Sam Roberts)
Packit 03b34a
    - ICMPv6 struct is too long, so use length macro (sickmind@lavabit.com) (Sam Roberts)
Packit 03b34a
    - ICMPv6 pblock sizes are needed to calculate IPv6's ip_len (reported by sickmind@lavabit.com) (Sam Roberts)
Packit 03b34a
    - Prep for 1.1.6 release, such as bumping version (Sam Roberts)
Packit 03b34a
    - Add people who have volunteered to check release candidates. (Sam Roberts)
Packit 03b34a
    - Rework libnet_autobuild_ipv6() to eliminate code duplication. (Sam Roberts)
Packit 03b34a
    - Implemented libnet_autobuild_ipv6() (repolho)
Packit 03b34a
    - Implemented unix version of libnet_get_ipaddr6() (repolho)
Packit 03b34a
    - Reintroduce libnet_pblock_record_ip_offset() which is empty. (Sam Roberts)
Packit 03b34a
    - Make clear that all contributions are under libnet copyright. (Sam Roberts)
Packit 03b34a
    - Fix doc comment format errors reported by doxygen. (Sam Roberts)
Packit 03b34a
    - Update for doxygen 1.7.4. (Sam Roberts)
Packit 03b34a
    - Note that PORTED is no longer maintained. (Sam Roberts)
Packit 03b34a
    - Note that CONTRIB is no longer maintained. (Sam Roberts)
Packit 03b34a
    - Prep for upcoming 1.1.6 release. (Sam Roberts)
Packit 03b34a
    - Remove BUGS, it referred to non-existent code. (Sam Roberts)
Packit 03b34a
    - Reworked icmpv6 patch to parallel the form of icmpv4 support. (Sam Roberts)
Packit 03b34a
    - Don't depend on netinet/ip.h. (Sam Roberts)
Packit 03b34a
    - Remove unused variable. (Sam Roberts)
Packit 03b34a
    - Support building ICMPv6 packets. (someone)
Packit 03b34a
    - Fixed typo in error message. (Thomas Habets)
Packit 03b34a
    - Use SO_BINDTODEVICE to force packets out opened device. (someone)
Packit 03b34a
    - Always use an IPPROTO of TCP when calculating TCP checksums. (Sam Roberts)
Packit 03b34a
    - Use correct addr type for addrlen calculation. (someone)
Packit 03b34a
    - libnet_build_igmp reserved field was mistakenly called 'code' (Sam Roberts)
Packit 03b34a
    - Documentation doesn't include any gif files. (Sam Roberts)
Packit 03b34a
    - Enable IPV6 support on Solaris 11. (Rich Burridge)
Packit 03b34a
    - Trying to fix write errors (Víctor Martínez)
Packit 03b34a
    - Presence of linux's PF_PACKET sockets is now detected. The acinclude.m4 merged in from packetfactory's 1.1.3-rc branch mysteriously assumed that that there was no PF_PACKET if the target OS was linux, which is the opposite of what we want. (Sam Roberts)
Packit 03b34a
    - Fix libnet_build_igmp() to not reverse the order of the ip address. libnet APIs that take IP addresses as a uint32_t expect them to already be in network byte order. (Sam Roberts)
Packit 03b34a
    - pblock_append deals with raw memory and structs, so declare it correctly (Sam Roberts)
Packit 03b34a
    - Clarified types and sizes of DHCP/BOOTP chaddr, sname, and file. chaddr is a hardware address, with size specified seperately, whereas sname and file are null terminated strings. (Sam Roberts)
Packit 03b34a
    - Explicitly ignore return value of write (some systems now warn about this). (Sam Roberts)
Packit 03b34a
    - Synchronize comment about h_len with parameter name in function. (Sam Roberts)
Packit 03b34a
    - Fixes a buffer overflow issue when copying chaddr, file, and sname fields to the DHCP header. (allfro)
Packit 03b34a
    - Fixes improper calculation of header size when libnet_pblock_probe is called. payload_s must be added to the header length in order to accommodate for the existence of a non-NULL payload. Otherwise the user is prompted with a 'memcpy would cause overflow' error and the program exits. (allfro)
Packit 03b34a
    - Fixes incorrect memory block size set in the timeexceed and redirect builders. The n variable does not add the size of the payload (payload_s) for proper allocation of the buffer when payload is not NULL and payload_s is greater than 0. This results in a memcpy buffer overflow error when libnet_pblock_append is called exiting the program. (allfro)
Packit 03b34a
    - Fixes a bug that incorrectly converts the addr, mask, and next_hop fields to network byte order. Users will usually call libnet_name2addr4 to fill these fields and this function already provides a network byte-ordered value. (allfro)
Packit 03b34a
    - snap parameter was getting copied into the dhost field. (Sam Roberts)
Packit 03b34a
    - h_len is no longer used, so pass zero. Coverity noticed that stack garbage was being passed instead of a valid value, its just that the value isn't used, and incluing l->total_size is wrong when the pblock is being updated (though it will work on pblock creation). (Sam Roberts)
Packit 03b34a
    - Length n should include the value_hdr. (Sam Roberts)
Packit 03b34a
    - Coverity: UNINIT (Jiri Popelka)
Packit 03b34a
    - Coverity: REVERSE_INULL (Jiri Popelka)
Packit 03b34a
    - Coverity: RESOURCE_LEAK (Jiri Popelka)
Packit 03b34a
    - Coverity: OVERRUN_STATIC (Jiri Popelka)
Packit 03b34a
    - Coverity: OVERRUN_STATIC (Jiri Popelka)
Packit 03b34a
    - Coverity: OVERRUN_STATIC (Jiri Popelka)
Packit 03b34a
    - Coverity: FORWARD_NULL (Jiri Popelka)
Packit 03b34a
    - Coverity: FORWARD_NULL (Jiri Popelka)
Packit 03b34a
    - Coverity: CHECKED_RETURN (Jiri Popelka)
Packit 03b34a
    - mkinstalldirs is replaced by autogen.sh. Maybe it shouldn't be checked in? (Sam Roberts)
Packit 03b34a
    - autogen retries if /sw/... doesn't exist (Sam Roberts)
Packit 03b34a
    - build_ipv6: set higher traffic class bits (Ulrich Weber)
Packit 03b34a
    - Fix missing uint instead of u_int (Dagobert Michelsen)
Packit 03b34a
Packit 03b34a
- 1.1.5
Packit 03b34a
Packit 03b34a
    - IRIX: Get MAC address from ioctl(), not by spawning shell. (Thomas Habets)
Packit 03b34a
    - Compile fix for IRIX (added includes) (Thomas Habets)
Packit 03b34a
    - Don't explicitly check for UID 0, we may have capabilities even if not root. (Thomas Habets) (Sam Roberts)
Packit 03b34a
    - Cleaned up implementations of libnet_get_hwaddr(), some leaked memory, one returned a pointer to data on the stack, and the others return a pointer to static data. I'm settling on the non-reentrant static data form. (Sam Roberts)
Packit 03b34a
    - Visual C++ compiler(v9.0) uses bitfield type as a hint to pad the bitfield, so struct was too long. (Sam Roberts)
Packit 03b34a
    - Further simplify autogen.sh (Sam Roberts)
Packit 03b34a
    - Removed dependency on net/bpf.h, and on pcap.h. (Sam Roberts)
Packit 03b34a
    - LBL_ALIGN check is unused, removing. (Sam Roberts)
Packit 03b34a
    - Don't include pcap.h if we've already got net/bpf.h, pcap has it's own bpf. (Sam Roberts)
Packit 03b34a
    - Make libnet_get_hwaddr work in the last few releases of OpenBSD (stu@spacehopper.org) (Sam Roberts)
Packit 03b34a
    - Get DLT types from the source, <pcap.h>. (Sam Roberts)
Packit 03b34a
    - Use autoconf -ivf in autogen.sh (suggested by alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - Don't distribute libnet.h, it is generated by configure (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - AIX build failures fixed, cause was inclusion of system headers libnet no longer uses (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - Add a link to the old docs. (Sam Roberts)
Packit 03b34a
    - Added links to github and sourceforge. (Sam Roberts)
Packit 03b34a
    - Replace C99/C++ comments with traditional C comments. (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - checksum would segfault if a IP checksum was requested for a non-ipv4 header (Sam Roberts)
Packit 03b34a
    - Closer backwards compat, assume its ipv4 if it's not ipv6. This seems totally wrong, but so it goes. (Sam Roberts)
Packit 03b34a
    - Try using the ip_len header field to guess the input buffer's size. (Sam Roberts)
Packit 03b34a
    - libnet_do_checksum(), despite being "internal", is used by external code. libnet needs to maintain backwards API compatibility, tcpsic from the isic package is an example of a binary failing when calling the new API with the old arguments. (Sam Roberts)
Packit 03b34a
    - merged icmpv6 patch in, but I believe either it or the sample/icmp6_unreach generates the cksum incorrectly (victor@inliniac.net) (Sam Roberts)
Packit 03b34a
    - Use libtool-1 or libtool-2 whatever available (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - Avoid looking at /dev and /usr/include when cross-compiling (alon.barlev@gmail.com) Alon: The following code support cross compiling: 1. You CANNOT check for /usr/include stuff as cross compiler is installed else-where. Autoconf know how to do this, use its header detection logic and ask the result. 2. Testing for /dev/ can be done only when not cross compiling... (Sam Roberts)
Packit 03b34a
    - Corrected target_os check, it was broke for linuxgnu, and m4 syntax was invalid (alon.barlev@gmail.com) Alon:The following change is needed in order to solve two issues: 1. linuxgnu and such target os. 2. You cannot set variable with space before '=' as it tries to execute the variable... 3. Print result of test in case of linux (Sam Roberts)
Packit 03b34a
    - --with-link-layer broken, was using wrong macro name, and didn't include all link types (Sam Roberts)
Packit 03b34a
    - ac_cv_c_bigendian is yes, not "big" (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - Remove dead code. (Sam Roberts)
Packit 03b34a
    - h_len is calculated for ip, udp, tcp, icmp, and igmp, so is allowed to be zero. (Sam Roberts)
Packit 03b34a
    - libnet_t's fd should be initialized to an invalid value, or libnet_destroy() will close stdin. (Sam Roberts)
Packit 03b34a
    - Alon's use of AC_CHECK_HEADERS fails to detect headers. Reverted part of 57acd56f09158decb69f301e7547ce8cde6ac63f (Sam Roberts)
Packit 03b34a
    - With link_none, the link apis were failing with not error message. (Sam Roberts)
Packit 03b34a
    - man doc makefile wasn't correctly referring to the srcdir (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - Avoid mallocing zero bytes, it perturbs electric fence. (Sam Roberts)
Packit 03b34a
    - autotools patches for cross compiling and seperate builddir (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - html doc makefile wasn't correctly referring to the srcdir (alon.barlev@gmail.com) (Sam Roberts)
Packit 03b34a
    - ip_offset is now calculated on the fly, and UDP and TCP no longer use h_len (Sam Roberts)
Packit 03b34a
    - IP offset calculation should allow nesting of IP protocols. (Sam Roberts)
Packit 03b34a
    - Remove gccisms in bitfield definitions. (Sam Roberts)
Packit 03b34a
    - injection type of LIBNET_NONE, for packet construction without injection (also, more const correctness) (Sam Roberts)
Packit 03b34a
    - Notes about checksumming. (Sam Roberts)
Packit 03b34a
    - libnet_build_tcp was not returning the ptag. (Sam Roberts)
Packit 03b34a
    - Packet boundaries are now passed to _do_checksum(), so it can validate its input. Hopefully, this will end the recurring segmentation faults due to buffer overruns. (Sam Roberts)
Packit 03b34a
    - TCP building is triggering memory overwrites; closer examination shows the link list manipulation to be wrong, and the checksumming approach to be incapable of working. I reworked code to simplify and clarify how it works currently, in preparation to fixing it. (Sam Roberts)
Packit 03b34a
    - Updated comments and notes. (Sam Roberts)
Packit 03b34a
    - Null the pointer in the about-to-be-freed structure, not the one on the stack. (Sam Roberts)
Packit 03b34a
    - Added missing pblock types, and made strings consistent with definitions. (Sam Roberts)
Packit 03b34a
    - Change version policy, we will be 1.1.4 until 1.1.5 is released. (Sam Roberts)
Packit 03b34a
    - Bring CHANGELOG up to date with today, and script used to generated it. (Sam Roberts)
Packit 03b34a
    - Begin implementation and tests for repairing pblocks after an update. (Sam Roberts)
Packit 03b34a
    - libnet_pblock_insert_before() didn't remove ptag2 from old location (Sam Roberts)
Packit 03b34a
    - Clarifications in document comments. (Sam Roberts)
Packit 03b34a
    - Don't doxygen process internal header libnet-headers.h (Sam Roberts)
Packit 03b34a
    - Declared many constant arguments as const, const-correct code spews warnings when built against libnet. (Sam Roberts)
Packit 03b34a
    - Include pcap DLT_ types from correct header, was using an internal one before. (Sam Roberts)
Packit 03b34a
    - Declared many constant arguments as const, const-correct code spews warnings when built against libnet. (Sam Roberts)
Packit 03b34a
    - Note about build_data, which doesn't update ip_offset, among other problems. (Sam Roberts)
Packit 03b34a
    - libnet_clear_packet() wasn't clearing all packet context. (Sam Roberts)
Packit 03b34a
    - Why don't TCP and UDP use the DATA pblock type? (Sam Roberts)
Packit 03b34a
    - whitespace cleanup (Sam Roberts)
Packit 03b34a
    - Add libnet_dll.c as extra, so its there for win32, and build libnet_link.c (Sam Roberts)
Packit 03b34a
    - This file wasn't being built, and needed to include bpf to build. (Sam Roberts)
Packit 03b34a
    - Forgot to make device a const string here, too. (Sam Roberts)
Packit 03b34a
    - make string argument constant (Sam Roberts)
Packit 03b34a
    - only ignore Makefile in libnet/ (Sam Roberts)
Packit 03b34a
    - Replace u_intX_t with C99 uintX_t. (Thomas Habets)
Packit 03b34a
    - pclose() following popen(), not fclose() (Thomas Habets)
Packit 03b34a
    - snoof & dlpi: don't free on libnet_link_close() (Thomas Habets)
Packit 03b34a
    - Summarize changes for log. (Sam Roberts)
Packit 03b34a
    - Reindented, removing hard tabs, and using consistent brace positioning. (Sam Roberts)
Packit 03b34a
    - The non-standard types are no longer used. (Sam Roberts)
Packit 03b34a
    - /sw/.. path doesn't always exist (Sam Roberts)
Packit 03b34a
    - src/libnet_link_snoop.c: Only fclose if f!=NULL (Thomas Habets)
Packit 03b34a
    - src/libnet_link_snoop.c: fixed snoop-based backend. Works on IRIX. (Thomas Habets)
Packit 03b34a
    - Use uint64_t, not u_int64_t (Thomas Habets)
Packit 03b34a
    - define a lying gethostbyname2() if it's not defined (Thomas Habets)
Packit 03b34a
    - define STDOUT_FILENO if it's not defined (Thomas Habets)
Packit 03b34a
    - configure.in: check for gethostbyname2 (Thomas Habets)
Packit 03b34a
    - configure.in: Check for uint{16,32,64}_t (Thomas Habets)
Packit 03b34a
    - Configure switch to install samples (Sam Roberts)
Packit 03b34a
    - Attempt at applying a patch to get installable samples, which doesn't work. (Sam Roberts)
Packit 03b34a
    - Pointers not cleared after free could lead to double deallocation. (Sam Roberts)
Packit 03b34a
    - Convert CRLF to LF. (Sam Roberts)
Packit 03b34a
    - Auto* changes to work on OS X from git checkout. (Sam Roberts)
Packit 03b34a
    - Update autobuild endianness and unaligned checks. (Mike Frysinger) (Sam Roberts)
Packit 03b34a
    - Add srcdir to include path. (Sam Roberts)
Packit 03b34a
    - Adjust srcdir and builddir so libnet can build out-of-tree (Robin Getz/Mike Frysinger) (Sam Roberts)
Packit 03b34a
    - Beginning 1.1.5 development. (Sam Roberts)
Packit 03b34a
Packit 03b34a
- 1.1.4
Packit 03b34a
Packit 03b34a
    - Strip CRLF from files not in win32/ (Robert Scheck)
Packit 03b34a
    - libnet was using HAVE_CONFIG_H in a public header in order to deal with platform types.
Packit 03b34a
      https://bugzilla.redhat.com/show_bug.cgi?id=501633
Packit 03b34a
    - Patch to libnet.h.in for compilation on HURD (David Paleino)
Packit 03b34a
Packit 03b34a
- 1.1.3
Packit 03b34a
Packit 03b34a
Merged 1.1.3 release candidate from packet factory, 1.1.2, debian patches, and
Packit 03b34a
my own fixes, including bugs causing memory corruption:
Packit 03b34a
Packit 03b34a
    - Fixed various errors, including memory corruption, when IPv4 options are
Packit 03b34a
      modified.  (Sam Roberts)
Packit 03b34a
    - Convert from latin-1 to utf-8, from Robert Scheck. (Sam Roberts)
Packit 03b34a
    - Fixed doxygen errors and warnings, and added a deveoper script to prepare
Packit 03b34a
      libnet. (Sam Roberts)
Packit 03b34a
    - Removed CVS crud, again. (Sam Roberts)
Packit 03b34a
    - Applied autotools cleanup patch from Stefanos. (Sam Roberts)
Packit 03b34a
    - Applied patch from Stefanos to remove the autotools ephemera that leaked
Packit 03b34a
      back in. (Sam Roberts)
Packit 03b34a
    - Patches from Stefanos. (Sam Roberts)
Packit 03b34a
    - Updated .so revision to be one backwards compatible interface after
Packit 03b34a
      1.1.2.1-fork's. (Sam Roberts)
Packit 03b34a
    - Fix for debian bug# 418975, IPv6 wasn't updating ip_offset. See
Packit 03b34a
      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418975 and sample
Packit 03b34a
      test_ipv6_icmpv4.c for more information, and reproduction. (Sam Roberts)
Packit 03b34a
    - merged autogen.sh from 1.1.3, now ltmain.sh comes from autogen.sh (Sam
Packit 03b34a
      Roberts)
Packit 03b34a
    - 802.1Q and 802.1X header documentation was incorrectly using /** /** is
Packit 03b34a
      reserved for doxygen documentation comments, and they didn't have any.
Packit 03b34a
      That those packet headers, and no others, were marked that way was
Packit 03b34a
      causing man pages to be generated for them, incomplete man pages that
Packit 03b34a
      then were being hacked by debian patches 02- and 03-. (Sam Roberts)
Packit 03b34a
    - Update .so version to be one src change past the last debian release.
Packit 03b34a
      Debian patches to v1.1.2.1 used 4:0:3, in error, so we use 5:0:4, as per
Packit 03b34a
      the rules. See Makefile.am comments for reference. (Sam Roberts)
Packit 03b34a
    - Bug fixes and reproduction code for ip_offset accounting problem in
Packit 03b34a
      libnet_build_ipv4 (Sam Roberts)
Packit 03b34a
    - doxygen configuration updated, html seems fine - I don't know about the
Packit 03b34a
      man pages. (Sam Roberts)
Packit 03b34a
    - autotools merged from v1.1.3 to v1.1.2 (Sam Roberts)
Packit 03b34a
    - Remove autotools. And some garbage local files that should not have been
Packit 03b34a
      in upstream tarball. (Sam Roberts)
Packit 03b34a
    - Removed object files and cvs conflict residue contained in original
Packit 03b34a
      package. (Sam Roberts)
Packit 03b34a
    - debian patch 06 attempts to free the wrong pointer, and also leaks memory
Packit 03b34a
      from the inner loop. (Sam Roberts)
Packit 03b34a
    - libnet (inconsistently) uses various signed and/or unsigned typedefs
Packit 03b34a
      instead of char ANSI C uses char for string literals and the standard
Packit 03b34a
      library, so this generates many warnings. I've fixed a number of the
Packit 03b34a
      places where types representing null-terminated strings weren't typed
Packit 03b34a
      correctly. (Sam Roberts)
Packit 03b34a
    - 09-fix_hurd-i386_build.patch from debian source package See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - 08-fix_libnet_checksum.c.patch from debian source package See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - 07-add_libnet-cq-end-loop.patch from debian source package See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - 06-fix_libnet_pblock_coalesce_leak.patch from debian source package See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - 04-fix_libnet_build_ntp.patch from debian source package See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - 03-fix_libnet_802_1x_hdr.3.patch from debian source package See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - 02-fix_libnet_802_1q_hdr.3.patch See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - 01-fix_libnet-functions.h.3.patch from debian source package See
Packit 03b34a
      http://packages.debian.org/source/sid/libnet (Sam Roberts)
Packit 03b34a
    - strip CVS subdirectories from upstream package (Sam Roberts)
Packit 03b34a
Packit 03b34a
From 1.1.3-rc:
Packit 03b34a
Packit 03b34a
    Added a libnet_version() function
Packit 03b34a
    Fixed a bug in libnet_build_ntp() where two arguments werent used due to a
Packit 03b34a
     typo
Packit 03b34a
    Fixed a bug ln libnet_name2addr4 in which it didnt call hstrerror
Packit 03b34a
    Fixed a memory leak in libnet_if_addr.c
Packit 03b34a
    Internals: added a payload builder macro
Packit 03b34a
    Added an HSRP builder
Packit 03b34a
    Fixed the cdp.c sample code
Packit 03b34a
    Added AC_PREREQ(2.50) to configure.in to come correct
Packit 03b34a
    Added a libnet udp header prototype. We need to add an entire exported
Packit 03b34a
     interface for the sole purpose of casting captured packets, this will
Packit 03b34a
     presumably be a part of the pcap integration.
Packit 03b34a
    Added libnet_adv_write_raw_ipv4()
Packit 03b34a
    Fixed the checksum function
Packit 03b34a
    Updated the autoconf/automake stuff to be up to date with the latest
Packit 03b34a
     versions. We now use libtool.
Packit 03b34a
    Fixed a signed/unsigned comparison warning in the LIBNET_DO_PAYLOAD() macro
Packit 03b34a
    Changed all empty function prototypes to contain the void keyword
Packit 03b34a
    Removed all C++ style comments
Packit 03b34a
    Removed the configure.in check for strerror()   
Packit 03b34a
     
Packit 03b34a
Packit 03b34a
Mon Mar 29 09:23:49 PST 2004                                            1.1.2.1
Packit 03b34a
Packit 03b34a
    Fixed a typo in the ICMP patch mentioned below
Packit 03b34a
Packit 03b34a
Thu Mar 25 10:49:04 PST 2004                                              1.1.2
Packit 03b34a
Packit 03b34a
    Fixed the ICMP error message builders (there was a pblock assembly bug
Packit 03b34a
     that would prevent you from building more than one ICMP {unreach, time
Packit 03b34a
     exceed, redirect} in succession; the order of operations has changed
Packit 03b34a
     slightly for building these packets, see the documenation and sample code
Packit 03b34a
    Added a Sebek builder
Packit 03b34a
    Fixed a bug in libnet_autobuild_arp() that had it pulling in the address to
Packit 03b34a
     a pointer instead of just the address
Packit 03b34a
    Added AM_MAINTAINER_MODE to configure.in
Packit 03b34a
    Changed the __libnet_dump* namespace to the more descriptive libnet_diag*
Packit 03b34a
    Added libnet_getpacket_size() to return the size of a packet in a given l
Packit 03b34a
    Removed "protocol" from the libnet context. It was a waste of four bytes
Packit 03b34a
     The raw socket interface always uses the "IPPROTO_RAW" protocol
Packit 03b34a
    Fixed a memory leak in the advanced interface; there is now a function
Packit 03b34a
     libnet_adv_free_packet() to free the memory allocated for the packet
Packit 03b34a
     when libnet_adv_cull_packet() is called
Packit 03b34a
    Fixed a bug on big endian boxes that had TCP and UDP checksums with odd
Packit 03b34a
     payloads come out incorrect 
Packit 03b34a
    Changes all error messages to look and feel the same:
Packit 03b34a
     "%s(): foo\n", __func__
Packit 03b34a
    Added a bunch of htons/htonl fixes
Packit 03b34a
    Continued to add to the doxygen-based documentation
Packit 03b34a
    Added support for unconfigured interfaces
Packit 03b34a
    Changed the number of interfaces libnet can handle from 32 to 512
Packit 03b34a
    Removed uneeded control structure cruft from libnet_link_dlpi.c
Packit 03b34a
    Removed sample/ip.c and added sample/ip_link.c and sample/ip_raw.c
Packit 03b34a
    Added IPv6 fragmentation header builder
Packit 03b34a
    Added IPv6 routing information header builder
Packit 03b34a
    Added IPv6 destination options header builder
Packit 03b34a
    Fixed IPv6 flowlabel and traffic class bitwise math
Packit 03b34a
Packit 03b34a
Tue Nov 25 15:33:27 PST 2003                                              1.1.1
Packit 03b34a
Packit 03b34a
    Fixed a bug in libnet_build_icmp_redirect: htonl(gateway) --> gateway.
Packit 03b34a
    Added icmp_redirect.c sample code.
Packit 03b34a
    Added libnet_autobuild_arp().
Packit 03b34a
    Added a slightly faster checksum.
Packit 03b34a
    Added a GRE builder.
Packit 03b34a
    Fixed a buffer overflow in libnet_build_dhcp().
Packit 03b34a
    Added more sanity checks to ensure we have proper link or network layer
Packit 03b34a
     headers when not in advanced mode.
Packit 03b34a
    Fixed a bug that would sometimes make __libnet_dump_context() crash under 
Packit 03b34a
     linux.
Packit 03b34a
    Migration from sprintf and strcpy snprintf and strncpy.
Packit 03b34a
    Fixed bug in libnet_build_ipv4() when calculating size of memory block
Packit 03b34a
    Removed the support directory -- if you're an OLD version of OpenBSD or
Packit 03b34a
     FreeBSD you deserve what you get.
Packit 03b34a
    Added a BGP builder.
Packit 03b34a
    Changed the error handing functions to be more consistent and use
Packit 03b34a
     __FUNCTION__.
Packit 03b34a
    Fixed a bug in libnet_pblock_free() -- replaced it with 
Packit 03b34a
     libnet_pblock_delete().
Packit 03b34a
    Fixed all of the inconsistencies inside all of the builders and pblock code
Packit 03b34a
     where some fringe conditions could result in u_longs being crunched into
Packit 03b34a
     u_shorts.
Packit 03b34a
    Fixed libnet_pblock_coalesce() to only require one pass through the list. 
Packit 03b34a
    Added better diagnostics (__libnet_dump_context(), __libnet_dump_pblock()).
Packit 03b34a
    Added Token Ring and FDDI builders (Linux and Solaris only).
Packit 03b34a
    Added Token Ring and FDDI sample programs.
Packit 03b34a
    Fixed the handling of TCP and IP payloads when reusing a pblocks.
Packit 03b34a
    Fixed the handling of IP headers such that if a TCP packet changes size
Packit 03b34a
     via subsequent calls to libnet_build_tcp(), the IP header automatically
Packit 03b34a
     changes size as well.
Packit 03b34a
    Added libnet_pblock_delete() to remove a pblock from the list.
Packit 03b34a
    Added ip.c sample program (builds an arbitrary IP packet).
Packit 03b34a
    Added additional payload sanity checks to libnet_build_*.
Packit 03b34a
    Added a payload to sample/icmp_echo_cq.c.
Packit 03b34a
    Added an MPLS builder.
Packit 03b34a
    Added an 802.1x builder.
Packit 03b34a
    Added an RPC builder!  Bout time eh?
Packit 03b34a
    Fixed do1x.c sample code to make the frame valid.
Packit 03b34a
    Fixed link-interface semantics under Mac/OSX
Packit 03b34a
    Changed libnet_stats to all be unsigned long longs to accomodate all of
Packit 03b34a
     hardcore packet writers.
Packit 03b34a
    Fixed IPv6 support (to some extent) removed the IP_HDRINCL stuff and
Packit 03b34a
     reworked the resolver stuff to use net_pton() and inet_ntop().
Packit 03b34a
    Fixed libnet_build_icmpv4_*() to properly handle the IP header in the
Packit 03b34a
     payload.
Packit 03b34a
    Fixed libnet_build_igmp() to handle checksums properly.
Packit 03b34a
    Fixed a bug in libnet_build_dnsv4() -- now it will work for TCP or UDP --
Packit 03b34a
     see the sample program for details...
Packit 03b34a
    Fixed a bug in sample/dhcp_discover.c
Packit 03b34a
    Added multiple packet interface (called the context queue interface).
Packit 03b34a
     Until I finish the manpage, see the sample code and README files
Packit 03b34a
     for instructions on how it works.
Packit 03b34a
    Fixed Cygwin support.
Packit 03b34a
    Fixed an OS/X compilation error due to lack of system header files.
Packit 03b34a
    Fixed OS/X link layer bug.
Packit 03b34a
    Fixed a bug in pblock_coalesce() that resulted in bad checksums when the
Packit 03b34a
     advanced mode was enabled.
Packit 03b34a
    Fixed a potential memory leak in pblock_coalesce().
Packit 03b34a
    Fixed a potential memory leak in libnet_select_device().
Packit 03b34a
    Fixed a potential memory leak in libnet_plist_chain_new().
Packit 03b34a
    Fixed Solaris support for IPv6 address support.
Packit 03b34a
    Fixed minor bugs in libnet_advanced.c.
Packit 03b34a
    Added loopback device support.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Mon Aug  5 15:18:52 PDT 2002                                              1.1.0
Packit 03b34a
Packit 03b34a
    First 1.1.0 non-beta release.
Packit 03b34a
Packit 03b34a
    Added libnet_adv_write_link() which allows an advanced user to access
Packit 03b34a
    libnet's low-level frame injection functionality directly.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Wed Jul 10 08:18:15 PDT 2002                                     1.1.0 Beta 07b
Packit 03b34a
Packit 03b34a
    Added some words to the manpage.
Packit 03b34a
Packit 03b34a
    Fixed a typo in libnet-functions.h -- forgot a comma.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Sun Jul  7 10:37:12 PDT 2002                                     1.1.0 Beta 07a
Packit 03b34a
Packit 03b34a
    My bad.  Forgot to `make distclean` before last release resulting in some
Packit 03b34a
    compilation errors.
Packit 03b34a
Packit 03b34a
    My bad.  Forgot to add advanced *_ADV writing support to libnet_write().
Packit 03b34a
    Simple fix.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Tue Jul  2 08:42:57 PDT 2002                                      1.1.0 Beta 07
Packit 03b34a
Packit 03b34a
    BETA support for IPv6.
Packit 03b34a
Packit 03b34a
    Fixed the IP and TCP options bugs that bound the TCP and IP payloads to
Packit 03b34a
    the IP and TCP headers respectively and saw options being appended
Packit 03b34a
    after the payload.
Packit 03b34a
Packit 03b34a
    Added libnet_hex_aton().  This functions reads in arbirtrarily long hex
Packit 03b34a
    strings from the command line and returns the equivalent byte string.  It
Packit 03b34a
    does an implicit malloc() so make sure to free().
Packit 03b34a
Packit 03b34a
    Frédéric Raynal submitted a patch to break the coalesce loop down to two
Packit 03b34a
    passes using realloc resulting in a modest performance increase!  Cool!
Packit 03b34a
Packit 03b34a
    Added "Advanced Mode" which will initialize the library with additional
Packit 03b34a
    functionality for advanced users who "know what they're doing".  Basically
Packit 03b34a
    this feature will remove some of the sanity checks libnet does when
Packit 03b34a
    building and injecting packets, at the programmer's peril.  It also exposes
Packit 03b34a
    the libnet_adv() functions.
Packit 03b34a
Packit 03b34a
    FINALLY changed that irritating struct ether_addr redefintion problem.
Packit 03b34a
    I internalized the name space of it (-> libnet_ether_addr) so there will
Packit 03b34a
    be no more issues there.  Please update your code accordingly!
Packit 03b34a
Packit 03b34a
    Added IGMP checksum support which was omitted by accident.
Packit 03b34a
Packit 03b34a
    Removed netinet/ip_icmp.h from include list.  This was causing problems
Packit 03b34a
    when including dnet.h which includes other system headers.  We can
Packit 03b34a
    probably stand to remove several headers from libnet.h.in.
Packit 03b34a
Packit 03b34a
    Added sanity check to ensure that when *build_ethernet() is called the
Packit 03b34a
    injection method is LIBNET_LINK (except when advanced mode is on).
Packit 03b34a
Packit 03b34a
Packit 03b34a
Thu Mar 28 22:18:46 PST 2002                                      1.1.0 Beta 06
Packit 03b34a
Packit 03b34a
    Fixed ICMP unreachable checksum error and payload issues.  Now using the
Packit 03b34a
    payload interface with unreachables will append the payload to the IPv4
Packit 03b34a
    header of the "offending packet".
Packit 03b34a
Packit 03b34a
    Split STP builder into two; libnet_build_stp_conf() and
Packit 03b34a
    libnet_build_stp_tcn().
Packit 03b34a
Packit 03b34a
    New CHANGELOG format.  :)
Packit 03b34a
Packit 03b34a
Packit 03b34a
Mar 24 2002                                                       1.1.0 Beta 05
Packit 03b34a
Packit 03b34a
    New building logic.  Top down.  Much smarter, we now build packets and
Packit 03b34a
    frames like an OS kernel.
Packit 03b34a
Packit 03b34a
    Added Cisco ISL builder.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Mar 18 2002                                                       1.1.0 Beta 04
Packit 03b34a
Packit 03b34a
    Added an STP builder.
Packit 03b34a
Packit 03b34a
    Hooks for Cisco ISL builder.
Packit 03b34a
Packit 03b34a
    Changed libnet_init() to now accept an IP address for the device (so 
Packit 03b34a
    either "fxp0" or "192.168.0.1" will work).
Packit 03b34a
Packit 03b34a
    Added libnet_clear_packet() to free packet memory when we're done with it.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Feb 28 2002                                                       1.1.0 Beta 03
Packit 03b34a
Packit 03b34a
    Added 802.1q, 802.2, 802.3 builders.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Feb 25 2002                                                       1.1.0 Beta 02
Packit 03b34a
Packit 03b34a
    Fixed Cygwin support.
Packit 03b34a
Packit 03b34a
Packit 03b34a
Feb 01 2002                                                       1.1.0 Beta 01
Packit 03b34a
Packit 03b34a
    Complete new API and overhaul of most everything.
Packit 03b34a
Packit 03b34a
    Improved linux packet socket support.
Packit 03b34a
                            
Packit 03b34a
    Renamed libnet_host_lookup() and libnet_name_resolve() to the more 
Packit 03b34a
    intuitive libnet_addr2name() and libnet_name2addr().
Packit 03b34a
Packit 03b34a
    All of the address resolution functions return host byte order (which 
Packit 03b34a
    is what the build functions want).
Packit 03b34a
Packit 03b34a
    Removed a ton of code from every corner of libnet.
Packit 03b34a
Packit 03b34a
    Removed alot of useless crap:
Packit 03b34a
        misc directory
Packit 03b34a
        ports directory
Packit 03b34a
        util directory
Packit 03b34a
        cleaned out the test directory and moved it to sample
Packit 03b34a
                            
Packit 03b34a
    The libnet-config script is no longer needed to specify machine 
Packit 03b34a
    endianess -- that has been moved to libnet.h and done at compile time.
Packit 03b34a
    You can still use it to specify other CPP constants as well as 
Packit 03b34a
    libraries.
Packit 03b34a
Packit 03b34a
    Added cygwin support.
Packit 03b34a
Packit 03b34a
    Hooks for a few ieee 802 builders.
Packit 03b34a
Packit 03b34a
    Added NTP builder.
Packit 03b34a
Packit 03b34a
    Added DHCP builder.
Packit 03b34a
Packit 03b34a
    Added BOOTP builder.
Packit 03b34a
Packit 03b34a
    Added Cisco CDP builder (needs work).
Packit 03b34a
Packit 03b34a
    Added IPSEC builder (needs work).
Packit 03b34a
Packit 03b34a
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Packit 03b34a
Packit 03b34a
  1.0.2a    02.06.2001      Oops!  Messed up the install stuff.  Fixed now.
Packit 03b34a
                            Fixed the config.sub to correctly look for arm*
Packit 03b34a
                             architecture.
Packit 03b34a
                            Fixed the test.sh script
Packit 03b34a
                             (Thankz again to syke).
Packit 03b34a
Packit 03b34a
  1.0.2     02.03.2001      Added OpenBSD 2.7 etherspoof lkm and kernel patch.
Packit 03b34a
                             (Thankz to obecian).
Packit 03b34a
                            Added FreeBSD 4.0-STABLE (and 5.0-CURRENT?)
Packit 03b34a
                             etherspoof kernel patch.
Packit 03b34a
                             (Thankz to Matt Bing).
Packit 03b34a
                            Added FreeBSD 4 support for automagic MAC address
Packit 03b34a
                             spoofing (via ioctl).  No more lkm!
Packit 03b34a
                             (Thankz to Toni Andjelkovic).
Packit 03b34a
                            Added VRRP support.
Packit 03b34a
                            Fixed a NULL pointer check in libnet_checksum.c.
Packit 03b34a
                             (Thankz to syke).
Packit 03b34a
                            Fixed a function naming problem in libnet_if_addr.c.
Packit 03b34a
                             (Thankz to gigisull).
Packit 03b34a
                            Fixed a potential byte error in libnet_version.
Packit 03b34a
                             (Thankz to wotan).
Packit 03b34a
                            Fixed a potential overflow in
Packit 03b34a
                             libnet_link_sockpacket.c and libnet_link_dlpi.c.
Packit 03b34a
                             (Thankz to Jarno Huuskonen).
Packit 03b34a
                            Fixed a manpage discrepancy (get_ip_addr returns
Packit 03b34a
                             host-byte, not network-byte).
Packit 03b34a
                            Fixed arena allocation code (misalignments and
Packit 03b34a
                             whatnot) and arena manpage entry (2 arguments
Packit 03b34a
                             were swapped).
Packit 03b34a
                             (Thankz to Bryan T. Schmersal).
Packit 03b34a
                            Fixed datatype discrepancies (u_char was used
Packit 03b34a
                             liberally when char should have been used).
Packit 03b34a
                             (Thankz to Kyle Hargraves).
Packit 03b34a
                            Fixed the PF_PACKET interface to work correctly.
Packit 03b34a
                             (Thankz to Smiler).
Packit 03b34a
Packit 03b34a
  1.0.1b    04.07.2000      Fixed portlist chaining code to allow for more than
Packit 03b34a
                             one active plist chain at a time (as per twitch's
Packit 03b34a
                             patch).
Packit 03b34a
                            Fixed discrepancy between the manpage and code for
Packit 03b34a
                             libnet_close_link_interface.  It now returns 1 on
Packit 03b34a
                             success as per libnet standard (thankz to Toni
Packit 03b34a
                             Andjelkovic for pointing this out).
Packit 03b34a
Packit 03b34a
  1.0.1a    03.29.2000      Fixed a small bug in libnet_link_dlpi.c.
Packit 03b34a
Packit 03b34a
  1.0.1     12.19.1999      Fixed a typo in libnet-headers.h ARH_H -> ARP_H.
Packit 03b34a
                            Fixed a small typo in ether_mod-2.5.c.
Packit 03b34a
                            Pre-happy BD to libnet!  She'z almost 2 yearz old!
Packit 03b34a
Packit 03b34a
  1.0.0     10.27.1999      Added verbose html documentation.
Packit 03b34a
                            Added verbosely commented  example code.
Packit 03b34a
                            Fixed OSPF testcode compile issues.
Packit 03b34a
                            Added ping of death ICMP test code module.
Packit 03b34a
                            Fixed manpage installation wrongness.
Packit 03b34a
                            Fixed a reported bug in OpenBSD etherspoof lkm.
Packit 03b34a
                            Merged OSPF lsa checksum code into main checksum
Packit 03b34a
                             module.
Packit 03b34a
                            Fixed a reported bug in the Makefile.in under
Packit 03b34a
                             Solaris when make install was invoked, the ln
Packit 03b34a
                             failed.
Packit 03b34a
                            Fixed linux-based IP broadcasting using the
Packit 03b34a
                             raw sockets interface.
Packit 03b34a
Packit 03b34a
    0.99g    09.13.1999     Added an OSPF builder (which is still in beta).
Packit 03b34a
                            Fixed the Linux/configure.in bug.  This was an odd
Packit 03b34a
                             bug that affected Linux-based boxes, but not
Packit 03b34a
                             BSD-based machines.  The configure script refused
Packit 03b34a
                             to expand most of the Makefile.in macros in every file
Packit 03b34a
                             because of a conditional check.
Packit 03b34a
                            Fixed some Makefile.in issues.
Packit 03b34a
Packit 03b34a
    0.99f    09.09.1999     Changed test/poink.c to not rely on a previous
Packit 03b34a
                             install of libnet to compile.
Packit 03b34a
                            Added a redhat RPM.
Packit 03b34a
                            Changed sourcefile naming scheme to libnet_*.
Packit 03b34a
                            Removed all assertions from the tree.
Packit 03b34a
                             We are moving closer to a 1.0 release and
Packit 03b34a
                             assertions have no place in production code.
Packit 03b34a
                             Furthermore, there should be no exit points
Packit 03b34a
                             inside a library.  Currently, all functions that
Packit 03b34a
                             made assertions now return an integral 1 upon
Packit 03b34a
                             success and a -1 when the assertion would have
Packit 03b34a
                             failed (some had to be changed from returning
Packit 03b34a
                             void to returning int).  This will not break
Packit 03b34a
                             backward compatbility.
Packit 03b34a
                            Fixed bugs in the arena code.
Packit 03b34a
                             next_packet_from_arena would never return the
Packit 03b34a
                             first chunk of memory, only the "next".  It
Packit 03b34a
                             now handles this special case.  Thanks to
Packit 03b34a
                             Sascha Gresk for locating this bug.
Packit 03b34a
                             Fixed another potential bug when attempting
Packit 03b34a
                              to allocate large packet sizes inside an arena.
Packit 03b34a
                            Added an OpenBSD 2.5 ether_spoof lkm.
Packit 03b34a
                            Fixed TCP options bugs.
Packit 03b34a
Packit 03b34a
    0.99e    07.21.1999     Modified the libnet-config script to work more
Packit 03b34a
                             intutively now.  It accepts multiple arguments.
Packit 03b34a
                             See README.libnet-config.
Packit 03b34a
                            Solaris m4/sh fixes (autoconf phase).
Packit 03b34a
                            Internal error handling changed to use libnet_error.
Packit 03b34a
Packit 03b34a
    0.99d    06.24.1999     Added: build_icmp_redirect().
Packit 03b34a
                            Added: FreeBSD 3.x support for spoofing source.
Packit 03b34a
                            Added: libnet_error().
Packit 03b34a
                            Added: port list chaining code.
Packit 03b34a
                             MAC addrresses (see README.bpf).
Packit 03b34a
                            Bugfix: libnet_select_device correctly accepts
Packit 03b34a
                             NULL device arguments.
Packit 03b34a
                            Bugfix: build_icmp.c now copies the correct amount 
Packit 03b34a
                             of header information.
Packit 03b34a
                            Bugfix: OpenBSD needs HAVE_SOCKADDR_SA_LEN.
Packit 03b34a
                            Changed: write_ip internal semantics.  Cleaner
Packit 03b34a
                             and faster now.
Packit 03b34a
                            Changed: init_packet argument parameters.  More
Packit 03b34a
                             correct now.  Takes a u_short vs. a size_t.
Packit 03b34a
Packit 03b34a
    0.99c   05.28.1999      link_int -> libnet_link_int.
Packit 03b34a
                            Misc small testcode fixes.
Packit 03b34a
                            Added libnet_tcp_header and libnet_ip_header.
Packit 03b34a
                            Added libnet-config shell script, see
Packit 03b34a
                             README.libnet-config and the manpage.
Packit 03b34a
                            Updated ports.
Packit 03b34a
                            Revamped checksum module --  it's much simpler
Packit 03b34a
                             and more efficient (ripped out arch specific
Packit 03b34a
                             code which seemed to be buggy with series' of
Packit 03b34a
                             very large packets).  Dug Song wrote it, with
Packit 03b34a
                             small fixes/changes by MDS.
Packit 03b34a
Packit 03b34a
    0.99b   05.06.1999      Fixed a nasty UDP/TCP + data checksum bug.
Packit 03b34a
                            Header structure further divided into subfiles.
Packit 03b34a
                            Moved get_hwaddr into low-level interface locales.
Packit 03b34a
                            Fixed the BSD get_hwaddr (dugsong@anzen.com).
Packit 03b34a
                            Ported to BSD/OS 3.x.
Packit 03b34a
                            Added `LIBNET_VERSION` symbolic constant.
Packit 03b34a
                            build_ip with payload semantics changed (now
Packit 03b34a
                             requires a payload length which is more
Packit 03b34a
                             intuitive).
Packit 03b34a
                            Fixed the `disappearing MAC address problem`
Packit 03b34a
                             within the linux version of get_hwaddr().
Packit 03b34a
Packit 03b34a
    0.99a   04.14.1999      Linux 2.0.x kernels don't have <net/ethernet.h>
Packit 03b34a
                             0.99 included this header file without checking
Packit 03b34a
                             to see if it present.  This is now fixed.
Packit 03b34a
                            Non-x86 systems have no tcp_check function but the
Packit 03b34a
                             stub.c sourcefile did not check this.  This is now
Packit 03b34a
                             fixed.
Packit 03b34a
                            Added the utilities directory and get_mac.c.
Packit 03b34a
Packit 03b34a
    0.99    04.13.1999      Major manpage redux.
Packit 03b34a
                            Added (broken?) PF_PACKET support for Linux (see
Packit 03b34a
                             README.linux).
Packit 03b34a
                            Moved alot of m4 from configure.in to aclocal.m4.
Packit 03b34a
                            Added Linux m4 macro to detect PF_PACKET.
Packit 03b34a
                            Added build_icmp_unreach
Packit 03b34a
                            Added build_icmp_timestamp
Packit 03b34a
                            Added standard nomenclature for all the ICMP
Packit 03b34a
                             type/code symbolic constants (see the manpage).
Packit 03b34a
                            Changed internal network structure nomenclature.
Packit 03b34a
                            Decided to stop using the word nomenclature so much.
Packit 03b34a
                            Fixed semantics of get_ipaddr (s/PF_INET/AF_INET).
Packit 03b34a
                            Added a symlink in the install directory so libnet
Packit 03b34a
                             is also named `libpwrite`.
Packit 03b34a
                            Added ASN.1 conversion routines, mostly pilfered
Packit 03b34a
                             from ucd snmplib.
Packit 03b34a
                            Removed get_hwaddr from sockpacket.c and made the
Packit 03b34a
                             existing one portable to Linux.
Packit 03b34a
                            Added more testcode and changed testcode structure
Packit 03b34a
                             to be more intuitive.
Packit 03b34a
                            Added init_packet and destroy_packet.
Packit 03b34a
                            Added an arena allocator.
Packit 03b34a
                            Fixed alignment issues on SPARC and Alpha
Packit 03b34a
                             (possibly others with strict alignment
Packit 03b34a
                             requirements).
Packit 03b34a
                            Added a packet dumping routine.  Not fully tested.
Packit 03b34a
                            Testcode updates including a master testcode shell
Packit 03b34a
                             script.
Packit 03b34a
                            Added stub functions to ease the eventual
Packit 03b34a
                             transition to a more proper `libnet_*` function
Packit 03b34a
                             naming convention.  See README.stubs for more
Packit 03b34a
                             info.
Packit 03b34a
Packit 03b34a
    0.10a   02.04.1999      Added the libnet.s2h configuration file to the
Packit 03b34a
                             distribution.
Packit 03b34a
                            GLIBC fix.
Packit 03b34a
Packit 03b34a
    0.10    01.31.1999      Many low-level changes, same interface though.
Packit 03b34a
                            Split up the main libnet.h file into two files.
Packit 03b34a
                            Autoconf changes:
Packit 03b34a
                             checks to see if the underlying architecture
Packit 03b34a
                             needs to be aligned.
Packit 03b34a
                             flexible install location.
Packit 03b34a
                             explicitly set $CC option in Makefile.in.
Packit 03b34a
                            Added ensure-dir.sh.
Packit 03b34a
                            Changes DEBUG semantics as I was told the previous
Packit 03b34a
                             stuff broke on some compilers.
Packit 03b34a
                            Created a FreeBSD/OpenBSD ports entry.
Packit 03b34a
                            SGI snoop (drain) interface fixed.
Packit 03b34a
                            Solaris/HPUX DLPI interface fixed.
Packit 03b34a
                            Support for getting local IP addresses.
Packit 03b34a
                            Support for getting local hardware addresses.
Packit 03b34a
                            Added a DNS packet builder.
Packit 03b34a
                            Added an RIP packet builder.
Packit 03b34a
                            Added an ICMP MASKREQ/REPLY packet builder.
Packit 03b34a
                            Added ICMP at the link layer test code.
Packit 03b34a
                            Changed GLIBC version detection semantics.
Packit 03b34a
Packit 03b34a
    0.9     12.15.1998      Major changes/additions here...
Packit 03b34a
                            Added lowlevel packet building and writing
Packit 03b34a
                             routines with a codebase from libpcap.
Packit 03b34a
                            Broken DPLI support (fixme!).
Packit 03b34a
                            Added ethernet and ARP building routines.
Packit 03b34a
                            Added ICMP_ECHO building routine which led to the
Packit 03b34a
                             Discovery of an odd kernel panic bug under
Packit 03b34a
                             OpenBSD (see hook.c in test dir).
Packit 03b34a
                            Added IGMP building routine.
Packit 03b34a
                            Reworked autoconf script.
Packit 03b34a
                            Fixed Linux ip_sum vs. ip_csum naming issue.
Packit 03b34a
                            Fixed Solaris checksums (2.4, 2.5.x).
Packit 03b34a
                            Added NetBSD autoconf entry.
Packit 03b34a
                            Changed BSD_BYTE_SWAP semantics to correctly handle
Packit 03b34a
                             IP datagrams through BPF (see write_ip.c).
Packit 03b34a
Packit 03b34a
    0.8c    11.10.1998      Added more testcode.
Packit 03b34a
Packit 03b34a
    0.8b    10.21.1998      OK.  I THINK WE'VE FINALLY FIXED THAT GLIBC THING.
Packit 03b34a
                            Ported to alpha Linux.
Packit 03b34a
Packit 03b34a
    0.8a    10.15.1998      Added support for IP TOS bits (oops.  Broke
Packit 03b34a
                             backward compatibility again.  Like I said, don't
Packit 03b34a
                             rely on this until 1.x).
Packit 03b34a
Packit 03b34a
    0.8     10.13.1998      Added support for IP options.
Packit 03b34a
                            Added support for TCP options.
Packit 03b34a
                            Added a dummy version function.
Packit 03b34a
                            Fixed linux libc vs. glibc nomenclature discrepancy.
Packit 03b34a
                            Solaris checksums fixed for non-payload laden
Packit 03b34a
                             packets?
Packit 03b34a
Packit 03b34a
    0.7b    09.22.1998      Linux glibc/libc nomenclature anomoly still there.
Packit 03b34a
                            Fixed Linux/BSD icmp header size problem.
Packit 03b34a
Packit 03b34a
    0.7a    08.26.1998      Fixed payload support (see test code).
Packit 03b34a
Packit 03b34a
    0.7     08.25.1998      Solaris port (checksums broken -- Solaris has gay
Packit 03b34a
                             fucking quirks when it comes to checksumming on
Packit 03b34a
                             raw sockets).
Packit 03b34a
                            Added autoconf scripts.
Packit 03b34a
                            Added psuedorandom number generation code.
Packit 03b34a
                            Added payload support (breaks backward
Packit 03b34a
                            compatability and is untested).
Packit 03b34a
Packit 03b34a
    0.6     06.21.1998      Fixed UDP checksum.  Removed USE_NAME CPP option
Packit 03b34a
                             made it a run time decision.  Makes code more
Packit 03b34a
                             extensible, but breaks backward compatibility.
Packit 03b34a
Packit 03b34a
    0.5     06.02.1998      Added TCP/UDP/IP packet assembly routines.
Packit 03b34a
                            Added a checksum function.
Packit 03b34a
                            Added a manpage.
Packit 03b34a
                            Removed daemonizing function (BSD has one).
Packit 03b34a
                            UDP checksums broken...
Packit 03b34a
Packit 03b34a
    0.4     01.12.1998      IP checksum (x86 assembly implementation).
Packit 03b34a
Packit 03b34a
    0.3     01.12.1998      daemonizing function.
Packit 03b34a
Packit 03b34a
    0.2     01.11.1998      raw socket function changed to allow user 
Packit 03b34a
                            designated protocol for raw socket
Packit 03b34a
Packit 03b34a
    0.1     01.05.1998      Initial release, contains: 
Packit 03b34a
                             network byte order -> human readable IP address,
Packit 03b34a
                             human readable IP address -> network byte order,
Packit 03b34a
                             simple raw socket / IP_HDRINCL wrapper,
Packit 03b34a
                             TCP checksum (x86 assembly implementation)
Packit 03b34a
EOF