cvs commit: apache-apr STATUS
rbb 99/02/09 14:10:30 Modified:.STATUS Log: Update to the status file. Revision ChangesPath 1.6 +10 -9 apache-apr/STATUS Index: STATUS === RCS file: /home/cvs/apache-apr/STATUS,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- STATUS1999/02/08 06:32:10 1.5 +++ STATUS1999/02/09 22:10:30 1.6 @@ -1,5 +1,5 @@ Apache Portable Runtime STATUS: -Last modified at [$Date: 1999/02/08 06:32:10 $] +Last modified at [$Date: 1999/02/09 22:10:30 $] Release: @@ -21,21 +21,21 @@ Available Patches: In progress: Signal Handling -Investigate signal handling in Apache-pthreads. Currently, we kill -the process when we encounter SIGPIPE, obviously bad. +Investigate signal handling in Apache-pthreads. SIGUSR1 is not a + usable signal on Linux 2.0, because pthreads uses it to communicate + between threads. Modules Ensure thread safety. Does not include mod_proxy, yet. -Scoreboard - Resign the scoreboard appropriately for a hybrid process web - server. This includes adding a tid field to the scoreboard. - Process/thread management Put (back) in the logic to manage the number of processes. Managing threads per process other than with a configuration constant is in doubt. +Timeouts. (only soft timeouts) + + Everything Needs patch: @@ -48,7 +48,6 @@ * Bringing in the libap stuff * Mod_proxy - * Timeouts. (only soft timeouts) * Check misc thread safety. Make sure UNIX code path mirrors NT path where appropriate * Optimize Optimize Optimize @@ -66,4 +65,6 @@ it again. Bringing this code up-to-date with the changes in the 1.3 branch. It's now up-to-date as of the morning of Feb 6th, 1999. - +Scoreboard + Design the scoreboard appropriately for a hybrid process web + server. This includes adding a tid field to the scoreboard.
cvs commit: apache-apr/pthreads/src/main fdqueue.c
manoj 99/02/09 14:04:16 Modified:pthreads/src/main fdqueue.c Log: Optimization: don't pthread_cond_signal every time something is added to the queue, but only when there is a state change (empty -> not empty, full -> not full). Revision ChangesPath 1.2 +8 -3 apache-apr/pthreads/src/main/fdqueue.c Index: fdqueue.c === RCS file: /home/cvs/apache-apr/pthreads/src/main/fdqueue.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- fdqueue.c 1999/02/03 17:50:09 1.1 +++ fdqueue.c 1999/02/09 22:04:14 1.2 @@ -33,12 +33,14 @@ } queue->data[queue->tail].fd = fd; queue->data[queue->tail].addr = *addr; +/* If the queue was empty, signal that it no longer is */ +if (queue->head == queue->tail) { +pthread_cond_signal(&queue->not_empty); +} queue->tail = (queue->tail + 1) % queue->bounds; if (pthread_mutex_unlock(&queue->one_big_mutex) != 0) { return FD_QUEUE_FAILURE; } -if (pthread_cond_signal(&queue->not_empty) != 0) -perror("signal didn't work :("); return FD_QUEUE_SUCCESS; } @@ -52,11 +54,14 @@ } fd = queue->data[queue->head].fd; *addr = queue->data[queue->head].addr; +/* If the queue was full, signal that it no longer is */ +if (queue->head == ((queue->tail + 1) % queue->bounds)) { +pthread_cond_signal(&queue->not_full); +} queue->head = (queue->head + 1) % queue->bounds; if (pthread_mutex_unlock(&queue->one_big_mutex) != 0) { return FD_QUEUE_FAILURE; } -pthread_cond_signal(&queue->not_full); return fd; }
cvs commit: apache-apr/pthreads/src/main http_core.c http_main.c http_request.c
rbb 99/02/09 13:39:57 Modified:pthreads/src/include http_main.h httpd.h scoreboard.h pthreads/src/main http_core.c http_main.c http_request.c Log: Updated scoreboard logic for hybrid process/thread server. Keeps track of thread status, instead of process status. Spawning new processes and killing old ones is still not done using the scoreboard. That is the next change to make. All values needed for those decisions are in the scoreboard file now. Revision ChangesPath 1.3 +2 -2 apache-apr/pthreads/src/include/http_main.h Index: http_main.h === RCS file: /home/cvs/apache-apr/pthreads/src/include/http_main.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- http_main.h 1999/02/07 06:29:22 1.2 +++ http_main.h 1999/02/09 21:39:52 1.3 @@ -117,8 +117,8 @@ void ap_keepalive_timeout(char *, request_rec *); API_EXPORT(void) ap_child_terminate(request_rec *r); -int ap_update_child_status(int child_num, int status, request_rec *r); -void ap_time_process_request(int child_num, int status); +int ap_update_child_status(int child_num, int thread_num, int status, request_rec *r); +void ap_time_process_request(int child_num, int thread_num, int status); unsigned int ap_set_callback_and_alarm(void (*fn) (int), int x); API_EXPORT(int) ap_check_alarm(void); 1.5 +12 -0 apache-apr/pthreads/src/include/httpd.h Index: httpd.h === RCS file: /home/cvs/apache-apr/pthreads/src/include/httpd.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- httpd.h 1999/02/07 06:29:22 1.4 +++ httpd.h 1999/02/09 21:39:52 1.5 @@ -310,6 +310,17 @@ #define HARD_SERVER_LIMIT 256 #endif +/* Limit on the threads per process. Clients will be locked out if more than + * this * HARD_SERVER_LIMIT are needed. + * + * We keep this for one reason it keeps the size of the scoreboard file small + * enough that we can read the whole thing without worrying too much about + * the overhead. + */ +#ifndef HARD_THREAD_LIMIT +#define HARD_THREAD_LIMIT 500 +#endif + /* * Special Apache error codes. These are basically used * in http_main.c so we can keep track of various errors. @@ -795,6 +806,7 @@ /* Information about the connection itself */ int child_num; /* The number of the child handling conn_rec */ +int thread_num; /* number of the thread handling conn_rec */ BUFF *client;/* Connection to the guy */ /* Who is the client? */ 1.4 +7 -5 apache-apr/pthreads/src/include/scoreboard.h Index: scoreboard.h === RCS file: /home/cvs/apache-apr/pthreads/src/include/scoreboard.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- scoreboard.h 1999/02/07 06:29:22 1.3 +++ scoreboard.h 1999/02/09 21:39:52 1.4 @@ -129,12 +129,13 @@ */ typedef int ap_generation_t; -/* stuff which the children generally write, and the parent mainly reads */ +/* stuff which is thread specific */ typedef struct { #ifdef OPTIMIZE_TIMEOUTS vtime_t cur_vtime; /* the child's current vtime */ unsigned short timeout_len; /* length of the timeout */ #endif +pthread_t tid; unsigned char status; unsigned long access_count; unsigned long bytes_served; @@ -159,7 +160,7 @@ char request[64];/* We just want an idea... */ server_rec *vhostrec;/* What virtual host is being accessed? */ /* SEE ABOVE FOR SAFE USAGE! */ -} short_score; +} thread_score; typedef struct { ap_generation_t running_generation; /* the generation of children which @@ -169,16 +170,17 @@ /* stuff which the parent generally writes and the children rarely read */ typedef struct { pid_t pid; -pthread_t tid; +ap_generation_t generation; /* generation of this child */ +int threads; +int inactive_threads; #ifdef OPTIMIZE_TIMEOUTS time_t last_rtime; /* time(0) of the last change */ vtime_t last_vtime; /* the last vtime the parent has seen */ #endif -ap_generation_t generation; /* generation of this child */ } parent_score; typedef struct { -short_score servers[HARD_SERVER_LIMIT]; +thread_score servers[HARD_SERVER_LIMIT][HARD_THREAD_LIMIT]; parent_score parent[HARD_SERVER_LIMIT]; global_score global; } scoreboard; 1.4 +4 -4 apache-apr/pthreads/src/main/http_core.c Index: http_core.c
cvs commit: apache-1.3/src/main http_core.c
fielding99/02/09 12:20:27 Modified:.STATUS htdocs/manual/mod core.html directives.html src CHANGES src/main http_core.c Log: Added a sectioning directive that allows the user to assign authentication control to any HTTP method that is *not* given in the argument list; i.e., the logical negation of the directive. This is particularly useful for controlling access on methods unknown to the Apache core, but perhaps known by some module or CGI script. Submitted by: Roy Fielding and Tony Finch <[EMAIL PROTECTED]> Revision ChangesPath 1.617 +1 -13 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.616 retrieving revision 1.617 diff -u -r1.616 -r1.617 --- STATUS1999/02/09 18:00:18 1.616 +++ STATUS1999/02/09 20:20:22 1.617 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/02/09 18:00:18 $] + Last modified at [$Date: 1999/02/09 20:20:22 $] Release: @@ -60,18 +60,6 @@ * John Bley's [PATCH] malloc checks MID: <[EMAIL PROTECTED]> Status: Jim -0 (maybe the messages could be more detailed?) - -* Tony Finch's [PATCH] -Message-ID: <[EMAIL PROTECTED]> -Status: Roy [looks good, but we might be able to do better by using - the same function as Limit and just checking cmd] - -* Dean's [PATCH] etag continued (take 2) - Adds strong comparison functions to other checks. -MID: <[EMAIL PROTECTED]> -Status: Roy needs to fix ap_find_opaque_token() because it doesn't -do the right HTTP parsing anyway, so this will probably be -folded in at the same time. * Cliff's [PATCH] 500 errors not giving error-notes (related to PR #3455) Message-ID: <[EMAIL PROTECTED]> 1.145 +32 -1 apache-1.3/htdocs/manual/mod/core.html Index: core.html === RCS file: /home/cvs/apache-1.3/htdocs/manual/mod/core.html,v retrieving revision 1.144 retrieving revision 1.145 diff -u -r1.144 -r1.145 --- core.html 1999/02/06 11:00:57 1.144 +++ core.html 1999/02/09 20:20:23 1.145 @@ -49,6 +49,7 @@ KeepAlive KeepAliveTimeout+ LimitRequestBody LimitRequestFields LimitRequestFieldsize @@ -659,7 +660,8 @@ The directory sections typically occur in the access.conf file, but they may appear in any configuration file. directives cannot -nest, and cannot appear in a section. +nest, and cannot appear in a or + section. See also: How Directory, @@ -1337,6 +1339,35 @@ If GET is used it will also restrict HEAD requests. If you wish to limit all methods, do not include any directive at all. + + + + directive + +Syntax: + ... +Context: any +Status: core +Compatibility: Available in Apache 1.3.5 and later + +and are used to enclose a group of +access control directives which will then apply to any HTTP access method +not listed in the arguments; i.e., it is the opposite of a +section and can be used to control both +standard and nonstandard/unrecognized methods. See the documentation for + for more details. 1.55 +1 -0 apache-1.3/htdocs/manual/mod/directives.html Index: directives.html === RCS file: /home/cvs/apache-1.3/htdocs/manual/mod/directives.html,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- directives.html 1999/02/06 11:00:57 1.54 +++ directives.html 1999/02/09 20:20:23 1.55 @@ -123,6 +123,7 @@ KeepAliveTimeout LanguagePriority + LimitRequestBody LimitRequestFields LimitRequestFieldsize 1.1245+7 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1244 retrieving revision 1.1245 diff -u -r1.1244 -r1.1245 --- CHANGES 1999/02/09 18:00:22 1.1244 +++ CHANGES 1999/02/09 20:20:25 1.1245 @@ -1,5 +1,12 @@ Changes with Apache 1.3.5 + *) Added a sectioning directive that allows + the user to assign authentication control to any HTTP method that + is *not* given in the argument list; i.e., the logical negation + of the directive. This is particularly useful for controlling + access on methods unknown to the Apache core, but perhaps known by +
cvs commit: apache-1.3/src Makefile_win32.txt Makefile_win32_debug.txt
fielding99/02/09 10:07:56 Modified:src Makefile_win32.txt Makefile_win32_debug.txt Log: Update the other two Win32 Makefiles for the htpasswd change. Revision ChangesPath 1.2 +3 -0 apache-1.3/src/Makefile_win32.txt Index: Makefile_win32.txt === RCS file: /home/cvs/apache-1.3/src/Makefile_win32.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile_win32.txt1999/01/05 07:09:02 1.1 +++ Makefile_win32.txt1999/02/09 18:07:55 1.2 @@ -33,6 +33,9 @@ cd ap nmake /nologo CFG="ap - Win32 Release" -f ap.mak cd .. + cd support + nmake /nologo CFG="htpasswd - Win32 Release" -f htpasswd.mak + cd .. cd main nmake /nologo CFG="gen_uri_delims - Win32 Release" -f gen_uri_delims.mak nmake /nologo CFG="gen_test_char - Win32 Release" -f gen_test_char.mak 1.2 +3 -0 apache-1.3/src/Makefile_win32_debug.txt Index: Makefile_win32_debug.txt === RCS file: /home/cvs/apache-1.3/src/Makefile_win32_debug.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile_win32_debug.txt 1999/01/05 07:09:02 1.1 +++ Makefile_win32_debug.txt 1999/02/09 18:07:56 1.2 @@ -33,6 +33,9 @@ cd ap nmake /nologo CFG="ap - Win32 Debug" -f ap.mak cd .. + cd support + nmake /nologo CFG="htpasswd - Win32 Debug" -f htpasswd.mak + cd .. cd main nmake /nologo CFG="gen_uri_delims - Win32 Debug" -f gen_uri_delims.mak nmake /nologo CFG="gen_test_char - Win32 Debug" -f gen_test_char.mak
cvs commit: apache-1.3/src/support apachectl
fielding99/02/09 10:00:37 Modified:.STATUS src CHANGES src/support apachectl Log: Prevent apachectl from complaining if the PIDFILE exists but does not contain a process id, as might occur if the server is being rapidly restarted. Submitted by: Wilfredo Sanchez <[EMAIL PROTECTED]> Reviewed by: Roy Fielding, Jim Jagielski Revision ChangesPath 1.616 +1 -5 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.615 retrieving revision 1.616 diff -u -r1.615 -r1.616 --- STATUS1999/02/09 17:17:01 1.615 +++ STATUS1999/02/09 18:00:18 1.616 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/02/09 17:17:01 $] + Last modified at [$Date: 1999/02/09 18:00:18 $] Release: @@ -65,10 +65,6 @@ Message-ID: <[EMAIL PROTECTED]> Status: Roy [looks good, but we might be able to do better by using the same function as Limit and just checking cmd] - -* Fred's Bug with graceful restarts? Ignore empty pid file -Message-ID: <[EMAIL PROTECTED]> -Status: Roy +1, Jim +1 * Dean's [PATCH] etag continued (take 2) Adds strong comparison functions to other checks. 1.1244+4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1243 retrieving revision 1.1244 diff -u -r1.1243 -r1.1244 --- CHANGES 1999/02/09 17:17:04 1.1243 +++ CHANGES 1999/02/09 18:00:22 1.1244 @@ -1,5 +1,9 @@ Changes with Apache 1.3.5 + *) Prevent apachectl from complaining if the PIDFILE exists but + does not contain a process id, as might occur if the server is + being rapidly restarted. [Wilfredo Sanchez] + *) Win32: Add global symbols missing from ApacheCore.def. [Carl Olsen] *) Entity tag comparisons for If-Match and If-None-Match were not being 1.13 +1 -1 apache-1.3/src/support/apachectl Index: apachectl === RCS file: /home/cvs/apache-1.3/src/support/apachectl,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- apachectl 1999/01/01 19:05:32 1.12 +++ apachectl 1999/02/09 18:00:34 1.13 @@ -50,7 +50,7 @@ # check for pidfile if [ -f $PIDFILE ] ; then PID=`cat $PIDFILE` - if kill -0 $PID; then + if [ ! "x$PID" = "x" ] && kill -0 $PID; then STATUS="httpd (pid $PID) running" RUNNING=1 else
cvs commit: apache-1.3/src ApacheCore.def CHANGES
fielding99/02/09 09:17:07 Modified:.STATUS src ApacheCore.def CHANGES Log: Add global symbols missing from ApacheCore.def. Submitted by: Carl Olsen <[EMAIL PROTECTED]> Reviewed by: Roy Fielding Revision ChangesPath 1.615 +1 -5 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.614 retrieving revision 1.615 diff -u -r1.614 -r1.615 --- STATUS1999/02/06 14:14:35 1.614 +++ STATUS1999/02/09 17:17:01 1.615 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/02/06 14:14:35 $] + Last modified at [$Date: 1999/02/09 17:17:01 $] Release: @@ -85,10 +85,6 @@ * Ralf's [PATCH] Shared Memory Pools Message-ID: <[EMAIL PROTECTED]> Status: Not sure if this is intended for 1.3.x or just feedback - -* Carl Olsen's [PATCH] Added function exports to ApacheCore.def -Message-ID: <[EMAIL PROTECTED]> -Status: Roy +1 [update before commit] * Fred's [PATCH: srm.conf and access.conf refer to httpd.conf Message-ID: <[EMAIL PROTECTED]> 1.12 +14 -0 apache-1.3/src/ApacheCore.def Index: ApacheCore.def === RCS file: /home/cvs/apache-1.3/src/ApacheCore.def,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ApacheCore.def1999/02/09 16:57:19 1.11 +++ ApacheCore.def1999/02/09 17:17:04 1.12 @@ -329,4 +329,18 @@ ap_validate_password @322 ap_size_list_item @323 ap_get_list_item @324 + ap_scoreboard_fname @325 + ap_pid_fname @326 + ap_excess_requests_per_child @327 + ap_threads_per_child @328 + ap_max_requests_per_child @329 + ap_daemons_to_start @330 + ap_daemons_min_free @331 + ap_daemons_max_free @332 + ap_daemons_limit @333 + ap_user_name @334 + ap_user_id @335 + ap_group_id @336 + ap_standalone @337 + ap_server_confname @338 1.1243+2 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1242 retrieving revision 1.1243 diff -u -r1.1242 -r1.1243 --- CHANGES 1999/02/09 16:57:20 1.1242 +++ CHANGES 1999/02/09 17:17:04 1.1243 @@ -1,5 +1,7 @@ Changes with Apache 1.3.5 + *) Win32: Add global symbols missing from ApacheCore.def. [Carl Olsen] + *) Entity tag comparisons for If-Match and If-None-Match were not being performed correctly -- weak tags might cause false positives. Also, strong comparison wasn't properly enforced in all cases.
cvs commit: apache-1.3/src/support httpd.exp
fielding99/02/09 08:57:26 Modified:src ApacheCore.def CHANGES src/include ap_mmn.h httpd.h src/main http_protocol.c util.c src/support httpd.exp Log: Refix the entity tag comparisons for If-Range, If-Match and If-None-Match. Comparisons need to be case sensitive and in all but one case (cache update) need to be strong comparisons, taking into account the possibility that any of the current Etag or the one(s) received from the client may be weak. Changed name of ap_find_list_item() to ap_size_list_item() to be consistent with other find routines and added new (simple) ap_find_list_item(), whose implementation will eventually be replaced with something more efficient. PR: 2065, 3657 Submitted by: Roy Fielding, Ken Coar, Dean Gaudet Revision ChangesPath 1.11 +2 -2 apache-1.3/src/ApacheCore.def Index: ApacheCore.def === RCS file: /home/cvs/apache-1.3/src/ApacheCore.def,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- ApacheCore.def1999/02/08 15:12:15 1.10 +++ ApacheCore.def1999/02/09 16:57:19 1.11 @@ -324,9 +324,9 @@ ap_make_etag @317 ap_array_pstrcat @318 ap_os_is_filename_valid @319 - ap_find_opaque_token @320 + ap_find_list_item @320 ap_MD5Encode @321 ap_validate_password @322 - ap_find_list_item @323 + ap_size_list_item @323 ap_get_list_item @324 1.1242+11 -5 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1241 retrieving revision 1.1242 diff -u -r1.1241 -r1.1242 --- CHANGES 1999/02/09 16:38:07 1.1241 +++ CHANGES 1999/02/09 16:57:20 1.1242 @@ -1,16 +1,22 @@ Changes with Apache 1.3.5 + *) Entity tag comparisons for If-Match and If-None-Match were not being + performed correctly -- weak tags might cause false positives. Also, + strong comparison wasn't properly enforced in all cases. + [Roy Fielding, Ken Coar, Dean Gaudet] PR#2065, 3657 + *) OS/2: Supply OS/2 error code instead of errno on semaphore errors. [Brian Havard] *) Work around a bug in Lynx regarding its sending "Negotiate: trans" even though it doesn't understand TCN. [Koen Holtman, Roy Fielding] - *) Added ap_find_list_item() and ap_get_list_item() to util.c for parsing - an HTTP header field value to extract the next list item, taking into - account the possible presence of nested comments, quoted-pairs, - and quoted-strings. ap_get_list_item() also removes insignificant - whitespace and lowercases non-quoted tokens. [Roy Fielding] PR#2065 + *) Added ap_size_list_item(), ap_get_list_item(), and ap_find_list_item() + to util.c for parsing an HTTP header field value to extract the next + list item, taking into account the possible presence of nested comments, + quoted-pairs, and quoted-strings. ap_get_list_item() also removes + insignificant whitespace and lowercases non-quoted tokens. + [Roy Fielding] PR#2065 *) proxy: The various calls to ap_proxyerror() can return HTTP/1.1 status code different from 500. This allows the proxy to, e.g., return 1.28 +3 -2 apache-1.3/src/include/ap_mmn.h Index: ap_mmn.h === RCS file: /home/cvs/apache-1.3/src/include/ap_mmn.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- ap_mmn.h 1999/02/09 12:29:52 1.27 +++ ap_mmn.h 1999/02/09 16:57:22 1.28 @@ -207,7 +207,8 @@ * 19990108.1 - add ap_MD5Encode() for MD5 password handling. * 19990108.2 - add ap_validate_password() and change ap_MD5Encode() *to use a stronger algorithm. - * 19990108.3 - add ap_find_list_item() and ap_get_list_item() + * 19990108.4 - add ap_size_list_item(), ap_get_list_item(), and + *ap_find_list_item() */ #define MODULE_MAGIC_COOKIE 0x41503133UL /* "AP13" */ @@ -215,7 +216,7 @@ #ifndef MODULE_MAGIC_NUMBER_MAJOR #define MODULE_MAGIC_NUMBER_MAJOR 19990108 #endif -#define MODULE_MAGIC_NUMBER_MINOR 3 /* 0...n */ +#define MODULE_MAGIC_NUMBER_MINOR 4 /* 0...n */ #define MODULE_MAGIC_NUMBER MODULE_MAGIC_NUMBER_MAJOR/* backward compat */ /* Useful for testing for features. */ 1.269 +3 -1 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /home/cvs/apache-1.3/src/include/httpd.h,v
cvs commit: apache-1.3/src CHANGES
fielding99/02/09 08:38:11 Modified:src CHANGES Log: Note the OS/2 change Revision ChangesPath 1.1241+3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1240 retrieving revision 1.1241 diff -u -r1.1240 -r1.1241 --- CHANGES 1999/02/09 12:29:48 1.1240 +++ CHANGES 1999/02/09 16:38:07 1.1241 @@ -1,5 +1,8 @@ Changes with Apache 1.3.5 + *) OS/2: Supply OS/2 error code instead of errno on semaphore errors. + [Brian Havard] + *) Work around a bug in Lynx regarding its sending "Negotiate: trans" even though it doesn't understand TCN. [Koen Holtman, Roy Fielding]
cvs commit: apache-1.3/src/main http_main.c
stoddard99/02/09 05:18:20 Modified:src/main http_main.c Log: OS/2 fix to supress bogus errno based messages and supply OS/2 error code. Submitted by: Brian Havard Revision ChangesPath 1.422 +6 -6 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.421 retrieving revision 1.422 diff -u -r1.421 -r1.422 --- http_main.c 1999/02/05 09:12:44 1.421 +++ http_main.c 1999/02/09 13:18:19 1.422 @@ -898,8 +898,8 @@ int rc = DosOpenMutexSem(NULL, &lock_sem); if (rc != 0) { - ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf, - "Child cannot open lock semaphore"); + ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_EMERG, server_conf, + "Child cannot open lock semaphore, rc=%d", rc); clean_child_exit(APEXIT_CHILDINIT); } } @@ -913,8 +913,8 @@ int rc = DosCreateMutexSem(NULL, &lock_sem, DC_SEM_SHARED, FALSE); if (rc != 0) { - ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf, - "Parent cannot create lock semaphore"); + ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_EMERG, server_conf, + "Parent cannot create lock semaphore, rc=%d", rc); exit(APEXIT_INIT); } @@ -926,7 +926,7 @@ int rc = DosRequestMutexSem(lock_sem, SEM_INDEFINITE_WAIT); if (rc != 0) { - ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf, + ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_EMERG, server_conf, "OS2SEM: Error %d getting accept lock. Exiting!", rc); clean_child_exit(APEXIT_CHILDFATAL); } @@ -937,7 +937,7 @@ int rc = DosReleaseMutexSem(lock_sem); if (rc != 0) { - ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf, + ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_EMERG, server_conf, "OS2SEM: Error %d freeing accept lock. Exiting!", rc); clean_child_exit(APEXIT_CHILDFATAL); }
cvs commit: apache-1.3/src/main gen_test_char.c http_protocol.c util.c
fielding99/02/09 04:30:05 Modified:src CHANGES src/include ap_mmn.h httpd.h src/main gen_test_char.c http_protocol.c util.c Log: Reverse prior commit of ap_find_opaque_token() so that it can be replaced by a slightly different method using ap_get_list_item(). Revision ChangesPath 1.1240+0 -3 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1239 retrieving revision 1.1240 diff -u -r1.1239 -r1.1240 --- CHANGES 1999/02/08 15:12:16 1.1239 +++ CHANGES 1999/02/09 12:29:48 1.1240 @@ -65,9 +65,6 @@ the NDBM library looks like Berkeley-DB based. [Ralf S. Engelschall] PR#3773 - *) Fix checking of ETags and other opaque 'tokens' by adding - ap_find_opaque_token(). PR#2065, 3657 [Ken Coar] - *) Add ability to handle DES or MD5 authentication passwords. [Ryan Bloom <[EMAIL PROTECTED]>] 1.27 +3 -6 apache-1.3/src/include/ap_mmn.h Index: ap_mmn.h === RCS file: /home/cvs/apache-1.3/src/include/ap_mmn.h,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- ap_mmn.h 1999/02/08 15:12:18 1.26 +++ ap_mmn.h 1999/02/09 12:29:52 1.27 @@ -203,13 +203,10 @@ *scan_script_header -> ap_scan_script_header_err * - reordered entries in request_rec that were waiting *for a non-binary-compatible release. - * 19990108.1 - add ap_find_opaque_token() for things like ETags - * (1.3.5-dev) which can contain opaque quoted strings, and - *ap_MD5Encode() for MD5 password handling. + * (1.3.5-dev) + * 19990108.1 - add ap_MD5Encode() for MD5 password handling. * 19990108.2 - add ap_validate_password() and change ap_MD5Encode() - * (1.3.5-dev) to use a stronger algorithm (which is incompatible - *with the one introduced [but not released] with - *19990108-1). + *to use a stronger algorithm. * 19990108.3 - add ap_find_list_item() and ap_get_list_item() */ 1.268 +0 -2 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /home/cvs/apache-1.3/src/include/httpd.h,v retrieving revision 1.267 retrieving revision 1.268 diff -u -r1.267 -r1.268 --- httpd.h 1999/02/08 15:12:18 1.267 +++ httpd.h 1999/02/09 12:29:53 1.268 @@ -936,8 +936,6 @@ API_EXPORT(char *) ap_get_list_item(pool *p, const char **field); API_EXPORT(char *) ap_get_token(pool *p, const char **accept_line, int accept_white); API_EXPORT(int) ap_find_token(pool *p, const char *line, const char *tok); -API_EXPORT(int) ap_find_opaque_token(pool *p, const char *line, - const char *tok); API_EXPORT(int) ap_find_last_token(pool *p, const char *line, const char *tok); API_EXPORT(int) ap_is_url(const char *u); 1.6 +1 -9 apache-1.3/src/main/gen_test_char.c Index: gen_test_char.c === RCS file: /home/cvs/apache-1.3/src/main/gen_test_char.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- gen_test_char.c 1999/01/27 12:16:01 1.5 +++ gen_test_char.c 1999/02/09 12:29:56 1.6 @@ -8,7 +8,6 @@ #define T_ESCAPE_PATH_SEGMENT(0x02) #define T_OS_ESCAPE_PATH (0x04) #define T_HTTP_TOKEN_STOP(0x08) -#define T_HTTP_OPAQUETOKEN_STOP (0x10) int main(int argc, char *argv[]) { @@ -21,15 +20,13 @@ "#define T_ESCAPE_PATH_SEGMENT (%u)\n" "#define T_OS_ESCAPE_PATH(%u)\n" "#define T_HTTP_TOKEN_STOP (%u)\n" -"#define T_HTTP_OPAQUETOKEN_STOP (%u)\n" "\n" "static const unsigned char test_char_table[256] = {\n" "0,", T_ESCAPE_SHELL_CMD, T_ESCAPE_PATH_SEGMENT, T_OS_ESCAPE_PATH, - T_HTTP_TOKEN_STOP, - T_HTTP_OPAQUETOKEN_STOP); + T_HTTP_TOKEN_STOP); /* we explicitly dealt with NUL above * in case some strchr() do bogosity with it */ @@ -55,11 +52,6 @@ /* these are the "tspecials" from RFC2068 */ if (ap_iscntrl(c) || strchr(" \t()<>@,;:\\/[]?={}", c)) { flags |= T_HTTP_TOKEN_STOP; - } - - /* some tokens (like etags) are opaque strings; stop at the end */ - if (ap_iscntrl(c) || strchr(" ,", c)) { - flags |= T_HTTP_OPAQUETOKEN_STOP; } printf("%u%c", flags, (c < 255) ? ',' : ' '); 1.256 +2 -4 apac