File: ChangeLog

package info (click to toggle)
pen 0.10.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 416 kB
  • ctags: 204
  • sloc: ansic: 2,287; sh: 923; makefile: 63
file content (188 lines) | stat: -rw-r--r-- 7,002 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188

030407	Bugs uncovered by Charlie Reitsma <reitsmac@denison.edu>:
	HOWTO incorrectly specified penctl in place of penlog
	in Apache configuration example, and using penctl to
	redirect log to penlogd didn't work.
	Avoid bogus header rewriting in rewrite_request.
	Released 0.10.1.

030210	New penctl commands "http" and "no http" to toggle -H.

030208	New option -H adds X-Forwarded-For header to http requests.

020717	Patches from Patroklos G. Argyroudis <argp@ieee.org>:
	 - check getopt() calls against -1 and not EOF
	 - fix for a possible format string in pen.c

020711	Ported to Darwin/MacOS X.
	Released 0.9.4.

020705	New penctl command: recent [seconds] displays clients that have
	connected recently (default five minutes), along with number of
	connects, transmitted and received data.

020702	Buffer overflow in netlog. See comment in pen.c.
	Added options -j (for chroot) and -u (for setuid) to pen and
	penlogd. See manpages.

020627	Fixed an error which could throw penlogd into an endless loop
	if a udp packet was lost at the crucial moment.

020626	Pedantic checking of memory allocations and buffer sizes.

020618	Penlogd: added option -n to adjust the number of cached log
	entries from Pen.

020614	Added options -d, -f, -l and -p to penlogd. They do the same
	as in pen. Also added signal handlers for TERM and HUP; these
	too do the same as in pen. Updated penlogd manpage.
	Updated www section in HOWTO to use penlog rather than mergelogs.

020613	Added penlog.c to log over a network using Apaches reliable
	piped logs. A companion log server, penlogd.c, consolidates
	logs from Pen and from all web servers into a single file.
	Added the necessary code to Pen log over the network.

020610	Wrote penctl.cgi, a web wrapper for penctl.

020609	Wrote a new version of the main loop, using poll() instead of
	select(). Added configuration option --with-poll to enable.
	Also turned redefinition of FD_SETSIZE into a configuration
	option --with-fd_setsize=N.
	Updated installation instructions in INSTALL.

020605	Added optional hard limit to the number of connections to each
	server.
	Timestamps in debug log entries.
	Released 0.8.0.

020604	Added "server of last resort" (-e option) which is only used
	when all other servers are unavailable. (Andreas Wrede)

020528	Several enhancements and bugfixes by Andreas Wrede:
	In webstats: changed CLIENTS_MAX to clients_max and
	CONNECTIONS_MAX to connections_max.
	Show time in human-readable format rather than seconds since 1970.
	Changed byte counters from unsigned long to unsigned long long.
	Fixed file descriptor leak: The connection wasn't closed when
	the connection table was full.
	Moved stats generation and log restart out of the signal handlers
	and into the main loop.
	If a client went away before receiving all its data (large files),
	the remaining portion would be sent to the next client occupying
	the same slot.
	Added pointers in connection structure to avoid having to memcpy
	the buffers in flush_up/flush_down.
	Released 0.7.0.

020507	Updated the penctl manpage to reflect reality.
	Released 0.6.3.

020417	Added -D switch to make copy_up and copy_down *always* store data
	in a temporary buffer and wait for the next round through the
	main loop before passing it on to the receiving end.
	The penctl command for this is "delayed_forward".
	When making sockets nonblocking (through fcntl(..., O_NONBLOCK)),
	make sure that any existing flags are not reset in the process.
	Important bugfix: each failed connection attempt in try_server
	would result in one socket leaked because we returned without
	closing it.

020413	Figured out why nonblocking mode was slower than blocking. Fixed.

020411	Added penctl, a simple user interface to the control protocol.

020324	Cancel timeout if it isn't needed.

020115	Added LDAP info in the HOWTO.
	Added the flush_up/flush_down bugfix from 0.5.0 again.
	Released 0.6.1.

020111	Moved #include <sys/types.h> before #include <netinet/in.h>
	Replaced the call to setpgrp with setsid.
	Transformed mergelogs into ultimately portable ANSI C (almost).
	Thanks to Mike Dugas <mad@phobia.net> for help with porting
	Removed the -r (rejects) option, since we no longer reject anything.
	to FreeBSD 4.4-RELEASE.

020110	Rewrote mergelogs completely. It will now never discard a web
	server log entry, and it tries much harder to locate a good
	match in the pen log. It deals with log entries that are out
	of order and servers with unsynchronized clocks and/or
	different time zones. The -l (lag) option is no more.
	Released 0.6.0

010915	Made the use of daemon() optional.
	Added the cgi script penstats to update and display statistics.
	Set current in store_conn.
	Released 0.5.0.

010914	Statistics in HTML format (Riccard kerman).
	Tested pen on HP-UX 10.20.

010913	Released 0.4.0.

010912	When storing part of the buffer for a renewed attempt,
	store the *end*, not the beginning. Affects copy_up and copy_down.
	Autoconf. Use daemon() if available. Make sure that we don't try
	to close uninitialized file handles in add_client.
	New option -n to not make sockets nonblocking (mainly useful
	for debugging).

010911	Make sure that remaining data is stored away when we get EAGAIN
	in copy_up.
	Released 0.3.3.

010909	Added -p argument to store process id in a file (Andreas Wrede).
	Made the sockets nonblocking. Handle EAGAIN in copy_up/down.
	Released 0.3.2.

010908	Ignore SIGPIPE. Released 0.3.1.

010827	Option -h uses a hash on the client IP address for the initial
	server selection. Option -s ("stubborn") prevents failover to
	another server if the initial choice is unavailable.

010824	Use getport for the local port as well.

010820	Append to the logfile rather than overwriting it.
	Released 0.2.0.

010817	Server selection algorithm rewritten in a cleaner, simpler way.
	Blacklist nonresponding servers for a selectable period of time.
	Optional "plain" roundrobin without client tracking.
	(options -b and -r, see manpage).
	Log to syslog if we are running in the background.

010814	Installed pen on siag.nu, which now load-balances itself. Apache
	runs on port 8080, pen on 80. Seems to work (tm).

010813	Added description of options to pen.1 and mergelogs.1.
	Script to guess libraries.

010812	Fixed typo (webmerge -> mergelogs) in pen.1.

010809	Added mergelogs, a program to match pen logs against web server
	logs and merge the results into one log file with the correct
	client addresses.
	Released 0.1.0.

010808	Print statistics on stderr when sent USR1 signal.
	Ported to Solaris, i.e. verified that it works ;-).
	Logging. Reopen log file when sent HUP signal.
	Exit cleanly when sent TERM signal.

010807	Wrote a manpage.

010803	Completed the conversion to non-forking, selecting mode. Works
	really well now, with very low CPU utilization even with many
	simultaneous connections.

010729	Rewrote the program to not fork.

010722	Prettied up the source.

001218	Updated the README.

001022	Rewrote the load balancing algorithm.