cvs commit: apache-apr STATUS

1999-02-09 Thread rbb
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

1999-02-09 Thread manoj
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

1999-02-09 Thread rbb
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

1999-02-09 Thread fielding
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

1999-02-09 Thread fielding
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

1999-02-09 Thread fielding
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

1999-02-09 Thread fielding
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

1999-02-09 Thread fielding
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

1999-02-09 Thread fielding
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

1999-02-09 Thread stoddard
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

1999-02-09 Thread fielding
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