cvs commit: apache-2.0/mpm/src/docs buff.txt

1999-06-19 Thread dgaudet
dgaudet 99/06/18 17:17:51

  Modified:mpm/src/docs buff.txt
  Log:
  rambling on
  
  Revision  ChangesPath
  1.2   +77 -0 apache-2.0/mpm/src/docs/buff.txt
  
  Index: buff.txt
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/docs/buff.txt,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- buff.txt  1999/06/18 23:34:57 1.1
  +++ buff.txt  1999/06/19 00:17:51 1.2
  @@ -1,6 +1,83 @@
  +goals? we need an i/o abstraction which has these properties:
  +
  +- buffered and non-buffered modes
  +
  +The buffered mode should look like FILE *.
  +
  +The non-buffered mode should look more like read(2)/write(2).
  +
  +- blocking and non-blocking modes
  +
  +The blocking mode is the easy mode -- it's what most module writers
  +will see.  The non-blocking mode is the hard mode, this is where
  +module writers wanting to squeeze out some speed will have to play.
  +In order to build async/sync hybrid models we need the
  +non-blocking i/o abstraction.
  +
  +- timed reads and writes (for blocking cases)
  +
  +This is part of my jihad against asynchronous notification.
  +
  +- i/o filtering or layering
  +
  +Yet another Holy Grail of computing.  But I digress.  These are
  +hard when you take into consideration non-blocking i/o -- you have
  +to keep lots of state.  I expect our core filters will all support
  +non-blocking i/o, well at least the ones I need to make sure we kick
  +ass on benchmarks.  A filter can deny a switch to non-blocking mode,
  +the server will have to recover gracefully (ha).
  +
  +- copy-avoidance
  +
  +Hey what about zero copy a la IO-Lite?  After having experienced it
  +in a production setting I'm no longer convinced of its benefits.
  +There is an enormous amount of overhead keeping lists of buffers,
  +and reference counts, and cleanup functions, and such which requires
  +a lot of tuning to get right.  I think there may be something here,
  +but it's not a cakewalk.
  +
  +What I do know is that the heuristics I put into apache-1.3 to choose
  +writev() at times are almost as good as what you can get from doing
  +full zero-copy in the cases we *currently* care about.  To put it
  +another way, let's wait another generation to deal with zero copy.
  +
  +But sendfile/transmitfile/etc. those are still interesting.
  +
  +So instead of listing zero copy as a property, I'll list
  +copy-avoidance.
  +
  +So far?
  +
   - ap_bungetc added
   - ap_blookc changed to return the character, rather than take a char *buff
   - in theory, errno is always useful on return from a BUFF routine
   - ap_bhalfduplex, B_SAFEREAD will be re-implemented using a layer I think
   - chunking gone for now, will return as a layer
   - ebcdic gone for now... it should be a layer
  +
  +- ap_iol.h defined, first crack at the layers...
  +
  +Step back a second to think on it.  Much like we have fread(3)
  +and read(2), I've got a BUFF and an ap_iol abstraction.  An ap_iol
  +could use a BUFF if it requires some form of buffering, but many
  +won't require buffering... or can do a better job themselves.
  +
  +Consider filters such as:
  + - ebcdic - ascii
  + - encryption
  + - compression
  +These all share the property that no matter what, they're going to make
  +an extra copy of the data.  In some cases they can do it in place (read)
  +or into a fixed buffer... in most cases their buffering requirements
  +are different than what BUFF offers.
  +
  +Consider a filter such as chunking.  This could actually use the writev
  +method to get its job done... depends on the chunks being used.  This
  +is where zero-copy would be really nice, but we can get by with a few
  +heuristics.
  +
  +At any rate -- the NSPR folks didn't see any reason to included a
  +buffered i/o abstraction on top of their layered i/o abstraction... so
  +I feel like I'm not the only one who's thinking this way.
  +
  +- iol_unix.c implemented... should hold us for a bit
  
  
  


cvs commit: apache-2.0/mpm/src/main iol_unix.c

1999-06-19 Thread dgaudet
dgaudet 99/06/19 10:59:58

  Modified:mpm/src/main iol_unix.c
  Log:
  cleanup
  
  Revision  ChangesPath
  1.2   +0 -2  apache-2.0/mpm/src/main/iol_unix.c
  
  Index: iol_unix.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/iol_unix.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- iol_unix.c1999/06/18 23:35:00 1.1
  +++ iol_unix.c1999/06/19 17:59:57 1.2
  @@ -57,8 +57,6 @@
   
   
   #include httpd.h
  -#include http_main.h
  -#include http_log.h
   #include ap_iol.h
   
   #include errno.h
  
  
  


cvs commit: apache-2.0/mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_cgi.c mod_imap.c mod_include.c mod_log_config.c mod_negotiation.c mod_setenvif.c mod_userdir.c

1999-06-19 Thread dgaudet
dgaudet 99/06/19 11:10:12

  Modified:mpm/src  CHANGES Configuration.mpm
   mpm/src/modules/standard mod_access.c mod_actions.c
mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c
mod_cgi.c mod_imap.c mod_include.c mod_log_config.c
mod_negotiation.c mod_setenvif.c mod_userdir.c
  Log:
  Port a bunch of modules to the new module structure.
  
  (All the ones currently activated in Configuration.mpm plus cgi
  and include... but I didn't activate those because dynamic content
  is broken until I fix chunking.)
  
  Submitted by: Michael H. Voase [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.4   +3 -0  apache-2.0/mpm/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/CHANGES,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CHANGES   1999/06/18 23:34:56 1.3
  +++ CHANGES   1999/06/19 18:10:03 1.4
  @@ -1,5 +1,8 @@
   Changes with MPM
   
  +* Port a bunch of modules to the new module structure.
  +  [Michael H. Voase [EMAIL PROTECTED]]
  +
   * I/O layering and BUFF revamp.  See docs/buff.txt. [Dean Gaudet]
   
   * Basic restructuring to introduce the MPM concept; includes various
  
  
  
  1.3   +10 -10apache-2.0/mpm/src/Configuration.mpm
  
  Index: Configuration.mpm
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/Configuration.mpm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Configuration.mpm 1999/06/18 19:20:18 1.2
  +++ Configuration.mpm 1999/06/19 18:10:03 1.3
  @@ -23,28 +23,28 @@
   Rule WANTHSREGEX=default
   # AddModule modules/experimental/mod_mmap_static.o
   # AddModule modules/standard/mod_env.o
  -# AddModule modules/standard/mod_log_config.o
  +AddModule modules/standard/mod_log_config.o
   # AddModule modules/standard/mod_log_agent.o
   # AddModule modules/standard/mod_log_referer.o
   # AddModule modules/standard/mod_mime_magic.o
   AddModule modules/standard/mod_mime.o
  -# AddModule modules/standard/mod_negotiation.o
  +AddModule modules/standard/mod_negotiation.o
   # AddModule modules/standard/mod_status.o
   # AddModule modules/standard/mod_info.o
   # AddModule modules/standard/mod_include.o
  -# AddModule modules/standard/mod_autoindex.o
  +AddModule modules/standard/mod_autoindex.o
   AddModule modules/standard/mod_dir.o
   # AddModule modules/standard/mod_cgi.o
  -# AddModule modules/standard/mod_asis.o
  -# AddModule modules/standard/mod_imap.o
  +AddModule modules/standard/mod_asis.o
  +AddModule modules/standard/mod_imap.o
   # AddModule modules/standard/mod_actions.o
   # AddModule modules/standard/mod_speling.o
  -# AddModule modules/standard/mod_userdir.o
  +AddModule modules/standard/mod_userdir.o
   # AddModule modules/proxy/libproxy.a
  -# AddModule modules/standard/mod_alias.o
  +AddModule modules/standard/mod_alias.o
   # AddModule modules/standard/mod_rewrite.o
  -# AddModule modules/standard/mod_access.o
  -# AddModule modules/standard/mod_auth.o
  +AddModule modules/standard/mod_access.o
  +AddModule modules/standard/mod_auth.o
   # AddModule modules/standard/mod_auth_anon.o
   # AddModule modules/standard/mod_auth_dbm.o
   # AddModule modules/standard/mod_auth_db.o
  @@ -56,4 +56,4 @@
   # AddModule modules/example/mod_example.o
   # AddModule modules/standard/mod_unique_id.o
   # AddModule modules/standard/mod_so.o
  -# AddModule modules/standard/mod_setenvif.o
  +AddModule modules/standard/mod_setenvif.o
  
  
  
  1.2   +5 -3  apache-2.0/mpm/src/modules/standard/mod_access.c
  
  Index: mod_access.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/modules/standard/mod_access.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_access.c  1999/06/18 18:39:35 1.1
  +++ mod_access.c  1999/06/19 18:10:04 1.2
  @@ -388,7 +388,11 @@
   
   module MODULE_VAR_EXPORT access_module =
   {
  -STANDARD_MODULE_STUFF,
  +STANDARD20_MODULE_STUFF,
  +NULL,/* pre_command */
  +NULL,/* pre_config */
  +NULL,/* post_config */
  +NULL,/* open_logs */
   NULL,/* initializer */
   create_access_dir_config,/* dir config creater */
   NULL,/* dir merger --- default is to override */
  @@ -404,7 +408,5 @@
   NULL,/* fixups */
   NULL,/* logger */
   NULL,/* header parser */
  -NULL,/* child_init */
  -NULL,/* child_exit */
   NULL /* post read-request */
   };
  
  
  
  1.2   +6 -4  apache-2.0

cvs commit: apache-2.0/mpm/src/main iol_unix.c

1999-06-19 Thread dgaudet
dgaudet 99/06/19 13:40:18

  Modified:mpm/src/include ap_iol.h
   mpm/src/main iol_unix.c
  Log:
  use ETIMEDOUT instead of ETIME
  
  Revision  ChangesPath
  1.2   +1 -1  apache-2.0/mpm/src/include/ap_iol.h
  
  Index: ap_iol.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_iol.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_iol.h  1999/06/18 23:34:57 1.1
  +++ ap_iol.h  1999/06/19 20:40:16 1.2
  @@ -80,7 +80,7 @@
   
   If the timeout is positive, they will block up to the specified number
   of seconds.  If the read/write can't be completed in that time,
  -a -1 will be returned and errno will be set to ETIME.
  +a -1 will be returned and errno will be set to ETIMEDOUT.
   
   TODO: we've all agreed errno is somewhat evil, and it must be replaced
   by a status result code.  I'll leave that to someone else.
  
  
  
  1.4   +1 -5  apache-2.0/mpm/src/main/iol_unix.c
  
  Index: iol_unix.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/iol_unix.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- iol_unix.c1999/06/19 20:23:37 1.3
  +++ iol_unix.c1999/06/19 20:40:17 1.4
  @@ -63,10 +63,6 @@
   #include sys/types.h
   #include sys/uio.h
   
  -#ifndef ETIME
  -# define ETIME -1
  -#endif
  -
   #define FD_NONBLOCKING_SET   (1)
   
   typedef struct {
  @@ -146,7 +142,7 @@
rv = select(fd-fd + 1, selread, selwrite, NULL, fd-timeout  0 ? 
NULL : tv); \
} while (rv == -1  errno == EINTR); \
if (!FD_ISSET(fd-fd, fdset)) { \
  - errno = ETIME; \
  + errno = ETIMEDOUT; \
return -1; \
} \
do { \
  
  
  


cvs commit: apache-2.0/mpm/src/include ap_buf.h

1999-06-19 Thread dgaudet
dgaudet 99/06/19 13:42:01

  Modified:mpm/src/ap Makefile.tmpl
  Added:   mpm/src/ap ap_buf.c
   mpm/src/include ap_buf.h
  Log:
  this is where I'm going with the zero-copy stuff
  
  Revision  ChangesPath
  1.3   +1 -1  apache-2.0/mpm/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/ap/Makefile.tmpl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Makefile.tmpl 1999/06/18 19:07:57 1.2
  +++ Makefile.tmpl 1999/06/19 20:41:59 1.3
  @@ -6,7 +6,7 @@
   LIB=libap.a
   
   OBJS=ap_cpystrn.o ap_execve.o ap_fnmatch.o ap_getpass.o ap_md5c.o 
ap_signal.o \
  - ap_slack.o ap_snprintf.o
  + ap_slack.o ap_snprintf.o ap_buf.o
   
   .c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $
  
  
  
  1.1  apache-2.0/mpm/src/ap/ap_buf.c
  
  Index: ap_buf.c
  ===
  /* 
   * Copyright (c) 1996-1999 The Apache Group.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/).
   *
   * 4. The names Apache Server and Apache Group must not be used to
   *endorse or promote products derived from this software without
   *prior written permission. For written permission, please contact
   *[EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called Apache
   *nor may Apache appear in their names without prior written
   *permission of the Apache Group.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Group and was originally based
   * on public domain software written at the National Center for
   * Supercomputing Applications, University of Illinois, Urbana-Champaign.
   * For more information on the Apache Group and the Apache HTTP server
   * project, please see http://www.apache.org/.
   *
   */
  
  #include ap_config.h
  #include stdlib.h
  #include sys/uio.h
  #include ap_buf.h
  
  API_EXPORT(ap_bufel *) ap_bufel_new(void)
  {
  /* TODO: keep a free list of ap_bufels... and allocate them in big chunks 
*/
  return malloc(sizeof(ap_bufel));
  }
  
  API_EXPORT(void) ap_bufel_destroy(ap_bufel *e)
  {
  e-free(e);
  free(e);
  }
  
  API_EXPORT(void) ap_buf_init(ap_buf *b)
  {
  b-head = NULL;
  b-tail = b-head;
  }
  
  API_EXPORT(void) ap_buf_append(ap_buf *b, ap_bufel *e)
  {
  e-next = *b-tail;
  b-tail = e-next;
  }
  
  API_EXPORT(void) ap_buf_consume(ap_buf *b, int nbytes)
  {
  ap_bufel *e;
  ap_bufel *n;
  int amt;
  
  e = b-head;
  while (e  nbytes) {
amt = e-end - e-start;
if (nbytes  amt) {
e-start += nbytes;
break;
}
n = e-next;
ap_bufel_destroy(e);
nbytes -= amt;
e = n;
  }
  b-head = e;
  if (!e) {
b-tail = b-head

cvs commit: apache-2.0/mpm/src/main mpm_prefork.c

1999-06-19 Thread dgaudet
dgaudet 99/06/19 14:56:28

  Modified:mpm/src/main mpm_prefork.c
  Log:
  Ben L. was complaining that he wanted -X ... try -D ONE_PROCESS now
  instead.  The general problem is that mpms need arbitrary extensions to
  the command line options... -D seems somewhat reasonable.  Although I
  can think of better stuff.  This works for now.
  
  Revision  ChangesPath
  1.2   +3 -1  apache-2.0/mpm/src/main/mpm_prefork.c
  
  Index: mpm_prefork.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/mpm_prefork.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mpm_prefork.c 1999/06/18 18:39:31 1.1
  +++ mpm_prefork.c 1999/06/19 21:56:27 1.2
  @@ -3680,12 +3680,14 @@
   {
   static int restart_num = 0;
   
  +one_process = ap_exists_config_define(ONE_PROCESS);
  +
   /* sigh, want this only the second time around */
   if (restart_num++ == 1) {
is_graceful = 0;
   
if (!one_process) {
  - //detach();
  + /* TODO: detach(); ... it should work fine, this is just easier for 
debugging */
}
   
my_pid = getpid();
  
  
  


cvs commit: apache-2.0/mpm/src/ap ap_buf.c

1999-06-20 Thread dgaudet
dgaudet 99/06/20 12:34:29

  Modified:mpm/src/include ap_buf.h
   mpm/src/ap ap_buf.c
  Log:
  some other stuff left over from hacking zero-copy
  
  Revision  ChangesPath
  1.2   +4 -0  apache-2.0/mpm/src/include/ap_buf.h
  
  Index: ap_buf.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_buf.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_buf.h  1999/06/19 20:42:01 1.1
  +++ ap_buf.h  1999/06/20 19:34:28 1.2
  @@ -73,6 +73,7 @@
   struct ap_buf {
   ap_bufel *head;
   ap_bufel **tail;
  +unsigned size;
   };
   
   /* allocate a bufel */
  @@ -93,5 +94,8 @@
   
   /* create an iovec of the elements in buf... return number of elements used 
*/
   API_EXPORT(int) ap_buf_to_iovec(ap_buf *, struct iovec *vec, int nvec);
  +
  +/* catenate buf b onto buf a, buf b is empty after this */
  +API_EXPORT(void) ap_buf_catenate(ap_buf *a, ap_buf *b);
   
   #endif
  
  
  
  1.2   +15 -0 apache-2.0/mpm/src/ap/ap_buf.c
  
  Index: ap_buf.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/ap/ap_buf.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_buf.c  1999/06/19 20:42:00 1.1
  +++ ap_buf.c  1999/06/20 19:34:29 1.2
  @@ -76,12 +76,14 @@
   {
   b-head = NULL;
   b-tail = b-head;
  +b-size = 0;
   }
   
   API_EXPORT(void) ap_buf_append(ap_buf *b, ap_bufel *e)
   {
   e-next = *b-tail;
   b-tail = e-next;
  +b-size += e-end - e-start;
   }
   
   API_EXPORT(void) ap_buf_consume(ap_buf *b, int nbytes)
  @@ -90,6 +92,7 @@
   ap_bufel *n;
   int amt;
   
  +b-size -= nbytes;
   e = b-head;
   while (e  nbytes) {
amt = e-end - e-start;
  @@ -123,4 +126,16 @@
++vec;
   }
   return vec - orig;
  +}
  +
  +API_EXPORT(void) ap_buf_catenate(ap_buf *a, ap_buf *b)
  +{
  +if (b-head) {
  + *a-tail = b-head;
  + a-tail = b-tail;
  + b-head = NULL;
  + b-tail = b-head;
  + a-size += b-size;
  + b-size = 0;
  +}
   }
  
  
  


cvs commit: apache-2.0/mpm/src/main alloc.c http_config.c mpm_prefork.c

1999-06-20 Thread dgaudet
dgaudet 99/06/20 14:12:51

  Modified:mpm/src  CHANGES Configuration.mpm Configure
   mpm/src/include ap_mpm.h
   mpm/src/main alloc.c http_config.c mpm_prefork.c
  Log:
  crude ap_thread_mutex abstraction
  
  Revision  ChangesPath
  1.6   +3 -0  apache-2.0/mpm/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/CHANGES,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CHANGES   1999/06/20 12:29:18 1.5
  +++ CHANGES   1999/06/20 21:12:47 1.6
  @@ -1,5 +1,8 @@
   Changes with MPM
   
  +* Crude ap_thread_mutex abstraction so that we get the pthread stuff out
  +  of alloc.c for now. [Dean Gaudet]
  +
   * Handle partial large writes correctly.
 [Ben Laurie]
   
  
  
  
  1.7   +1 -1  apache-2.0/mpm/src/Configuration.mpm
  
  Index: Configuration.mpm
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/Configuration.mpm,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Configuration.mpm 1999/06/20 15:59:56 1.6
  +++ Configuration.mpm 1999/06/20 21:12:47 1.7
  @@ -1,4 +1,4 @@
  -EXTRA_CFLAGS= -Wall #-pthread -D_THREAD_SAFE # Uncomment for FreeBSD
  +EXTRA_CFLAGS= -Wall
   EXTRA_LDFLAGS=
   EXTRA_LIBS=
   EXTRA_INCLUDES=
  
  
  
  1.3   +1 -1  apache-2.0/mpm/src/Configure
  
  Index: Configure
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/Configure,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Configure 1999/06/18 19:20:18 1.2
  +++ Configure 1999/06/20 21:12:48 1.3
  @@ -426,7 +426,7 @@
   *-linux2)
DEF_WANTHSREGEX=yes
OS='Linux'
  - CFLAGS=$CFLAGS -DLINUX=2 -pthread
  + CFLAGS=$CFLAGS -DLINUX=2
LIBS=$LIBS -lm
;;
   *-linux1)
  
  
  
  1.2   +7 -0  apache-2.0/mpm/src/include/ap_mpm.h
  
  Index: ap_mpm.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_mpm.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_mpm.h  1999/06/18 18:39:29 1.1
  +++ ap_mpm.h  1999/06/20 21:12:49 1.2
  @@ -66,6 +66,13 @@
  used by the connection loop */
   API_EXPORT(int) ap_mpm_graceful_stop(void);
   
  +/* a mutex which synchronizes threads within one process */
  +typedef struct ap_thread_mutex ap_thread_mutex;
  +API_EXPORT(ap_thread_mutex *) ap_thread_mutex_new(void);
  +API_EXPORT(void) ap_thread_mutex_lock(ap_thread_mutex *);
  +API_EXPORT(void) ap_thread_mutex_unlock(ap_thread_mutex *);
  +API_EXPORT(void) ap_thread_mutex_destroy(ap_thread_mutex *);
  +
   #ifdef HAS_OTHER_CHILD
   /*
* register an other_child -- a child which the main loop keeps track of
  
  
  
  1.2   +19 -14apache-2.0/mpm/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/alloc.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- alloc.c   1999/06/18 18:39:29 1.1
  +++ alloc.c   1999/06/20 21:12:49 1.2
  @@ -64,9 +64,9 @@
   
   #include httpd.h
   #include http_log.h
  +#include ap_mpm.h
   
   #include stdarg.h
  -#include pthread.h
   
   #ifdef OS2
   #define INCL_DOS
  @@ -209,7 +209,7 @@
   
   
   static union block_hdr *block_freelist = NULL;
  -static pthread_mutex_t alloc_mutex = PTHREAD_MUTEX_INITIALIZER;
  +static ap_thread_mutex *alloc_mutex;
   #ifdef POOL_DEBUG
   static char *known_stack_point;
   static int stack_direction;
  @@ -343,7 +343,7 @@
   if (blok == NULL)
return; /* Sanity check --- freeing empty pool? */
   
  -(void) pthread_mutex_lock(alloc_mutex);
  +(void) ap_thread_mutex_lock(alloc_mutex);
   old_free_list = block_freelist;
   block_freelist = blok;
   
  @@ -377,7 +377,7 @@
   num_blocks_freed += num_blocks;
   #endif
   
  -(void) pthread_mutex_unlock(alloc_mutex);
  +(void) ap_thread_mutex_unlock(alloc_mutex);
   #endif
   }
   
  @@ -426,9 +426,9 @@
   {
   union block_hdr *blok;
   
  -(void) pthread_mutex_lock(alloc_mutex);
  +(void) ap_thread_mutex_lock(alloc_mutex);
   blok = new_block(min_size);
  -(void) pthread_mutex_unlock(alloc_mutex);
  +(void) ap_thread_mutex_unlock(alloc_mutex);
   return blok;
   }
   
  @@ -473,7 +473,7 @@
   union block_hdr *blok;
   root_pool *new_pool;
   
  -(void) pthread_mutex_lock(alloc_mutex);
  +(void) ap_thread_mutex_lock(alloc_mutex);
   
   blok = new_block(ROOT_HDR_BYTES);
   new_pool = (root_pool *) blok-h.first_avail;
  @@ -487,7 +487,7 @@
   new_pool-p.first = new_pool-p.last = blok;
   new_pool-p.thread_root

cvs commit: apache-2.0/mpm/src/main alloc.c mpm_prefork.c

1999-06-20 Thread dgaudet
dgaudet 99/06/20 14:46:14

  Modified:mpm/src  CHANGES
   mpm/src/include alloc.h
   mpm/src/main alloc.c mpm_prefork.c
  Log:
  remove 1.3 timeout code; SIGUSR1/SIGHUP/SIGTERM working again
  
  Revision  ChangesPath
  1.7   +3 -0  apache-2.0/mpm/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/CHANGES,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CHANGES   1999/06/20 21:12:47 1.6
  +++ CHANGES   1999/06/20 21:46:11 1.7
  @@ -1,5 +1,8 @@
   Changes with MPM
   
  +* mpm_prefork: throw away all the alarm/timeout crud; and clean up the
  +  signal handling for the new world order.  [Dean Gaudet]
  +
   * Crude ap_thread_mutex abstraction so that we get the pthread stuff out
 of alloc.c for now. [Dean Gaudet]
   
  
  
  
  1.2   +0 -22 apache-2.0/mpm/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/alloc.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- alloc.h   1999/06/18 18:39:27 1.1
  +++ alloc.h   1999/06/20 21:46:12 1.2
  @@ -287,10 +287,6 @@
*
* Cleanups are identified for purposes of finding  running them off by the
* plain_cleanup and data, which should presumably be unique.
  - *
  - * NB any code which invokes register_cleanup or kill_cleanup directly
  - * is a critical section which should be guarded by block_alarms() and
  - * unblock_alarms() below...
*/
   
   API_EXPORT(void) ap_register_cleanup(pool *p, void *data,
  @@ -303,24 +299,6 @@
   /* A do-nothing cleanup, for register_cleanup; it's faster to do
* things this way than to test for NULL. */
   API_EXPORT_NONSTD(void) ap_null_cleanup(void *data);
  -
  -/* The time between when a resource is actually allocated, and when it
  - * its cleanup is registered is a critical section, during which the
  - * resource could leak if we got interrupted or timed out.  So, anything
  - * which registers cleanups should bracket resource allocation and the
  - * cleanup registry with these.  (This is done internally by run_cleanup).
  - *
  - * NB they are actually implemented in http_main.c, since they are bound
  - * up with timeout handling in general...
  - */
  -
  -#ifdef TPF
  -#define ap_block_alarms() (0)
  -#define ap_unblock_alarms() (0)
  -#else
  -API_EXPORT(void) ap_block_alarms(void);
  -API_EXPORT(void) ap_unblock_alarms(void);
  -#endif /* TPF */
   
   /* Common cases which want utility support..
* the note_cleanups_for_foo routines are for 
  
  
  
  1.3   +4 -4  apache-2.0/mpm/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/alloc.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- alloc.c   1999/06/20 21:12:49 1.2
  +++ alloc.c   1999/06/20 21:46:12 1.3
  @@ -303,7 +303,7 @@
   #define test_is_free(_x)
   #endif
   
  -/* Free a chain of blocks --- must be called with alarms blocked. */
  +/* Free a chain of blocks --- must be called with mutex held. */
   #ifdef POOL_DEBUG
   #define reset_block(b) do { \
   test_is_free(b); \
  @@ -383,7 +383,7 @@
   
   
   /* Get a new block, from our own free list if possible, from the system
  - * if necessary.  Must be called with alarms blocked.
  + * if necessary.  Must be called with mutex held.
*/
   
   static union block_hdr *new_block(int min_size)
  @@ -873,8 +873,8 @@
* until all the output is done.
*
* Note that this is completely safe because nothing else can
  - * allocate in this pool while ap_psprintf is running.  alarms are
  - * blocked, and the only thing outside of alloc.c that's invoked
  + * allocate in this pool while ap_psprintf is running. 
  + * The only thing outside of alloc.c that's invoked
* is ap_vformatter -- which was purposefully written to be
* self-contained with no callouts.
*/
  
  
  
  1.5   +21 -348   apache-2.0/mpm/src/main/mpm_prefork.c
  
  Index: mpm_prefork.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/mpm_prefork.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- mpm_prefork.c 1999/06/20 21:12:50 1.4
  +++ mpm_prefork.c 1999/06/20 21:46:13 1.5
  @@ -82,7 +82,6 @@
* TODO: behave like apache-1.3... here's a short list of things I think
* TODO: need cleaning up still:
* TODO: - use ralf's mm stuff for the shared mem and mutexes
  - * TODO: - eliminate the timeout stuff... 2.0 timeouts are part of the BUFF
* TODO: - abstract the Listen stuff, it's going to be common with other MPM
* TODO: - clean up scoreboard stuff when we figure out how

cvs commit: apache-2.0/mpm/src/os/unix unixd.c unixd.h Makefile.tmpl

1999-06-20 Thread dgaudet
dgaudet 99/06/20 15:59:53

  Modified:mpm/src  CHANGES
   mpm/src/include http_config.h
   mpm/src/main mpm_prefork.c
   mpm/src/os/unix Makefile.tmpl
  Added:   mpm/src/os/unix unixd.c unixd.h
  Log:
  detach, set_group_privs, and such... these will be common amongst the
  unix MPMs, so split them off into os/unix/unixd.[ch].
  
  Revision  ChangesPath
  1.8   +3 -0  apache-2.0/mpm/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/CHANGES,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- CHANGES   1999/06/20 21:46:11 1.7
  +++ CHANGES   1999/06/20 22:59:49 1.8
  @@ -1,5 +1,8 @@
   Changes with MPM
   
  +* os/unix/unixd.[ch]: detach, setuid, setgid, stuff which will be common
  +  amongst the unix MPMs
  +
   * mpm_prefork: throw away all the alarm/timeout crud; and clean up the
 signal handling for the new world order.  [Dean Gaudet]
   
  
  
  
  1.2   +13 -13apache-2.0/mpm/src/include/http_config.h
  
  Index: http_config.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/http_config.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- http_config.h 1999/06/18 18:39:28 1.1
  +++ http_config.h 1999/06/20 22:59:50 1.2
  @@ -311,6 +311,19 @@
   /* for implementing subconfigs and customized config files */
   API_EXPORT(const char *) ap_srm_command_loop(cmd_parms *parms, void *config);
   
  +/* ap_check_cmd_context() definitions: */
  +API_EXPORT(const char *) ap_check_cmd_context(cmd_parms *cmd, unsigned 
forbidden);
  +
  +/* ap_check_cmd_context():  Forbidden in: */
  +#define  NOT_IN_VIRTUALHOST 0x01 /* Virtualhost */
  +#define  NOT_IN_LIMIT   0x02 /* Limit */
  +#define  NOT_IN_DIRECTORY   0x04 /* Directory */
  +#define  NOT_IN_LOCATION0x08 /* Location */
  +#define  NOT_IN_FILES   0x10 /* Files */
  +#define  NOT_IN_DIR_LOC_FILE
(NOT_IN_DIRECTORY|NOT_IN_LOCATION|NOT_IN_FILES) /* 
Directory/Location/Files*/
  +#define  GLOBAL_ONLY
(NOT_IN_VIRTUALHOST|NOT_IN_LIMIT|NOT_IN_DIR_LOC_FILE)
  +
  +
   #ifdef CORE_PRIVATE
   
   extern API_VAR_EXPORT module *top_module;
  @@ -349,19 +362,6 @@
   CORE_EXPORT(const char *) ap_init_virtual_host(pool *p, const char *hostname,
server_rec *main_server, server_rec **);
   void ap_process_resource_config(server_rec *s, const char *fname, pool *p, 
pool *ptemp);
  -
  -/* ap_check_cmd_context() definitions: */
  -API_EXPORT(const char *) ap_check_cmd_context(cmd_parms *cmd, unsigned 
forbidden);
  -
  -/* ap_check_cmd_context():  Forbidden in: */
  -#define  NOT_IN_VIRTUALHOST 0x01 /* Virtualhost */
  -#define  NOT_IN_LIMIT   0x02 /* Limit */
  -#define  NOT_IN_DIRECTORY   0x04 /* Directory */
  -#define  NOT_IN_LOCATION0x08 /* Location */
  -#define  NOT_IN_FILES   0x10 /* Files */
  -#define  NOT_IN_DIR_LOC_FILE
(NOT_IN_DIRECTORY|NOT_IN_LOCATION|NOT_IN_FILES) /* 
Directory/Location/Files*/
  -#define  GLOBAL_ONLY
(NOT_IN_VIRTUALHOST|NOT_IN_LIMIT|NOT_IN_DIR_LOC_FILE)
  -
   
   /* Module-method dispatchers, also for http_request.c */
   
  
  
  
  1.6   +13 -218   apache-2.0/mpm/src/main/mpm_prefork.c
  
  Index: mpm_prefork.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/mpm_prefork.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- mpm_prefork.c 1999/06/20 21:46:13 1.5
  +++ mpm_prefork.c 1999/06/20 22:59:51 1.6
  @@ -96,6 +96,7 @@
   #include http_connection.h
   #include scoreboard_prefork.h
   #include ap_mpm.h
  +#include unixd.h
   #ifdef USE_SHMGET_SCOREBOARD
   #include sys/types.h
   #include sys/ipc.h
  @@ -108,12 +109,6 @@
   
   /* config globals */
   
  -static uid_t ap_user_id=0;
  -static char *ap_user_name=NULL;
  -static gid_t ap_group_id=0;
  -#ifdef MULTIPLE_GROUPS
  -static gid_t group_id_list[NGROUPS_MAX];
  -#endif
   static int ap_max_requests_per_child=0;
   static char *ap_pid_fname=NULL;
   static char *ap_scoreboard_fname=NULL;
  @@ -163,7 +158,6 @@
   static int sd;
   static fd_set listenfds;
   static int listenmaxfd;
  -static pid_t pgrp;
   
   /* one_process --- debugging mode variable; can be set from the command line
* with the -X flag.  If set, this gets you the child_main loop running
  @@ -502,8 +496,8 @@
/* restrict it to use only by the appropriate user_id ... not that this
 * stops CGIs from acquiring it and dinking around with it.
 */
  - buf.sem_perm.uid = ap_user_id;
  - buf.sem_perm.gid = ap_group_id;
  + buf.sem_perm.uid = unixd_config.user_id;
  + buf.sem_perm.gid

cvs commit: apache-2.0/mpm/src/main http_connection.c mpm_prefork.c

1999-06-21 Thread dgaudet
dgaudet 99/06/20 16:09:54

  Modified:mpm/src/include ap_mpm.h
   mpm/src/main http_connection.c mpm_prefork.c
  Log:
  ap_mpm_graceful_stop - ap_graceful_stop_signalled
  
  Revision  ChangesPath
  1.4   +1 -1  apache-2.0/mpm/src/include/ap_mpm.h
  
  Index: ap_mpm.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_mpm.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ap_mpm.h  1999/06/20 22:05:13 1.3
  +++ ap_mpm.h  1999/06/20 23:09:51 1.4
  @@ -112,7 +112,7 @@
   
   /* predicate indicating if a graceful stop has been requested ...
  used by the connection loop */
  -API_EXPORT(int) ap_mpm_graceful_stop(void);
  +API_EXPORT(int) ap_graceful_stop_signalled(void);
   
   /* a mutex which synchronizes threads within one process */
   typedef struct ap_thread_mutex ap_thread_mutex;
  
  
  
  1.4   +1 -1  apache-2.0/mpm/src/main/http_connection.c
  
  Index: http_connection.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/http_connection.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- http_connection.c 1999/06/19 20:23:37 1.3
  +++ http_connection.c 1999/06/20 23:09:53 1.4
  @@ -206,7 +206,7 @@
   
ap_destroy_pool(r-pool);
   
  - if (ap_mpm_graceful_stop()) {
  + if (ap_graceful_stop_signalled()) {
/* XXX: hey wait, this should do a lingering_close! */
ap_bclose(c-client);
return;
  
  
  
  1.7   +3 -3  apache-2.0/mpm/src/main/mpm_prefork.c
  
  Index: mpm_prefork.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/mpm_prefork.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- mpm_prefork.c 1999/06/20 22:59:51 1.6
  +++ mpm_prefork.c 1999/06/20 23:09:53 1.7
  @@ -2377,7 +2377,7 @@
   requests_this_child = ap_max_requests_per_child = 1;
   }
   
  -int ap_mpm_graceful_stop(void)
  +int ap_graceful_stop_signalled(void)
   {
   ap_sync_scoreboard_image();
   if (deferred_die ||
  @@ -2431,7 +2431,7 @@
   }
   #endif
   
  -while (!ap_mpm_graceful_stop()) {
  +while (!ap_graceful_stop_signalled()) {
BUFF *conn_io;
   
/* Prepare to receive a SIGUSR1 due to graceful restart so that
  @@ -2581,7 +2581,7 @@
}
}
   
  - if (ap_mpm_graceful_stop()) {
  + if (ap_graceful_stop_signalled()) {
clean_child_exit(0);
}
usr1_just_die = 1;
  
  
  


cvs commit: apache-2.0/mpm/src Configure

1999-06-21 Thread dgaudet
dgaudet 99/06/20 16:14:18

  Modified:mpm/src  Configure
  Log:
  disable this while jim is working... no mpm/Makefile.tmpl yet
  
  Revision  ChangesPath
  1.5   +2 -1  apache-2.0/mpm/src/Configure
  
  Index: Configure
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/Configure,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Configure 1999/06/20 22:25:24 1.4
  +++ Configure 1999/06/20 23:14:17 1.5
  @@ -1594,7 +1594,8 @@
   ## Choose the right MPM method
   ## TODO:: More later
   
  -SUBDIRS=mpm/$RULE_MPM_METHOD $SUBDIRS
  +#SUBDIRS=mpm/$RULE_MPM_METHOD $SUBDIRS
  +SUBDIRS=$SUBDIRS
   
   
   ## Add in the Expat library if needed/wanted.
  
  
  


cvs commit: apache-2.0/mpm/src/os/unix Makefile.tmpl

1999-06-21 Thread dgaudet
dgaudet 99/06/20 16:14:36

  Modified:mpm/src  Makefile.tmpl
   mpm/src/ap Makefile.tmpl
   mpm/src/main Makefile.tmpl
   mpm/src/modules/standard Makefile.tmpl
   mpm/src/os/unix Makefile.tmpl
  Log:
  depends
  
  Revision  ChangesPath
  1.3   +4 -3  apache-2.0/mpm/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/Makefile.tmpl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Makefile.tmpl 1999/06/18 19:07:59 1.2
  +++ Makefile.tmpl 1999/06/20 23:14:29 1.3
  @@ -124,9 +124,10 @@
   buildmark.o: buildmark.c include/ap_config.h include/ap_mmn.h \
include/ap_config_auto.h os/unix/os.h os/unix/os-inline.c \
include/ap_ctype.h include/hsregex.h include/httpd.h include/alloc.h \
  - include/buff.h include/ap.h include/apr.h include/util_uri.h
  + include/buff.h include/ap_iol.h include/ap.h include/apr.h \
  + include/util_uri.h
   modules.o: modules.c include/httpd.h include/ap_config.h \
include/ap_mmn.h include/ap_config_auto.h os/unix/os.h \
os/unix/os-inline.c include/ap_ctype.h include/hsregex.h \
  - include/alloc.h include/buff.h include/ap.h include/apr.h \
  - include/util_uri.h include/http_config.h
  + include/alloc.h include/buff.h include/ap_iol.h include/ap.h \
  + include/apr.h include/util_uri.h include/http_config.h
  
  
  
  1.4   +14 -10apache-2.0/mpm/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/ap/Makefile.tmpl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Makefile.tmpl 1999/06/19 20:41:59 1.3
  +++ Makefile.tmpl 1999/06/20 23:14:30 1.4
  @@ -39,16 +39,19 @@
 rm Makefile.new
   
   # DO NOT REMOVE
  +ap_buf.o: ap_buf.c $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
  + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h $(OSDIR)/os-inline.c \
  + $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h $(INCDIR)/ap_buf.h
   ap_cpystrn.o: ap_cpystrn.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
  - $(INCDIR)/util_uri.h
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  + $(INCDIR)/ap.h $(INCDIR)/apr.h $(INCDIR)/util_uri.h
   ap_execve.o: ap_execve.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
  - $(INCDIR)/util_uri.h
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  + $(INCDIR)/ap.h $(INCDIR)/apr.h $(INCDIR)/util_uri.h
   ap_fnmatch.o: ap_fnmatch.c $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
$(INCDIR)/ap_config_auto.h $(OSDIR)/os.h $(OSDIR)/os-inline.c \
$(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h $(INCDIR)/fnmatch.h
  @@ -63,15 +66,16 @@
   ap_signal.o: ap_signal.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
  - $(INCDIR)/util_uri.h
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  + $(INCDIR)/ap.h $(INCDIR)/apr.h $(INCDIR)/util_uri.h
   ap_slack.o: ap_slack.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
  - $(INCDIR)/util_uri.h $(INCDIR)/http_log.h
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  + $(INCDIR)/ap.h $(INCDIR)/apr.h $(INCDIR)/util_uri.h \
  + $(INCDIR)/http_log.h
   ap_snprintf.o: ap_snprintf.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
  - $(INCDIR)/util_uri.h
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  + $(INCDIR)/ap.h $(INCDIR)/apr.h $(INCDIR)/util_uri.h
  
  
  
  1.4   +64 -48apache-2.0/mpm/src/main/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/Makefile.tmpl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Makefile.tmpl 1999/06/18 23:34:59 1.3
  +++ Makefile.tmpl 1999/06/20 23:14:31 1.4
  @@ -61,40 +61,44 @@
   alloc.o: alloc.c $(INCDIR)/httpd.h

cvs commit: apache-2.0/mpm/src/modules/mpm/prefork prefork.c

1999-06-24 Thread dgaudet
dgaudet 99/06/24 00:29:33

  Modified:mpm/src/include buff.h
   mpm/src/main buff.c http_protocol.c iol_unix.c
   mpm/src/modules/mpm/prefork prefork.c
  Log:
  new-fangled BUFF... this could easily be broken, but hey, the one that
  was in here before was broken in different ways... I've served up a few
  pages with this one.
  
  Revision  ChangesPath
  1.4   +38 -6 apache-2.0/mpm/src/include/buff.h
  
  Index: buff.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/buff.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- buff.h1999/06/18 23:34:58 1.3
  +++ buff.h1999/06/24 07:29:29 1.4
  @@ -65,6 +65,37 @@
   #include stdarg.h
   #include ap_iol.h
   
  +/*
  +A BUFF is an i/o object which can be used in any of the following
  +output modes:
  +
  +blocking, buffered
  +blocking, buffered, HTTP-chunked
  +blocking, unbuffered
  +blocking, unbuffered, HTTP-chunked
  +non-blocking, unbuffered
  +non-blocking, unbuffered, HTTP-chunked
  +
  +In all the blocking modes, a bwrite(fb, buf, len) will return less
  +than len only in an error state.  The error may be deferred until
  +the next use of fb.
  +
  +In the non-blocking, chunked mode, the caller of bwrite() makes a
  +guarantee that if a partial write occurs, they will call back later
  +with at least as many bytes to write -- prior to disabling chunking.
  +This is a protocol correctness requirement -- the chunk length may
  +already have hit the wire, and is in essence committed.
  +
  +bputc, bputs, bvputs, and bprintf are supported only in the buffered
  +modes.
  +
  +The following input modes are supported:
  +
  +blocking, buffered
  +blocking, unbuffered
  +non-blocking, unbuffered
  +*/
  +
   /* Reading is buffered */
   #define B_RD (1)
   /* Writing is buffered */
  @@ -82,16 +113,12 @@
   #undef B_ERROR
   #endif
   #define B_ERROR (48)
  -/* TODO: implement chunked encoding as a layer */
  +/* Use chunked writing */
  +#define B_CHUNK (64)
   /* bflush() if a read would block */
   /* TODO: #define B_SAFEREAD (128) */
  -/* buffer is a socket */
  -#define B_SOCKET (256)
  -
   /* caller expects non-blocking behaviour */
   #define B_NONBLOCK (512)
  -/* non-blocking bit set on fd */
  -#define B_NONBLOCK_SET (1024)
   
   /* TODO: implement a ebcdic/ascii conversion layers */
   
  @@ -103,10 +130,15 @@
   unsigned char *inptr;/* pointer to next location to read */
   int incnt;   /* number of bytes left to read from 
input buffer;
 * always 0 if had a read error  */
  +int outchunk;   /* location of chunk header when chunking */
   int outcnt;  /* number of byte put in output buffer 
*/
   unsigned char *inbase;
   unsigned char *outbase;
   int bufsiz;
  +int chunk_overcommit;/* when we start a chunk and get a partial 
write we
  +  * keep track of the #remaining bytes in the 
chunk
  +  * here
  +  */
   void (*error) (BUFF *fb, int op, void *data);
   void *error_data;
   long int bytes_sent; /* number of bytes actually written */
  
  
  
  1.5   +266 -143  apache-2.0/mpm/src/main/buff.c
  
  Index: buff.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/buff.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- buff.c1999/06/20 12:25:54 1.4
  +++ buff.c1999/06/24 07:29:31 1.5
  @@ -76,6 +76,17 @@
   #define DEFAULT_BUFSIZE (4096)
   #endif
   
  +/* the maximum size of any chunk */
  +#ifndef MAX_CHUNK_SIZE
  +#define MAX_CHUNK_SIZE (0x8000)
  +#endif
  +
  +/* This must be enough to represent MAX_CHUNK_SIZE in hex,
  + * plus two extra characters.
  + */
  +#ifndef CHUNK_HEADER_SIZE
  +#define CHUNK_HEADER_SIZE (6)
  +#endif
   
   /* bwrite()s of greater than this size can result in a large_write() call,
* which can result in a writev().  It's a little more work to set up the
  @@ -88,7 +99,6 @@
   #define LARGE_WRITE_THRESHOLD 31
   #endif
   
  -
   /*
* Buffered I/O routines.
* These are a replacement for the stdio routines.
  @@ -136,15 +146,18 @@
   fb = ap_palloc(p, sizeof(BUFF));
   fb-pool = p;
   fb-bufsiz = DEFAULT_BUFSIZE;
  -fb-flags = flags  (B_RDWR | B_SOCKET);
  +fb-flags = flags  B_RDWR;
   
   if (flags  B_RD)
fb-inbase = ap_palloc(p, fb-bufsiz);
   else
fb-inbase = NULL;
   
  +/* overallocate so that we can put a chunk trailer of CRLF into this
  + * buffer... and possibly the beginning of a new chunk
  + */
   if (flags  B_WR)
  - fb-outbase

cvs commit: apache-2.0/mpm/src/modules/mpm/prefork .cvsignore

1999-06-24 Thread dgaudet
dgaudet 99/06/24 00:29:59

  Added:   mpm/src/modules/mpm/prefork .cvsignore
  Log:
  ignore Makefile
  
  Revision  ChangesPath
  1.1  apache-2.0/mpm/src/modules/mpm/prefork/.cvsignore
  
  Index: .cvsignore
  ===
  Makefile
  
  
  


cvs commit: apache-2.0/mpm/src/os/unix iol_socket.c iol_socket.h Makefile.tmpl

1999-06-24 Thread dgaudet
dgaudet 99/06/24 01:58:06

  Modified:mpm/src/include ap_iol.h buff.h
   mpm/src/main Makefile.tmpl alloc.c buff.c
   mpm/src/modules/mpm/prefork prefork.c
   mpm/src/os/unix Makefile.tmpl
  Added:   mpm/src/main iol_file.c
   mpm/src/os/unix iol_socket.c iol_socket.h
  Removed: mpm/src/main iol_unix.c
  Log:
  I think this is a better i/o layer interface.
  
  - move main/iol_unix.c to os/unix/iol_socket.c
  - create main/iol_file.c ... use APR methods eventually
  - remove iol_data from ap_iol, instead the ap_iol is just embedded into
the private data of the i/o layer
  - remove ap_bpushfd(), replace with ap_bpush_iol()
  
  Revision  ChangesPath
  1.3   +6 -4  apache-2.0/mpm/src/include/ap_iol.h
  
  Index: ap_iol.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_iol.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_iol.h  1999/06/19 20:40:16 1.2
  +++ ap_iol.h  1999/06/24 08:57:58 1.3
  @@ -107,8 +107,10 @@
   /* TODO: accept, connect, ... */
   };
   
  +/* it is expected that each io layer will extend this structure as they
  +require; they must only ensure that the methods pointer remains in
  +the indicated position. */
   struct ap_iol {
  -void *iol_data;
   const ap_iol_methods *methods;
   };
   
  @@ -120,8 +122,8 @@
   #define iol_setopt(iol, a, b) ((iol)-methods-setopt((iol), (a), (b)))
   #define iol_getopt(iol, a, b) ((iol)-methods-getopt((iol), (a), (b)))
   
  -/* clean this up later as well */
  -
  -void unix_attach_fd(ap_iol *, int fd);
  +/* the file iol */
  +/* TODO: use APR instead of unix semantics for this */
  +ap_iol *ap_open_file(const char *name, int flags, int mask);
   
   #endif
  
  
  
  1.5   +3 -2  apache-2.0/mpm/src/include/buff.h
  
  Index: buff.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/buff.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- buff.h1999/06/24 07:29:29 1.4
  +++ buff.h1999/06/24 08:57:58 1.5
  @@ -145,7 +145,7 @@
   
   ap_pool *pool;
   
  -ap_iol iol;
  +ap_iol *iol;
   };
   
   /* Options to bset/getopt */
  @@ -155,7 +155,8 @@
   
   /* Stream creation and modification */
   API_EXPORT(BUFF *) ap_bcreate(pool *p, int flags);
  -API_EXPORT(void) ap_bpushfd(BUFF *fb, int fd);
  +
  +API_EXPORT(void) ap_bpush_iol(BUFF *fb, ap_iol *iol);
   
   /* XXX - unused right now - mvsk */
   API_EXPORT(BUFF *) ap_bopenf(pool *a, const char *name, int flg, int mode);
  
  
  
  1.6   +1 -1  apache-2.0/mpm/src/main/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/Makefile.tmpl,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Makefile.tmpl 1999/06/20 23:49:32 1.5
  +++ Makefile.tmpl 1999/06/24 08:58:00 1.6
  @@ -11,7 +11,7 @@
 http_config.o http_core.o http_log.o \
 http_main.o http_protocol.o http_request.o http_vhost.o \
 util.o util_date.o util_script.o util_uri.o util_md5.o \
  -  rfc1413.o http_connection.o iol_unix.o
  +  rfc1413.o http_connection.o iol_file.o
   
   .c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $
  
  
  
  1.5   +4 -0  apache-2.0/mpm/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/alloc.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- alloc.c   1999/06/22 22:26:10 1.4
  +++ alloc.c   1999/06/24 08:58:00 1.5
  @@ -2370,6 +2370,9 @@
enum kill_conditions kill_how,
BUFF **pipe_in, BUFF **pipe_out, BUFF 
**pipe_err)
   {
  +return 0;
  +/* TODO: need to abstract the spawning stuff in a more clean manner */
  +#if 0
   #ifdef WIN32
   SECURITY_ATTRIBUTES sa = {0};  
   HANDLE hPipeOutputRead  = NULL;
  @@ -2588,6 +2591,7 @@
   #endif
   
   return pid;
  +#endif
   }
   
   static void free_proc_chain(struct process_chain *procs)
  
  
  
  1.6   +13 -14apache-2.0/mpm/src/main/buff.c
  
  Index: buff.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/buff.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- buff.c1999/06/24 07:29:31 1.5
  +++ buff.c1999/06/24 08:58:00 1.6
  @@ -177,17 +177,16 @@
   {
   BUFF *fb = v;
   
  -iol_close(fb-iol);
  +iol_close(fb-iol);
   }
   
   /*
* Push some I/O file descriptors onto the stream
*/
  -API_EXPORT(void) ap_bpushfd(BUFF *fb, APRFile fd)
  +API_EXPORT(void) ap_bpush_iol

cvs commit: apache-2.0/mpm/src/os/unix Makefile.tmpl

1999-06-24 Thread dgaudet
dgaudet 99/06/24 01:59:00

  Modified:mpm/src/main Makefile.tmpl
   mpm/src/modules/mpm/prefork Makefile.tmpl
   mpm/src/os/unix Makefile.tmpl
  Log:
  depends
  
  Revision  ChangesPath
  1.7   +1 -1  apache-2.0/mpm/src/main/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/Makefile.tmpl,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Makefile.tmpl 1999/06/24 08:58:00 1.6
  +++ Makefile.tmpl 1999/06/24 08:58:56 1.7
  @@ -143,7 +143,7 @@
$(INCDIR)/http_config.h $(INCDIR)/http_log.h \
$(INCDIR)/http_vhost.h $(INCDIR)/http_protocol.h \
$(INCDIR)/http_core.h
  -iol_unix.o: iol_unix.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
  +iol_file.o: iol_file.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
$(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  
  
  
  1.2   +10 -7 apache-2.0/mpm/src/modules/mpm/prefork/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/modules/mpm/prefork/Makefile.tmpl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.tmpl 1999/06/24 01:57:58 1.1
  +++ Makefile.tmpl 1999/06/24 08:58:58 1.2
  @@ -55,12 +55,15 @@
   $(OBJS) $(OBJS_PIC): Makefile
   
   # DO NOT REMOVE
  -prefork.o: prefork.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
  - $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
  - $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  - $(INCDIR)/ap.h $(INCDIR)/apr.h $(INCDIR)/util_uri.h \
  - $(INCDIR)/http_main.h $(INCDIR)/http_log.h $(INCDIR)/http_config.h \
  +prefork.o: prefork.c $(INCDIR)/httpd.h \
  + $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
  + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
  + $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h \
  + $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  + $(INCDIR)/buff.h $(INCDIR)/ap_iol.h \
  + $(INCDIR)/ap.h $(INCDIR)/apr.h \
  + $(INCDIR)/util_uri.h $(INCDIR)/http_main.h \
  + $(INCDIR)/http_log.h $(INCDIR)/http_config.h \
$(INCDIR)/http_core.h $(INCDIR)/http_connection.h \
$(INCDIR)/scoreboard_prefork.h $(INCDIR)/ap_mpm.h \
  - $(OSDIR)/unixd.h
  + $(OSDIR)/unixd.h $(OSDIR)/iol_socket.h
  
  
  
  1.6   +7 -0  apache-2.0/mpm/src/os/unix/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/os/unix/Makefile.tmpl,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Makefile.tmpl 1999/06/24 08:58:04 1.5
  +++ Makefile.tmpl 1999/06/24 08:58:59 1.6
  @@ -38,6 +38,13 @@
   $(OBJS): Makefile
   
   # DO NOT REMOVE
  +iol_socket.o: iol_socket.c $(INCDIR)/httpd.h \
  + $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
  + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
  + $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h \
  + $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \
  + $(INCDIR)/ap_iol.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
  + $(INCDIR)/util_uri.h
   os-aix-dso.o: os-aix-dso.c
   os-inline.o: os-inline.c $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h \
  
  
  


cvs commit: apache-2.0/mpm/src/main http_protocol.c

1999-06-25 Thread dgaudet
dgaudet 99/06/24 18:17:01

  Modified:mpm/src/main http_protocol.c
  Log:
  random futzing around
  
  Revision  ChangesPath
  1.7   +9 -9  apache-2.0/mpm/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/http_protocol.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- http_protocol.c   1999/06/24 07:29:31 1.6
  +++ http_protocol.c   1999/06/25 01:16:57 1.7
  @@ -1364,15 +1364,15 @@
* It is more expensive to check the User-Agent than it is to just add the
* bytes, so we haven't used the BrowserMatch feature here.
*/
  -static void terminate_header(BUFF *client)
  +static void terminate_header(request_rec *r)
   {
   long int bs;
   
  -ap_bgetopt(client, BO_BYTECT, bs);
  +ap_bgetopt(r-connection-client, BO_BYTECT, bs);
   if (bs = 255  bs = 257)
  -ap_bputs(X-Pad: avoid browser bug\015\012, client);
  +ap_rputs(X-Pad: avoid browser bug\015\012, r);
   
  -ap_bputs(\015\012, client);  /* Send the terminating empty line */
  +ap_rputs(\015\012, r);  /* Send the terminating empty line */
   }
   
   /* Build the Allow field-value from the request handler method mask.
  @@ -1440,7 +1440,7 @@
   ap_table_do((int (*) (void *, const char *, const char *)) 
ap_send_header_field,
(void *) r, r-headers_out, NULL);
   
  -terminate_header(r-connection-client);
  +terminate_header(r);
   
   ap_bsetopt(r-connection-client, BO_BYTECT, zero);
   
  @@ -1544,7 +1544,7 @@
   ap_table_do((int (*) (void *, const char *, const char *)) 
ap_send_header_field,
(void *) r, r-headers_out, NULL);
   
  -terminate_header(r-connection-client);
  +terminate_header(r);
   
   
   ap_bsetopt(r-connection-client, BO_BYTECT, zero);
  @@ -2186,7 +2186,7 @@
   int n;
   
   if (r-connection-aborted)
  -return -1;
  +return EOF;
   
   n = ap_bwrite(r-connection-client, buf, nbyte);
   if (n  0) {
  @@ -2196,7 +2196,7 @@
   ap_bsetflag(r-connection-client, B_EOUT, 1);
   r-connection-aborted = 1;
   }
  -return -1;
  +return EOF;
   }
   SET_BYTES_SENT(r);
   return n;
  @@ -2344,7 +2344,7 @@
   Proxy-Authenticate,
   NULL);
   
  -terminate_header(r-connection-client);
  +terminate_header(r);
   
   return;
   }
  
  
  


cvs commit: apache-2.0/mpm/src/modules/mpm/prefork Makefile.tmpl prefork.c

1999-06-25 Thread dgaudet
dgaudet 99/06/24 18:25:12

  Modified:mpm/src/include httpd.h
   mpm/src/main Makefile.tmpl http_config.c http_core.c
   mpm/src/modules/mpm/prefork Makefile.tmpl prefork.c
  Added:   mpm/src/include ap_listen.h
   mpm/src/main listen.c
  Log:
  - ap_listen.h: interface to Listen, ListenBackLog and SendBufferSize
directives
  - I didn't update mpmt_pthread with this change, it shouldn't be hard to fix.
  - maybe this isn't the best way to abstract listen... but it gets a little
bit of the job done
  
  Revision  ChangesPath
  1.3   +0 -11 apache-2.0/mpm/src/include/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/httpd.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- httpd.h   1999/06/20 11:19:45 1.2
  +++ httpd.h   1999/06/25 01:25:06 1.3
  @@ -666,7 +666,6 @@
   typedef struct conn_rec conn_rec;
   typedef struct server_rec server_rec;
   typedef struct request_rec request_rec;
  -typedef struct listen_rec listen_rec;
   
   #include util_uri.h
   
  @@ -921,7 +920,6 @@
   int keep_alive_timeout;  /* Seconds we'll wait for another request */
   int keep_alive_max;  /* Maximum requests per connection */
   int keep_alive;  /* Use persistent connections? */
  -int send_buffer_size;/* size of TCP send buffer (in bytes) */
   
   char *path;  /* Pathname for ServerPath */
   int pathlen; /* Length of path */
  @@ -937,15 +935,6 @@
   int limit_req_fields;/* limit on number of request header fields  */
   };
   
  -/* These are more like real hosts than virtual hosts */
  -struct listen_rec {
  -listen_rec *next;
  -struct sockaddr_in local_addr;   /* local IP address and port */
  -int fd;
  -int used;  /* Only used during restart */
  -int index;/* index into the listenfds array */
  -/* more stuff here, like which protocol is bound to the port */
  -};
   
   /* Prototypes for utilities... util.c.
*/
  
  
  
  1.1  apache-2.0/mpm/src/include/ap_listen.h
  
  Index: ap_listen.h
  ===
  /* 
   * Copyright (c) 1996-1999 The Apache Group.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/).
   *
   * 4. The names Apache Server and Apache Group must not be used to
   *endorse or promote products derived from this software without
   *prior written permission. For written permission, please contact
   *[EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called Apache
   *nor may Apache appear in their names without prior written
   *permission of the Apache Group.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Group

cvs commit: apache-2.0/mpm/src/os/unix iol_socket.c

1999-06-28 Thread dgaudet
dgaudet 99/06/28 12:00:50

  Modified:mpm/src/include ap_iol.h
   mpm/src/main iol_file.c
   mpm/src/os/unix iol_socket.c
  Log:
  - eliminate readv -- it's mostly useful with a full zero-copy setup
  - document the simple writev possible when system has no writev
  
  Revision  ChangesPath
  1.4   +8 -4  apache-2.0/mpm/src/include/ap_iol.h
  
  Index: ap_iol.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_iol.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ap_iol.h  1999/06/24 08:57:58 1.3
  +++ ap_iol.h  1999/06/28 19:00:48 1.4
  @@ -68,7 +68,7 @@
   } ap_iol_option;
   
   /*
  -write, writev, read, readv guarantee they won't return EINTR.
  +write, writev, read guarantee they won't return EINTR.
   
   If no error occurs, they return the number of bytes read/written.
   
  @@ -88,12 +88,18 @@
   Just to drive the point home again -- none of these functions guarantee
   they will read/write the entire length specified.
   
  -Note:  timeout == 0 is non-blocking operation... which requires a lot
  +Note: timeout == 0 is non-blocking operation... which requires a lot
   of care if you're implementing filters.  It may mean you have to keep
   state from one call to the next.  The chunking filter will have an
   example of this.  If you're not sure how to handle the state sitatuation
   you will want to return EINVAL when the timeout is set to 0.  This may
   break various things... hopefully we'll be able to recover gracefully.
  +
  +Note: implementation tip: if your system doesn't have writev(), you
  +still have to implement a writev() method.  However, since the
  +iol writev() is allowed to return a partial write, you can essentially
  +treat all writev()s as write(fd, vec[0].iov_base, vec[0].iov_len),
  +and the layers above will loop over the entire vector for you.
   */
   
   struct ap_iol_methods {
  @@ -101,7 +107,6 @@
   int (*write)(ap_iol *fd, const char *buf, int len);
   int (*writev)(ap_iol *fd, const struct iovec *vec, int nvec);
   int (*read)(ap_iol *fd, char *buf, int len);
  -int (*readv)(ap_iol *fd, struct iovec *vec, int nvec);
   int (*setopt)(ap_iol *fd, ap_iol_option opt, const void *value);
   int (*getopt)(ap_iol *fd, ap_iol_option opt, void *value);
   /* TODO: accept, connect, ... */
  @@ -118,7 +123,6 @@
   #define iol_write(iol, a, b) ((iol)-methods-write((iol), (a), (b)))
   #define iol_writev(iol, a, b) ((iol)-methods-writev((iol), (a), (b)))
   #define iol_read(iol, a, b) ((iol)-methods-read((iol), (a), (b)))
  -#define iol_readv(iol, a, b) ((iol)-methods-readv((iol), (a), (b)))
   #define iol_setopt(iol, a, b) ((iol)-methods-setopt((iol), (a), (b)))
   #define iol_getopt(iol, a, b) ((iol)-methods-getopt((iol), (a), (b)))
   
  
  
  
  1.2   +0 -2  apache-2.0/mpm/src/main/iol_file.c
  
  Index: iol_file.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/iol_file.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- iol_file.c1999/06/24 08:58:00 1.1
  +++ iol_file.c1999/06/28 19:00:49 1.2
  @@ -81,7 +81,6 @@
   method(write, (ap_iol *viol, const char *arg1, int arg2))
   method(writev, (ap_iol *viol, const struct iovec *arg1, int arg2))
   method(read, (ap_iol *viol, char *arg1, int arg2))
  -method(readv, (ap_iol *viol, struct iovec *arg1, int arg2))
   
   static int file_close(ap_iol *viol)
   {
  @@ -113,7 +112,6 @@
   file_write,
   file_writev,
   file_read,
  -file_readv,
   file_setopt,
   file_getopt
   };
  
  
  
  1.2   +0 -2  apache-2.0/mpm/src/os/unix/iol_socket.c
  
  Index: iol_socket.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/os/unix/iol_socket.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- iol_socket.c  1999/06/24 08:58:04 1.1
  +++ iol_socket.c  1999/06/28 19:00:50 1.2
  @@ -185,7 +185,6 @@
   method(write, (ap_iol *viol, const char *arg1, int arg2), write, NULL, 
fdset)
   method(writev, (ap_iol *viol, const struct iovec *arg1, int arg2), writev, 
NULL, fdset)
   method(read, (ap_iol *viol, char *arg1, int arg2), read, fdset, NULL)
  -method(readv, (ap_iol *viol, struct iovec *arg1, int arg2), readv, fdset, 
NULL)
   
   static int unix_close(ap_iol *viol)
   {
  @@ -205,7 +204,6 @@
   unix_write,
   unix_writev,
   unix_read,
  -unix_readv,
   unix_setopt,
   unix_getopt
   };
  
  
  


cvs commit: apache-2.0/mpm/src/main buff.c

1999-07-01 Thread dgaudet
dgaudet 99/06/30 21:07:22

  Modified:mpm/src/main buff.c
  Log:
  uh that was an easy one to fix... I should know better than to post saying
  I'll look at it later ;)
  
  Revision  ChangesPath
  1.7   +1 -1  apache-2.0/mpm/src/main/buff.c
  
  Index: buff.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/buff.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- buff.c1999/06/24 08:58:00 1.6
  +++ buff.c1999/07/01 04:07:19 1.7
  @@ -554,7 +554,7 @@
   i = 0;
   total = 0;
   while (i  nvec) {
  - rv = writev_with_errors(fb, vec, 2);
  + rv = writev_with_errors(fb, vec + i, nvec - i);
if (rv  0) {
return total ? -1 : total;
}
  
  
  


cvs commit: apache-2.0/mpm/src/os/beos - New directory

1999-07-12 Thread dgaudet
dgaudet 99/07/12 15:48:54

  apache-2.0/mpm/src/os/beos - New directory


cvs commit: apache-2.0/mpm/src/os/beos Makefile.tmpl beosd.c beosd.h iol_socket.c iol_socket.h os-inline.c os.c os.h

1999-07-12 Thread dgaudet
dgaudet 99/07/12 15:51:17

  Modified:mpm/src  CHANGES Configure
   mpm/src/include ap_config.h httpd.h
   mpm/src/main util.c
  Added:   mpm/src/os/beos Makefile.tmpl beosd.c beosd.h iol_socket.c
iol_socket.h os-inline.c os.c os.h
  Log:
  commit David's beos port.
  
  Submitted by: David Reid [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.13  +2 -0  apache-2.0/mpm/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/CHANGES,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- CHANGES   1999/07/05 13:00:39 1.12
  +++ CHANGES   1999/07/12 22:51:05 1.13
  @@ -1,5 +1,7 @@
   Changes with MPM
   
  +* MPM BEOS port.  [David Reid [EMAIL PROTECTED]]
  +
   * Start to implement module-defined hooks that are a) fast and b) 
typesafe.
 Replace pre_connection module call with a register_hook call and
 implement pre_connection as a hook. The intent is that these hooks will
  
  
  
  1.12  +2 -1  apache-2.0/mpm/src/Configure
  
  Index: Configure
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/Configure,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Configure 1999/07/11 14:49:03 1.11
  +++ Configure 1999/07/12 22:51:06 1.12
  @@ -729,7 +729,8 @@
OS='BeOS';
CFLAGS=$CFLAGS -DBEOS
DEF_WANTHSREGEX=yes
  - ;;
  + OSDIR='os/beos'
  +   ;;
   4850-*.*)
OS='NCR MP/RAS'
CFLAGS=$CFLAGS -DSVR4 -DMPRAS
  
  
  
  1.3   +3 -0  apache-2.0/mpm/src/include/ap_config.h
  
  Index: ap_config.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_config.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_config.h   1999/07/12 08:47:47 1.2
  +++ ap_config.h   1999/07/12 22:51:08 1.3
  @@ -877,6 +877,9 @@
   
   #elif defined(BEOS)
   #include stddef.h
  +#include kernel/OS.h
  +#include kernel/image.h
  +#include sys/uio.h
   
   #define NO_WRITEV
   #define NO_KILLPG
  
  
  
  1.6   +3 -0  apache-2.0/mpm/src/include/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/httpd.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- httpd.h   1999/07/04 09:13:32 1.5
  +++ httpd.h   1999/07/12 22:51:09 1.6
  @@ -86,6 +86,9 @@
   #elif defined(WIN32)
   /* Set default for Windows file system */
   #define HTTPD_ROOT /apache
  +#elif defined (BEOS)
  +/* Set the default for BeOS */
  +#define HTTPD_ROOT /boot/home/apache
   #else
   #define HTTPD_ROOT /usr/local/apache
   #endif
  
  
  
  1.2   +6 -1  apache-2.0/mpm/src/main/util.c
  
  Index: util.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/util.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- util.c1999/06/18 18:39:30 1.1
  +++ util.c1999/07/12 22:51:10 1.2
  @@ -1962,7 +1962,12 @@
   struct hostent *p;
   
   /* ZZZ change to use AP funcs. */
  -if (gethostname(str, sizeof(str) - 1) != 0) {
  +#ifdef BEOS
  +if (gethostname(str, sizeof(str) - 1) == 0)
  +#else
  +if (gethostname(str, sizeof(str) - 1) != 0)
  +#endif
  +{
perror(Unable to gethostname);
exit(1);
   }
  
  
  
  1.1  apache-2.0/mpm/src/os/beos/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
  LIBS=$(EXTRA_LIBS) $(LIBS1)
  INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
  LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
  
  OBJS= os.o beosd.o iol_socket.o
  
  LIB=  libos.a
  
  all:  $(LIB)
  
  $(LIB): $(OBJS)
rm -f $@
ar cr $@ $(OBJS)
$(RANLIB) $@
  
  .c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $
  
  clean:
rm -f $(OBJS) $(LIB)
  
  distclean: clean
-rm -f Makefile
  
  # We really don't expect end users to use this rule.  It works only with
  # gcc, and rebuilds Makefile.tmpl.  You have to re-run Configure after
  # using it.
  depend:
cp Makefile.tmpl Makefile.tmpl.bak \
 sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl  Makefile.new \
 gcc -MM $(INCLUDES) $(CFLAGS) *.c  Makefile.new \
 sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \
   -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \
 Makefile.tmpl \
 rm Makefile.new
  
  $(OBJS): Makefile
  
  # DO NOT REMOVE
  
  
  
  1.1  apache-2.0/mpm/src/os/beos/beosd.c
  
  Index: beosd.c

cvs commit: apache-2.0/mpm/src/os/beos beosd.c

1999-07-26 Thread dgaudet
dgaudet 99/07/26 00:03:10

  Modified:mpm/src/main listen.c
   mpm/src/os/beos beosd.c
  Log:
  some bug fixes from David
  
  Submitted by: David Reid [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.4   +1 -1  apache-2.0/mpm/src/main/listen.c
  
  Index: listen.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/listen.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- listen.c  1999/06/29 02:49:26 1.3
  +++ listen.c  1999/07/26 07:03:09 1.4
  @@ -121,7 +121,7 @@
*
* If no size is specified, use the kernel default.
*/
  -#ifndef SO_SNDBUF
  +#ifdef SO_SNDBUF
   if (send_buffer_size) {
if (setsockopt(s, SOL_SOCKET, SO_SNDBUF,
(char *) send_buffer_size, sizeof(int))  0) {
  
  
  
  1.2   +0 -8  apache-2.0/mpm/src/os/beos/beosd.c
  
  Index: beosd.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/os/beos/beosd.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- beosd.c   1999/07/12 22:51:13 1.1
  +++ beosd.c   1999/07/26 07:03:09 1.2
  @@ -79,19 +79,11 @@
   }
   RAISE_SIGSTOP(DETACH);
   
  -#ifndef NO_SETSID
   if ((pgrp = setsid()) == -1) {
perror(setsid);
fprintf(stderr, %s: setsid failed\n, ap_server_argv0);
exit(1);
   }
  -#else
  -if ((pgrp = setpgrp(getpid(), 0)) == -1) {
  - perror(setpgrp);
  - fprintf(stderr, %s: setpgrp failed\n, ap_server_argv0);
  - exit(1);
  -}
  -#endif
   
   /* close out the standard file descriptors */
   if (freopen(/dev/null, r, stdin) == NULL) {
  
  
  


cvs commit: apache-2.0/mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_cgi.c mod_dir.c mod_echo.c mod_env.c mod_imap.c mod_include.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c

1999-07-27 Thread dgaudet
dgaudet 99/07/27 05:05:15

  Modified:mpm/src/include http_config.h
   mpm/src/main http_config.c http_core.c http_main.c
http_vhost.c
   mpm/src/modules/mpm/dexter dexter.c
   mpm/src/modules/mpm/mpmt_pthread mpmt_pthread.c
   mpm/src/modules/mpm/prefork prefork.c
   mpm/src/modules/mpm/spmt_os2 spmt_os2.c
   mpm/src/modules/standard mod_access.c mod_actions.c
mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c
mod_cgi.c mod_dir.c mod_echo.c mod_env.c mod_imap.c
mod_include.c mod_log_config.c mod_mime.c
mod_negotiation.c mod_setenvif.c mod_userdir.c
  Log:
  - get rid of pre_command_line_hook ... use register_hooks for this purpose
  - get rid of optreset... screw -D, use environment variables ONE_PROCESS,
SHOW_HOOKS, DUMP_VHOSTS, ... at least it builds this way :)
  
  Revision  ChangesPath
  1.11  +0 -2  apache-2.0/mpm/src/include/http_config.h
  
  Index: http_config.h
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/include/http_config.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- http_config.h 1999/07/24 18:38:37 1.10
  +++ http_config.h 1999/07/27 12:04:59 1.11
  @@ -211,7 +211,6 @@
* (see also mod_so).
*/
   
  -void (*pre_command_line)(pool *pcommands);
   void (*pre_config)(pool *pconf, pool *plog, pool *ptemp);
   void (*open_logs)(pool *pconf, pool *plog, pool *ptemp, server_rec *);
   void (*post_config)(pool *pconf, pool *plog, pool *ptemp, server_rec *);
  @@ -334,7 +333,6 @@
   void ap_setup_prelinked_modules(void);
   void ap_show_directives(void);
   void ap_show_modules(void);
  -void ap_pre_command_line_hook(pool *pcommands);
   void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp);
   server_rec *ap_read_config(pool *conf_pool, pool *temp_pool, const char 
*config_name);
   void ap_open_logs_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s);
  
  
  
  1.14  +1 -10 apache-2.0/mpm/src/main/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/http_config.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- http_config.c 1999/07/24 18:38:46 1.13
  +++ http_config.c 1999/07/27 12:05:00 1.14
  @@ -496,7 +496,7 @@
   {
   if(m-register_hooks)
{
  - if(ap_exists_config_define(SHOW_HOOKS))
  + if(getenv(SHOW_HOOKS))
{
printf(Registering hooks for %s\n,m-name);
g_bDebugHooks=1;
  @@ -1435,15 +1435,6 @@
   if (m-create_dir_config)
   ap_set_module_config(s-lookup_defaults, m,
(*m-create_dir_config)(p, NULL));
  -}
  -
  -void ap_pre_command_line_hook(pool *pcommands)
  -{
  -module *m;
  -
  -for (m = top_module; m; m = m-next)
  - if (m-pre_command_line)
  - (*m-pre_command_line) (pcommands);
   }
   
   void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp)
  
  
  
  1.12  +0 -1  apache-2.0/mpm/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/http_core.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- http_core.c   1999/07/25 14:24:01 1.11
  +++ http_core.c   1999/07/27 12:05:00 1.12
  @@ -2649,7 +2649,6 @@
   
   API_VAR_EXPORT module core_module = {
   STANDARD20_MODULE_STUFF,
  -NULL,/* pre_command_line */
   NULL,/* pre_config */
   NULL,/* post_config */
   core_open_logs,  /* open_logs */
  
  
  
  1.5   +0 -15 apache-2.0/mpm/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/http_main.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- http_main.c   1999/07/10 13:32:47 1.4
  +++ http_main.c   1999/07/27 12:05:00 1.5
  @@ -247,9 +247,7 @@
   pool *ptemp; /* Pool for temporart config stuff */
   pool *pcommands; /* Pool for -C and -c switches */
   extern char *optarg;
  -extern int optind,optreset;
   
  -
   /* TODO: PATHSEPARATOR should be one of the os defines */
   #define PATHSEPARATOR '/'
   if ((s = strrchr(argv[0], PATHSEPARATOR)) != NULL) {
  @@ -270,21 +268,8 @@
   ap_server_post_read_config = ap_make_array(pcommands, 1, sizeof(char *));
   ap_server_config_defines   = ap_make_array

cvs commit: apache-1.3 STATUS

1999-07-29 Thread dgaudet
dgaudet 99/07/29 10:55:57

  Modified:.STATUS
  Log:
  I don't see how this is a show stopper, sorry.  This is a client bug,
  and we already have force-no-vary as a method to work around those clients.
  
  Revision  ChangesPath
  1.729 +4 -4  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.728
  retrieving revision 1.729
  diff -u -r1.728 -r1.729
  --- STATUS1999/07/29 17:53:36 1.728
  +++ STATUS1999/07/29 17:55:54 1.729
  @@ -1,5 +1,5 @@
 1.3 STATUS:
  -  Last modified at [$Date: 1999/07/29 17:53:36 $]
  +  Last modified at [$Date: 1999/07/29 17:55:54 $]
   
   Release:
   
  @@ -64,6 +64,8 @@
mips-dec-ultrix4.4no  Sameer Parekh
mips-unknown-linuxyes Lars Eilebrecht
   
  +RELEASE SHOWSTOPPERS:
  +
   * The Vary header field stuff is still broken (multiple
 entries occur, etc.).  The result is that some browsers (AFAIK at least
 MSIE) are horribly confused by the responses.
  @@ -72,7 +74,7 @@
 archive: Ken, Ralf and Roy have already found consensus in the
 past there.
   
  -RELEASE SHOWSTOPPERS:
  +RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
   
   * The Vary header field stuff is still broken (multiple
 entries occur, etc.).  The result is that some browsers (AFAIK at least
  @@ -81,8 +83,6 @@
 how it should be done, please look at new-httpd mailing list
 archive: Ken, Ralf and Roy have already found consensus in the
 past there.
  -
  -RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
   
   * Graham Legget has found that if he uses the 1.3.7-dev core, and
 the 1.3.6 proxy code (plus a small patch of his) he doesn't get
  
  
  


cvs commit: apache-1.3/src/modules/standard mod_rewrite.c mod_rewrite.h

1999-08-03 Thread dgaudet
dgaudet 99/08/03 02:27:42

  Modified:src  CHANGES
   src/modules/standard mod_rewrite.c mod_rewrite.h
  Log:
   This patch includes fix for rewritelock in vhost problem and makes program
   map writes atomic if writev is available.
  
   -Dima
  
  PR:   3874
  Submitted by: Dmitry Khrustalev [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1409+4 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1408
  retrieving revision 1.1409
  diff -u -r1.1408 -r1.1409
  --- CHANGES   1999/08/02 10:48:11 1.1408
  +++ CHANGES   1999/08/03 09:27:25 1.1409
  @@ -1,6 +1,9 @@
   Changes with Apache 1.3.8
   
  -  *  Support for compaq/tandem/com.
  +  *) RewriteLock/RewriteMap didn't work properly with virtual hosts.
  + [Dmitry Khrustalev [EMAIL PROTECTED]] PR#3874
  +
  +  *) Support for compaq/tandem/com.
[Ottati, Michael [EMAIL PROTECTED], dirkx]
   
 *) Added SHA1 password encryption support to easy migration from 
  
  
  
  1.144 +35 -49apache-1.3/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.143
  retrieving revision 1.144
  diff -u -r1.143 -r1.144
  --- mod_rewrite.c 1999/07/29 17:54:06 1.143
  +++ mod_rewrite.c 1999/08/03 09:27:33 1.144
  @@ -91,6 +91,10 @@
   
   #include mod_rewrite.h
   
  +#ifndef NO_WRITEV
  +#include sys/types.h
  +#include sys/uio.h
  +#endif
   
   /*
   ** +---+
  @@ -208,6 +212,8 @@
   /* whether proxy module is available or not */
   static int proxy_available;
   
  +static char *lockname;
  +static int lockfd = -1;
   
   /*
   ** +---+
  @@ -234,8 +240,6 @@
   a-rewritelogfile  = NULL;
   a-rewritelogfp= -1;
   a-rewriteloglevel = 0;
  -a-rewritelockfile = NULL;
  -a-rewritelockfp   = -1;
   a-rewritemaps = ap_make_array(p, 2, sizeof(rewritemap_entry));
   a-rewriteconds= ap_make_array(p, 2, sizeof(rewritecond_entry));
   a-rewriterules= ap_make_array(p, 2, sizeof(rewriterule_entry));
  @@ -270,12 +274,6 @@
   a-rewritelogfp= overrides-rewritelogfp != -1 
? overrides-rewritelogfp 
: base-rewritelogfp;
  -a-rewritelockfile = overrides-rewritelockfile != NULL
  - ? overrides-rewritelockfile
  - : base-rewritelockfile;
  -a-rewritelockfp   = overrides-rewritelockfp != -1
  - ? overrides-rewritelockfp
  - : base-rewritelockfp;
   a-rewritemaps = ap_append_arrays(p, overrides-rewritemaps,
 base-rewritemaps);
   a-rewriteconds= ap_append_arrays(p, overrides-rewriteconds,
  @@ -291,8 +289,6 @@
   a-rewriteloglevel = overrides-rewriteloglevel;
   a-rewritelogfile  = overrides-rewritelogfile;
   a-rewritelogfp= overrides-rewritelogfp;
  -a-rewritelockfile = overrides-rewritelockfile;
  -a-rewritelockfp   = overrides-rewritelockfp;
   a-rewritemaps = overrides-rewritemaps;
   a-rewriteconds= overrides-rewriteconds;
   a-rewriterules= overrides-rewriterules;
  @@ -528,15 +524,12 @@
   
   static const char *cmd_rewritelock(cmd_parms *cmd, void *dconf, char *a1)
   {
  -rewrite_server_conf *sconf;
   const char *error;
   
   if ((error = ap_check_cmd_context(cmd, GLOBAL_ONLY)) != NULL)
   return error;
  -sconf = (rewrite_server_conf *)
  -ap_get_module_config(cmd-server-module_config, 
rewrite_module);
   
  -sconf-rewritelockfile = a1;
  +lockname = a1;
   
   return NULL;
   }
  @@ -2920,6 +2913,9 @@
   char buf[LONG_STRING_LEN];
   char c;
   int i;
  +#ifndef NO_WRITEV
  +struct iovec iov[2];
  +#endif
   
   /* when `RewriteEngine off' was used in the per-server
* context then the rewritemap-programs were not spawned.
  @@ -2934,8 +2930,16 @@
   rewritelock_alloc(r);
   
   /* write out the request key */
  +#ifdef NO_WRITEV
   write(fpin, key, strlen(key));
   write(fpin, \n, 1);
  +#else
  +iov[0].iov_base = key;
  +iov[0].iov_len = strlen(key);
  +iov[1].iov_base = \n;
  +iov[1].iov_len = 1;
  +writev(fpin, iov, 2);
  +#endif
   
   /* read in the response value */
   i = 0;
  @@ -3254,28 +3258,26 @@
   conf = ap_get_module_config(s-module_config, rewrite_module);
   
   /* only operate if a lockfile is used */
  -if (conf-rewritelockfile

cvs commit: apache-2.0/mpm/src/support/SHA1 - New directory

1999-08-06 Thread dgaudet
dgaudet 99/08/05 17:50:56

  apache-2.0/mpm/src/support/SHA1 - New directory


cvs commit: apache-2.0/mpm/src/support/SHA1 README.sha1 convert-sha1.pl htpasswd-sha1.pl ldif-sha1.example

1999-08-06 Thread dgaudet
dgaudet 99/08/05 17:56:10

  Modified:mpm  INSTALL Makefile.tmpl config.layout configure
   mpm/src  .gdbinit ApacheCore.dsp ApacheCore.mak
Configuration.tmpl Configure
   mpm/src/ap Makefile.tmpl ap_md5c.c
   mpm/src/helpers GuessOS TestCompile buildinfo.sh mkshadow.sh
   mpm/src/include ap.h ap_config.h ap_md5.h ap_mmn.h
http_conf_globals.h http_core.h httpd.h
   mpm/src/main buff.c http_connection.c http_core.c
http_main.c http_protocol.c rfc1413.c util.c
util_script.c util_uri.c
   mpm/src/modules/mpm/prefork prefork.c
   mpm/src/modules/proxy ApacheModuleProxy.dsp
ApacheModuleProxy.mak proxy_cache.c
   mpm/src/modules/standard .cvsignore mod_auth.c mod_auth_db.c
mod_auth_dbm.c mod_cgi.c mod_log_config.c
mod_rewrite.c mod_rewrite.h
   mpm/src/os/bs2000 Makefile.tmpl bs2login.c os.h
   mpm/src/os/tpf os.c os.h
   mpm/src/os/unix unixd.c
   mpm/src/os/win32 ApacheModuleRewrite.dsp
ApacheModuleRewrite.mak os.h registry.c
   mpm/src/regex debug.c main.c split.c
   mpm/src/support Makefile.tmpl README ab.c apxs.8 apxs.pl
htdigest.c htpasswd.1 htpasswd.c httpd.8 httpd.exp
suexec.c
  Added:   mpm/src/ap ap_checkpass.c ap_sha1.c
   mpm/src/include ap_sha1.h
   mpm/src/modules/standard mod_vhost_alias.c
   mpm/src/support/SHA1 README.sha1 convert-sha1.pl
htpasswd-sha1.pl ldif-sha1.example
  Log:
  merge the differences in apache-1.3 from tag apache-apr-merge-3 up
  to mpm-merge-1 onto the mpm tree
  
  prior to the merge, the mpm tree was tagged with apache-1_3-merge-1-pre
  and after the merge, the mpm tree will be tagged with apache-1_3-merge-1-post
  
  note: none of htdocs/manual is present in mpm at this point.
  
  Revision  ChangesPath
  1.2   +2 -2  apache-2.0/mpm/INSTALL
  
  Index: INSTALL
  ===
  RCS file: /home/cvs/apache-2.0/mpm/INSTALL,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- INSTALL   1999/06/18 18:39:11 1.1
  +++ INSTALL   1999/08/06 00:53:52 1.2
  @@ -83,7 +83,7 @@
  - FreeBSD   - Solaris   - AIX  - Mac OS
  - OpenBSD   - IRIX  - SCO  - OpenStep/Mach
  - NetBSD- HPUX  - ReliantUNIX
  -   - BSDI  - Digital Unix  
  +   - BSDI  - Digital Unix  - DGUX
   
   o Entirely unsupported platforms are:
  - Ultrix
  @@ -326,7 +326,7 @@
this way implicitly enables them itself). 

Note 1: The --enable-shared option DOES NOT AUTOMATICALLY enable the
  - module because there are variants like `--enable-shared=all'
  + module because there are variants like `--enable-shared=max'
which should not imply `--enable-module=all'.  
   
Note 2: Per default the DSO mechanism is globally disabled, i.e. no
  
  
  
  1.2   +7 -0  apache-2.0/mpm/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/Makefile.tmpl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.tmpl 1999/06/18 18:39:11 1.1
  +++ Makefile.tmpl 1999/08/06 00:53:52 1.2
  @@ -259,6 +259,7 @@
$(MKDIR) $(root)$(iconsdir)
$(MKDIR) $(root)$(cgidir)
$(MKDIR) $(root)$(includedir)
  + $(MKDIR) $(root)$(includedir)/xml
$(MKDIR) $(root)$(runtimedir)
$(MKDIR) $(root)$(logfiledir)
$(MKDIR) $(root)$(proxycachedir)
  @@ -277,6 +278,11 @@
[EMAIL PROTECTED] [ .`grep '^[ ]*AddModule.*mod_so\.o' 
$(TOP)/$(SRC)/Configuration.apaci` != . ]; then \
echo $(INSTALL_CORE) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET); \
$(INSTALL_CORE) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET); \
  + SHLIB_EXPORT_FILES=`grep '^SHLIB_EXPORT_FILES=' 
$(TOP)/$(SRC)/Makefile | sed -e 's:^.*=::'`; \
  + if [ .$${SHLIB_EXPORT_FILES} != . ]; then \
  + $(CP) $(TOP)/$(SRC)/support/httpd.exp 
$(root)$(libexecdir)/; \
  + chmod 644 $(root)$(libexecdir)/httpd.exp; \
  + fi; \
else \
echo $(INSTALL_PROGRAM) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET); \
$(INSTALL_PROGRAM) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET); \
  @@ -422,6 +428,7 @@
   install-include:
@echo === [include: Installing

cvs commit: apache-2.0/mpm/src/modules/standard mod_include.c

1999-08-06 Thread dgaudet
dgaudet 99/08/05 18:09:39

  Modified:mpm/src/modules/standard mod_include.c
  Log:
  doc TODO
  
  Revision  ChangesPath
  1.5   +3 -16 apache-2.0/mpm/src/modules/standard/mod_include.c
  
  Index: mod_include.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/modules/standard/mod_include.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- mod_include.c 1999/07/27 12:05:08 1.4
  +++ mod_include.c 1999/08/06 01:09:38 1.5
  @@ -111,6 +111,9 @@
   /* just need some arbitrary non-NULL pointer which can't also be a 
request_rec */
   #define NESTED_INCLUDE_MAGIC (includes_module)
   
  +/* TODO: changing directory should be handled by CreateProcess */
  +#define ap_chdir_file(x) do {} while(0)
  +
   /*  Environment function -- 
*/
   
   /* XXX: could use ap_table_overlap here */
  @@ -614,10 +617,7 @@
   }
   
   ap_destroy_sub_req(rr);
  -/*   changing directory should be handled by CreateProcess.
  -   #ifndef WIN32
   ap_chdir_file(r-filename);
  -#endif */
   
   return 0;
   }
  @@ -737,10 +737,7 @@
   if (!error_fmt  ap_run_sub_req(rr)) {
   error_fmt = unable to include \%s\ in parsed file %s;
   }
  -/*   changing directory should be handled by CreateProcess.
  - #ifndef WIN32
   ap_chdir_file(r-filename);
  - #endif*/
   if (error_fmt) {
   ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR,
r, error_fmt, tag_val, r-filename);
  @@ -897,10 +894,7 @@
   ap_rputs(error, r);
   }
   /* just in case some stooge changed directories */
  -/*   changing directory should be handled by CreateProcess.  
  -#ifndef WIN32
   ap_chdir_file(r-filename);
  - #endif*/
   }
   else if (!strcmp(tag, cgi)) {
   parse_string(r, tag_val, parsed_string, sizeof(parsed_string), 
0);
  @@ -909,11 +903,7 @@
   invalid CGI ref \%s\ in %s, tag_val, file);
   ap_rputs(error, r);
   }
  -/* grumble groan */
  - /*   changing directory should be handled by CreateProcess.
  -#ifndef WIN32
   ap_chdir_file(r-filename);
  - #endif*/
   }
   else if (!strcmp(tag, done)) {
   return 0;
  @@ -2163,10 +2153,7 @@
   printing = conditional_status = 1;
   if_nesting = 0;
   
  -/*   changing directory should be handled by CreateProcess.
  -#ifndef WIN32
   ap_chdir_file(r-filename);
  -#endif*/
   if (r-args) {  /* add QUERY stuff to env cause it ain't yet 
*/
   char *arg_copy = ap_pstrdup(r-pool, r-args);
   
  
  
  


cvs commit: apache-1.3/src/modules/standard mod_access.c

1999-08-06 Thread dgaudet
dgaudet 99/08/05 18:37:59

  Modified:src  CHANGES
   src/modules/standard mod_access.c
  Log:
  CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
  properly... mask off the host bits of the address.
  
  PR:   4770
  Submitted by: Paul J. Reder [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1410+4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1409
  retrieving revision 1.1410
  diff -u -r1.1409 -r1.1410
  --- CHANGES   1999/08/03 09:27:25 1.1409
  +++ CHANGES   1999/08/06 01:37:56 1.1410
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.8
   
  +  *) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
  + properly in mod_access.
  + [Paul J. Reder [EMAIL PROTECTED]] PR#4770
  +
 *) RewriteLock/RewriteMap didn't work properly with virtual hosts.
[Dmitry Khrustalev [EMAIL PROTECTED]] PR#3874
   
  
  
  
  1.39  +1 -1  apache-1.3/src/modules/standard/mod_access.c
  
  Index: mod_access.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_access.c,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- mod_access.c  1999/01/01 19:05:06 1.38
  +++ mod_access.c  1999/08/06 01:37:58 1.39
  @@ -202,7 +202,7 @@
mask = htonl(mask);
}
a-x.ip.mask = mask;
  -
  +a-x.ip.net  = (a-x.ip.net  mask);   /* pjr - This fixes PR 4770 */
   }
   else if (ap_isdigit(*where)  is_ip(where)) {
/* legacy syntax for ip addrs: a.b.c. == a.b.c.0/24 for example */
  
  
  


cvs commit: apache-2.0/mpm/src/main alloc.c

1999-08-06 Thread dgaudet
dgaudet 99/08/05 18:56:25

  Modified:mpm/src/main alloc.c
  Log:
  Remove a difference with 1.3's alloc.c ... the root_pool stuff was an
  experiment I tried with apache-nspr, and it really didn't win much.
  The idea was to have a free list per thread.  But in practice that's
  too many free lists, too much memory sitting around doing squat.  If
  we have lock contention on the alloc mutex then we might consider a
  handful, say 8, free lists, and use tid % 8 to figure out which one
  to go after.
  
  Revision  ChangesPath
  1.7   +23 -50apache-2.0/mpm/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/main/alloc.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- alloc.c   1999/07/06 21:32:09 1.6
  +++ alloc.c   1999/08/06 01:56:25 1.7
  @@ -179,7 +179,6 @@
   
   struct process_chain;
   struct cleanup;
  -struct root_pool;
   
   struct pool {
   union block_hdr *first;
  @@ -190,7 +189,6 @@
   struct pool *sub_next;
   struct pool *sub_prev;
   struct pool *parent;
  -struct root_pool *thread_root;   /* the root pool for this thread */
   char *free_first_avail;
   #ifdef ALLOC_USE_MALLOC
   void *allocation_list;
  @@ -200,13 +198,6 @@
   #endif
   };
   
  -/* there's really no difference between a root_pool and a regular pool
  - * at the moment.
  - */
  -typedef struct root_pool {
  -struct pool p;
  -} root_pool;
  -
   
   static union block_hdr *block_freelist = NULL;
   static ap_thread_mutex *alloc_mutex;
  @@ -320,7 +311,7 @@
   #endif
   
   
  -static void free_blocks(root_pool *root,union block_hdr *blok)
  +static void free_blocks(union block_hdr *blok)
   {
   #ifdef ALLOC_USE_MALLOC
   union block_hdr *next;
  @@ -422,7 +413,7 @@
   return blok;
   }
   
  -static ap_inline union block_hdr *new_local_block(root_pool *root, int 
min_size)
  +static ap_inline union block_hdr *new_local_block(int min_size)
   {
   union block_hdr *blok;
   
  @@ -465,32 +456,6 @@
* gets taken off the parent's sub-pool list...
*/
   
  -#define ROOT_HDR_CLICKS (1 + ((sizeof(struct root_pool) - 1) / CLICK_SZ))
  -#define ROOT_HDR_BYTES (ROOT_HDR_CLICKS * CLICK_SZ)
  -
  -API_EXPORT(struct pool *) ap_make_root_pool(void)
  -{
  -union block_hdr *blok;
  -root_pool *new_pool;
  -
  -(void) ap_thread_mutex_lock(alloc_mutex);
  -
  -blok = new_block(ROOT_HDR_BYTES);
  -new_pool = (root_pool *) blok-h.first_avail;
  -blok-h.first_avail += ROOT_HDR_BYTES;
  -#ifdef POOL_DEBUG
  -blok-h.owning_pool = (new_pool-p);
  -#endif
  -
  -memset(new_pool, 0, sizeof(*new_pool));
  -new_pool-p.free_first_avail = blok-h.first_avail;
  -new_pool-p.first = new_pool-p.last = blok;
  -new_pool-p.thread_root = new_pool;
  -
  -(void) ap_thread_mutex_unlock(alloc_mutex);
  -return (pool *)new_pool;
  -}
  -
   static pool *permanent_pool;
   
   /* Each pool structure is allocated in the start of its own first block,
  @@ -508,7 +473,7 @@
   union block_hdr *blok;
   pool *new_pool;
   
  -blok = new_local_block(p-thread_root, POOL_HDR_BYTES);
  +blok = new_local_block(POOL_HDR_BYTES);
   new_pool = (pool *) blok-h.first_avail;
   blok-h.first_avail += POOL_HDR_BYTES;
   #ifdef POOL_DEBUG
  @@ -519,12 +484,13 @@
   new_pool-free_first_avail = blok-h.first_avail;
   new_pool-first = new_pool-last = blok;
   
  -new_pool-thread_root = p-thread_root;
  -new_pool-parent = p;
  -new_pool-sub_next = p-sub_pools;
  -if (new_pool-sub_next)
  -  new_pool-sub_next-sub_prev = new_pool;
  -p-sub_pools = new_pool;
  +if (p) {
  + new_pool-parent = p;
  + new_pool-sub_next = p-sub_pools;
  + if (new_pool-sub_next)
  + new_pool-sub_next-sub_prev = new_pool;
  + p-sub_pools = new_pool;
  +}
   
   return new_pool;
   }
  @@ -569,7 +535,7 @@
   #ifdef WIN32
   spawn_mutex = ap_thread_mutex_new();
   #endif
  -permanent_pool = ap_make_root_pool();
  +permanent_pool = ap_make_sub_pool(NULL);
   #ifdef ALLOC_STATS
   atexit(dump_stats);
   #endif
  @@ -591,7 +557,7 @@
   a-cleanups = NULL;
   free_proc_chain(a-subprocesses);
   a-subprocesses = NULL;
  -free_blocks(a-thread_root, a-first-h.next);
  +free_blocks(a-first-h.next);
   a-first-h.next = NULL;
   
   a-last = a-first;
  @@ -616,6 +582,15 @@
   {
   ap_clear_pool(a);
   
  +/* XXX: I don't think this mutex is required here.  In theory,
  + our plan is that upon thread creation, the creator thread
  + will create a pool A which it will hand the created thread.
  + The created thread then can create any subpools of A it
  + wants, and it doesn't need any locks to do this... and it
  + can destroy any subpool of A it desires -- it just can't
  + destroy A itself.  When

cvs commit: apache-1.3/src/main http_config.c

1999-08-06 Thread dgaudet
dgaudet 99/08/06 09:21:34

  Modified:src  CHANGES
   src/main http_config.c
  Log:
  Fix a memory leak where the module counts were getting messed
  up across restarts.
  
  Submitted by: David Harris [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1411+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1410
  retrieving revision 1.1411
  diff -u -r1.1410 -r1.1411
  --- CHANGES   1999/08/06 01:37:56 1.1410
  +++ CHANGES   1999/08/06 16:21:28 1.1411
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.8
   
  +  *) Fix a memory leak where the module counts were getting messed
  + up across restarts.  [David Harris [EMAIL PROTECTED]]
  +
 *) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
properly in mod_access.
[Paul J. Reder [EMAIL PROTECTED]] PR#4770
  
  
  
  1.146 +1 -0  apache-1.3/src/main/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_config.c,v
  retrieving revision 1.145
  retrieving revision 1.146
  diff -u -r1.145 -r1.146
  --- http_config.c 1999/05/07 00:16:11 1.145
  +++ http_config.c 1999/08/06 16:21:33 1.146
  @@ -625,6 +625,7 @@
   m-module_index = -1;/* simulate being unloaded, should
 * be unnecessary */
   dynamic_modules--;
  +total_modules--;
   }
   
   API_EXPORT(void) ap_add_loaded_module(module *mod)
  
  
  


cvs commit: apache-1.3/src/test check_chunked

1999-08-13 Thread dgaudet
dgaudet 99/08/12 17:51:35

  Modified:src/test check_chunked
  Log:
  newer perls complain about \r in hex, whatever
  
  Revision  ChangesPath
  1.3   +2 -2  apache-1.3/src/test/check_chunked
  
  Index: check_chunked
  ===
  RCS file: /home/cvs/apache-1.3/src/test/check_chunked,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- check_chunked 1998/02/07 21:14:18 1.2
  +++ check_chunked 1999/08/13 00:51:35 1.3
  @@ -24,9 +24,9 @@
   for(;;) {
   $_ =  || die unexpected end of file!\n;
   
  -m#^[0-9a-f]+ *\r$#i || die bogus chunklen: $_;
  +m#^([0-9a-f]+) *\r$#i || die bogus chunklen: $_;
   
  -my $chunklen = hex;
  +my $chunklen = hex($1);
   
   exit 0 if ($chunklen == 0);
   
  
  
  


cvs commit: apache-1.3/htdocs index.html.en

1999-11-01 Thread dgaudet
dgaudet 99/11/01 13:48:49

  Modified:htdocs   index.html.en
  Log:
  i asked a friend who does interface design to comment on the it worked
  page.  i liked what he had to say.
  
   From: James Home [EMAIL PROTECTED]
  
   reading over the page, it appears that the primary audience for the
   page is the person who's installing Apache. this doesn't really make
   sense though; the only information it's necessary to convey to that
   person is that the server is working, and the simple presence of the
   page does that.  sure, there are the links to the Apache homepage and
   to documentation, but those don't require much prominence; if someone
   is looking for them, they're easy to find.
  
   I'd say that the primary audience for the *information* on the page
   is the poor befuddled user who doesn't know an Apache helicopter from
   an Apache web server and wants to know what happened to the website
   they've spent weeks working on.
  
   so how is a user like that going to experience the page?
  
   - a logo that they don't recognize at the bottom of the page
   apparently claiming responsibility for it;
  
   - some confusing It Worked! message at the top of the page;
  
   - a somewhat threatening and vague message that, despite the fact
   that this page is all about this mysterious software called Apache
   (note that it isn't explained that Apache is web server software
   until the very last line of small text), Apache isn't responsible for
   the site, and I should contact the administrator of the site
   involved (of course, if I was an end user who didn't understand how
   web servers work, I would assume *I* was the administrator of my
   site, leaving only this mysterious organization to contact).
  
   - clicking on the most prominent link takes me to another page that
   doesn't specifically mention web servers.  there's a contact link
   though, which takes me to the page with the email address and Sally's
   phone number.
  
   I did a quick mockup to demonstrate how I think this might work better:
  
   http://www.vagabondage.com/~jim/apache/worked2.html
  
  Submitted by: James Home [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.2   +26 -38apache-1.3/htdocs/index.html.en
  
  Index: index.html.en
  ===
  RCS file: /home/cvs/apache-1.3/htdocs/index.html.en,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.html.en 1999/08/27 15:08:02 1.1
  +++ index.html.en 1999/11/01 21:48:49 1.2
  @@ -1,7 +1,7 @@
   !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 3.2 Final//EN
   HTML
HEAD
  -  TITLETest Page for Apache Installation on Web Site/TITLE
  +  TITLETest Page for Apache Installation/TITLE
/HEAD
   !-- Background white, links blue (unvisited), navy (visited), red (active) 
--
BODY
  @@ -11,41 +11,29 @@
 VLINK=#80
 ALINK=#FF

  -  H1 ALIGN=CENTER
  -   It Worked!  The Apache Web Server is Installed on this Web Site!
  -  /H1
  -  P
  -  If you can see this page, then the people who own this domain have just
  -  installed the A HREF=http://www.apache.org/httpd;Apache Web server/A
  -  software successfully.  They now have to add content to this directory
  -  and replace this placeholder page, or else point the server at their real
  -  content.
  -  /P
  -  HR
  -  BLOCKQUOTE
  -   If you are seeing this page instead of the site you expected, please
  -   STRONGcontact the administrator of the site involved./STRONG
  -   (Try sending mail to SAMPlt;Webmaster@EMdomain/EMgt;/SAMP.)
  -   Although this site is
  -   running the Apache software it almost certainly has no other connection
  -   to the Apache Group, so please do not send mail about this site or its
  -   contents to the Apache authors.  If you do, your message will be
  -   STRONGBIGignored/BIG/STRONG.
  -  /BLOCKQUOTE
  -  HR
  -  P
  -  The Apache
  -  A
  -   HREF=manual/index.html
  -  documentation/A
  -  has been included with this distribution.
  -  /P
  -  P
  -  The Webmaster of this site is free to use the image below on
  -  an Apache-powered Web server.  Thanks for using Apache!
  -  /P
  -  DIV ALIGN=CENTER
  -   IMG SRC=apache_pb.gif ALT=
  -  /DIV
  - /BODY
  +
  +
  +P
  +If you can see this, it means that the installation of the A 
HREF=http://www.apache.org/;Apache/A web server software on this system was 
successful.  You may now add content to this directory and replace this page.
  +
  +PHR WIDTH=50% SIZE=8
  +
  +H2 ALIGN=CENTERSeeing this instead of the website you expected?/H2
  +
  +P
  +This page is here because the site administrator has changed the 
configuration of this web server.  
  +Please  STRONGcontact the person responsible for maintaining this server 
with questions./STRONG   The Apache Software Foundation, which wrote the web 
server software this site administrator is using, has nothing to do with 
maintaining this site and cannot

cvs commit: apache-1.3/cgi-bin printenv

1999-11-24 Thread dgaudet
dgaudet 99/11/24 10:11:00

  Modified:cgi-bin  printenv
  Log:
  no comment on the rest of this... but this is for debugging, and i don't
  want a debugging tool losing information for me for the sake of looking
  good.
  
  Revision  ChangesPath
  1.5   +0 -1  apache-1.3/cgi-bin/printenv
  
  Index: printenv
  ===
  RCS file: /home/cvs/apache-1.3/cgi-bin/printenv,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- printenv  1999/11/24 13:38:55 1.4
  +++ printenv  1999/11/24 18:10:58 1.5
  @@ -8,7 +8,6 @@
   $val = $ENV{$var};
   $val =~ s|\n|\\n|g;
   $val =~ s||\\|g;
  -$val = substr($val, 0, 100).'[...]' if (length($val)  100);
   print ${var}=\${val}\\n;
   }
   
  
  
  


cvs commit: apache-2.0 STATUS

1999-11-30 Thread dgaudet
dgaudet 99/11/29 16:52:32

  Modified:.STATUS
  Log:
  more accurate reflection of reality
  
  Revision  ChangesPath
  1.20  +4 -2  apache-2.0/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-2.0/STATUS,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- STATUS1999/11/30 00:10:23 1.19
  +++ STATUS1999/11/30 00:52:30 1.20
  @@ -1,5 +1,5 @@
   Apache 2.0 STATUS:
  -Last modified at [$Date: 1999/11/30 00:10:23 $]
  +Last modified at [$Date: 1999/11/30 00:52:30 $]
   
   Release:
   
  @@ -125,7 +125,9 @@
   * Work on other MPMs. Possible MPMs discussed or in progress include:
   
 - Dean Gaudet's async MPM
  -  Status: ?
  +  Status: dean is unlikely to begin work on this any time soon...
  + has lots of ideas he'll share with folks willing to begin
  + tackling the issues.  this is apache 2.1 material.
   
 - Zach Brown's [EMAIL PROTECTED] Linux siginfo MPM
 Status: ?
  
  
  


cvs commit: apache-2.0/src/modules/standard mod_rewrite.c mod_rewrite.h

1999-12-31 Thread dgaudet
dgaudet 99/12/30 21:03:34

  Modified:src  CHANGES
   src/modules/standard mod_rewrite.c mod_rewrite.h
  Log:
  port mod_rewrite to 2.0
  
  Submitted by: Paul J. Reder [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.20  +2 -0  apache-2.0/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-2.0/src/CHANGES,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- CHANGES   1999/12/21 11:33:21 1.19
  +++ CHANGES   1999/12/31 05:03:32 1.20
  @@ -1,5 +1,7 @@
   Changes with Apache 2.0-dev
   
  +  *) port mod_rewrite to 2.0. [Paul J. Reder [EMAIL PROTECTED]]
  +
 *) More rigorous checking of Host: headers to fix security problems
with mass name-based virtual hosting (whether using mod_rewrite
or mod_vhost_alias).
  
  
  
  1.6   +234 -202  apache-2.0/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===
  RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- mod_rewrite.c 1999/10/22 16:01:27 1.5
  +++ mod_rewrite.c 1999/12/31 05:03:33 1.6
  @@ -89,8 +89,18 @@
   */
   
   
  +#include httpd.h
  +#include http_config.h
  +#include http_request.h
  +#include http_core.h
  +#include http_log.h
  +#include http_protocol.h
   #include mod_rewrite.h
   
  +#if !defined(OS2)  !defined(WIN32)
  +#include unixd.h
  +#endif
  +
   #ifndef NO_WRITEV
   #include sys/types.h
   #include sys/uio.h
  @@ -183,27 +193,26 @@
   { NULL }
   };
   
  +static void register_hooks(void)
  +{
  +ap_hook_post_config(init_module,NULL,NULL,HOOK_MIDDLE);
  +ap_hook_child_init(init_child,NULL,NULL,HOOK_MIDDLE);
  +
  +ap_hook_fixups(hook_fixup,NULL,NULL,HOOK_FIRST);
  +ap_hook_translate_name(hook_uri2file,NULL,NULL,HOOK_FIRST);
  +ap_hook_type_checker(hook_mimetype,NULL,NULL,HOOK_MIDDLE);
  +}
  +
   /* the main config structure */
   module MODULE_VAR_EXPORT rewrite_module = {
  -   STANDARD_MODULE_STUFF,
  -   init_module, /* module initializer  */
  +   STANDARD20_MODULE_STUFF,
  config_perdir_create,/* create per-dirconfig structures */
  config_perdir_merge, /* merge  per-dirconfig structures */
  config_server_create,/* create per-server config structures */
  config_server_merge, /* merge  per-server config structures */
  -   command_table,   /* ap_table_t of config file commands   
*/
  +   command_table,   /* ap_table_t of config file commands  */
  handler_table,   /* [#8] MIME-typed-dispatched handlers */
  -   hook_uri2file,   /* [#1] URI to filename translation*/
  -   NULL,/* [#4] validate user id from request  */
  -   NULL,/* [#5] check if the user is ok _here_ */
  -   NULL,/* [#3] check access by host address   */
  -   hook_mimetype,   /* [#6] determine MIME type*/
  -   hook_fixup,  /* [#7] pre-run fixups */
  -   NULL,/* [#9] log a transaction  */
  -   NULL,/* [#2] header parser  */
  -   init_child,  /* child_init  */
  -   NULL,/* child_exit  */
  -   NULL /* [#0] post read-request  */
  +   register_hooks   /* register hooks  */
   };
   
   /* the cache */
  @@ -211,9 +220,10 @@
   
   /* whether proxy module is available or not */
   static int proxy_available;
  +static int once_through = 0;
   
  -static char *lockname;
  -static int lockfd = -1;
  +static const char *lockname;
  +static ap_file_t *lockfd = NULL;
   
   /*
   ** +---+
  @@ -238,7 +248,7 @@
   a-state   = ENGINE_DISABLED;
   a-options = OPTION_NONE;
   a-rewritelogfile  = NULL;
  -a-rewritelogfp= -1;
  +a-rewritelogfp= NULL;
   a-rewriteloglevel = 0;
   a-rewritemaps = ap_make_array(p, 2, sizeof(rewritemap_entry));
   a-rewriteconds= ap_make_array(p, 2, sizeof(rewritecond_entry));
  @@ -271,7 +281,7 @@
   a-rewritelogfile  = overrides-rewritelogfile != NULL 
? overrides-rewritelogfile
: base-rewritelogfile;
  -a-rewritelogfp= overrides-rewritelogfp != -1 
  +a-rewritelogfp= overrides-rewritelogfp != NULL 
? overrides-rewritelogfp 
: base-rewritelogfp;
   a-rewritemaps

cvs commit: apache-2.0/src/modules/standard mod_rewrite.c mod_rewrite.h

1999-12-31 Thread dgaudet
dgaudet 99/12/30 21:05:29

  Modified:src/modules/standard mod_rewrite.c mod_rewrite.h
  Log:
  merge 1.3 changes to rewrite forward onto 2.0
  
  Submitted by: Paul J. Reder [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.7   +89 -61apache-2.0/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===
  RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- mod_rewrite.c 1999/12/31 05:03:33 1.6
  +++ mod_rewrite.c 1999/12/31 05:05:27 1.7
  @@ -102,7 +102,9 @@
   #endif
   
   #ifndef NO_WRITEV
  +#ifndef NETWARE
   #include sys/types.h
  +#endif
   #include sys/uio.h
   #endif
   
  @@ -1145,13 +1147,19 @@
   return OK;
   }
   else if (  (strlen(r-filename)  7 
  -strncasecmp(r-filename, http://;, 7) == 0)
  +strncasecmp(r-filename, http://;,   7) == 0)
   || (strlen(r-filename)  8 
  -strncasecmp(r-filename, https://;, 8) == 0)
  +strncasecmp(r-filename, https://;,  8) == 0)
   || (strlen(r-filename)  9 
   strncasecmp(r-filename, gopher://;, 9) == 0)
   || (strlen(r-filename)  6 
  -strncasecmp(r-filename, ftp://;, 6) == 0)) {
  +strncasecmp(r-filename, ftp://;,6) == 0)
  +|| (strlen(r-filename)  5 
  +strncasecmp(r-filename, ldap:, 5) == 0)
  +|| (strlen(r-filename)  5 
  +strncasecmp(r-filename, news:;, 5) == 0)
  +|| (strlen(r-filename)  7 
  +strncasecmp(r-filename, mailto:;,   7) == 0)) {
   /* it was finally rewritten to a remote URL */
   
   /* skip 'scheme:' */
  @@ -1171,8 +1179,8 @@
   
   /* append the QUERY_STRING part */
   if (r-args != NULL) {
  -   r-filename = ap_pstrcat(r-pool, r-filename,
  -?, r-args, NULL);
  +r-filename = ap_pstrcat(r-pool, r-filename, ?, 
  + ap_escape_uri(r-pool, r-args), 
NULL);
   }
   
   /* determine HTTP redirect response code */
  @@ -1216,7 +1224,7 @@
   /* it was finally rewritten to a local path */
   
   /* expand /~user prefix */
  -#ifndef WIN32
  +#if !defined(WIN32)  !defined(NETWARE)
   r-filename = expand_tildepaths(r, r-filename);
   #endif
   rewritelog(r, 2, local path result: %s, r-filename);
  @@ -1389,9 +1397,7 @@
* (r-path_info was already appended by the
* rewriting engine because of the per-dir context!)
*/
  -if (r-args != NULL
  - r-uri == r-unparsed_uri) {
  -/* see proxy_http:proxy_http_canon() */
  +if (r-args != NULL) {
   r-filename = ap_pstrcat(r-pool, r-filename,
?, r-args, NULL);
   }
  @@ -1405,13 +1411,19 @@
   return OK;
   }
   else if (  (strlen(r-filename)  7 
  -strncmp(r-filename, http://;, 7) == 0)
  -|| (strlen(r-filename)  8 
  -strncmp(r-filename, https://;, 8) == 0)
  +strncasecmp(r-filename, http://;,   7) == 0)
  +|| (strlen(r-filename)  8   
  +strncasecmp(r-filename, https://;,  8) == 0)
   || (strlen(r-filename)  9 
  -strncmp(r-filename, gopher://;, 9) == 0)
  +strncasecmp(r-filename, gopher://;, 9) == 0)
   || (strlen(r-filename)  6 
  -strncmp(r-filename, ftp://;, 6) == 0)) {
  +strncasecmp(r-filename, ftp://;,6) == 0)
  +|| (strlen(r-filename)  5 
  +strncasecmp(r-filename, ldap:, 5) == 0)
  +|| (strlen(r-filename)  5 
  +strncasecmp(r-filename, news:;, 5) == 0)
  +|| (strlen(r-filename)  7 
  +strncasecmp(r-filename, mailto:;,   7) == 0)) {
   /* it was finally rewritten to a remote URL */
   
   /* because we are in a per-dir context
  @@ -1460,8 +1472,8 @@
   
   /* append the QUERY_STRING part */
   if (r-args != NULL) {
  -r-filename = ap_pstrcat(r-pool, r-filename,
  - ?, r-args, NULL);
  +r-filename = ap_pstrcat(r-pool, r-filename, ?, 
  + ap_escape_uri(r-pool, r-args), 
NULL);
   }
   
   /* determine HTTP

cvs commit: apache-2.0/src/lib/apr/time/unix timestr.c

1999-12-31 Thread dgaudet
dgaudet 99/12/30 21:09:22

  Modified:src/lib/apr/include apr_time.h
   src/lib/apr/time/unix timestr.c
  Log:
  retsize should be ap_size_t, not hardwired to 32 bits
  
  Revision  ChangesPath
  1.8   +1 -1  apache-2.0/src/lib/apr/include/apr_time.h
  
  Index: apr_time.h
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_time.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- apr_time.h1999/12/30 18:31:27 1.7
  +++ apr_time.h1999/12/31 05:09:20 1.8
  @@ -77,7 +77,7 @@
   ap_status_t ap_implode_time(ap_time_t *);
   
   ap_status_t ap_timestr(char **date_str, struct atime_t *t, ap_timetype_e 
type, ap_context_t *p);
  -ap_status_t ap_strftime(char *s, ap_int32_t *retsize, ap_size_t max, const 
char *format, ap_time_t *tm);
  +ap_status_t ap_strftime(char *s, ap_size_t *retsize, ap_size_t max, const 
char *format, ap_time_t *tm);
   
   /* accessor functions */
   ap_status_t ap_get_curtime(ap_time_t *, ap_int64_t *);
  
  
  
  1.4   +1 -1  apache-2.0/src/lib/apr/time/unix/timestr.c
  
  Index: timestr.c
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/time/unix/timestr.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- timestr.c 1999/12/30 18:31:28 1.3
  +++ timestr.c 1999/12/31 05:09:21 1.4
  @@ -126,7 +126,7 @@
   */
   }
   
  -ap_status_t ap_strftime(char *s, ap_int32_t *retsize, ap_size_t max, 
  +ap_status_t ap_strftime(char *s, ap_size_t *retsize, ap_size_t max, 
   const char *format, struct atime_t *tm)
   {
   (*retsize) = strftime(s, max, format, tm-explodedtime);
  
  
  


cvs commit: apache-2.0/src/modules/standard mod_autoindex.c mod_cgi.c mod_cgid.c mod_expires.c mod_include.c mod_log_config.c mod_rewrite.c mod_status.c mod_usertrack.c

2000-01-09 Thread dgaudet
dgaudet 00/01/08 21:18:34

  Modified:src  modules.c
   src/include http_protocol.h http_request.h httpd.h
util_date.h
   src/lib/apr/file_io/unix filestat.c
   src/lib/apr/include apr_file_io.h apr_time.h
   src/lib/apr/test ab_apr.c testtime.c
   src/lib/apr/time/unix Makefile.in time.c timestr.c
   src/main http_core.c http_log.c http_protocol.c
http_request.c util.c util_date.c util_script.c
   src/modules/experimental Makefile.tmpl
   src/modules/standard mod_autoindex.c mod_cgi.c mod_cgid.c
mod_expires.c mod_include.c mod_log_config.c
mod_rewrite.c mod_status.c mod_usertrack.c
  Removed: src/lib/apr/time/unix access.c
  Log:
  time overhaul:
  
  - ap_time_t is a 64-bit scalar, microseconds since epoch
  - ap_exploded_time_t corresponds to struct tm with a few extras
  
  probably broken on anything except linux.
  
  Revision  ChangesPath
  1.4   +12 -3 apache-2.0/src/Attic/modules.c
  
  Index: modules.c
  ===
  RCS file: /home/cvs/apache-2.0/src/Attic/modules.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- modules.c 1999/12/05 19:33:27 1.3
  +++ modules.c 2000/01/09 05:18:15 1.4
  @@ -7,7 +7,6 @@
   #include http_config.h
   
   extern module core_module;
  -extern module mpm_mpmt_pthread_module;
   extern module env_module;
   extern module config_log_module;
   extern module mime_module;
  @@ -21,10 +20,14 @@
   extern module action_module;
   extern module userdir_module;
   extern module alias_module;
  +extern module rewrite_module;
   extern module access_module;
   extern module auth_module;
  +extern module expires_module;
  +extern module usertrack_module;
   extern module setenvif_module;
   extern module echo_module;
  +extern module mpm_mpmt_pthread_module;
   
   /*
*  Modules which implicitly form the
  @@ -35,7 +38,6 @@
*/
   module *ap_prelinked_modules[] = {
 core_module,
  -  mpm_mpmt_pthread_module,
 env_module,
 config_log_module,
 mime_module,
  @@ -49,10 +51,14 @@
 action_module,
 userdir_module,
 alias_module,
  +  rewrite_module,
 access_module,
 auth_module,
  +  expires_module,
  +  usertrack_module,
 setenvif_module,
 echo_module,
  +  mpm_mpmt_pthread_module,
 NULL
   };
   
  @@ -65,7 +71,6 @@
*/
   module *ap_preloaded_modules[] = {
 core_module,
  -  mpm_mpmt_pthread_module,
 env_module,
 config_log_module,
 mime_module,
  @@ -79,10 +84,14 @@
 action_module,
 userdir_module,
 alias_module,
  +  rewrite_module,
 access_module,
 auth_module,
  +  expires_module,
  +  usertrack_module,
 setenvif_module,
 echo_module,
  +  mpm_mpmt_pthread_module,
 NULL
   };
   
  
  
  
  1.10  +1 -1  apache-2.0/src/include/http_protocol.h
  
  Index: http_protocol.h
  ===
  RCS file: /home/cvs/apache-2.0/src/include/http_protocol.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- http_protocol.h   1999/12/20 16:38:31 1.9
  +++ http_protocol.h   2000/01/09 05:18:16 1.10
  @@ -118,7 +118,7 @@
   
   API_EXPORT(int) ap_set_content_length(request_rec *r, long length);
   API_EXPORT(int) ap_set_keepalive(request_rec *r);
  -API_EXPORT(ap_time_t *) ap_rationalize_mtime(request_rec *r, ap_time_t 
*mtime);
  +API_EXPORT(ap_time_t) ap_rationalize_mtime(request_rec *r, ap_time_t mtime);
   API_EXPORT(char *) ap_make_etag(request_rec *r, int force_weak);
   API_EXPORT(void) ap_set_etag(request_rec *r);
   API_EXPORT(void) ap_set_last_modified(request_rec *r);
  
  
  
  1.5   +1 -1  apache-2.0/src/include/http_request.h
  
  Index: http_request.h
  ===
  RCS file: /home/cvs/apache-2.0/src/include/http_request.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- http_request.h1999/12/20 16:38:31 1.4
  +++ http_request.h2000/01/09 05:18:16 1.5
  @@ -104,7 +104,7 @@
   API_EXPORT(void) ap_internal_redirect_handler(const char *new_uri, 
request_rec *);
   API_EXPORT(int) ap_some_auth_required(request_rec *r);
   API_EXPORT(int) ap_is_initial_req(request_rec *r);
  -API_EXPORT(ap_time_t *) ap_update_mtime(request_rec *r, ap_time_t 
*dependency_mtime);
  +API_EXPORT(void) ap_update_mtime(request_rec *r, ap_time_t dependency_mtime);
   
   #ifdef CORE_PRIVATE
   /* Function called by main.c to handle first-level request */
  
  
  
  1.18  +4 -4  apache-2.0/src/include/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /home/cvs/apache-2.0/src/include/httpd.h,v
  retrieving

cvs commit: apache-2.0/src/lib/apr/test .cvsignore

2000-01-09 Thread dgaudet
dgaudet 00/01/08 21:19:04

  Modified:src/lib/apr/test .cvsignore
  Log:
  more stuff to ignore
  
  Revision  ChangesPath
  1.2   +12 -0 apache-2.0/src/lib/apr/test/.cvsignore
  
  Index: .cvsignore
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/test/.cvsignore,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- .cvsignore1999/08/17 15:59:49 1.1
  +++ .cvsignore2000/01/09 05:19:02 1.2
  @@ -1 +1,13 @@
   Makefile
  +testmmap
  +htdigest
  +ab
  +testcontext
  +testargs
  +testtime
  +testthread
  +client
  +server
  +testsock
  +testproc
  +testfile
  
  
  


cvs commit: apache-2.0/src modules.c

2000-01-09 Thread dgaudet
dgaudet 00/01/08 21:23:22

  Removed: src  modules.c
  Log:
  what?


cvs commit: apache-site/contributors index.html

2000-02-23 Thread dgaudet
dgaudet 00/02/23 12:23:16

  Modified:contributors index.html
  Log:
  remove excess redundancy
  
  Revision  ChangesPath
  1.89  +2 -2  apache-site/contributors/index.html
  
  Index: index.html
  ===
  RCS file: /home/cvs/apache-site/contributors/index.html,v
  retrieving revision 1.88
  retrieving revision 1.89
  diff -u -r1.88 -r1.89
  --- index.html2000/02/18 22:57:43 1.88
  +++ index.html2000/02/23 20:23:15 1.89
  @@ -299,8 +299,8 @@
   
   STRONGName:/STRONG A NAME=dgaudetDean Gaudet/ABR
   !-- I hate mailto:s because of spiders that collect them for spam --
  -STRONGEmail:/STRONG [EMAIL PROTECTED]BR
  -STRONGURL:/STRONG A 
HREF=http://www.arctic.org/~dgaudet/;http://www.arctic.org/~dgaudet//ABR
  +STRONGEmail:/STRONG [EMAIL PROTECTED]BR
  +STRONGURL:/STRONG A 
HREF=http://arctic.org/~dean/;http://arctic.org/~dean//ABR
   STRONGOrganization:/STRONG A HREF=http://www.cp.net/;Critical Path/A
   BR
   STRONGOccupation:/STRONG Sr. Software EngineerBR
  
  
  


<    2   3   4   5   6   7