===============================================================================
    LIBNET          (c) 1998, route|daemon9 <route@infonexus.com>
===============================================================================

    Libnet is an API to write lowlevel network packets real easy like.  Still
    in it's infancy, the library is evolving quite a bit.  It is mainly useful
    for quick and simple packet assembly and related applications (Traceroute
    and ping were rewritten using libnet).  See the manpage for detailed
    information.  Until I get to a stable version number (1.x +) expect
    things to change a bit as I finalize some delicate interface nuances.


Portability:
------------
- FreeBSD                   Tested under FreeBSD 3.0-19980804-SNAP

- OpenBSD                   Tested under 2.2, 2.3, 2.4

- NetBSD                    ? (untested)

- BSDi                      ? (untested)

- Linux                     Tested under 2.0.3x, 2.1.124

- Solaris (SPARC/x86)       Tested under 2.6SPARC
                            Solaris checksumming is in a state of repair.

If you port this to another architecture, please send me src and autoconf
diffs.


Contributors:
-------------
Aaron Bornstein     <amb@es2.net>
Nate Lawson         <NLawson@scient.com>



Installation:
-------------
0. nroff -man doc/libnet.3 | less
1. ./configure
2. make
3. make test
4. make install



Version History:
----------------

Version     Released        Changes
-------------------------------------------------------------------------------
    0.8     10.13.98        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.98        Linux glibc/libc nomenclature anomoly still there.
                            Fixed linux/bsd icmp header size problem.

    0.7a    08.26.98        Fixed payload support (see test code).

    0.7     08.25.98        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.98        Fixed UDP checksum.  Removed USE_NAME CPP option
                            made it a run time decision.  Makes code more
                            extensible, but breaks backward compatability.

    0.5     06.02.98        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.98        IP checksum (x86 assembly implementation).

    0.3     01.12.98        daemonizing function.

    0.2     01.11.98        raw socket function changed to allow user 
                            designated protocol for raw socket

    0.1     01.05.98        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
