README
1Plugdaemon 2.5
2
3Plugdaemon is a tool that is inspired by, but not based on, the plug-gw from
4Trusted Information Systems. It was originally a simpler wannabe, but the
5connection balancing code and other features makes it a lot more useful. The
6one feature it's missing, compared to the TIS code, is the ability to limit
7connections by source address... instead, it has the ability to bind to a
8specific interface, which is usually what you want that functionality for.
9
10Not all the planned features are implemented in 2.0. Eventually plugdaemon
11will provide a complete load balancing and monitoring package for servers.
12
13If you do anything interesting with it, let me know.
14
15 -- Peter da Silva <peter@taronga.com>
16
17Changes:
18
19 1.1.1 Bug fix for lost data on slow readers.
20 1.1.2 Added prototypes, minor cleanup.
21 1.1.3 Added "-V" version option, more cleanup,
22 moved OS-specific ifdefs out of plug.c.
23 1.2 (fork) Keepalive option.
24 1.2.1 Integrated OpenBSD specific code in 1.2 with
25 cleaned up 1.1 code.
26 1.2.2 Fixed read error bug.
27
28 2.0 (based on 1.1.2)
29 Added keepalive option, removed non-ANSI
30 prototype hacks, moved OS-specific
31 ifdefs out of plug.c, expanded
32 load-balancing functionality, big
33 cleanup, fixed read-error bug.
34 2.0.1 Merged with 1.2.1, re-integrated OpenBSD
35 code in 2.0, added "-V" option.
36 2.0.2 Added "-p" option for weird multihomed virtual
37 host stuff for Oracle.
38 2.0.2b Fix embarassing define in plug.h.
39
40 2.1.1 Fix for Solaris child process bug, added
41 use of SO_REUSADDR on listening socket.
42
43 2.2 Fixed possible memory leak in process table,
44 added "-P" option to specify file to maintain
45 list of process IDs in.
46
47 2.3 Fixed process table corruption problem due
48 to unwise library calls in a signal handler,
49 probably due to an earlier bugfix... probably
50 around 2.1.1. I feel kind of stupid about
51 this, because I've known about this issue
52 for years and didn't even recognise I was
53 doing it. And it's not that bloody obscure,
54 either. Grump.
55
56 2.3.1 Added ability to restrict connections by source
57 address.
58
59 2.4 Big code cleanup, integrated many improvements
60 from Anthony de Boer <adb@leftmind.net>
61 -o, -r options.
62 Improved undertaker code.
63 Fixed "orphan zombie" children.
64 Patches for Linux.
65
66 2.4.1 Mac OS X 10.1.5
67
68 2.5 Mac OS X 10.2 / 10.3
69 Log connection completion on (-l).
70 Added "no daemon" option (-n).
71 Added session logging suggested by Alexander Lazic.
72 -s, -S session_file options.
73 Added HTTPS proxy support (-h).
74
75 2.4.2 Fixed bug in retry (-r) option.
76
77 2.5.1 Fixed bug in retry (-r) option.
78
79 2.5.2 Fixed stupid initialization bug, various Linux
80 fixes by Alexander Lazic.
81 No longer a sinner: tarball now created from proper
82 directory tree.
83
84 2.5.3 Code cleanup, hash connection structures.
85 Dietlibc support by Alexander Lazic
86 (see Makefile)
87 Fix load-balancing (Ben Low).
88
89 2.5.4 Fixes a problem where a remote host closed a
90 connection too quickly, and getpeername failed.
91
92 2.5.5 Clean up to eliminate compile warnings, possible format
93 injection.
94
95