Plugdaemon 2.3 Plugdaemon is a tool that is inspired by, but not based on, the plug-gw from Trusted Information Systems. It was originally a simpler wannabe, but the connection balancing code and other features makes it a lot more useful. The one feature it's missing, compared to the TIS code, is the ability to limit connections by source address... instead, it has the ability to bind to a specific interface, which is usually what you want that functionality for. Not all the planned features are implemented in 2.0. Eventually plugdaemon will provide a complete load balancing and monitoring package for servers. If you do anything interesting with it, let me know. -- Peter da Silva Changes: 1.1.1 Bug fix for lost data on slow readers. 1.1.2 Added prototypes, minor cleanup. 1.1.3 Added "-V" version option, more cleanup, moved OS-specific ifdefs out of plug.c. 1.2 (fork) Keepalive option. 1.2.1 Integrated OpenBSD specific code in 1.2 with cleaned up 1.1 code. 1.2.2 Fixed read error bug. 2.0 (based on 1.1.2) Added keepalive option, removed non-ANSI prototype hacks, moved OS-specific ifdefs out of plug.c, expanded load-balancing functionality, big cleanup, fixed read-error bug. 2.0.1 Merged with 1.2.1, re-integrated OpenBSD code in 2.0, added "-V" option. 2.0.2 Added "-p" option for weird multihomed virtual host stuff for Oracle. 2.0.2b Fix embarassing define in plug.h. 2.1.1 Fix for Solaris child process bug, added use of SO_REUSADDR on listening socket. 2.2 Fixed possible memory leak in process table, added "-P" option to specify file to maintain list of process IDs in. 2.3 Fixed process table corruption problem due to unwise library calls in a signal handler, probably due to an earlier bugfix... probably around 2.1.1. I feel kind of stupid about this, because I've known about this issue for years and didn't even recognise I was doing it. And it's not that bloody obscure, either. Grump.