                             lbcd To-Do List

lbcd:

 * Delete the PID file on exit.

 * Rework the client handling so that we store all the information about
   the incoming connection in a struct that's passed to various other
   functions.  This will be needed for better logging.

lbcdclient:

 * Rewrite in either modern Perl or as a C program that uses the same
   underlying code as lbcd to handle the wire protocol.

Modules:

 * The reported load numbers can wrap around at high loads.

 * Get -r -w load:incr to work in any order.

 * Support the port argument for all of the protocol tests except HTTP
   (which already supports it).

Portability:

 * The on_console code doesn't work properly on IRIX.

 * Drop portability to systems without hsearch.

 * Add a portability layer for utmp, and use getutxent by default if it's
   available.

Code Cleanup:

 * Move the various standard modules out of the main code into the modules
   directory so that they're treated like all other modules.

 * Use the standard network library for bind and connect functions.  This
   will require updating that library to handle binding UDP sockets.

 * Convert booleans to bool type.

 * Change all the uses of atoi to strtol with proper input checking.

 * Pass lbcd_service structs into the check modules instead of separate
   uint32_t pointers.

Test Suite:

 * Add a test suite for lbcd itself.

 * More testing is needed to make sure that file descriptors are not
   leaked when doing service probes, that querying multiple services
   remotely works corectly, and that the daemon works when pounded on.

Documentation:

 * It's not clear whether protocol v3 is worth it, and it's definitely
   unclear how service information is requested by the client and returned
   as part of the v3 support.  Better documentation is needed here, if v3
   ends up being worthwhile to keep.

 * Document the -t flag.
