File: ChangeLog

package info (click to toggle)
libapache-mod-backhand 1.2.1-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,048 kB
  • ctags: 513
  • sloc: ansic: 3,650; cpp: 661; sh: 467; makefile: 120
file content (265 lines) | stat: -rw-r--r-- 14,636 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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
February 27th, 1999 (02.27.1999) -- mod_backhand -- 0.5
=================================================
 * Bothered setting up this change log file.
 * Now supports Linux platform.
 * Backhand -- directive (directory) added.
 * backhand-handler -- handler added.
 * Implements HTTP redirection to other servers in the clutser
 * Implements shared memory space (like scoreboard) for cluster resources.
 * Implements client/server communication via AF_UNIX sockets.
	This will be the means of handing open file descriptors when
	implemented.

March 3rd, 1999 (03.03.1999) -- mod_backhand -- 0.6
=================================================
 * BrodcastStats broadcastaddr:port -- directive added
 * Handling loop was debugged for cleaner release of file handles.
 * UnixSocketDir [directory] was added so the AF_UNIX sockets could be placed
	as an administrator sees fit.
 * AcceptStats inetaddr[/mask] -- directive added.  Can be cascaded, these
	only allow statistics to be accepted from trusted sources.

March 16th, 1999 (03.16.1999) -- mod_backhand -- 0.7
=================================================
 * BroadcastStats inetaddr broadcastaddr:port -- directive changed
	This will allow httpd to be run as a normal user ID.  Before it needed
	priveldges to determine interface routing selections for outgoing
	broadcasts to determine an advertised IP address.  Now it is specified
	by the config file.
 * Made changes necessary to support multiple "BroadcastStats" directives for
	multiple networks, private networks and upcoming IP Multicast support.

March 24th, 1999 (03.24.1999) -- mod_backhand -- 0.8
=================================================
 * BroadcastStats inetaddr (broadcastaddr:port | multicastaddr:port,ttl) --
	directive augmented to support IP multicast as medium for resource
	information distribution.
 * Fixed nasty bug in the proxying loop that munged persistent (pipelined)
	HTTP requests.  Bug could also cause seg faults (exploits) for certain
	length requests.

March 29th, 1999 (03.29.1999) -- mod_backhand -- 0.9
=================================================
 * Rewrote the connection proxying code.  It now handles persistent connections
	better and survives broken redirection sockets.
 * We actually parse the incoming header and the response header now, to allow
	better error handling and future intentional header munging.
 * Changed the Backhand directive to specify a function from builtin.c and an
	optional argument.  The functions so far are byLoad and byCPU.
 * Added a BackhandFromSO directive to allow user functions to be written
	easily.  One is provided as byHostname.c and returns the first host
	that matches the regex. Directive is
	BackhandFromSO libexec/byHostame.so byHostname hostname.
 * Implemented byAge and byRandom builtin candidacy functions.
 * Changed the inputs to builtin and user-defined decision making functions.
	It is now (request_rec *, int *, int *, char *) -- see builtin.h
	header for details.  This provides a mechinsims for specifying a set
	of candidates instead of a single server.
 * Implmeneted Cascadable Backhand(FromSO) directives.  Now users can
	implement more likeable resrictions: byAge, byLoad, byRandom.
	This would prune old servers, find the least loaded and choose
	randomly among them. (each directive is on its own line).

June 27th, 1999 (06.27.1999) -- mod_backhand -- 1.0
=================================================
 * LICENSE revised to be open-source. (Modelled after the BSD license)
 * Fixed a bug in the handling or requests that have Content-length headers.
 * Implemented byLogWindow candidacy functions.
 * Change the byLoad candidacy function to be by load/#CPUs instead of just by
	load.
 * Added "balanced by mod_backhand/VERSION string to the Apache server string.
 * Separated the operating systems specifics out of mod_backhand.c and
	back_util.c.
 * Changed the BroadcastStats directive to MulticastStats.
 * Now supports Solaris platform.

September 1st, 1999 (09.01.1999) -- mod_backhand -- 1.0.1
=================================================
 * Fixed the writing of log notices to go to the logfile instead of stdout
	when starting Apache.
 * Works with Apache 1.3.9 better.
 * Moved the exploration, decisions and uri rewriting to the mime/types
	stage from the access stage.  Other modules were "un"making our
	decisions.
 * Moved AddModule mod_backhand.c down below mod_cgi.  This allows
	mod_backhand to redirect things in Location statements with cgi-script
	handlers (or perl handlers)

September 10th, 1999 (09.10.1999) -- mod_backhand -- 1.0.2
=================================================
 * Made small modifications to allow compilation under Sun Workshop C/C++
	compiler (asmo.porma at saunalahti dot fi)

November 3rd, 1999 (11.03.1999) -- mod_backhand -- 1.0.5
=================================================
 * Added a new candidacy function byCost that is still in the experimental
	phase.  It implements a decision making algortihm based on the
	cost-benefit framework developed and discussed in the following paper
	by Amir, Awerbuch, and Borgstrom:
	http://www.cnds.jhu.edu/pub/papers/dss99.ps
 * Now supports BSDI platform.
 * Now supports (Net|Free|Open)BSD platform.

January 12th, 2000 (01.12.2000) -- mod_backhand -- 1.0.7
=================================================
 * Changed parameter passing architecture for statistics daemon spawning to
	correct problems on systems where sizeof(int)!=sizeof(void *).
 * Updated arriba function to eliminate floating point errors on alpha.
 * Fixed serious request proxying bug that caused "chunked" transfer encoded
	responses to fail.  Chunked encoding is a HTTP/1.1 defined transfer
	encoding supported by Apache.  This should fix any noticed
	incompatibilities with Microsoft's IE.
 * Now supports Linux (alpha fix) platform.

February 20th, 2000 (03.13.2000) -- mod_backhand -- 1.0.8
=================================================
 * Include file fixes for FreeBSD (Now better supports FreeBSD platform).
 * Updated cost calculations to accurately account for the power of machines.
 * Added an optional argument to the byLoad candidacy function.  It now takes
	a floating point number (0.0 if not provided) that subtracts from the
	local load when sorting.  This provides a convenient mechanism for
	local bias.
 * Added a new candidacy function addPredition that will add a predictive load
	to the first candidate (if addPrediction is last, this is the server
	you choose).  So, when assigning a request, you can add a predicted
	incurred load to that server.  See documentation for suggested use.

June 9th, 2000 (06.09.2000) -- mod_backhand -- 1.0.9
=================================================
 * Fixed uninitialized variable causing occasional core dumps.
 * fix for gcc -funsigned-char (Dmitry Khrustalev <dima at bog dot msu dot su>)
 * Fixed type in addPrediction
 * Added configure, configure.in, config.h.in, and Makefile.in allowing simple
 	apxs compiling.  Thanks to Alex Vorobiev <sasha at mathforum dot com>.
 * MAXSERVERS was supposed to equal HARD_SERVER_LIMIT.  It now does.
 * Added support for building mod_backhand as a static module in Apache.
	This will fix as-of-yet untackled problems with having a shared
	mod_backhand and shared candidacy functions under Solaris.
 * Augmented the MulticastStats directive to allow local port specifcaion.
	It now looks like MulticastStats [ip[:port]] destip:destport[,TTL],
	where ip:port is the services this server announces to others and
	the destip:destport,ttl is the same as before -- where to announce.
 * Added ap_internal_redirect if there are low-level errors in the redirection
	handler.
 * Added BackhandSelfRedirect (On|Off) directive that will ask backhand to
	actually proxy to itself if it finds that the local isntance is best.
	This can be very useful if you advertise yourself on a different
	interface or port.
 * Added BackhandLogLevel (+|-)level[,(+|-)level[,(+|-)level[...]]].  This
	now allows better control over what is printed to the error log.
 * HTTP redirection is now a supported method for delivering content from
	another server.  This redirection method can be chosen via new
	candidacy functions.
 * HTTPRedirectToIP was added for IP based HTTP redirection.
 * HTTPRedirectToName [format] was added for name based HTTP redirection.
 * Changes to the function prototype of the candidacy functions to allow
	for the choice of redirection method.  Methods now supported are:
	Proxying (old), HTTP Redirection by IP address (new), HTTP
	Redirection by hostname (new).

September 4th, 2000 (09.04.2000) -- mod_backhand -- 1.1.0
=================================================
 * Fixed uninitialized variable bug in back_util.c.  The effects were that
	trash values could be found in the server port of the advertised
	service.  This caused different mod_backhand instances to fail when
	proxying.  I could not reproduce this on my Linux machine.  Many
	thanks to Sean Chittenden for the time on his BSD boxes to debug the
	problem.
 * Fixed logic error when calculating byLoad with a bias.  It did not
	calculate biases as the FAQ implied.  Thanks to Blake Mills.
 * Changed the byAge candidacy function to never eliminate oneself.  Under
	high loads, the daemon process was often scheduled so infrequently
	that the local server expired, rendering BackhandSelfRedirect On
	ineffective.
 * Changed two accidental snprintf's to ap_snprintf's for portability.

May 30th, 2001 (05.30.2001) -- mod_backhand -- 1.2.0
==================================================
 * Fixed issue appending GET style query parameters on HTTP redirected URLs --
	patch submitted by Jrgen Brunk <juergen.brunk at gmx dot de>.
 * Fixed RFC compliance issue with HTTP response codes that are 304, 204,
	and less that 200.  They are explicitly defined to have no content
	length.
 * Some header clean up when fetching proxying documents.
 * No longer recalculate the arriba if there is a backhand-arriba file
	available.  This should speed things up tremendously and was
	blatantly unnecessary.
 * Before the parent Apache process forks children, it now waits to assure
	that the mod_backhand moderator process is bound and accepting on
	the unix domain socket required for MBCS.
 * Added a notes file to detail issues with different platforms.  Started it
	off with a Solaris patch requirement.  Insight and debugging courtesy
	of Kevin Walters.
 * Better logging and error handling in a few places -- still no docs :-(
 * Added code to setgid() the moderator processes.  Before, we only setuid().
	-- original patch from Stephan Seyboth <sps at caldera dot de>
 * Added addSelf as a candidacy function. (adds the local machine if it is
	not already on the list)
 * Added removeSelf as a candidacy function. (removes the local machine if
	it is on the list)
 * Added off as a candidacy function. (just removes all servers as candidates)
	This is required to turn of mod_backhand in directories that are
	below enabled directories in the heirarchy.
 * Added bySessions [identifier] to redirect established sessions to the same
	machine every time.  Read README.bySession for more details.  This
	was contributed by Martin Domig <mdi at ms dot at>
 * Moved all builtin candidacy function code into builtins.[ch] so that the
	addition of new builtin candidacy functions only requires modifications
	of those two files.
 * Added a "logger" callback to clean up the r->connection->remote_addr that
	we intentionally munged if the connection was proxied.  Without this
	the remote address was not correct for subsequent HTTP requests over
	the same connection (KeepAlives.)  This fixes the bug that causes
	$REMOTE_ADDR to be wrong sometimes.
 * Now supports FreeBSD-4.x platform.
 * Removed BackhandProxied: from the headers_in on the proxying machine.  This
	allows SetEnvIf BackhandProxied to work write even when
	BackhandSelfRedirect is enabled.
 * No longer remove Content-Length headers from Connection: close responses.
	This makes users' progress bars work correctly.
 * Clients speaking HTTP/1.1 were not getting Keep-Alives turned on under
	certain circumstances.  This has been fixed -- I think.
 * Headers in multiplicity were reduced to a single headers.  This breaks some
	apps that use multiple Set-Cookie headers.  This has been fixed.
 * Fixed bug in moderator restart when mod_backhand is statically compiled into
	Apache.
 * Fixed double printing of mod_backhand settings to error_log on startup.
 * Change the autoconf configuration to automatically add -lm and -lkstat is
	necessary.
 * Added the byBusyChildren candidacy function.
 * Fixed a bug that caused expired sessions in the pool to cause POSTs to hang.
 * Fixed compilation error on OpenBSD.
 * Now support Darwin/Mac OS X platform -- Marquis Logan <nibs at mac dot com>
 * Fixed AF_UNIX problem on *BSD.  Pathnam (.sun_path) was not null terminated
	correctly.
 * Added tight timeouts around the MBCS code to protect the child.  Hanging
	indefinitely will not happen now.
 * precompile now runs configure before installing itself in the apache source
	tree.  Without this, config.h didn't exist.
 * precompile now augments Apache's configure to force mod_so on if backhand is
	enabled.
 * Added BackhandModeratorPIDFile configuration directive.  If specified, it
	will write the new moderator PID in this file.

Dec 9th, 2001 (12.09.2001) -- mod_backhand -- 1.2.1
==================================================
 * Fixed brown-paper-bag problem with byBusyChildren.  It was internally
 	calling byLoad. :-(
 * Added "BackhandConnectionPools (on|off)" to allow the Apache child to do a
 	keepalive-disabled connect instead of the moderator maintaining
	everything.
 * Added compile fix under Sun C Compuler 6.1 from luc at ispi dot net
 * Added correct 100 support -- Stefan Seufert <se at fast-connect dot de>.
 * Removed ap_is_initial_req to allow correct operation with modules like
	mod_gzip -- Stefan Seufert <se at fast-connect dot de>.
 * Changed serverstats to allow multiple entries with the same IP but different
	ports -- Mike Cramer <mcramer at pbs dot org>.
 * Changed the serverstring to drop "balanced_by".
 * Integrated parts of Michael Cramer's <mcramer at pbs dot org> cosmetic
	changes to the /backhand/ page.
 * Added Rob's NT Backhand Broadcaster.
 * Now supports Windows NT through ntbhb (see related links) platform
 * Fix for uninitialized variable causing duplicate resource announcements --
	<glen at delfi dot ee>
 * Fix ownership of backhand dir during install with precompile -- Yusuf
	Goolamabbas <yusufg at outblaze dot com>