/[hydra]/hydra/ChangeLog
ViewVC logotype

Contents of /hydra/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.39 - (show annotations)
Mon Oct 21 19:36:54 2002 UTC (21 years, 5 months ago) by nmav
Branch: MAIN
Changes since 1.38: +1 -0 lines
some fixes in the sendfile(2) support. Added support for FreeBSD's sendfile (currently untested).

1 ** Changes from 0.0.7 to 0.0.8
2 * Better pthread detection.
3 * Some changes to compile in gcc 2.95
4 * Added support for FreeBSD's sendfile (untested)
5 [Ported from Boa 0.94.14rc1]
6 * add [optional, Linux-only] check for sendfile system call
7 * add new state, IOSHUFFLE, which utilizes sendfile (or
8 emulates it using the request's buffer, otherwise)
9 * make the default socket size 32K. The client_stream_size stays constant
10 at 8K, and the new 'buffer' size is 4K
11 Note also that the new code uses the "default" socket buffer size
12 it obtains with the first accept()ed socket.
13 * make default behavior be to leave stderr alone, but tie it
14 to cgilog otherwise
15 * use --disable-sendfile to disable sendfile support
16 sendfile support for files > 100K is default, now.
17 It's significantly faster and easier than the alternative
18 * umask ~0770 before exec
19 * tie stdout to the access_log, unless there is no access_log,
20 in which case tie it to /dev/null
21 * use sensible defaults for umask (077) and (027 for CGI)
22 * add and document new parameters (CGILog and CGIumask)
23 * vast improvements to the cgi-test.cgi program, by Jon Nelson
24 and Landon Curt Noll.
25 * next 3 items by Don Mahurin (patches modified somewhat):
26 * pidfile patch
27 * default mime_types patch
28 * NCSA environment environment variables wrapped in
29 #ifdef USE_NCSA_CGI_ENV
30 * fix some escaping issues with the directory indexer
31 (Ulf Harnhammar)
32 * backport poll support from 0.95
33
34 ** Changes from 0.0.6 to 0.0.7 - 10/10/2002
35 * Added support for large files in 32 bit systems.
36 * Added support for SSL_* variables in CGIs.
37 * Added options in configuration file, to request and verify
38 a client certificate.
39 * The headers of HIC-CGIs are now parsed by the server.
40 * Corrected behavour in SIGHUP signal handling, to reread
41 the SSL related variables.
42 * Children and HIC threads are now killed using a signal, to avoid
43 unexpected errors, and memory leaks.
44
45 ** Changes from 0.0.5 to 0.0.6 - 03/10/2002
46 * Compatibility functions are now automatically included in hydra, if
47 they are not found by the configure script.
48 * Replaced the included scandir function, with the one in libc.
49 * Fixed code, which compiled fine with gcc 3.2, but didn't compile at
50 all, with any other compiler!
51 * Improved the MaxConnections directive semantics.
52 * Added a very primitive mime.types file in examples/ directory.
53
54 ** Changes from 0.0.4 to 0.0.5 - 02/10/2002
55 * If a requested CGI is not accesible then send 404 not found, instead
56 of trying to execute it.
57 * Corrected several stuff in HIC CGI handler. This allows Cookies,
58 POST data and Queries to work properly.
59
60 ** Changes from 0.0.3 to 0.0.4 - 30/09/2002
61 * Added support for If-Range, If-Match, If-None-Match HTTP/1.1 header
62 fields. The server also generates ETag headers for static content using
63 the last modified field of the file, and the file size. This makes
64 Hydra cache friendly.
65 * Added support for multiple HIC threads. This gives a boost to script generation
66 since they are no longer generated sequentially.
67
68 ** Changes from 0.0.2 to 0.0.3 - 28/09/2002
69 * Added support for dynamic modules that handle CGIs
70 internally (HIC). That way Hydra can run PHP.
71 * Fixes in CGI execution. CGIs that are not passed from aliasing
72 functions now properly set PATH_INFO and PATH_TRANSLATED.
73 (Needs further cleanup).
74 * Cleaned up SSL support. Now hydra can be compiled even if gnutls
75 is not available.
76
77 ** Changes from Boa/0.94.13 to Hydra/0.0.2 - 26/09/2002
78 * Added support for SSL 3.0 and TLS 1.0 protocols.
79 * Added support for multiple CPU's by making the server
80 run over a pool of threads.
81 * Changed the file caching code. The mmap() calls are cached until
82 the mmap list table is full.
83 * Added support for HTTP/1.1 ranges.
84 * Added support for hostname based virtual hosting.
85 Also changed the semantics of Alias, ScriptAlias and Redirect, to
86 take advantage of the host based virtual hosting.
87 * Added support for the TCP_CORK tcp option in linux.
88 * Cleaned up the CGI handling (gunzip, indexer are treated as CGIs)
89 * Enhanced grammar to handle 3 and 4 argument options.
90 * Added support for multiple directory indexes.
91 * Dropped support for gunzip.
92 * Use automake to create the distribution.
93
94 ** Changes from 0.94.12 to 0.94.13
95 * Change many instances of log_error_mesg + exit to DIE macro
96 * Change all instance of log_error_mesg (without exit) to WARN macro
97 * do a much better job of checking return values from malloc and
98 especially strdup.
99 * check results of calling umask and getrlimit
100 * server_s is no longer a global int
101 * check results of fork via switch instead of if (fork())
102 * check for getopt.h and include it if found
103 * remove unused #defines, and add WARN macro, and replace
104 many calls to log_error_mesg(..) with WARN macro
105 * fix bug in get_commonlog_time where time_offset calculation was
106 the opposite of what it should be ('-' and '+' were swapped)
107 * fix compatability bug with old and newer versions of flex/yacc
108 * add check for AC_FUNC_MMAP to configure.in
109 * fix really lame thinko in normalize_path, which would prepend the
110 results of earlier calls to results from later calls
111 * Add MaxConnections, a configuration directive which allows the
112 user to specify the maximum number of connections that Boa will
113 accept concurrently.
114 * add SERVER_ADDR and REQUEST_URI to environment of CGI
115 * handle SIGBUS during writes of data that has been memory mapped
116 * minor optimization in select.c that prevents DEAD requests from
117 being added to the block set
118 * fix bug in CGI environment script_name - closes sf.net bug #576725
119 * make 'status' variable local to requests.c, not local to every file
120 by forgetting to declare 'extern' in globals.h :-|
121 * make getsockname non-fatal, and do it every time because we may
122 need it for the CGI
123 * some minor refactoring optimizations in hash.c
124
125 ** Changes from 0.94.11 to 0.94.12
126 * Renamed Changelog ChangeLog, and moved up to top-level directory
127 * Next 3 items due in part or whole thanks to
128 Liam Widdowson
129 * when printf'ing a pid type, force to int, because it could be
130 something else on other platforms. Should probably change it to
131 a long, and use that.
132 * backported chroot commandline support from 0.95
133 * backported support for strdup, strstr, alphasort, and scandir
134 from 0.95
135 * Fixed src/Makefile.in -- it didn't remove index_dir.o
136 * backport create_temporary_file from 0.95
137 (instead of using tmpnam)
138 * Allow non-standard date format 31 September 2000 23:59:59 GMT
139 Patch by Landon Curt Noll
140 * Skip whitespace before HTTP/major.minor
141 Adapted patch from Landon Curt Noll
142 * open /dev/null first thing (affects chrooting)
143 * properly handle sigalrm -- use sigalrm_flag and sigalrm_run
144 instead of handling the signal in the signal handler
145 * update manpage slightly
146 * send 400 BAD Request when resource does not start with '/'
147 * add grp.h to boa.h's includes -- remove from boa.c and config.c
148 * removed duplicate header includes from boa.c, config.c, get.c,
149 ip.c, request.c, response.c
150 * factor out creating the server socket and dropping privs
151 into create_server_socket and drop_privs
152 * type all functions in boa.c (except main) as static
153 * set umask after opening /dev/null
154 * tie stdin/stdout to /dev/null before commandline parse
155 * removed old, unused chroot code
156 * move builds_needs_escape earlier in the startup
157 * move fork later in the startup
158 * type all c_set_* as static in config.c
159 * don't bother trying to change uid/gid (or error if the
160 requested uid/gid doesn't exist) if not UID 0
161 * return more appropriate error code when foo.html gives
162 access denied, but foo.html.gz gives some other error
163 (essentially report error associated with foo.html, not foo.html.gz)
164 * send NOT Implemented when an unknown method is attempted
165 * always attempt a 32k read right before close
166 (stopgap until blackhole can be merged)
167 * allow more than 1 space in logline between method, resource,
168 and http version
169 * don't use inline functions
170 * update configure.in so that autoconf 2.50 doesn't complain (as much)
171 * properly use VPATH and srcdir according to autoconf docs
172 * change curly-braces to parentheses in Makefilein
173 * use $^ instead of manually listing the dependencies in Makefile.in
174 * remove tests section in Makefile.in
175 * write tags not TAGS in Makefile.in
176 * Add gethostbyname and inet_aton to function checks
177 * Add code from 0.95 which checks for socket in -lsocket,
178 inet_aton in -lresolv, and gethost{by}name in -lnsl
179 * Also remove broken bc-based "how big is an unsigned int" checks:
180 assume minimum of 32 bits and check in escape.c at runtime.
181 * Added new file: README.chroot.solaris, based on a
182 modified version by Liam Widdowson
183 * Add check_struct_for.m4, which allows us to check a structure
184 for a member (found at http://www.gnu.org/software/ac-archive/
185 authored by Wes Hardaker
186 * Call "aclocal -I ." to rebuild aclocal.m4
187 * Using new check-struct-for-member autoconf macro, check
188 for tm_gmtoff and tm_zone in struct tm -- useful in
189 portability tests for localtime.
190 * Also check sockaddr_in for structure sin_len so we can set
191 it properly.
192 * index_dir.c (which ends up in boa_indexer) can now be compiled
193 with USE_LOCALTIME, and if so, it will report the local time
194 using the timezone name. Otherwise it uses UTC time and UTC
195 timezone designation.
196 * fix buglet in mmap_cache.c which shows up when under
197 heavy load by many different files.
198 Found and squashed by Michal Kara
199 * normalize paths on Aliases, log files, server root, dirmaker
200 This makes sure that paths are 'absolute'
201 * don't generate DOCUMENT_ROOT or SERVER_ROOT,
202 CGIs have no business knowing that information
203 * if CGI, chdir to the cgi's root path
204 Bug found by Matt Callaway
205 * remove ChrootPath and PidFile directives from the parser
206 (they aren't used anyway)
207 * keep track of maximum file descriptor in use to optimize call
208 to select()
209 * apply IPv6 patch from Jari Korva
210 * optimize keep-alive copy data routine
211 * try to use memcpy instead of strcpy/strcat in more places (alias.c)
212 * update .depend file
213 * use fcntl + GET_FL to get a file descriptor's flags, then
214 add or remove only the bits we want to set. This prevents
215 accidentally setting or unsettings bits we don't have anything
216 to do with inadvertantly. (removed, at least temporarily.
217 Show me a system where it is needed -- LRD)
218 * make sure to call FD_ZERO when we handle a restart
219 * in read.c, don't call boa_perror on read failure -- socket is
220 dead or messed up anyway, no reason to try to write to it.
221 * explicit .SUFFIXES in Makefile.in
222 * boa.objdump target added
223 * use @MAKE_SET@ (for when $(MAKE) != "make")
224 * add -Wundef -Wwrite-strings -Wredundant-decls -Winline to GCC_FLAGS
225 * change Paul Phillips' and Larry Doolittle's emails in source
226 * add --disable-debug, --enable-profile, --with-dmalloc, and --with-efence
227 * test for failed-but-return-was-successful setuid:
228 http://www.securityfocus.com/bid/1322
229 * use _exit not exit in CGI child
230 * always place new keepalive request on blocked list, we can't be
231 sure of the state of the active list, and since enqueue places
232 things at the *front* of the list, it doesn't do us much good
233 to place the new request on the active list anyway.
234 * update some Copyright statements for 2002
235 * When comparing the uri to an alias, only compare if
236 the uri length is greater than or equal to the length of the alias
237 * in init_script_alias, make sure to check for document_root before
238 trying to use it
239 * script_name is now just a copy of the request, rather
240 than some complicated variation on the pathname
241 * change the way the CGI environment is handled.
242 Now, it is allocated at request allocation time, and exists
243 throughout the life of the structure.
244 * check memory allocations, etc.. when creating the static
245 CGI environment and when making new CGI environment variables
246 * wait until process_option_end to call unescape_uri, clean_pathname,
247 and translate_uri
248 * remove debian package information
249 * move RedHat packaging information to contrib
250 * remove tests -- they weren't usable anyway
251 * add some new hash routines, and use djb2 (a variant on a
252 hash algorithm popularized by Dan J. Bernstein)
253 * a side-effect of the new hash routines is a bugfix,
254 involving negative return values from hash routines.
255 This has been fixed.
256 * add a routine, show_hash_stats, which is called with other
257 statistical output via sigalarm
258 * remove some duplicate prototypes from config.c
259 * make simple_itoa take an unsigned int
260 * try to make NOBLOCK handling in compat.h compatible with Solaris
261 * make sure to update current_time before calling signal handlers
262 * alter primary loop to make sure that select gets called even
263 when there are requests that are not blocking, and call fdset_update
264 and process_requests (when appropriate) after signal handlers but
265 before select to make sure that blocked requests are still handled
266 by select after a sighup. (Thanks to Karl Olsen)
267 * pull select loop into select.c
268 * poll server socket once per active connection
269 * add send_r_service_unavailable and use it when appropriate
270 * state uptime in seconds at normal program termination
271 * include sys/fcntl.h if it is found by configure
272 * fix POST bug where a content-length < 0 would cause Boa to
273 consume its full share of CPU until killed
274 Bug report by Landon Curt Noll
275 * add CGIPath configuration variable
276 based upon a patch by Landon Curt Noll
277 * add function boa_atoi, which wraps atoi, but does not
278 accept negative values. Additionally, it checks to make sure
279 the converted value and the original value are the same, avoiding
280 issues like "124.3" -> "123" and "123abc" -=> "123".
281 Either a value is an int or it isn't - no middle ground.
282 * use boa_atoi to convert content-length from client.
283 * add new #define - SINGLE_POST_LIMIT_DEFAULT, which defines
284 (in bytes) the *default* single_post_limit.
285 * single_post_limit is now in bytes.
286 * when adding aliases, only "normalize" paths that start
287 with "./" - this is a departure from previous behavior
288 * add "?" to the list of characters that it is safe to leave unescaped
289 * clean up Makefile.in of no-longer-pertinent comments
290 * add send_r_bad_gateway and use it
291 * tie stderr to either cgi_log_fd or devnullfd - either way
292 make sure stderr is a valid filehandle before cgi execution
293 * cgi_env is no longer allocated, it's part of the struct now
294 * fix bug in CgiPath logic
295 * when unable to allocate memory for an environment variable, log it
296 * add clear_common_env, which de-allocates the cgi_common_env stuff
297 [NEVER USE THIS outside of a terminal signal handler!]
298 * don't be so wasteful of memory in normalize_path
299 * adapted fix for alias expansion from Brieuc Jeunhomme
300
301 ** Changes from 0.94.10.1 to 0.94.11
302 * use LIBS in Makefile.in (which propagates from autoconf)
303 * properly free memory allocated by scandir in index_dir.c
304 * rearrange some header files and includes
305 * on reads and writes, don't check for -1, check for < 0
306 * include fix by William Meadows
307 for escape.c which fixes segfaults due to improper allocation
308 * above fix by William Meadows no longer needed;
309 escape.c and escape.h rewritten by Larry Doolittle -- requires
310 at least 32 bit words, but is correct (jdn's 1st attempt was faulty)
311
312 ** Changes from 0.94.10 to 0.94.10.1
313 * Actually update the SERVER_VERSION in src/defines.h
314
315 ** Changes from 0.94.9 to 0.94.10
316 * Fixes escaping rules
317 * Fixes segfault when directory_index is undefined and
318 directory needs to be generated
319 * adds dummy signal handlers for SIGUSR1 and SIGUSR2 (Closes SF #425921)
320 * Update documentation regarding mime.types (Closes Debian #69991)
321 * Make sure documentation builds (Closes Debian #110818)
322
323 ** Changes from 0.94.8.3 to 0.94.9
324 * src/Makefile.in updated to take CFLAGS, LIBS, and LDFLAGS
325 from autoconf
326 * Update escaping rules with latest RFC
327 * unescape_uri skips fragments and also stop parsing at '?'
328 * Don't accept fd over FD_SETSIZE in request.c:get_request
329 * use backported documentation from 0.95
330 * make sure POST fd gets closed even on client cancel
331 * use backported index_dir.c from 0.95
332 * support subdirectories in ScriptAlias directories
333 * add SinglePostLimit (int, in Kilobytes) to config system
334 * check for ENOSPC on body write
335 * use environment variable TMP (or "/tmp" if not available),
336 and chdir there when boa exits.
337 * add 1-time-only hack to make a 32kB read at the end of a request
338 on POST or PUT
339 * close unused file descriptors (/dev/null in boa.c, and the
340 unused part of the pipes call in cgi.c)
341 * made Makefile.in VPATH happy
342
343 ** Changes from 0.94.8.2 to 0.94.8.3
344 * Move unescape_uri *before* clean_pathname to prevent
345 encoding of / and .. in pathname
346 * wrap execution of GUNZIP in cgi.c with #ifdef GUNZIP
347 * stop parsing when fragment found in URL ('#')
348
349 ** Changes from 0.94.8.1 to 0.94.8.2
350 * close pipes[1] in child and generate HTTP_REFERER environment
351 variable in cgi.c
352 * Minor changes to the Debian package
353
354 ** Changes from 0.94.8 to 0.94.8.1
355 * Change umask call from (umask(0600)) to (umask(~0600))
356
357 ** Changes from 0.94.7 to 0.94.8
358 * Fix major thinko in temp file permissions
359 * unlink temporary file immediately following creation
360 * implement maximum # of active connections at 10 less than RLIMIT_NOFILE
361 to avoid or eliminate crashes resulting from running out of
362 file descriptors
363 * Fix thinko in POST
364
365 ** Changes from 0.94.6 to 0.94.7
366 * STDIN and STDOUT are now tied to /dev/null
367 * sets PATH_MAX to 2048 if not defined (for Hurd)
368 * core dumps (should never happen) would be located in /tmp
369 * alter behavior when select gets a EBADF
370 * add translation for the \" char -> &quot;
371 * remove use of sys_errlist. Use perror.
372 * better makedist.sh (still a stupid program though)
373
374 ** Changes from 0.94.5 to 0.94.6
375 * Removed doc++ commenting
376 * Removed erroneous debugging statments
377 * Move some stuff out of config.c (read_config_file) to boa.c
378 * Altered some of fixup_server_root()
379 * Bug fix in get.c re: automatic gunzip
380 * Added some stubs for chroot code (*not* ready yet)
381
382 ** Changes from 0.94.4 to 0.94.5
383 * Alteration of most of the comments and such for doc++ use
384 * Fixed buffer overflow in alias.c
385 * Fixed buffer underflow in util.c
386
387 ** Changes from 0.94.3 to 0.94.4
388 * Better escaping of data to user, both for HTTP headers and HTML body
389 * Proper escaping of output in CGI example perl scripts
390
391 ** Changes from 0.94.0 to 0.94.2
392 * Fixed obnoxious pipeline bug
393 * Fixed (sorta) a compilation/core bug for *BSD systems
394 Original code by Thomas Neumann
395 * Moved to GPLv2
396 * Changed manpage to section 8
397 * boa.sgml now references a .png file instead of evil .gif
398
399 ** Changes from 0.93.19.2 to 0.94.0
400 * Added UseGMT to the configuration parser
401 * util.c commonlog now logs in Apache-style commonlog time format
402 * Remove SO_SNDBUF on-start message
403
404 ** Changes from 0.93.19 to 0.93.19.2
405 * Changed to combined log (from NCSA access_log format) ala Drew Streib
406 * Altered POST cgi code to handle bug in Netscape
407 * SO_SNDBUF changes by Larry
408
409 ** Changes from 0.93.17.2 to 0.93.19 (all 0.93.18.x changes inclusive)
410 * Update of some copyright statements for 99
411 * Replacement of sprintf with strlen/memcpy or strcpy/strcat
412 wherever possible
413 * Significant rearrangement in alias.c, minor functional differences
414 (some CGI environment variables handled differently)
415 * Removal of die function. Replace with log_err_mesg and exit.
416 * initial IPv6 stubs and support
417 * Move #include "config.h" to top of boa.h where it will do some good
418 * Stubs and functions for strstr and strdup
419 * Seperation of buffer code into it's own file
420 * Significant changes to cgi.c et al (cgi_header.c, etc...)
421 * Speed patches by removal of "extra" calls to time(): Use global variable!
422 * pipelining changes... it works now.
423 * require content-length from clients (ala rfc1945)
424 * alter body_read and body_write to work more efficiently with known content-length
425 * move read(2) part to *after* parsing...
426 * added support for additional header message in send_redirect_temp
427 * change use of NO_ZERO_FILL_LENGTH to offsetof() use
428 * Remove SO_REUSEADDR setting on each client socket, Paul Saab
429 * Avoid SO_SNDBUF setting if possible
430 * Large quantities of otherwise not-insignificant changes
431
432 ** Changes from 0.93.17.2 to 0.93.17.3
433 * Put on-the-fly directories back in, stripped down from the 0.92 version
434 * Fixed DocumentRoot, ServerAdmin and ServerName null-value handling in
435 CGI environment generation
436 * Fixed argument order in Script* directives (bug introduced in 0.93.17.2)
437 * Got rid of MAX_CGI_VARS because it was not being used consistently, or
438 for that matter, at all, really.
439 * Added some more FASCIST_LOGGING to cgi.c
440 * Minor mmap patch by LRD for request.c
441
442 ** Changes from 0.93.17.1 to 0.93.17.2
443 * Added "Listen" directive for server bind address, as most recently
444 suggested by David N. Welton
445 * Put virtualhost feature in, was experimental in 0.92q
446
447 ** Changes from 0.93.16.2 to 0.93.17.1
448 * New config file parser (supposed to be more maintainable) (LRD)
449 * Support for "|command" and ":host:port" syntax for logfiles (untested) (LRD)
450
451 ** Changes for the 0.93 version **
452 * Huge quantities of changes
453 * keepalive Bugfix in 0.93.16.2 by Jon Nelson
454 report by Craig Silverstein of Google fame.
455 * patch for config.h by Craig Silverstein
456 * fixed "Parent Directory" problem in boa_indexer for title "/"
457 (Debian bug #36165)
458 * More Craig Silverstein
459 modifications, namely:
460 ErrorLog (if omitted, print to stderr)
461 DocumentRoot (if omitted, can only server user-dir files)
462 DirectoryIndex (if omitted, always use DirectoryMaker)
463 MimeTypes (if omitted, don't load -- users can use AddType instead)
464
465
466 ** Changes from v0.92o to v0.92p **
467
468 * Documented misbehavior of CGI, SIGHUP, short aliases, stale dircache.
469 * Documented how to patch signals.c for use on SunOS.
470 * Closed file descriptor leak when redirecting a bare directory URL to
471 one with an appended "/".
472 * Closed potential file descriptor leak if errors encountered generating
473 on-the-fly index.
474 * Cleaned up include file handling to be simultaneously compatible with
475 Linux, SunOS, HP-UX, and AIX.
476 * Supress message body for codes 302, 400, 403, 404, 500, and 501 if
477 incoming request is "HEAD".
478
479 ** Changes from v0.91 to v0.92o **
480 (0.92o released 27 December, 1996)
481
482 * Maintenance handover from Paul Phillips to Larry Doolittle
483 * Changed (char)NULL to '\0'
484 * Cleaned up signal handler prototypes in signals.c
485 * Modified handling of CGI environment variable PATH_TRANSLATED,
486 should now work the same as NCSA.
487 * More conservative buffer size in add_cgi_env()
488 * Build argv list for a CGI script according to spec
489 * Speedup process_header_line, eliminate potential memory leak
490 * Occasional spelling fixes and lint removal
491 * Added REMOTE_PORT env var for CGI scripts, to allow easy ident lookups
492 * Changed rfc822 time format
493 * Log timeouts and broken connections
494 * Fix mime suffix handling for filenames with multiple "."s
495 * Initialize conn->time_last, fixes bug with rapid-fire connections
496 * Performance tweak to req_write()
497 * Changed http_version from float to char[8]
498 * Rewrote on-the-fly directory generation; it works now
499 * Added user configurable dircache directory in boa.conf
500 * Fixed "simple" response bugs, including incorrect CGI handling
501 * Keepalive (HTTP/1.1 draft) support, mostly by Jon Nelson
502 * Close data_fd in 304 Not Modified flow of control
503 * Switch socket flags to non-blocking before cgi handoff
504 * Try to handle errno properly in the face of multiple errors
505 * Close fd's of all other transactions before cgi handoff
506 * Move real work for sighup and sigchld out of signal handler
507 * Fix free(req->cgi_env) in request.c
508 * Response message cleanup - better match to HTML-2.0 DTD
509 * Experimental Virtual Host code from Russ Nelson
510 * Expand buffer for escaped URI in init_get()
511 * SIGTERM triggers lame duck mode until all pending transactions complete
512 * Close and unlink temp file for POST in parent process
513
514 ** Changes from v0.90 to v0.91 **
515
516 * Cleaned up main while loop
517 * Optimized request line parsing
518 * Added state machine for header reads -- necessary to deal wtih
519 possibility of obtaining header data in multiple reads. This
520 also allows interactive use of server.
521 * Added 500/501 return codes for various conditions
522
523 ** v0.90 **
524
525 * Initial release
526

webmaster@linux.gr
ViewVC Help
Powered by ViewVC 1.1.26