arpwatch

LINK TO WEBSITE HERE
Here are some patches to make arpwatch's output very nice. It will create two files, one to show you what the current state of IP->macaddr is, and the other to show what it historically has been by showing the changes. The very day I finished it it turned out to be useful by finding a switch that swore it owned one of the IP addresses assigned to a lab.

The times are in terms of first and last seen.
An example of what the current file looks like: EXAMPLE
An example of what the changes file looks like: EXAMPLE

Here's the diff file and the full tarball with patch applied. The diffs aren't "clean" as they are littered with our names and the like. We have commented out emailing on change because that gets really annoying. It works great, and a patch ready for putting your site's history into a database is comming.

It's here! arpwatch_db.diff and as a bonus arpwatch_bogon.diff which fixes the debug output to have a timestamp (and removes a silly use of the program's name).

Note, to get the thing working, one way is to create two files like 'current' and 'current-' and then running 'arpwatch -d -f current > bogons &'. The stupid thing doesn't like starting without a file.

Qualcomm's qpopper (a pop3 server)

LINK TO WEBSITE HERE
This set of 4 patches fix some simple things, add pidfile support, and add support for a logfile (v.s. looking at debugging). I sent these patches in twice over two years, and heard nothing each time. :(

The following patch addresses simple issues in the code.


405simple.diff

This patch adds support for a standalone daemon to be able to write it's PID to a file. It is enabled by passing "-z " on the command line. The code tries to be smart about the file placement and has semi-defaults. String length checks make some partially ugly code.
405pidfile.diff

This patch adds support for a log file. Currently, the qpopper code contains loging to a trace file (which enables debugging) and to syslog. We felt that the trace file logged way too much but still wanted a flat file with certain information to complement the syslog entries.

The following patch adds build up, mantainence, and tear down support for a log file. This adds "-o " to the command line arguments.

This patch is dependent upon the pidfile patch (patch #2) in the following areas:

  1. getopt() lines (as the pidfile patch adds option "z")
  2. fd closing in main.c - that section of code was rewritten to allow other file descs to survive close()ing in an extendable way.
405logfile1.diff

This patch implements a use of the logfile for loging connections and user input. The output is designed to be parsable and somewhat terse. If debugging is not enabled, the logfile will not contain the debugging information of the sort [:]".

This patch depends on the previous logfile patch (#3), which initializes support for a log file.
405logfile2.diff

For completion, here is the local patch for stuff specific to what we wanted, all of the (non-local) patches as one, and then allllll the patches.
405local.diff 405all.diff 405g26.diff