========================================================
N E M E S I S  -  TCP/IP Packet Injection  [CHANGELOG]
====-v1.3-==============================================

2.0 will _NOT_ feature Libnet (20001230)

Nemesis and Intravenous are influencing each other more and more, as the AI engine
is needing cleaner (less api dependent) functions -- so consider this "trimming the fat"
and the injection engine can fit both programs.  The reason these tools are not being
merged is simple.  Nemesis will remain SIMPLY an arbitrary packet injection tool.
Intravenous will feature a lot of client-client (auto node) communication tunneling
and a hefty load of AI abstract data types (since LISP is being excluded)... This is a
lot of bloat to wield on ppl that just want an arbitrary injection tool.  Hopefully,
that clears up why these tools branched, while all this time both source trees are
being synched.  The synch is ONLY for the reason that I want to maintain one set of
injection routines rather than two, and since IV injection is AI FREE, we can get
away with this.  Any bugs discovered in Nemesis injection, can instantly get patched
on both trees -- giving Intravenous a bunch of fixes even though it may not have seen
the light of day as of yet.  Code re-use and modularity is what it's all about.

I have nothing against Libnet until we get down to the autonomous nodes of Intravenous.
The method of Intravenous is: root box, install IV agent, use agent as root.
Installing additional libraries can be cumbersome to clean up, not to mention 
fair easier to spot on an affected node with a HIDS that may watch critical system
directories more carefully for new libraries being installed.  No matter how you
dice it, keeping this utility independent is ideal for the eventual model.
So while the rewrite is already taking place, now is as good as any to reshape
Nemesis for final implementation.  These are decisions that would have been made a long
ago if I had known this tool was going to generate so much traffic.

The goal will be focused on BSD/Solaris for now, others can port it to Linux, as
I only have the former for testing.

In an effort to please everyone,

updates will be released to clear up core functionality problems.  If you submitted
a patch and it wasn't mission critical, it has not been merged, as the fixes do not
affect the rewrite, and core functionality is still intact.  The goal here is to
devote as little time to the old tree as possible so what little free time I do have
can be spent on the 2.0 branch (all the while, keeping in mind that nearly 100,000
people are using this tool, and many of which are using it daily)

1.3     - RARP added (thanks to Jeff Nathan <jeff@wwti.com> for pointing out Libnet
            had RARP support, while I have been busy unlibnetizing source code... Since
            some people wanted this feature...)
          RAW4ALL OpenBSD patch support added (inject nemesis packets as a normal user!)
          --- nemesis is such a bloody mess, this will be the last version of the old
              libnet-nemesis -- I SWEAR! --- (bar bugfixes)
1.2     - ICMP checksum fix patched (did not affect ICMP injection, but not proper)
          Makefile fixes (roll in the changes made in OpenBSD land)

--- 2.0 branch started and under development --- 
      
1.1     - Injection fixes - DNS (no frame on layer 2), ICMP (false reporting)
          New packet payload hex dumping algorithm created from scratch...
            many people rip tcpdump's hex dumping algorithm, which might
            be more robust, but this is 100% my OWN algorithm -- so if
            it totally sucks, please tell me and I will rip tcpdump's
            algorithm.  I think it works nice and is considerably less code
            than the other flavors.
          ICMP man page update - ICMP types/codes notated, so you don't have
            to refer to the source.
          Payload fixes

          (NOTE: nemesis is only being maintained for bugfixes now.
           A next generation of the tool is currently being developed
           that will have a shell based interface rather than a command
           line.  As future features are implemented, it will become
           readily apparent why this is being done.)

1.0     - Injection fix - non-payload packet wasn't injecting after
          changes made between 0.9.1 and 1.0pre1 releases

1.0pre1 - MANY bugfixes, packet stream loop tightening, Binary payload
          now does what it is supposed too ;)
          Socket fixes -- tested with large files

0.9.1   - b0rked the ethernet checksums patch, recoded and verified

0.9     - OSPF completed (5 additional packet types)
          autoconf adjustments to ease into obsd ports tree
          patches supplied by: <brad@comstyle.com>

0.8     - autoconf style configuration
          misc cosmetic fixes
		  
0.7     - addition of DNS protocol
          addition of IGMP protocol
          addition of RIP protocol
          finished layer 2 support for all completed protocols

0.666b  - getopt() fixes to OSPF and ICMP
          misc cosmetic fixes

0.666a  - initial public release
          ARP, ICMP, OSPF*, TCP, UDP implemented (* unfinished)
