diff options
author | Sam Roberts <vieuxtech@gmail.com> | 2009-06-05 09:43:59 -0700 |
---|---|---|
committer | Sam Roberts <vieuxtech@gmail.com> | 2009-06-05 09:43:59 -0700 |
commit | d39abe24cf5a1a0c4c4e837def858d758e6ab7a3 (patch) | |
tree | ca0a1271be66a0152787ef5ef599c6e672920fb6 /libnet/doc/CHANGELOG | |
parent | 559204f479953e375e561c703784da323b7c0ccf (diff) | |
download | libnet-d39abe24cf5a1a0c4c4e837def858d758e6ab7a3.tar.gz |
Strip CRLF from files not in win32/
Diffstat (limited to 'libnet/doc/CHANGELOG')
-rw-r--r-- | libnet/doc/CHANGELOG | 1239 |
1 files changed, 620 insertions, 619 deletions
diff --git a/libnet/doc/CHANGELOG b/libnet/doc/CHANGELOG index 5ffb4a6..2f37f56 100644 --- a/libnet/doc/CHANGELOG +++ b/libnet/doc/CHANGELOG @@ -1,619 +1,620 @@ -===============================================================================
- $Id: CHANGELOG,v 1.26 2004/11/09 07:05:06 mike Exp $
- LIBNET 1.1 (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
- http://www.packetfactory.net/libnet
-===============================================================================
-
-- 1.1.4
-
- - Patch to libnet.h.in for compilation on HURD (David Paleino)
-
-
-- 1.1.3
-
-Merged 1.1.3 release candidate from packet factory, 1.1.2, debian patches, and
-my own fixes, including bugs causing memory corruption:
-
- - Fixed various errors, including memory corruption, when IPv4 options are
- modified. (Sam Roberts)
- - Convert from latin-1 to utf-8, from Robert Scheck. (Sam Roberts)
- - Fixed doxygen errors and warnings, and added a deveoper script to prepare
- libnet. (Sam Roberts)
- - Removed CVS crud, again. (Sam Roberts)
- - Applied autotools cleanup patch from Stefanos. (Sam Roberts)
- - Applied patch from Stefanos to remove the autotools ephemera that leaked
- back in. (Sam Roberts)
- - Patches from Stefanos. (Sam Roberts)
- - Updated .so revision to be one backwards compatible interface after
- 1.1.2.1-fork's. (Sam Roberts)
- - Fix for debian bug# 418975, IPv6 wasn't updating ip_offset. See
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418975 and sample
- test_ipv6_icmpv4.c for more information, and reproduction. (Sam Roberts)
- - merged autogen.sh from 1.1.3, now ltmain.sh comes from autogen.sh (Sam
- Roberts)
- - 802.1Q and 802.1X header documentation was incorrectly using /** /** is
- reserved for doxygen documentation comments, and they didn't have any.
- That those packet headers, and no others, were marked that way was
- causing man pages to be generated for them, incomplete man pages that
- then were being hacked by debian patches 02- and 03-. (Sam Roberts)
- - Update .so version to be one src change past the last debian release.
- Debian patches to v1.1.2.1 used 4:0:3, in error, so we use 5:0:4, as per
- the rules. See Makefile.am comments for reference. (Sam Roberts)
- - Bug fixes and reproduction code for ip_offset accounting problem in
- libnet_build_ipv4 (Sam Roberts)
- - doxygen configuration updated, html seems fine - I don't know about the
- man pages. (Sam Roberts)
- - autotools merged from v1.1.3 to v1.1.2 (Sam Roberts)
- - Remove autotools. And some garbage local files that should not have been
- in upstream tarball. (Sam Roberts)
- - Removed object files and cvs conflict residue contained in original
- package. (Sam Roberts)
- - debian patch 06 attempts to free the wrong pointer, and also leaks memory
- from the inner loop. (Sam Roberts)
- - libnet (inconsistently) uses various signed and/or unsigned typedefs
- instead of char ANSI C uses char for string literals and the standard
- library, so this generates many warnings. I've fixed a number of the
- places where types representing null-terminated strings weren't typed
- correctly. (Sam Roberts)
- - 09-fix_hurd-i386_build.patch from debian source package See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - 08-fix_libnet_checksum.c.patch from debian source package See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - 07-add_libnet-cq-end-loop.patch from debian source package See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - 06-fix_libnet_pblock_coalesce_leak.patch from debian source package See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - 04-fix_libnet_build_ntp.patch from debian source package See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - 03-fix_libnet_802_1x_hdr.3.patch from debian source package See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - 02-fix_libnet_802_1q_hdr.3.patch See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - 01-fix_libnet-functions.h.3.patch from debian source package See
- http://packages.debian.org/source/sid/libnet (Sam Roberts)
- - strip CVS subdirectories from upstream package (Sam Roberts)
-
-From 1.1.3-rc:
-
- Added a libnet_version() function
- Fixed a bug in libnet_build_ntp() where two arguments werent used due to a
- typo
- Fixed a bug ln libnet_name2addr4 in which it didnt call hstrerror
- Fixed a memory leak in libnet_if_addr.c
- Internals: added a payload builder macro
- Added an HSRP builder
- Fixed the cdp.c sample code
- Added AC_PREREQ(2.50) to configure.in to come correct
- Added a libnet udp header prototype. We need to add an entire exported
- interface for the sole purpose of casting captured packets, this will
- presumably be a part of the pcap integration.
- Added libnet_adv_write_raw_ipv4()
- Fixed the checksum function
- Updated the autoconf/automake stuff to be up to date with the latest
- versions. We now use libtool.
- Fixed a signed/unsigned comparison warning in the LIBNET_DO_PAYLOAD() macro
- Changed all empty function prototypes to contain the void keyword
- Removed all C++ style comments
- Removed the configure.in check for strerror()
-
-
-Mon Mar 29 09:23:49 PST 2004 1.1.2.1
-
- Fixed a typo in the ICMP patch mentioned below
-
-Thu Mar 25 10:49:04 PST 2004 1.1.2
-
- Fixed the ICMP error message builders (there was a pblock assembly bug
- that would prevent you from building more than one ICMP {unreach, time
- exceed, redirect} in succession; the order of operations has changed
- slightly for building these packets, see the documenation and sample code
- Added a Sebek builder
- Fixed a bug in libnet_autobuild_arp() that had it pulling in the address to
- a pointer instead of just the address
- Added AM_MAINTAINER_MODE to configure.in
- Changed the __libnet_dump* namespace to the more descriptive libnet_diag*
- Added libnet_getpacket_size() to return the size of a packet in a given l
- Removed "protocol" from the libnet context. It was a waste of four bytes
- The raw socket interface always uses the "IPPROTO_RAW" protocol
- Fixed a memory leak in the advanced interface; there is now a function
- libnet_adv_free_packet() to free the memory allocated for the packet
- when libnet_adv_cull_packet() is called
- Fixed a bug on big endian boxes that had TCP and UDP checksums with odd
- payloads come out incorrect
- Changes all error messages to look and feel the same:
- "%s(): foo\n", __func__
- Added a bunch of htons/htonl fixes
- Continued to add to the doxygen-based documentation
- Added support for unconfigured interfaces
- Changed the number of interfaces libnet can handle from 32 to 512
- Removed uneeded control structure cruft from libnet_link_dlpi.c
- Removed sample/ip.c and added sample/ip_link.c and sample/ip_raw.c
- Added IPv6 fragmentation header builder
- Added IPv6 routing information header builder
- Added IPv6 destination options header builder
- Fixed IPv6 flowlabel and traffic class bitwise math
-
-Tue Nov 25 15:33:27 PST 2003 1.1.1
-
- Fixed a bug in libnet_build_icmp_redirect: htonl(gateway) --> gateway.
- Added icmp_redirect.c sample code.
- Added libnet_autobuild_arp().
- Added a slightly faster checksum.
- Added a GRE builder.
- Fixed a buffer overflow in libnet_build_dhcp().
- Added more sanity checks to ensure we have proper link or network layer
- headers when not in advanced mode.
- Fixed a bug that would sometimes make __libnet_dump_context() crash under
- linux.
- Migration from sprintf and strcpy snprintf and strncpy.
- Fixed bug in libnet_build_ipv4() when calculating size of memory block
- Removed the support directory -- if you're an OLD version of OpenBSD or
- FreeBSD you deserve what you get.
- Added a BGP builder.
- Changed the error handing functions to be more consistent and use
- __FUNCTION__.
- Fixed a bug in libnet_pblock_free() -- replaced it with
- libnet_pblock_delete().
- Fixed all of the inconsistencies inside all of the builders and pblock code
- where some fringe conditions could result in u_longs being crunched into
- u_shorts.
- Fixed libnet_pblock_coalesce() to only require one pass through the list.
- Added better diagnostics (__libnet_dump_context(), __libnet_dump_pblock()).
- Added Token Ring and FDDI builders (Linux and Solaris only).
- Added Token Ring and FDDI sample programs.
- Fixed the handling of TCP and IP payloads when reusing a pblocks.
- Fixed the handling of IP headers such that if a TCP packet changes size
- via subsequent calls to libnet_build_tcp(), the IP header automatically
- changes size as well.
- Added libnet_pblock_delete() to remove a pblock from the list.
- Added ip.c sample program (builds an arbitrary IP packet).
- Added additional payload sanity checks to libnet_build_*.
- Added a payload to sample/icmp_echo_cq.c.
- Added an MPLS builder.
- Added an 802.1x builder.
- Added an RPC builder! Bout time eh?
- Fixed do1x.c sample code to make the frame valid.
- Fixed link-interface semantics under Mac/OSX
- Changed libnet_stats to all be unsigned long longs to accomodate all of
- hardcore packet writers.
- Fixed IPv6 support (to some extent) removed the IP_HDRINCL stuff and
- reworked the resolver stuff to use net_pton() and inet_ntop().
- Fixed libnet_build_icmpv4_*() to properly handle the IP header in the
- payload.
- Fixed libnet_build_igmp() to handle checksums properly.
- Fixed a bug in libnet_build_dnsv4() -- now it will work for TCP or UDP --
- see the sample program for details...
- Fixed a bug in sample/dhcp_discover.c
- Added multiple packet interface (called the context queue interface).
- Until I finish the manpage, see the sample code and README files
- for instructions on how it works.
- Fixed Cygwin support.
- Fixed an OS/X compilation error due to lack of system header files.
- Fixed OS/X link layer bug.
- Fixed a bug in pblock_coalesce() that resulted in bad checksums when the
- advanced mode was enabled.
- Fixed a potential memory leak in pblock_coalesce().
- Fixed a potential memory leak in libnet_select_device().
- Fixed a potential memory leak in libnet_plist_chain_new().
- Fixed Solaris support for IPv6 address support.
- Fixed minor bugs in libnet_advanced.c.
- Added loopback device support.
-
-
-Mon Aug 5 15:18:52 PDT 2002 1.1.0
-
- First 1.1.0 non-beta release.
-
- Added libnet_adv_write_link() which allows an advanced user to access
- libnet's low-level frame injection functionality directly.
-
-
-Wed Jul 10 08:18:15 PDT 2002 1.1.0 Beta 07b
-
- Added some words to the manpage.
-
- Fixed a typo in libnet-functions.h -- forgot a comma.
-
-
-Sun Jul 7 10:37:12 PDT 2002 1.1.0 Beta 07a
-
- My bad. Forgot to `make distclean` before last release resulting in some
- compilation errors.
-
- My bad. Forgot to add advanced *_ADV writing support to libnet_write().
- Simple fix.
-
-
-Tue Jul 2 08:42:57 PDT 2002 1.1.0 Beta 07
-
- BETA support for IPv6.
-
- Fixed the IP and TCP options bugs that bound the TCP and IP payloads to
- the IP and TCP headers respectively and saw options being appended
- after the payload.
-
- Added libnet_hex_aton(). This functions reads in arbirtrarily long hex
- strings from the command line and returns the equivalent byte string. It
- does an implicit malloc() so make sure to free().
-
- Frédéric Raynal submitted a patch to break the coalesce loop down to two
- passes using realloc resulting in a modest performance increase! Cool!
-
- Added "Advanced Mode" which will initialize the library with additional
- functionality for advanced users who "know what they're doing". Basically
- this feature will remove some of the sanity checks libnet does when
- building and injecting packets, at the programmer's peril. It also exposes
- the libnet_adv() functions.
-
- FINALLY changed that irritating struct ether_addr redefintion problem.
- I internalized the name space of it (-> libnet_ether_addr) so there will
- be no more issues there. Please update your code accordingly!
-
- Added IGMP checksum support which was omitted by accident.
-
- Removed netinet/ip_icmp.h from include list. This was causing problems
- when including dnet.h which includes other system headers. We can
- probably stand to remove several headers from libnet.h.in.
-
- Added sanity check to ensure that when *build_ethernet() is called the
- injection method is LIBNET_LINK (except when advanced mode is on).
-
-
-Thu Mar 28 22:18:46 PST 2002 1.1.0 Beta 06
-
- Fixed ICMP unreachable checksum error and payload issues. Now using the
- payload interface with unreachables will append the payload to the IPv4
- header of the "offending packet".
-
- Split STP builder into two; libnet_build_stp_conf() and
- libnet_build_stp_tcn().
-
- New CHANGELOG format. :)
-
-
-Mar 24 2002 1.1.0 Beta 05
-
- New building logic. Top down. Much smarter, we now build packets and
- frames like an OS kernel.
-
- Added Cisco ISL builder.
-
-
-Mar 18 2002 1.1.0 Beta 04
-
- Added an STP builder.
-
- Hooks for Cisco ISL builder.
-
- Changed libnet_init() to now accept an IP address for the device (so
- either "fxp0" or "192.168.0.1" will work).
-
- Added libnet_clear_packet() to free packet memory when we're done with it.
-
-
-Feb 28 2002 1.1.0 Beta 03
-
- Added 802.1q, 802.2, 802.3 builders.
-
-
-Feb 25 2002 1.1.0 Beta 02
-
- Fixed Cygwin support.
-
-
-Feb 01 2002 1.1.0 Beta 01
-
- Complete new API and overhaul of most everything.
-
- Improved linux packet socket support.
-
- Renamed libnet_host_lookup() and libnet_name_resolve() to the more
- intuitive libnet_addr2name() and libnet_name2addr().
-
- All of the address resolution functions return host byte order (which
- is what the build functions want).
-
- Removed a ton of code from every corner of libnet.
-
- Removed alot of useless crap:
- misc directory
- ports directory
- util directory
- cleaned out the test directory and moved it to sample
-
- The libnet-config script is no longer needed to specify machine
- endianess -- that has been moved to libnet.h and done at compile time.
- You can still use it to specify other CPP constants as well as
- libraries.
-
- Added cygwin support.
-
- Hooks for a few ieee 802 builders.
-
- Added NTP builder.
-
- Added DHCP builder.
-
- Added BOOTP builder.
-
- Added Cisco CDP builder (needs work).
-
- Added IPSEC builder (needs work).
-
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- 1.0.2a 02.06.2001 Oops! Messed up the install stuff. Fixed now.
- Fixed the config.sub to correctly look for arm*
- architecture.
- Fixed the test.sh script
- (Thankz again to syke).
-
- 1.0.2 02.03.2001 Added OpenBSD 2.7 etherspoof lkm and kernel patch.
- (Thankz to obecian).
- Added FreeBSD 4.0-STABLE (and 5.0-CURRENT?)
- etherspoof kernel patch.
- (Thankz to Matt Bing).
- Added FreeBSD 4 support for automagic MAC address
- spoofing (via ioctl). No more lkm!
- (Thankz to Toni Andjelkovic).
- Added VRRP support.
- Fixed a NULL pointer check in libnet_checksum.c.
- (Thankz to syke).
- Fixed a function naming problem in libnet_if_addr.c.
- (Thankz to gigisull).
- Fixed a potential byte error in libnet_version.
- (Thankz to wotan).
- Fixed a potential overflow in
- libnet_link_sockpacket.c and libnet_link_dlpi.c.
- (Thankz to Jarno Huuskonen).
- Fixed a manpage discrepancy (get_ip_addr returns
- host-byte, not network-byte).
- Fixed arena allocation code (misalignments and
- whatnot) and arena manpage entry (2 arguments
- were swapped).
- (Thankz to Bryan T. Schmersal).
- Fixed datatype discrepancies (u_char was used
- liberally when char should have been used).
- (Thankz to Kyle Hargraves).
- Fixed the PF_PACKET interface to work correctly.
- (Thankz to Smiler).
-
- 1.0.1b 04.07.2000 Fixed portlist chaining code to allow for more than
- one active plist chain at a time (as per twitch's
- patch).
- Fixed discrepancy between the manpage and code for
- libnet_close_link_interface. It now returns 1 on
- success as per libnet standard (thankz to Toni
- Andjelkovic for pointing this out).
-
- 1.0.1a 03.29.2000 Fixed a small bug in libnet_link_dlpi.c.
-
- 1.0.1 12.19.1999 Fixed a typo in libnet-headers.h ARH_H -> ARP_H.
- Fixed a small typo in ether_mod-2.5.c.
- Pre-happy BD to libnet! She'z almost 2 yearz old!
-
- 1.0.0 10.27.1999 Added verbose html documentation.
- Added verbosely commented example code.
- Fixed OSPF testcode compile issues.
- Added ping of death ICMP test code module.
- Fixed manpage installation wrongness.
- Fixed a reported bug in OpenBSD etherspoof lkm.
- Merged OSPF lsa checksum code into main checksum
- module.
- Fixed a reported bug in the Makefile.in under
- Solaris when make install was invoked, the ln
- failed.
- Fixed linux-based IP broadcasting using the
- raw sockets interface.
-
- 0.99g 09.13.1999 Added an OSPF builder (which is still in beta).
- Fixed the Linux/configure.in bug. This was an odd
- bug that affected Linux-based boxes, but not
- BSD-based machines. The configure script refused
- to expand most of the Makefile.in macros in every file
- because of a conditional check.
- Fixed some Makefile.in issues.
-
- 0.99f 09.09.1999 Changed test/poink.c to not rely on a previous
- install of libnet to compile.
- Added a redhat RPM.
- Changed sourcefile naming scheme to libnet_*.
- Removed all assertions from the tree.
- We are moving closer to a 1.0 release and
- assertions have no place in production code.
- Furthermore, there should be no exit points
- inside a library. Currently, all functions that
- made assertions now return an integral 1 upon
- success and a -1 when the assertion would have
- failed (some had to be changed from returning
- void to returning int). This will not break
- backward compatbility.
- Fixed bugs in the arena code.
- next_packet_from_arena would never return the
- first chunk of memory, only the "next". It
- now handles this special case. Thanks to
- Sascha Gresk for locating this bug.
- Fixed another potential bug when attempting
- to allocate large packet sizes inside an arena.
- Added an OpenBSD 2.5 ether_spoof lkm.
- Fixed TCP options bugs.
-
- 0.99e 07.21.1999 Modified the libnet-config script to work more
- intutively now. It accepts multiple arguments.
- See README.libnet-config.
- Solaris m4/sh fixes (autoconf phase).
- Internal error handling changed to use libnet_error.
-
- 0.99d 06.24.1999 Added: build_icmp_redirect().
- Added: FreeBSD 3.x support for spoofing source.
- Added: libnet_error().
- Added: port list chaining code.
- MAC addrresses (see README.bpf).
- Bugfix: libnet_select_device correctly accepts
- NULL device arguments.
- Bugfix: build_icmp.c now copies the correct amount
- of header information.
- Bugfix: OpenBSD needs HAVE_SOCKADDR_SA_LEN.
- Changed: write_ip internal semantics. Cleaner
- and faster now.
- Changed: init_packet argument parameters. More
- correct now. Takes a u_short vs. a size_t.
-
- 0.99c 05.28.1999 link_int -> libnet_link_int.
- Misc small testcode fixes.
- Added libnet_tcp_header and libnet_ip_header.
- Added libnet-config shell script, see
- README.libnet-config and the manpage.
- Updated ports.
- Revamped checksum module -- it's much simpler
- and more efficient (ripped out arch specific
- code which seemed to be buggy with series' of
- very large packets). Dug Song wrote it, with
- small fixes/changes by MDS.
-
- 0.99b 05.06.1999 Fixed a nasty UDP/TCP + data checksum bug.
- Header structure further divided into subfiles.
- Moved get_hwaddr into low-level interface locales.
- Fixed the BSD get_hwaddr (dugsong@anzen.com).
- Ported to BSD/OS 3.x.
- Added `LIBNET_VERSION` symbolic constant.
- build_ip with payload semantics changed (now
- requires a payload length which is more
- intuitive).
- Fixed the `disappearing MAC address problem`
- within the linux version of get_hwaddr().
-
- 0.99a 04.14.1999 Linux 2.0.x kernels don't have <net/ethernet.h>
- 0.99 included this header file without checking
- to see if it present. This is now fixed.
- Non-x86 systems have no tcp_check function but the
- stub.c sourcefile did not check this. This is now
- fixed.
- Added the utilities directory and get_mac.c.
-
- 0.99 04.13.1999 Major manpage redux.
- Added (broken?) PF_PACKET support for Linux (see
- README.linux).
- Moved alot of m4 from configure.in to aclocal.m4.
- Added Linux m4 macro to detect PF_PACKET.
- Added build_icmp_unreach
- Added build_icmp_timestamp
- Added standard nomenclature for all the ICMP
- type/code symbolic constants (see the manpage).
- Changed internal network structure nomenclature.
- Decided to stop using the word nomenclature so much.
- Fixed semantics of get_ipaddr (s/PF_INET/AF_INET).
- Added a symlink in the install directory so libnet
- is also named `libpwrite`.
- Added ASN.1 conversion routines, mostly pilfered
- from ucd snmplib.
- Removed get_hwaddr from sockpacket.c and made the
- existing one portable to Linux.
- Added more testcode and changed testcode structure
- to be more intuitive.
- Added init_packet and destroy_packet.
- Added an arena allocator.
- Fixed alignment issues on SPARC and Alpha
- (possibly others with strict alignment
- requirements).
- Added a packet dumping routine. Not fully tested.
- Testcode updates including a master testcode shell
- script.
- Added stub functions to ease the eventual
- transition to a more proper `libnet_*` function
- naming convention. See README.stubs for more
- info.
-
- 0.10a 02.04.1999 Added the libnet.s2h configuration file to the
- distribution.
- GLIBC fix.
-
- 0.10 01.31.1999 Many low-level changes, same interface though.
- Split up the main libnet.h file into two files.
- Autoconf changes:
- checks to see if the underlying architecture
- needs to be aligned.
- flexible install location.
- explicitly set $CC option in Makefile.in.
- Added ensure-dir.sh.
- Changes DEBUG semantics as I was told the previous
- stuff broke on some compilers.
- Created a FreeBSD/OpenBSD ports entry.
- SGI snoop (drain) interface fixed.
- Solaris/HPUX DLPI interface fixed.
- Support for getting local IP addresses.
- Support for getting local hardware addresses.
- Added a DNS packet builder.
- Added an RIP packet builder.
- Added an ICMP MASKREQ/REPLY packet builder.
- Added ICMP at the link layer test code.
- Changed GLIBC version detection semantics.
-
- 0.9 12.15.1998 Major changes/additions here...
- Added lowlevel packet building and writing
- routines with a codebase from libpcap.
- Broken DPLI support (fixme!).
- Added ethernet and ARP building routines.
- Added ICMP_ECHO building routine which led to the
- Discovery of an odd kernel panic bug under
- OpenBSD (see hook.c in test dir).
- Added IGMP building routine.
- Reworked autoconf script.
- Fixed Linux ip_sum vs. ip_csum naming issue.
- Fixed Solaris checksums (2.4, 2.5.x).
- Added NetBSD autoconf entry.
- Changed BSD_BYTE_SWAP semantics to correctly handle
- IP datagrams through BPF (see write_ip.c).
-
- 0.8c 11.10.1998 Added more testcode.
-
- 0.8b 10.21.1998 OK. I THINK WE'VE FINALLY FIXED THAT GLIBC THING.
- Ported to alpha Linux.
-
- 0.8a 10.15.1998 Added support for IP TOS bits (oops. Broke
- backward compatibility again. Like I said, don't
- rely on this until 1.x).
-
- 0.8 10.13.1998 Added support for IP options.
- Added support for TCP options.
- Added a dummy version function.
- Fixed linux libc vs. glibc nomenclature discrepancy.
- Solaris checksums fixed for non-payload laden
- packets?
-
- 0.7b 09.22.1998 Linux glibc/libc nomenclature anomoly still there.
- Fixed Linux/BSD icmp header size problem.
-
- 0.7a 08.26.1998 Fixed payload support (see test code).
-
- 0.7 08.25.1998 Solaris port (checksums broken -- Solaris has gay
- fucking quirks when it comes to checksumming on
- raw sockets).
- Added autoconf scripts.
- Added psuedorandom number generation code.
- Added payload support (breaks backward
- compatability and is untested).
-
- 0.6 06.21.1998 Fixed UDP checksum. Removed USE_NAME CPP option
- made it a run time decision. Makes code more
- extensible, but breaks backward compatibility.
-
- 0.5 06.02.1998 Added TCP/UDP/IP packet assembly routines.
- Added a checksum function.
- Added a manpage.
- Removed daemonizing function (BSD has one).
- UDP checksums broken...
-
- 0.4 01.12.1998 IP checksum (x86 assembly implementation).
-
- 0.3 01.12.1998 daemonizing function.
-
- 0.2 01.11.1998 raw socket function changed to allow user
- designated protocol for raw socket
-
- 0.1 01.05.1998 Initial release, contains:
- network byte order -> human readable IP address,
- human readable IP address -> network byte order,
- simple raw socket / IP_HDRINCL wrapper,
- TCP checksum (x86 assembly implementation)
-EOF
+=============================================================================== + $Id: CHANGELOG,v 1.26 2004/11/09 07:05:06 mike Exp $ + LIBNET 1.1 (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com> + http://www.packetfactory.net/libnet +=============================================================================== + +- 1.1.4 + + - Strip CRLF from files not in win32/ + - libnet was using HAVE_CONFIG_H in a public header in order to deal with platform types. + - Patch to libnet.h.in for compilation on HURD (David Paleino) + +- 1.1.3 + +Merged 1.1.3 release candidate from packet factory, 1.1.2, debian patches, and +my own fixes, including bugs causing memory corruption: + + - Fixed various errors, including memory corruption, when IPv4 options are + modified. (Sam Roberts) + - Convert from latin-1 to utf-8, from Robert Scheck. (Sam Roberts) + - Fixed doxygen errors and warnings, and added a deveoper script to prepare + libnet. (Sam Roberts) + - Removed CVS crud, again. (Sam Roberts) + - Applied autotools cleanup patch from Stefanos. (Sam Roberts) + - Applied patch from Stefanos to remove the autotools ephemera that leaked + back in. (Sam Roberts) + - Patches from Stefanos. (Sam Roberts) + - Updated .so revision to be one backwards compatible interface after + 1.1.2.1-fork's. (Sam Roberts) + - Fix for debian bug# 418975, IPv6 wasn't updating ip_offset. See + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418975 and sample + test_ipv6_icmpv4.c for more information, and reproduction. (Sam Roberts) + - merged autogen.sh from 1.1.3, now ltmain.sh comes from autogen.sh (Sam + Roberts) + - 802.1Q and 802.1X header documentation was incorrectly using /** /** is + reserved for doxygen documentation comments, and they didn't have any. + That those packet headers, and no others, were marked that way was + causing man pages to be generated for them, incomplete man pages that + then were being hacked by debian patches 02- and 03-. (Sam Roberts) + - Update .so version to be one src change past the last debian release. + Debian patches to v1.1.2.1 used 4:0:3, in error, so we use 5:0:4, as per + the rules. See Makefile.am comments for reference. (Sam Roberts) + - Bug fixes and reproduction code for ip_offset accounting problem in + libnet_build_ipv4 (Sam Roberts) + - doxygen configuration updated, html seems fine - I don't know about the + man pages. (Sam Roberts) + - autotools merged from v1.1.3 to v1.1.2 (Sam Roberts) + - Remove autotools. And some garbage local files that should not have been + in upstream tarball. (Sam Roberts) + - Removed object files and cvs conflict residue contained in original + package. (Sam Roberts) + - debian patch 06 attempts to free the wrong pointer, and also leaks memory + from the inner loop. (Sam Roberts) + - libnet (inconsistently) uses various signed and/or unsigned typedefs + instead of char ANSI C uses char for string literals and the standard + library, so this generates many warnings. I've fixed a number of the + places where types representing null-terminated strings weren't typed + correctly. (Sam Roberts) + - 09-fix_hurd-i386_build.patch from debian source package See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - 08-fix_libnet_checksum.c.patch from debian source package See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - 07-add_libnet-cq-end-loop.patch from debian source package See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - 06-fix_libnet_pblock_coalesce_leak.patch from debian source package See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - 04-fix_libnet_build_ntp.patch from debian source package See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - 03-fix_libnet_802_1x_hdr.3.patch from debian source package See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - 02-fix_libnet_802_1q_hdr.3.patch See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - 01-fix_libnet-functions.h.3.patch from debian source package See + http://packages.debian.org/source/sid/libnet (Sam Roberts) + - strip CVS subdirectories from upstream package (Sam Roberts) + +From 1.1.3-rc: + + Added a libnet_version() function + Fixed a bug in libnet_build_ntp() where two arguments werent used due to a + typo + Fixed a bug ln libnet_name2addr4 in which it didnt call hstrerror + Fixed a memory leak in libnet_if_addr.c + Internals: added a payload builder macro + Added an HSRP builder + Fixed the cdp.c sample code + Added AC_PREREQ(2.50) to configure.in to come correct + Added a libnet udp header prototype. We need to add an entire exported + interface for the sole purpose of casting captured packets, this will + presumably be a part of the pcap integration. + Added libnet_adv_write_raw_ipv4() + Fixed the checksum function + Updated the autoconf/automake stuff to be up to date with the latest + versions. We now use libtool. + Fixed a signed/unsigned comparison warning in the LIBNET_DO_PAYLOAD() macro + Changed all empty function prototypes to contain the void keyword + Removed all C++ style comments + Removed the configure.in check for strerror() + + +Mon Mar 29 09:23:49 PST 2004 1.1.2.1 + + Fixed a typo in the ICMP patch mentioned below + +Thu Mar 25 10:49:04 PST 2004 1.1.2 + + Fixed the ICMP error message builders (there was a pblock assembly bug + that would prevent you from building more than one ICMP {unreach, time + exceed, redirect} in succession; the order of operations has changed + slightly for building these packets, see the documenation and sample code + Added a Sebek builder + Fixed a bug in libnet_autobuild_arp() that had it pulling in the address to + a pointer instead of just the address + Added AM_MAINTAINER_MODE to configure.in + Changed the __libnet_dump* namespace to the more descriptive libnet_diag* + Added libnet_getpacket_size() to return the size of a packet in a given l + Removed "protocol" from the libnet context. It was a waste of four bytes + The raw socket interface always uses the "IPPROTO_RAW" protocol + Fixed a memory leak in the advanced interface; there is now a function + libnet_adv_free_packet() to free the memory allocated for the packet + when libnet_adv_cull_packet() is called + Fixed a bug on big endian boxes that had TCP and UDP checksums with odd + payloads come out incorrect + Changes all error messages to look and feel the same: + "%s(): foo\n", __func__ + Added a bunch of htons/htonl fixes + Continued to add to the doxygen-based documentation + Added support for unconfigured interfaces + Changed the number of interfaces libnet can handle from 32 to 512 + Removed uneeded control structure cruft from libnet_link_dlpi.c + Removed sample/ip.c and added sample/ip_link.c and sample/ip_raw.c + Added IPv6 fragmentation header builder + Added IPv6 routing information header builder + Added IPv6 destination options header builder + Fixed IPv6 flowlabel and traffic class bitwise math + +Tue Nov 25 15:33:27 PST 2003 1.1.1 + + Fixed a bug in libnet_build_icmp_redirect: htonl(gateway) --> gateway. + Added icmp_redirect.c sample code. + Added libnet_autobuild_arp(). + Added a slightly faster checksum. + Added a GRE builder. + Fixed a buffer overflow in libnet_build_dhcp(). + Added more sanity checks to ensure we have proper link or network layer + headers when not in advanced mode. + Fixed a bug that would sometimes make __libnet_dump_context() crash under + linux. + Migration from sprintf and strcpy snprintf and strncpy. + Fixed bug in libnet_build_ipv4() when calculating size of memory block + Removed the support directory -- if you're an OLD version of OpenBSD or + FreeBSD you deserve what you get. + Added a BGP builder. + Changed the error handing functions to be more consistent and use + __FUNCTION__. + Fixed a bug in libnet_pblock_free() -- replaced it with + libnet_pblock_delete(). + Fixed all of the inconsistencies inside all of the builders and pblock code + where some fringe conditions could result in u_longs being crunched into + u_shorts. + Fixed libnet_pblock_coalesce() to only require one pass through the list. + Added better diagnostics (__libnet_dump_context(), __libnet_dump_pblock()). + Added Token Ring and FDDI builders (Linux and Solaris only). + Added Token Ring and FDDI sample programs. + Fixed the handling of TCP and IP payloads when reusing a pblocks. + Fixed the handling of IP headers such that if a TCP packet changes size + via subsequent calls to libnet_build_tcp(), the IP header automatically + changes size as well. + Added libnet_pblock_delete() to remove a pblock from the list. + Added ip.c sample program (builds an arbitrary IP packet). + Added additional payload sanity checks to libnet_build_*. + Added a payload to sample/icmp_echo_cq.c. + Added an MPLS builder. + Added an 802.1x builder. + Added an RPC builder! Bout time eh? + Fixed do1x.c sample code to make the frame valid. + Fixed link-interface semantics under Mac/OSX + Changed libnet_stats to all be unsigned long longs to accomodate all of + hardcore packet writers. + Fixed IPv6 support (to some extent) removed the IP_HDRINCL stuff and + reworked the resolver stuff to use net_pton() and inet_ntop(). + Fixed libnet_build_icmpv4_*() to properly handle the IP header in the + payload. + Fixed libnet_build_igmp() to handle checksums properly. + Fixed a bug in libnet_build_dnsv4() -- now it will work for TCP or UDP -- + see the sample program for details... + Fixed a bug in sample/dhcp_discover.c + Added multiple packet interface (called the context queue interface). + Until I finish the manpage, see the sample code and README files + for instructions on how it works. + Fixed Cygwin support. + Fixed an OS/X compilation error due to lack of system header files. + Fixed OS/X link layer bug. + Fixed a bug in pblock_coalesce() that resulted in bad checksums when the + advanced mode was enabled. + Fixed a potential memory leak in pblock_coalesce(). + Fixed a potential memory leak in libnet_select_device(). + Fixed a potential memory leak in libnet_plist_chain_new(). + Fixed Solaris support for IPv6 address support. + Fixed minor bugs in libnet_advanced.c. + Added loopback device support. + + +Mon Aug 5 15:18:52 PDT 2002 1.1.0 + + First 1.1.0 non-beta release. + + Added libnet_adv_write_link() which allows an advanced user to access + libnet's low-level frame injection functionality directly. + + +Wed Jul 10 08:18:15 PDT 2002 1.1.0 Beta 07b + + Added some words to the manpage. + + Fixed a typo in libnet-functions.h -- forgot a comma. + + +Sun Jul 7 10:37:12 PDT 2002 1.1.0 Beta 07a + + My bad. Forgot to `make distclean` before last release resulting in some + compilation errors. + + My bad. Forgot to add advanced *_ADV writing support to libnet_write(). + Simple fix. + + +Tue Jul 2 08:42:57 PDT 2002 1.1.0 Beta 07 + + BETA support for IPv6. + + Fixed the IP and TCP options bugs that bound the TCP and IP payloads to + the IP and TCP headers respectively and saw options being appended + after the payload. + + Added libnet_hex_aton(). This functions reads in arbirtrarily long hex + strings from the command line and returns the equivalent byte string. It + does an implicit malloc() so make sure to free(). + + Frédéric Raynal submitted a patch to break the coalesce loop down to two + passes using realloc resulting in a modest performance increase! Cool! + + Added "Advanced Mode" which will initialize the library with additional + functionality for advanced users who "know what they're doing". Basically + this feature will remove some of the sanity checks libnet does when + building and injecting packets, at the programmer's peril. It also exposes + the libnet_adv() functions. + + FINALLY changed that irritating struct ether_addr redefintion problem. + I internalized the name space of it (-> libnet_ether_addr) so there will + be no more issues there. Please update your code accordingly! + + Added IGMP checksum support which was omitted by accident. + + Removed netinet/ip_icmp.h from include list. This was causing problems + when including dnet.h which includes other system headers. We can + probably stand to remove several headers from libnet.h.in. + + Added sanity check to ensure that when *build_ethernet() is called the + injection method is LIBNET_LINK (except when advanced mode is on). + + +Thu Mar 28 22:18:46 PST 2002 1.1.0 Beta 06 + + Fixed ICMP unreachable checksum error and payload issues. Now using the + payload interface with unreachables will append the payload to the IPv4 + header of the "offending packet". + + Split STP builder into two; libnet_build_stp_conf() and + libnet_build_stp_tcn(). + + New CHANGELOG format. :) + + +Mar 24 2002 1.1.0 Beta 05 + + New building logic. Top down. Much smarter, we now build packets and + frames like an OS kernel. + + Added Cisco ISL builder. + + +Mar 18 2002 1.1.0 Beta 04 + + Added an STP builder. + + Hooks for Cisco ISL builder. + + Changed libnet_init() to now accept an IP address for the device (so + either "fxp0" or "192.168.0.1" will work). + + Added libnet_clear_packet() to free packet memory when we're done with it. + + +Feb 28 2002 1.1.0 Beta 03 + + Added 802.1q, 802.2, 802.3 builders. + + +Feb 25 2002 1.1.0 Beta 02 + + Fixed Cygwin support. + + +Feb 01 2002 1.1.0 Beta 01 + + Complete new API and overhaul of most everything. + + Improved linux packet socket support. + + Renamed libnet_host_lookup() and libnet_name_resolve() to the more + intuitive libnet_addr2name() and libnet_name2addr(). + + All of the address resolution functions return host byte order (which + is what the build functions want). + + Removed a ton of code from every corner of libnet. + + Removed alot of useless crap: + misc directory + ports directory + util directory + cleaned out the test directory and moved it to sample + + The libnet-config script is no longer needed to specify machine + endianess -- that has been moved to libnet.h and done at compile time. + You can still use it to specify other CPP constants as well as + libraries. + + Added cygwin support. + + Hooks for a few ieee 802 builders. + + Added NTP builder. + + Added DHCP builder. + + Added BOOTP builder. + + Added Cisco CDP builder (needs work). + + Added IPSEC builder (needs work). + +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 1.0.2a 02.06.2001 Oops! Messed up the install stuff. Fixed now. + Fixed the config.sub to correctly look for arm* + architecture. + Fixed the test.sh script + (Thankz again to syke). + + 1.0.2 02.03.2001 Added OpenBSD 2.7 etherspoof lkm and kernel patch. + (Thankz to obecian). + Added FreeBSD 4.0-STABLE (and 5.0-CURRENT?) + etherspoof kernel patch. + (Thankz to Matt Bing). + Added FreeBSD 4 support for automagic MAC address + spoofing (via ioctl). No more lkm! + (Thankz to Toni Andjelkovic). + Added VRRP support. + Fixed a NULL pointer check in libnet_checksum.c. + (Thankz to syke). + Fixed a function naming problem in libnet_if_addr.c. + (Thankz to gigisull). + Fixed a potential byte error in libnet_version. + (Thankz to wotan). + Fixed a potential overflow in + libnet_link_sockpacket.c and libnet_link_dlpi.c. + (Thankz to Jarno Huuskonen). + Fixed a manpage discrepancy (get_ip_addr returns + host-byte, not network-byte). + Fixed arena allocation code (misalignments and + whatnot) and arena manpage entry (2 arguments + were swapped). + (Thankz to Bryan T. Schmersal). + Fixed datatype discrepancies (u_char was used + liberally when char should have been used). + (Thankz to Kyle Hargraves). + Fixed the PF_PACKET interface to work correctly. + (Thankz to Smiler). + + 1.0.1b 04.07.2000 Fixed portlist chaining code to allow for more than + one active plist chain at a time (as per twitch's + patch). + Fixed discrepancy between the manpage and code for + libnet_close_link_interface. It now returns 1 on + success as per libnet standard (thankz to Toni + Andjelkovic for pointing this out). + + 1.0.1a 03.29.2000 Fixed a small bug in libnet_link_dlpi.c. + + 1.0.1 12.19.1999 Fixed a typo in libnet-headers.h ARH_H -> ARP_H. + Fixed a small typo in ether_mod-2.5.c. + Pre-happy BD to libnet! She'z almost 2 yearz old! + + 1.0.0 10.27.1999 Added verbose html documentation. + Added verbosely commented example code. + Fixed OSPF testcode compile issues. + Added ping of death ICMP test code module. + Fixed manpage installation wrongness. + Fixed a reported bug in OpenBSD etherspoof lkm. + Merged OSPF lsa checksum code into main checksum + module. + Fixed a reported bug in the Makefile.in under + Solaris when make install was invoked, the ln + failed. + Fixed linux-based IP broadcasting using the + raw sockets interface. + + 0.99g 09.13.1999 Added an OSPF builder (which is still in beta). + Fixed the Linux/configure.in bug. This was an odd + bug that affected Linux-based boxes, but not + BSD-based machines. The configure script refused + to expand most of the Makefile.in macros in every file + because of a conditional check. + Fixed some Makefile.in issues. + + 0.99f 09.09.1999 Changed test/poink.c to not rely on a previous + install of libnet to compile. + Added a redhat RPM. + Changed sourcefile naming scheme to libnet_*. + Removed all assertions from the tree. + We are moving closer to a 1.0 release and + assertions have no place in production code. + Furthermore, there should be no exit points + inside a library. Currently, all functions that + made assertions now return an integral 1 upon + success and a -1 when the assertion would have + failed (some had to be changed from returning + void to returning int). This will not break + backward compatbility. + Fixed bugs in the arena code. + next_packet_from_arena would never return the + first chunk of memory, only the "next". It + now handles this special case. Thanks to + Sascha Gresk for locating this bug. + Fixed another potential bug when attempting + to allocate large packet sizes inside an arena. + Added an OpenBSD 2.5 ether_spoof lkm. + Fixed TCP options bugs. + + 0.99e 07.21.1999 Modified the libnet-config script to work more + intutively now. It accepts multiple arguments. + See README.libnet-config. + Solaris m4/sh fixes (autoconf phase). + Internal error handling changed to use libnet_error. + + 0.99d 06.24.1999 Added: build_icmp_redirect(). + Added: FreeBSD 3.x support for spoofing source. + Added: libnet_error(). + Added: port list chaining code. + MAC addrresses (see README.bpf). + Bugfix: libnet_select_device correctly accepts + NULL device arguments. + Bugfix: build_icmp.c now copies the correct amount + of header information. + Bugfix: OpenBSD needs HAVE_SOCKADDR_SA_LEN. + Changed: write_ip internal semantics. Cleaner + and faster now. + Changed: init_packet argument parameters. More + correct now. Takes a u_short vs. a size_t. + + 0.99c 05.28.1999 link_int -> libnet_link_int. + Misc small testcode fixes. + Added libnet_tcp_header and libnet_ip_header. + Added libnet-config shell script, see + README.libnet-config and the manpage. + Updated ports. + Revamped checksum module -- it's much simpler + and more efficient (ripped out arch specific + code which seemed to be buggy with series' of + very large packets). Dug Song wrote it, with + small fixes/changes by MDS. + + 0.99b 05.06.1999 Fixed a nasty UDP/TCP + data checksum bug. + Header structure further divided into subfiles. + Moved get_hwaddr into low-level interface locales. + Fixed the BSD get_hwaddr (dugsong@anzen.com). + Ported to BSD/OS 3.x. + Added `LIBNET_VERSION` symbolic constant. + build_ip with payload semantics changed (now + requires a payload length which is more + intuitive). + Fixed the `disappearing MAC address problem` + within the linux version of get_hwaddr(). + + 0.99a 04.14.1999 Linux 2.0.x kernels don't have <net/ethernet.h> + 0.99 included this header file without checking + to see if it present. This is now fixed. + Non-x86 systems have no tcp_check function but the + stub.c sourcefile did not check this. This is now + fixed. + Added the utilities directory and get_mac.c. + + 0.99 04.13.1999 Major manpage redux. + Added (broken?) PF_PACKET support for Linux (see + README.linux). + Moved alot of m4 from configure.in to aclocal.m4. + Added Linux m4 macro to detect PF_PACKET. + Added build_icmp_unreach + Added build_icmp_timestamp + Added standard nomenclature for all the ICMP + type/code symbolic constants (see the manpage). + Changed internal network structure nomenclature. + Decided to stop using the word nomenclature so much. + Fixed semantics of get_ipaddr (s/PF_INET/AF_INET). + Added a symlink in the install directory so libnet + is also named `libpwrite`. + Added ASN.1 conversion routines, mostly pilfered + from ucd snmplib. + Removed get_hwaddr from sockpacket.c and made the + existing one portable to Linux. + Added more testcode and changed testcode structure + to be more intuitive. + Added init_packet and destroy_packet. + Added an arena allocator. + Fixed alignment issues on SPARC and Alpha + (possibly others with strict alignment + requirements). + Added a packet dumping routine. Not fully tested. + Testcode updates including a master testcode shell + script. + Added stub functions to ease the eventual + transition to a more proper `libnet_*` function + naming convention. See README.stubs for more + info. + + 0.10a 02.04.1999 Added the libnet.s2h configuration file to the + distribution. + GLIBC fix. + + 0.10 01.31.1999 Many low-level changes, same interface though. + Split up the main libnet.h file into two files. + Autoconf changes: + checks to see if the underlying architecture + needs to be aligned. + flexible install location. + explicitly set $CC option in Makefile.in. + Added ensure-dir.sh. + Changes DEBUG semantics as I was told the previous + stuff broke on some compilers. + Created a FreeBSD/OpenBSD ports entry. + SGI snoop (drain) interface fixed. + Solaris/HPUX DLPI interface fixed. + Support for getting local IP addresses. + Support for getting local hardware addresses. + Added a DNS packet builder. + Added an RIP packet builder. + Added an ICMP MASKREQ/REPLY packet builder. + Added ICMP at the link layer test code. + Changed GLIBC version detection semantics. + + 0.9 12.15.1998 Major changes/additions here... + Added lowlevel packet building and writing + routines with a codebase from libpcap. + Broken DPLI support (fixme!). + Added ethernet and ARP building routines. + Added ICMP_ECHO building routine which led to the + Discovery of an odd kernel panic bug under + OpenBSD (see hook.c in test dir). + Added IGMP building routine. + Reworked autoconf script. + Fixed Linux ip_sum vs. ip_csum naming issue. + Fixed Solaris checksums (2.4, 2.5.x). + Added NetBSD autoconf entry. + Changed BSD_BYTE_SWAP semantics to correctly handle + IP datagrams through BPF (see write_ip.c). + + 0.8c 11.10.1998 Added more testcode. + + 0.8b 10.21.1998 OK. I THINK WE'VE FINALLY FIXED THAT GLIBC THING. + Ported to alpha Linux. + + 0.8a 10.15.1998 Added support for IP TOS bits (oops. Broke + backward compatibility again. Like I said, don't + rely on this until 1.x). + + 0.8 10.13.1998 Added support for IP options. + Added support for TCP options. + Added a dummy version function. + Fixed linux libc vs. glibc nomenclature discrepancy. + Solaris checksums fixed for non-payload laden + packets? + + 0.7b 09.22.1998 Linux glibc/libc nomenclature anomoly still there. + Fixed Linux/BSD icmp header size problem. + + 0.7a 08.26.1998 Fixed payload support (see test code). + + 0.7 08.25.1998 Solaris port (checksums broken -- Solaris has gay + fucking quirks when it comes to checksumming on + raw sockets). + Added autoconf scripts. + Added psuedorandom number generation code. + Added payload support (breaks backward + compatability and is untested). + + 0.6 06.21.1998 Fixed UDP checksum. Removed USE_NAME CPP option + made it a run time decision. Makes code more + extensible, but breaks backward compatibility. + + 0.5 06.02.1998 Added TCP/UDP/IP packet assembly routines. + Added a checksum function. + Added a manpage. + Removed daemonizing function (BSD has one). + UDP checksums broken... + + 0.4 01.12.1998 IP checksum (x86 assembly implementation). + + 0.3 01.12.1998 daemonizing function. + + 0.2 01.11.1998 raw socket function changed to allow user + designated protocol for raw socket + + 0.1 01.05.1998 Initial release, contains: + network byte order -> human readable IP address, + human readable IP address -> network byte order, + simple raw socket / IP_HDRINCL wrapper, + TCP checksum (x86 assembly implementation) +EOF |