cvs commit: apache-site related_projects.html

1998-07-14 Thread dgaudet
dgaudet 98/07/14 01:27:43

  Modified:.related_projects.html
  Log:
  fix missing tag
  
  Revision  ChangesPath
  1.30  +1 -1  apache-site/related_projects.html
  
  Index: related_projects.html
  ===
  RCS file: /export/home/cvs/apache-site/related_projects.html,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- related_projects.html 1998/07/14 08:26:20 1.29
  +++ related_projects.html 1998/07/14 08:27:42 1.30
  @@ -150,7 +150,7 @@
   /BLOCKQUOTE
   
   HR
  -H3A NAME=quickrefApache Quick Reference Card/A
  +H3A NAME=quickrefApache Quick Reference Card/A/h3
   
   BLOCKQUOTE
   A compact, tri-fold double-sided page listing all major directives, 
available at
  
  
  


cvs commit: apache-1.3/src/modules/test Makefile.tmpl

1998-07-20 Thread dgaudet
dgaudet 98/07/20 09:20:24

  Modified:src/modules/test Makefile.tmpl
  Log:
  dependency update, this won't compile in 1.3.1
  
  Revision  ChangesPath
  1.11  +10 -10apache-1.3/src/modules/test/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/test/Makefile.tmpl,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Makefile.tmpl 1998/07/09 00:08:46 1.10
  +++ Makefile.tmpl 1998/07/20 16:20:23 1.11
  @@ -5,14 +5,14 @@
   
   # DO NOT REMOVE
   mod_rndchunk.o: mod_rndchunk.c $(INCDIR)/httpd.h \
  - $(INCDIR)/conf.h $(OSDIR)/os.h $(INCDIR)/apctype.h \
  - $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \
  - $(INCDIR)/ap.h $(INCDIR)/util_uri.h \
  - $(INCDIR)/http_protocol.h $(INCDIR)/http_config.h \
  - $(INCDIR)/http_main.h
  + $(INCDIR)/ap_config.h $(INCDIR)/ap_config_auto.h \
  + $(OSDIR)/os.h $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \
  + $(INCDIR)/util_uri.h $(INCDIR)/http_protocol.h \
  + $(INCDIR)/http_config.h $(INCDIR)/http_main.h
   mod_test_util_uri.o: mod_test_util_uri.c $(INCDIR)/httpd.h \
  - $(INCDIR)/conf.h $(OSDIR)/os.h $(INCDIR)/apctype.h \
  - $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \
  - $(INCDIR)/ap.h $(INCDIR)/util_uri.h \
  - $(INCDIR)/http_protocol.h $(INCDIR)/http_config.h \
  - $(INCDIR)/http_main.h
  + $(INCDIR)/ap_config.h $(INCDIR)/ap_config_auto.h \
  + $(OSDIR)/os.h $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \
  + $(INCDIR)/util_uri.h $(INCDIR)/http_protocol.h \
  + $(INCDIR)/http_config.h $(INCDIR)/http_main.h
  
  
  


cvs commit: apache-1.3/src Makefile.tmpl

1998-07-20 Thread dgaudet
dgaudet 98/07/20 09:27:59

  Modified:src  Makefile.tmpl
  Log:
  fix parallel make, must recurse first
  
  Revision  ChangesPath
  1.102 +1 -1  apache-1.3/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v
  retrieving revision 1.101
  retrieving revision 1.102
  diff -u -r1.101 -r1.102
  --- Makefile.tmpl 1998/07/13 11:32:29 1.101
  +++ Makefile.tmpl 1998/07/20 16:27:58 1.102
  @@ -108,7 +108,7 @@
   
   #Dependencies
   
  -$(OBJS): Makefile
  +$(OBJS): Makefile subdirs
   
   # DO NOT REMOVE
   buildmark.o: buildmark.c include/ap_config.h include/ap_config_auto.h \
  
  
  


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

1998-07-20 Thread dgaudet
dgaudet 98/07/20 09:33:58

  Modified:src  CHANGES
   src/modules/standard mod_include.c
  Log:
  use sub_req_lookup_file for fsize and flastmod.
  
  PR:   2355
  Submitted by: Manoj Kasichainula [EMAIL PROTECTED]
  Reviewed by:  Brian, Dean
  
  Revision  ChangesPath
  1.971 +9 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.970
  retrieving revision 1.971
  diff -u -r1.970 -r1.971
  --- CHANGES   1998/07/18 22:50:15 1.970
  +++ CHANGES   1998/07/20 16:33:56 1.971
  @@ -1,3 +1,12 @@
  +Changes with Apache 1.3.2
  +
  +  *) mod_include had problems with the fsize and flastmod directives
  + under WIN32.  Fix also avoids the minor security hole of using
  + .. paths for fsize and flastmod.
  + [Manoj Kasichainula [EMAIL PROTECTED]] PR#2355
  +
  +  *) Fixed some Makefile dependency problems.  [Dean Gaudet]
  +
   Changes with Apache 1.3.1
   
 *) Disable the incorrect entry for application/msword in the 
  
  
  
  1.99  +24 -7 apache-1.3/src/modules/standard/mod_include.c
  
  Index: mod_include.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_include.c,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -u -r1.98 -r1.99
  --- mod_include.c 1998/07/08 17:47:16 1.98
  +++ mod_include.c 1998/07/20 16:33:57 1.99
  @@ -1004,22 +1004,39 @@
char *tag_val, struct stat *finfo, const char *error)
   {
   char *to_send;
  +request_rec *rr;
  +int ret=0;
   
   if (!strcmp(tag, file)) {
   ap_getparents(tag_val);/* get rid of any nasties */
  -to_send = ap_make_full_path(r-pool, ./, tag_val);
  -if (stat(to_send, finfo) == -1) {
  +
  +rr = ap_sub_req_lookup_file(tag_val, r);
  +
  +if (rr-status == HTTP_OK  rr-finfo.st_mode != 0) {
  +to_send = rr-filename;
  +if ((ret = stat(to_send, finfo)) == -1) {
  +ap_log_error(APLOG_MARK, APLOG_ERR, r-server,
  +unable to get information about \%s\ 
  +in parsed file %s,
  +to_send, r-filename);
  +ap_rputs(error, r);
  +}
  +}
  +else {
  +ret = -1;
   ap_log_error(APLOG_MARK, APLOG_ERR, r-server,
  -unable to get information about \%s\ 
  +unable to lookup information about \%s\ 
   in parsed file %s,
  -to_send, r-filename);
  +tag_val, r-filename);
   ap_rputs(error, r);
  -return -1;
   }
  -return 0;
  +
  +ap_destroy_sub_req(rr);
  +
  +return ret;
   }
   else if (!strcmp(tag, virtual)) {
  -request_rec *rr = ap_sub_req_lookup_uri(tag_val, r);
  +rr = ap_sub_req_lookup_uri(tag_val, r);
   
   if (rr-status == HTTP_OK  rr-finfo.st_mode != 0) {
   memcpy((char *) finfo, (const char *) rr-finfo,
  
  
  


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

1998-07-20 Thread dgaudet
dgaudet 98/07/20 09:37:15

  Modified:src  CHANGES
   src/include ap_config.h
   src/main http_main.c
  Log:
  serialized accepts for OS/2
  
  Submitted by: Brian Havard
  
  Revision  ChangesPath
  1.972 +2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.971
  retrieving revision 1.972
  diff -u -r1.971 -r1.972
  --- CHANGES   1998/07/20 16:33:56 1.971
  +++ CHANGES   1998/07/20 16:37:05 1.972
  @@ -1,4 +1,6 @@
   Changes with Apache 1.3.2
  +  
  +  *) PORT: implement serialized accepts for OS/2.  [Brian Havard]
   
 *) mod_include had problems with the fsize and flastmod directives
under WIN32.  Fix also avoids the minor security hole of using
  
  
  
  1.228 +1 -0  apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.227
  retrieving revision 1.228
  diff -u -r1.227 -r1.228
  --- ap_config.h   1998/07/18 15:30:43 1.227
  +++ ap_config.h   1998/07/20 16:37:09 1.228
  @@ -671,6 +671,7 @@
   #define MAXSOCKETS 4096
   #define USE_OS2_SCOREBOARD
   #define NO_RELIABLE_PIPED_LOGS
  +#define USE_OS2SEM_SERIALIZED_ACCEPT
   
   #elif defined(__MACHTEN__)
   typedef int rlim_t;
  
  
  
  1.375 +64 -0 apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.374
  retrieving revision 1.375
  diff -u -r1.374 -r1.375
  --- http_main.c   1998/07/14 09:57:56 1.374
  +++ http_main.c   1998/07/20 16:37:11 1.375
  @@ -190,6 +190,7 @@
   /* Add MMAP style functionality to OS/2 */
   #define INCL_DOSMEMMGR
   #define INCL_DOSEXCEPTIONS
  +#define INCL_DOSSEMAPHORES
   #include os2.h
   #include umalloc.h
   #include stdio.h
  @@ -834,6 +835,69 @@
   if (flock(lock_fd, LOCK_UN)  0) {
ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf,
flock: LOCK_UN: Error freeing accept lock. Exiting!);
  + clean_child_exit(APEXIT_CHILDFATAL);
  +}
  +}
  +
  +#elif defined(USE_OS2SEM_SERIALIZED_ACCEPT)
  +
  +static HMTX lock_sem = -1;
  +
  +static void accept_mutex_cleanup(void *foo)
  +{
  +DosCloseMutexSem(lock_sem);
  +}
  +
  +/*
  + * Initialize mutex lock.
  + * Done by each child at it's birth
  + */
  +static void accept_mutex_child_init(pool *p)
  +{
  +int rc = DosOpenMutexSem(NULL, lock_sem);
  +
  +if (rc != 0) {
  + ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf,
  + Child cannot open lock semaphore);
  + clean_child_exit(APEXIT_CHILDINIT);
  +}
  +}
  +
  +/*
  + * Initialize mutex lock.
  + * Must be safe to call this on a restart.
  + */
  +static void accept_mutex_init(pool *p)
  +{
  +int rc = DosCreateMutexSem(NULL, lock_sem, DC_SEM_SHARED, FALSE);
  +
  +if (rc != 0) {
  + ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf,
  + Parent cannot create lock semaphore);
  + exit(APEXIT_INIT);
  +}
  +
  +ap_register_cleanup(p, NULL, accept_mutex_cleanup, ap_null_cleanup);
  +}
  +
  +static void accept_mutex_on(void)
  +{
  +int rc = DosRequestMutexSem(lock_sem, SEM_INDEFINITE_WAIT);
  +
  +if (rc != 0) {
  + ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf,
  + OS2SEM: Error %d getting accept lock. Exiting!, rc);
  + clean_child_exit(APEXIT_CHILDFATAL);
  +}
  +}
  +
  +static void accept_mutex_off(void)
  +{
  +int rc = DosReleaseMutexSem(lock_sem);
  +
  +if (rc != 0) {
  + ap_log_error(APLOG_MARK, APLOG_EMERG, server_conf,
  + OS2SEM: Error %d freeing accept lock. Exiting!, rc);
clean_child_exit(APEXIT_CHILDFATAL);
   }
   }
  
  
  


cvs commit: apache-1.3/src/os/emx util_os2.c Makefile.tmpl os.h

1998-07-20 Thread dgaudet
dgaudet 98/07/20 09:40:41

  Modified:src  CHANGES
   src/os/emx Makefile.tmpl os.h
  Added:   src/os/emx util_os2.c
  Log:
  plug ... and other canonicalization holes under OS/2.
  
  Submitted by: Brian Havard
  
  Revision  ChangesPath
  1.973 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.972
  retrieving revision 1.973
  diff -u -r1.972 -r1.973
  --- CHANGES   1998/07/20 16:37:05 1.972
  +++ CHANGES   1998/07/20 16:40:37 1.973
  @@ -1,4 +1,7 @@
   Changes with Apache 1.3.2
  +
  +  *) SECURITY: Plug ... and other canonicalization holes under OS/2.
  + [Brian Havard]
 
 *) PORT: implement serialized accepts for OS/2.  [Brian Havard]
   
  
  
  
  1.9   +1 -1  apache-1.3/src/os/emx/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/emx/Makefile.tmpl,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Makefile.tmpl 1998/05/10 13:04:37 1.8
  +++ Makefile.tmpl 1998/07/20 16:40:39 1.9
  @@ -3,7 +3,7 @@
   INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
   LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
   
  -OBJS=os.o os-inline.o
  +OBJS=os.o os-inline.o util_os2.o
   COPY=os.h os-inline.c
   
   LIB= libos.a
  
  
  
  1.8   +1 -0  apache-1.3/src/os/emx/os.h
  
  Index: os.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/emx/os.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- os.h  1998/07/13 09:57:24 1.7
  +++ os.h  1998/07/20 16:40:39 1.8
  @@ -2,6 +2,7 @@
   #define APACHE_OS_H
   
   #define PLATFORM OS/2
  +#define HAVE_CANONICAL_FILENAME
   
   /*
* This file in included in all Apache source code. It contains definitions
  
  
  
  1.1  apache-1.3/src/os/emx/util_os2.c
  
  Index: util_os2.c
  ===
  #define INCL_DOSFILEMGR
  #include os2.h
  #include httpd.h
  #include http_log.h
  
  
  API_EXPORT(char *)ap_os_canonical_filename(pool *pPool, const char *szFile)
  {
  char buf[HUGE_STRING_LEN];
  char buf2[HUGE_STRING_LEN];
  int rc, len; 
  char *pos;
  
  /* Remove trailing slash unless it's a root directory */
  strcpy(buf, szFile);
  len = strlen(buf);
  
  if (len  3  buf[len-1] == '/')
  buf[--len] = 0;

  rc = DosQueryPathInfo(buf, FIL_QUERYFULLNAME, buf2, HUGE_STRING_LEN);
  ap_assert(rc == 0);
  strlwr(buf2);
  
  /* Switch backslashes to forward */
  for (pos=buf2; *pos; pos++)
  if (*pos == '\\')
  *pos = '/';
  
  return ap_pstrdup(pPool, buf2);
  }
  
  
  


cvs commit: apache-1.3/src/include ap_config.h

1998-07-21 Thread dgaudet
dgaudet 98/07/21 08:03:08

  Modified:src/include ap_config.h
  Log:
  OS/2 should only need serialization when multiple listens
  
  Revision  ChangesPath
  1.229 +1 -0  apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.228
  retrieving revision 1.229
  diff -u -r1.228 -r1.229
  --- ap_config.h   1998/07/20 16:37:09 1.228
  +++ ap_config.h   1998/07/21 15:03:06 1.229
  @@ -672,6 +672,7 @@
   #define USE_OS2_SCOREBOARD
   #define NO_RELIABLE_PIPED_LOGS
   #define USE_OS2SEM_SERIALIZED_ACCEPT
  +#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT
   
   #elif defined(__MACHTEN__)
   typedef int rlim_t;
  
  
  


cvs commit: apache-1.3/src/modules/proxy proxy_cache.c

1998-07-28 Thread dgaudet
dgaudet 98/07/28 09:59:11

  Modified:src  CHANGES
   src/modules/proxy proxy_cache.c
  Log:
  fix a segfault in the proxy on OS/2
  
  Submitted by: Brian Havard
  
  Revision  ChangesPath
  1.990 +2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.989
  retrieving revision 1.990
  diff -u -r1.989 -r1.990
  --- CHANGES   1998/07/27 14:58:17 1.989
  +++ CHANGES   1998/07/28 16:59:09 1.990
  @@ -1,5 +1,7 @@
   Changes with Apache 1.3.2
   
  +  *) Fix a segfault in the proxy on OS/2.  [Brian Havard]
  +
 *) Fix Win32 part of ap_spawn_child() by providing a reasonable child_info
structure instead of just NULL. This fixes at least the RewriteMap
programs under Win32. [Marco De Michele [EMAIL PROTECTED]] PR#2483
  
  
  
  1.47  +2 -1  apache-1.3/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- proxy_cache.c 1998/07/09 19:45:56 1.46
  +++ proxy_cache.c 1998/07/28 16:59:11 1.47
  @@ -846,7 +846,8 @@
c-fp = NULL;
}
   /* delete the previously cached file */
  - unlink(c-filename);
  +if (c-filename)
  +unlink(c-filename);
return DECLINED;/* send data to client but not cache */
   }
   
  
  
  


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

1998-07-28 Thread dgaudet
dgaudet 98/07/28 10:07:16

  Modified:src  CHANGES
   src/helpers GuessOS
   src/main util.c
  Log:
  NEC EWS4800 port
  
  Submitted by: MATSUURA Takanori / [iso-2022-jp] ^[$B1:9'HO^[(B [EMAIL 
PROTECTED]
  
  Revision  ChangesPath
  1.991 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.990
  retrieving revision 1.991
  diff -u -r1.990 -r1.991
  --- CHANGES   1998/07/28 16:59:09 1.990
  +++ CHANGES   1998/07/28 17:07:07 1.991
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.2
   
  +  *) PORT: NEC EWS4800 support.
  + [MATSUURA Takanori [EMAIL PROTECTED]]
  +
 *) Fix a segfault in the proxy on OS/2.  [Brian Havard]
   
 *) Fix Win32 part of ap_spawn_child() by providing a reasonable child_info
  
  
  
  1.44  +6 -0  apache-1.3/src/helpers/GuessOS
  
  Index: GuessOS
  ===
  RCS file: /export/home/cvs/apache-1.3/src/helpers/GuessOS,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- GuessOS   1998/06/29 12:21:04 1.43
  +++ GuessOS   1998/07/28 17:07:13 1.44
  @@ -219,6 +219,12 @@
echo ${MACHINE}-ccur-sysv4; exit 0;
;;
   
  +UNIX_SV:*)
  + if [ -d /usr/nec ];then
  + echo mips-nec-sysv4; exit 0;
  + fi
  + ;;
  +
   NonStop-UX:4.[02]*:[BC]*:*)
echo ${MACHINE}-tandem-sysv4; exit 0;
;;
  
  
  
  1.125 +1 -1  apache-1.3/src/main/util.c
  
  Index: util.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/util.c,v
  retrieving revision 1.124
  retrieving revision 1.125
  diff -u -r1.124 -r1.125
  --- util.c1998/07/13 11:32:41 1.124
  +++ util.c1998/07/28 17:07:14 1.125
  @@ -1570,7 +1570,7 @@
return htonl(INADDR_ANY);
   }
   
  -my_addr = ap_inet_addr(w);
  +my_addr = ap_inet_addr((char *)w);
   if (my_addr != INADDR_NONE) {
if (p != NULL)
*p = ':';
  
  
  


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

1998-08-07 Thread dgaudet
dgaudet 98/08/07 08:35:54

  Modified:src  CHANGES
   src/main http_main.c
  Log:
  fix os/2 mutex problem
  
  Submitted by: Brian Havard
  
  Revision  ChangesPath
  1.1010+2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1009
  retrieving revision 1.1010
  diff -u -r1.1009 -r1.1010
  --- CHANGES   1998/08/06 23:32:01 1.1009
  +++ CHANGES   1998/08/07 15:35:45 1.1010
  @@ -1,5 +1,7 @@
   Changes with Apache 1.3.2
   
  +  *) Fix a problem with the new OS/2 mutexes.  [Brian Havard]
  +
 *) Enhance mod_spelling so that CheckSpelling can be used in
Directory containers and .htaccess files.  [Ken Coar]
   
  
  
  
  1.380 +1 -0  apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.379
  retrieving revision 1.380
  diff -u -r1.379 -r1.380
  --- http_main.c   1998/08/06 17:30:29 1.379
  +++ http_main.c   1998/08/07 15:35:49 1.380
  @@ -845,6 +845,7 @@
   
   static void accept_mutex_cleanup(void *foo)
   {
  +DosReleaseMutexSem(lock_sem);
   DosCloseMutexSem(lock_sem);
   }
   
  
  
  


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

1998-08-09 Thread dgaudet
dgaudet 98/08/09 09:57:29

  Modified:src/include httpd.h
   src/main http_protocol.c
  Log:
  Include everything in the limits, rather than having to remember to
  add 2 to some of them... which leads to off-by-1 errors like one I just
  committed.  (I don't understand what the + 2 was all about.  It doesn't
  fit \r\n\0...)
  
  Revision  ChangesPath
  1.232 +2 -2  apache-1.3/src/include/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/httpd.h,v
  retrieving revision 1.231
  retrieving revision 1.232
  diff -u -r1.231 -r1.232
  --- httpd.h   1998/08/09 06:37:16 1.231
  +++ httpd.h   1998/08/09 16:57:28 1.232
  @@ -551,13 +551,13 @@
* LimitRequestFieldSize, and LimitRequestBody configuration directives.
*/
   #ifndef DEFAULT_LIMIT_REQUEST_LINE
  -#define DEFAULT_LIMIT_REQUEST_LINE 8190
  +#define DEFAULT_LIMIT_REQUEST_LINE 8192
   #endif /* default limit on bytes in Request-Line (Method+URI+HTTP-version) */
   #ifndef DEFAULT_LIMIT_REQUEST_FIELDS
   #define DEFAULT_LIMIT_REQUEST_FIELDS 100
   #endif /* default limit on number of header fields */
   #ifndef DEFAULT_LIMIT_REQUEST_FIELDSIZE
  -#define DEFAULT_LIMIT_REQUEST_FIELDSIZE 8190
  +#define DEFAULT_LIMIT_REQUEST_FIELDSIZE 8192
   #endif /* default limit on bytes in any one field  */
   #ifndef DEFAULT_LIMIT_REQUEST_BODY
   #define DEFAULT_LIMIT_REQUEST_BODY 33554432ul
  
  
  
  1.234 +5 -5  apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.233
  retrieving revision 1.234
  diff -u -r1.233 -r1.234
  --- http_protocol.c   1998/08/09 16:52:31 1.233
  +++ http_protocol.c   1998/08/09 16:57:29 1.234
  @@ -635,7 +635,7 @@
   pool *tmp;
   
   tmp = ap_make_sub_pool(r-pool);
  -l = ap_palloc(tmp, r-server-limit_req_line + 2);
  +l = ap_palloc(tmp, r-server-limit_req_line);
   ll = l;
   
   /* Read past empty lines until we get a real request line,
  @@ -653,7 +653,7 @@
* have to block during a read.
*/
   ap_bsetflag(conn-client, B_SAFEREAD, 1);
  -while ((len = getline(l, r-server-limit_req_line + 2, conn-client, 
0)) = 0) {
  +while ((len = getline(l, r-server-limit_req_line, conn-client, 0)) = 
0) {
   if ((len  0) || ap_bgetflag(conn-client, B_EOF)) {
   ap_bsetflag(conn-client, B_SAFEREAD, 0);
ap_destroy_pool(tmp);
  @@ -764,7 +764,7 @@
   arr = ap_make_array(tmp, 50, sizeof(mime_key));
   order = 0;
   
  -field = ap_palloc(tmp, r-server-limit_req_fieldsize + 2);
  +field = ap_palloc(tmp, r-server-limit_req_fieldsize);
   
   /* If headers_in is non-empty (i.e. we're parsing a trailer) then
* we have to merge.  Have I mentioned that I think this is a lame part
  @@ -794,7 +794,7 @@
* Read header lines until we get the empty separator line, a read error,
* the connection closes (EOF), reach the server limit, or we timeout.
*/
  -while ((len = getline(field, r-server-limit_req_fieldsize + 2,
  +while ((len = getline(field, r-server-limit_req_fieldsize,
c-client, 1))  0) {
   
   if (++fields_read  r-server-limit_req_fields) {
  @@ -804,7 +804,7 @@
ap_destroy_pool(tmp);
   return;
   }
  -if (len = r-server-limit_req_fieldsize + 1) { 
  +if (len = r-server-limit_req_fieldsize) { 
   r-status = HTTP_BAD_REQUEST;
   ap_table_setn(r-notes, error-notes, ap_pstrcat(r-pool,
   Size of a request header field exceeds server limit.P\n
  
  
  


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

1998-08-10 Thread dgaudet
dgaudet 98/08/10 09:17:55

  Modified:src/main http_log.c
  Log:
  be a little more uniform, use [client %s] similar to other log fields
  
  Revision  ChangesPath
  1.64  +1 -1  apache-1.3/src/main/http_log.c
  
  Index: http_log.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_log.c,v
  retrieving revision 1.63
  retrieving revision 1.64
  diff -u -r1.63 -r1.64
  --- http_log.c1998/08/06 17:30:29 1.63
  +++ http_log.c1998/08/10 16:17:54 1.64
  @@ -353,7 +353,7 @@
 * first. -djg
 */
len += ap_snprintf(errstr + len, sizeof(errstr) - len,
  - (client %s): , r-connection-remote_ip);
  + [client %s] , r-connection-remote_ip);
   }
   if (!(level  APLOG_NOERRNO)
 (save_errno != 0)
  
  
  


cvs commit: apache-1.3/src/os/win32 mod_isapi.c

1998-08-10 Thread dgaudet
dgaudet 98/08/10 09:26:33

  Modified:src/os/win32 mod_isapi.c
  Log:
  another O(n^2) attack
  
  Revision  ChangesPath
  1.15  +1 -0  apache-1.3/src/os/win32/mod_isapi.c
  
  Index: mod_isapi.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/win32/mod_isapi.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- mod_isapi.c   1998/08/06 17:31:34 1.14
  +++ mod_isapi.c   1998/08/10 16:26:31 1.15
  @@ -365,6 +365,7 @@
   return TRUE;
   }
   
  +/* XXX: There is an O(n^2) attack possible here. */
   BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
   LPVOID lpvBuffer, LPDWORD lpdwSize,
   LPDWORD lpdwDataType) {
  
  
  


cvs commit: apache-site security_reports.html

1998-08-10 Thread dgaudet
dgaudet 98/08/10 10:22:29

  Added:   .security_reports.html
  Log:
  a start. I think this should be linked from the front page
  
  Revision  ChangesPath
  1.1  apache-site/security_reports.html
  
  Index: security_reports.html
  ===
  !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN
  HTMLHEAD
  TITLEReporting Security Problems with Apache/TITLE
  /HEAD
  !-- Background white, links blue (unvisited), navy (visited), red (active) 
--
  BODY
   BGCOLOR=#FF
   TEXT=#00
   LINK=#FF
   VLINK=#80
   ALINK=#FF
  
  
  IMG SRC=images/apache_sub.gif ALT=
  H2Reporting Security Problems with Apache/H2
  
  pThe Apache Group takes a very active stance in eliminating security
  problems, and denial of service attacks against the Apache web server.  We
  strongly encourage folks to report such problems to our private security
  mailing list first, before disclosing them in a public forum.  The mailing
  address is a href=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/a.
  We cannot accept regular bug reports or other queries at this address,
  we ask that you use our a href=bug_reports.htmlbug reporting page/a
  for those.
  
  pNote that all networked servers are subject to denial of service
  attacks, and we cannot promise magic workarounds to generic problems
  (such as a client streaming lots of data to your server, or re-requesting
  the same URL repeatedly).  In general our philosophy is to avoid any
  attacks which can cause the server to consume resources in a non-linear
  relationship to the size of inputs.
  
  /BODY
  /HTML
  
  
  


cvs commit: apache-site security_report.html bug_report.html index.html security_reports.html

1998-08-11 Thread dgaudet
dgaudet 98/08/10 20:19:17

  Modified:.bug_report.html index.html
  Added:   .security_report.html
  Removed: .security_reports.html
  Log:
  advertise [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.18  +4 -0  apache-site/bug_report.html
  
  Index: bug_report.html
  ===
  RCS file: /export/home/cvs/apache-site/bug_report.html,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- bug_report.html   1998/08/04 20:18:21 1.17
  +++ bug_report.html   1998/08/11 03:19:15 1.18
  @@ -96,5 +96,9 @@
   /FORM
   P
   H1Do NOT send configuration questions or requests for help debugging 
CGI!/H1
  +
  +pFolks wishing to report a security/denial of service bug may want to
  +visit a href=security_report.htmlthis page/a.
  +
   /BODY
   /HTML
  
  
  
  1.65  +2 -1  apache-site/index.html
  
  Index: index.html
  ===
  RCS file: /export/home/cvs/apache-site/index.html,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- index.html1998/07/22 20:19:27 1.64
  +++ index.html1998/08/11 03:19:16 1.65
  @@ -26,9 +26,9 @@
 LI A HREF=docs/Server Documentation/ABR
 LI A HREF=docs/misc/FAQ.htmlThe Apache FAQ/ABR
 LI A HREF=bug_report.htmlBug Reporting/ABR
  +  LI A HREF=security_report.htmlSecurity Bug Reporting/A
 LI A HREF=info.htmlBackground Information/ABR
 LI A HREF=library/Project Library/A
  -  LI A HREF=search.htmlSearch This Site/A
   /UL
   TD
   UL
  @@ -38,6 +38,7 @@
 LI A HREF=related_projects.htmlRelated Projects/ABR
 LI A HREF=contributors/Project Contributors/ABR
 LI A HREF=info/Other Information/A
  +  LI A HREF=search.htmlSearch This Site/A
   /UL
   /TR
   /TABLE
  
  
  
  1.1  apache-site/security_report.html
  
  Index: security_report.html
  ===
  !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN
  HTMLHEAD
  TITLEReporting Security Problems with Apache/TITLE
  /HEAD
  !-- Background white, links blue (unvisited), navy (visited), red (active) 
--
  BODY
   BGCOLOR=#FF
   TEXT=#00
   LINK=#FF
   VLINK=#80
   ALINK=#FF
  
  
  IMG SRC=images/apache_sub.gif ALT=
  H2Reporting Security Problems with Apache/H2
  
  pThe Apache Group takes a very active stance in eliminating security
  problems, and denial of service attacks against the Apache web server.  We
  strongly encourage folks to report such problems to our private security
  mailing list first, before disclosing them in a public forum.  The mailing
  address is a href=mailto:[EMAIL PROTECTED][EMAIL PROTECTED]/a.
  We cannot accept regular bug reports or other queries at this address,
  we ask that you use our a href=bug_report.htmlbug reporting page/a
  for those.
  
  pNote that all networked servers are subject to denial of service
  attacks, and we cannot promise magic workarounds to generic problems
  (such as a client streaming lots of data to your server, or re-requesting
  the same URL repeatedly).  In general our philosophy is to avoid any
  attacks which can cause the server to consume resources in a non-linear
  relationship to the size of inputs.
  
  /BODY
  /HTML
  
  
  


cvs commit: apache-1.3/src/include ap_mmn.h

1998-08-14 Thread dgaudet
dgaudet 98/08/13 19:49:10

  Modified:src/include ap_mmn.h
  Log:
  ap_log_rerror() certainly wasn't a minor change, it happened before that
  concept existed.  Put its correct entry into the list.
  
  Make the minor module number useable... provide a macro that tests the
  version in a more convenient mannor.
  
  Add ap_overlap_tables() (which I'm about to commit).
  
  Revision  ChangesPath
  1.3   +31 -10apache-1.3/src/include/ap_mmn.h
  
  Index: ap_mmn.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/ap_mmn.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_mmn.h  1998/08/13 02:51:27 1.2
  +++ ap_mmn.h  1998/08/14 02:49:09 1.3
  @@ -60,8 +60,17 @@
   
   /*
* MODULE_MAGIC_NUMBER_MAJOR
  - * major API changes that could cause compatibility problems for older 
modules
  + * Major API changes that could cause compatibility problems for older 
modules
  + * such as structure size changes.  No binary compatibility is possible 
across
  + * a change in the major version.
*
  + * MODULE_MAGIC_NUMBER_MINOR
  + * Minor API changes that do not cause binary compatibility problems.
  + *
  + * See the MODULE_MAGIC_AT_LEAST macro below for an example.
  + */
  +
  +/*
* 19950525  - original value
* 19960512 (1.1b2)  - updated, 1.1, version.
* 19960526 (1.1b3)  - get_token(), table_unset(), pstrndup()
  @@ -148,24 +157,36 @@
* 3. ap_config.h - ap_config_auto.h - now merged
* 4. compat.h- ap_compat.h
* 5. apctype.h   - ap_ctype.h
  + * 19980806 (1.3.2-dev) - add ap_log_rerror()
* 19980811 (1.3.2-dev)  - added limit_req_line, limit_req_fieldsize, and
* limit_req_fields to server_rec.
* added limit_req_body to core_dir_config and
* ap_get_limit_req_body() to get its value.
  - * 19980812 (1.3.1-dev)  - split of MODULE_MAGIC_NUMBER
  + * 19980812 (1.3.2-dev)  - split off MODULE_MAGIC_NUMBER
  + * 19980812.2   - add ap_overlap_tables()
*/
   
  -/*
  - * MODULE_MAGIC_NUMBER_MINOR
  - * minor API changes that won't cause compatibility problems for older 
modules
  - *
  - * 0001  - Add ap_log_rerror()
  - */
  -
   #ifndef MODULE_MAGIC_NUMBER_MAJOR
   #define MODULE_MAGIC_NUMBER_MAJOR 19980812
   #endif
  -#define MODULE_MAGIC_NUMBER_MINOR 0001
  +#define MODULE_MAGIC_NUMBER_MINOR 2
   #define MODULE_MAGIC_NUMBER MODULE_MAGIC_NUMBER_MAJOR/* backward 
compat */
  +
  +/* Useful for testing for features. */
  +#define MODULE_MAGIC_AT_LEAST(major,minor)   \
  +((major)  MODULE_MAGIC_NUMBER_MAJOR \
  + || ((major) == MODULE_MAGIC_NUMBER_MAJOR\
  +  (minor) = MODULE_MAGIC_NUMBER_MINOR))
  +
  +/* For example, suppose you wish to use the ap_overlap_tables
  +   function.  You can do this:
  +
  +#if MODULE_MAGIC_AT_LEAST(19980812,2)
  +... use ap_overlap_tables()
  +#else
  +... alternative code which doesn't use ap_overlap_tables()
  +#endif
  +
  +*/
   
   #endif /* !APACHE_AP_MMN_H */
  
  
  


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

1998-08-14 Thread dgaudet
dgaudet 98/08/13 19:49:57

  Modified:src  CHANGES
   src/include alloc.h
   src/main alloc.c http_protocol.c util_script.c
   src/modules/standard mod_cern_meta.c
  Log:
  Add ap_overlap_tables.  Fix various O(n^2) attacks using it.
  
  Revision  ChangesPath
  1.1024+3 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1023
  retrieving revision 1.1024
  diff -u -r1.1023 -r1.1024
  --- CHANGES   1998/08/13 01:54:59 1.1023
  +++ CHANGES   1998/08/14 02:49:42 1.1024
  @@ -22,7 +22,9 @@
[Jim Jagielski]
   
 *) SECURITY: Eliminate O(n^2) space DoS attacks (and other O(n^2)
  - cpu time attacks) in header parsing.  [Dean Gaudet]
  + cpu time attacks) in header parsing.  Add ap_overlap_tables(),
  + a function which can be used to perform bulk update operations
  + on tables in a more efficient manner.  [Dean Gaudet]
   
 *) SECURITY: Added compile-time and configurable limits for
various aspects of reading a client request to avoid some simple
  
  
  
  1.63  +4 -2  apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- alloc.h   1998/08/09 17:36:24 1.62
  +++ alloc.h   1998/08/14 02:49:45 1.63
  @@ -199,7 +199,7 @@
   int i;
   
   for (i = 0; i  barr-nelts; ++i) {
  - if (merge) {
  + if (flags  AP_OVERLAP_TABLES_MERGE) {
ap_table_mergen(a, belt[i].key, belt[i].val);
}
else {
  @@ -214,7 +214,9 @@
   in an ancestor of a's pool.  In practice b and a are usually from
   the same pool.
   */
  -API_EXPORT(void) ap_overlap_tables(table *a, const table *b, int merge);
  +#define AP_OVERLAP_TABLES_SET(0)
  +#define AP_OVERLAP_TABLES_MERGE  (1)
  +API_EXPORT(void) ap_overlap_tables(table *a, const table *b, unsigned flags);
   
   /* XXX: these know about the definition of struct table in alloc.c.  That
* definition is not here because it is supposed to be private, and by not
  
  
  
  1.99  +157 -0apache-1.3/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -u -r1.98 -r1.99
  --- alloc.c   1998/08/03 09:14:51 1.98
  +++ alloc.c   1998/08/14 02:49:47 1.99
  @@ -1386,6 +1386,163 @@
   va_end(vp);
   }
   
  +/* Curse libc and the fact that it doesn't guarantee a stable sort.  We
  + * have to enforce stability ourselves by using the order field.  If it
  + * provided a stable sort then we wouldn't even need temporary storage to
  + * do the work below. -djg
  + *
  + * (stable sort means that equal keys retain their original relative
  + * ordering in the output.)
  + */
  +typedef struct {
  +char *key;
  +char *val;
  +int order;
  +} overlap_key;
  +
  +static int sort_overlap(const void *va, const void *vb)
  +{
  +const overlap_key *a = va;
  +const overlap_key *b = vb;
  +int r;
  +
  +r = strcasecmp(a-key, b-key);
  +if (r) {
  + return r;
  +}
  +return a-order - b-order;
  +}
  +
  +/* prefer to use the stack for temp storage for overlaps smaller than this */
  +#ifndef AP_OVERLAP_TABLES_ON_STACK
  +#define AP_OVERLAP_TABLES_ON_STACK   (512)
  +#endif
  +
  +API_EXPORT(void) ap_overlap_tables(table *a, const table *b, unsigned flags)
  +{
  +overlap_key cat_keys_buf[AP_OVERLAP_TABLES_ON_STACK];
  +overlap_key *cat_keys;
  +int nkeys;
  +table_entry *e;
  +table_entry *last_e;
  +overlap_key *left;
  +overlap_key *right;
  +overlap_key *last;
  +
  +nkeys = a-a.nelts + b-a.nelts;
  +if (nkeys  AP_OVERLAP_TABLES_ON_STACK) {
  + cat_keys = cat_keys_buf;
  +}
  +else {
  + /* XXX: could use scratch free space in a or b's pool instead...
  +  * which could save an allocation in b's pool.
  +  */
  + cat_keys = ap_palloc(b-a.pool, sizeof(overlap_key) * nkeys);
  +}
  +
  +nkeys = 0;
  +
  +/* Create a list of the entries from a concatenated with the entries
  + * from b.
  + */
  +e = (table_entry *)a-a.elts;
  +last_e = e + a-a.nelts;
  +while (e  last_e) {
  + cat_keys[nkeys].key = e-key;
  + cat_keys[nkeys].val = e-val;
  + cat_keys[nkeys].order = nkeys;
  + ++nkeys;
  + ++e;
  +}
  +
  +e = (table_entry *)b-a.elts;
  +last_e = e + b-a.nelts;
  +while (e  last_e) {
  + cat_keys[nkeys].key = e-key;
  + cat_keys[nkeys].val = e-val;
  + cat_keys[nkeys].order = nkeys;
  + ++nkeys

cvs commit: apache-1.3 STATUS

1998-08-14 Thread dgaudet
dgaudet 98/08/13 19:54:21

  Modified:.STATUS
  Log:
  note about O(n^2) on win32
  
  Revision  ChangesPath
  1.456 +4 -1  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.455
  retrieving revision 1.456
  diff -u -r1.455 -r1.456
  --- STATUS1998/08/06 00:53:22 1.455
  +++ STATUS1998/08/14 02:54:20 1.456
  @@ -12,11 +12,14 @@
   
   RELEASE SHOWSTOPPERS:
   
  -WIN32 1.3.1 RELEASE SHOWSTOPPERS:
  +WIN32 1.3.2 RELEASE SHOWSTOPPERS:
   
   * can not build tarball until someone verifies the final code
 will build on win32.  Want to avoid changes-after-tag that 
 happened with 1.3.0.
  +
  +* fix O(n^2) attack in mod_isapi.c ... i.e. recopy the code from
  +  scan_script_headers_err_core.
   
   Documentation that needs writing:
   
  
  
  


cvs commit: apache-1.3/src CHANGES

1998-08-14 Thread dgaudet
dgaudet 98/08/13 20:00:17

  Modified:src  CHANGES
  Log:
  another helpful pointer
  
  Revision  ChangesPath
  1.1025+1 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1024
  retrieving revision 1.1025
  diff -u -r1.1024 -r1.1025
  --- CHANGES   1998/08/14 02:49:42 1.1024
  +++ CHANGES   1998/08/14 03:00:15 1.1025
  @@ -3,7 +3,7 @@
 *) Split MODULE_MAGIC_NUMBER into _MAJOR/_MINOR numbers. This should
provide a way to trace API changes that add functionality but do
not create a compatibility issue for precompiled modules, etc.
  - [Randy Terbush]
  + See include/ap_mmn.h for more details.  [Randy Terbush]
   
 *) Fix suexec installation under `make install root=xxx' situation.
[Ralf S. Engelschall]
  
  
  


cvs commit: apache-1.3/src/support ab.c

1998-08-20 Thread dgaudet
dgaudet 98/08/19 21:11:34

  Modified:src/support ab.c
  Log:
  note a few bugs
  
  Revision  ChangesPath
  1.13  +13 -1 apache-1.3/src/support/ab.c
  
  Index: ab.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/support/ab.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ab.c  1998/08/20 04:07:45 1.12
  +++ ab.c  1998/08/20 04:11:33 1.13
  @@ -83,6 +83,18 @@
   **
   */
   
  +/*
  + * BUGS:
  + *
  + * - uses strcpy/etc.
  + * - has various other poor buffer attacks related to the lazy parsing of
  + *   response headers from the server
  + * - doesn't implement much of HTTP/1.x, only accepts certain forms of
  + *   responses
  + * - (performance problem) heavy use of strstr shows up top in profile
  + *   only an issue for loopback usage
  + */
  +
   #define VERSION 1.2
   
   /*   */
  @@ -480,7 +492,7 @@
   *q = 0;
   }
   
  - /* FIXME: this parsing isn't even remotely HTTP compliant...
  + /* XXX: this parsing isn't even remotely HTTP compliant...
 * but in the interest of speed it doesn't totally have to be,
 * it just needs to be extended to handle whatever servers
 * folks want to test against. -djg */
  
  
  


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

1998-08-22 Thread dgaudet
dgaudet 98/08/21 23:57:17

  Modified:src  CHANGES
   src/modules/standard mod_autoindex.c
  Log:
  dynamincally size the filename column
  
  Reviewed by:  Martin Kraemer
  
  Revision  ChangesPath
  1.1031+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1030
  retrieving revision 1.1031
  diff -u -r1.1030 -r1.1031
  --- CHANGES   1998/08/20 04:07:43 1.1030
  +++ CHANGES   1998/08/22 06:57:15 1.1031
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.2
   
  +  *) Dynamically size the filename column of mod_autoindex output.
  + [Dean Gaudet]
  +
 *) Add the ability to do POST requests to the ab benchmarking tool.
[Kurt Sussman [EMAIL PROTECTED]] PR#2871
   
  
  
  
  1.88  +28 -32apache-1.3/src/modules/standard/mod_autoindex.c
  
  Index: mod_autoindex.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v
  retrieving revision 1.87
  retrieving revision 1.88
  diff -u -r1.87 -r1.88
  --- mod_autoindex.c   1998/08/06 17:30:56 1.87
  +++ mod_autoindex.c   1998/08/22 06:57:17 1.88
  @@ -865,15 +865,29 @@
   autoindex_config_rec * d, request_rec *r,
 int autoindex_opts, char keyid, char direction)
   {
  -int x, len;
  +int x;
   char *name = r-uri;
   char *tp;
   int static_columns = (autoindex_opts  SUPPRESS_COLSORT);
   pool *scratch = ap_make_sub_pool(r-pool);
  +int name_width;
  +char *name_scratch;
   
   if (name[0] == '\0')
name = /;
   
  +name_width = 23;
  +for (x = 0; x  n; x++) {
  + int t = strlen(ar[x]-name);
  + if (t  name_width) {
  + name_width = t;
  + }
  +}
  +++name_width;
  +name_scratch = ap_palloc(r-pool, name_width + 1);
  +memset(name_scratch, ' ', name_width);
  +name_scratch[name_width] = 0;
  +
   if (autoindex_opts  FANCY_INDEXING) {
ap_rputs(PRE, r);
if ((tp = find_default_icon(d, ^^BLANKICON^^))) {
  @@ -891,7 +905,7 @@
ap_rputs( , r);
}
   emit_link(r, Name, K_NAME, keyid, direction, static_columns);
  - ap_rputs(   , r);
  + ap_rputs(name_scratch + 4, r);
if (!(autoindex_opts  SUPPRESS_LAST_MOD)) {
   emit_link(r, Last modified, K_LAST_MOD, keyid, direction,
 static_columns);
  @@ -912,7 +926,8 @@
   }
   
   for (x = 0; x  n; x++) {
  - char *anchor = NULL, *t = NULL, *t2 = NULL;
  + char *anchor, *t, *t2;
  + char *pad;
   
ap_clear_pool(scratch);
   
  @@ -922,40 +937,21 @@
if (t[0] == '\0') {
t = /;
}
  - anchor = ap_pstrcat(scratch, A HREF=\,
  - ap_escape_html(scratch,
  -ap_os_escape_path(scratch, t,
  -  0)),
  - \, NULL);
  - t2 = Parent Directory/A   ;
  +/* 1234567890123456 */
  + t2 = Parent Directory;
  + pad = name_scratch + 16;
  + anchor = ap_escape_html(scratch, ap_os_escape_path(scratch, t, 0));
}
else {
t = ar[x]-name;
  - len = strlen(t);
  - if (len  23) {
  - t2 = ap_pstrdup(scratch, t);
  - t2[21] = '.';
  - t2[22] = '.';
  - t2[23] = '\0';
  - t2 = ap_escape_html(scratch, t2);
  - t2 = ap_pstrcat(scratch, t2, /A, NULL);
  - }
  - else {
  - char buff[24] =;
  - t2 = ap_escape_html(scratch, t);
  - buff[23 - len] = '\0';
  - t2 = ap_pstrcat(scratch, t2, /A, buff, NULL);
  - }
  - anchor = ap_pstrcat(scratch, A HREF=\,
  - ap_escape_html(scratch,
  -ap_os_escape_path(scratch, t,
  -  0)),
  - \, NULL);
  + pad = name_scratch + strlen(t);
  + t2 = ap_escape_html(scratch, t);
  + anchor = ap_escape_html(scratch, ap_os_escape_path(scratch, t, 0));
}
   
if (autoindex_opts  FANCY_INDEXING) {
if (autoindex_opts  ICONS_ARE_LINKS) {
  - ap_rputs(anchor, r);
  + ap_rvputs(r, A HREF=\, anchor, \, NULL);
}
if ((ar[x]-icon) || d-default_icon) {
ap_rvputs(r, IMG SRC=\,
  @@ -974,7 +970,7 @@
ap_rputs(/A, r);
}
   
  - ap_rvputs(r,  , anchor, t2, NULL);
  + ap_rvputs(r,  A HREF

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

1998-09-22 Thread dgaudet
dgaudet 98/09/22 08:43:43

  Modified:src/main http_log.c
  Log:
  ap_table_set() causes an ap_pstrdup() of both arguments, one of the
  arguments is a constant and it's a waste to pstrdup it.  Furthermore using
  a static local buffer means there is a static limit to the message length.
  Also, ap_pvsprintf() can get away with zero-copies of the output in most
  cases, whereas ap_pstrdup() always copies the output at least once.
  Unlike Ken's claim there's no gyration required by ap_pv?sprintf()
  to figure out the string length.  Clean this all up.
  
  Revision  ChangesPath
  1.69  +2 -4  apache-1.3/src/main/http_log.c
  
  Index: http_log.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_log.c,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- http_log.c1998/09/21 17:29:45 1.68
  +++ http_log.c1998/09/22 15:43:42 1.69
  @@ -441,10 +441,8 @@
   va_start(args, fmt);
   log_error_core(file, line, level, r-server, r, fmt, args);
   if (ap_table_get(r-notes, error-notes) == NULL) {
  - char errstr[MAX_STRING_LEN];
  -
  - ap_vsnprintf(errstr, sizeof(errstr), fmt, args);
  - ap_table_set(r-notes, error-notes, errstr);
  + ap_table_setn(r-notes, error-notes,
  + ap_pvsprintf(r-pool, fmt, args));
   }
   va_end(args);
   }
  
  
  


cvs commit: apache-2.0/apache-nspr/modules/standard mod_status.c

1998-09-22 Thread dgaudet
dgaudet 98/09/22 09:12:07

  Modified:apache-nspr Configuration
   apache-nspr/include scoreboard.h
   apache-nspr/main http_main.c
   apache-nspr/modules/standard mod_status.c
  Log:
  get rid of some NSPR defines... this code can only be built for NSPR
  
  Revision  ChangesPath
  1.3   +4 -4  apache-2.0/apache-nspr/Attic/Configuration
  
  
  
  
  1.3   +2 -1  apache-2.0/apache-nspr/include/scoreboard.h
  
  Index: scoreboard.h
  ===
  RCS file: /export/home/cvs/apache-2.0/apache-nspr/include/scoreboard.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- scoreboard.h  1998/06/30 08:57:06 1.2
  +++ scoreboard.h  1998/09/22 16:12:06 1.3
  @@ -97,7 +97,8 @@
   unsigned short conn_count;
   PRTime start_time;
   PRTime stop_time;
  -#ifndef NSPR
  +/* XXX: need process time support under NSPR */
  +#if 0
   struct tms times;
   #endif
   char client[32]; /* Keep 'em small... */
  
  
  
  1.3   +0 -3  apache-2.0/apache-nspr/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache-2.0/apache-nspr/main/http_main.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- http_main.c   1998/06/30 08:57:07 1.2
  +++ http_main.c   1998/09/22 16:12:06 1.3
  @@ -707,9 +707,6 @@
   if (r-sent_bodyct)
ap_bgetopt(r-connection-client, BO_BYTECT, bs);
   
  -#ifndef NSPR
  -times(ss-times);
  -#endif
   ss-access_count++;
   ss-my_access_count++;
   ss-conn_count++;
  
  
  
  1.3   +5 -9  apache-2.0/apache-nspr/modules/standard/mod_status.c
  
  Index: mod_status.c
  ===
  RCS file: 
/export/home/cvs/apache-2.0/apache-nspr/modules/standard/mod_status.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mod_status.c  1998/06/30 08:57:13 1.2
  +++ mod_status.c  1998/09/22 16:12:07 1.3
  @@ -118,12 +118,9 @@
   #include scoreboard.h
   #include http_log.h
   
  -#ifdef NSPR
  +/* XXX: should be able to fix this, no? */
   #define NO_TIMES
  -#endif
  -
   
  -
   #ifdef NEXT
   #if (NX_CURRENT_COMPILER_RELEASE == 410)
   #ifdef m68k
  @@ -291,9 +288,6 @@
   if (r-header_only)
return 0;
   
  -#ifndef NSPR
  -ap_sync_scoreboard_image();
  -#endif
   for (i = 0; i  HARD_SERVER_LIMIT; ++i) {
score_record = ap_scoreboard_image-servers[i];
ps_record = ap_scoreboard_image-parent[i];
  @@ -520,7 +514,8 @@
score_record.times.tms_cutime / tick,
score_record.times.tms_cstime / tick,
   #endif
  -#ifdef NSPR
  + /* XXX: need process time support under nspr */
  +#if 1
0,
   #else
difftime(nowtime, ps_record.last_rtime),
  @@ -576,7 +571,8 @@
ap_rputs(td?, r);
break;
}
  -#ifdef NSPR
  + /* XXX: need process time support under NSPR */
  +#if 1
ap_rprintf(r, \ntd%.0ftd%ld,
   (float)(nowtime-score_record.start_time)/
   PR_USEC_PER_SEC, (long)req_time);
  
  
  


cvs commit: apache-2.0/nsprpub - Imported sources

1998-09-22 Thread dgaudet
dgaudet 98/09/22 09:24:12

  Log:
  import current mozilla/nsprpub sources as of 19980922
  
  Status:
  
  Vendor Tag:   MOZILLA
  Release Tags: cvs19980922
  
  U apache-2.0/nsprpub/Makefile
  N apache-2.0/nsprpub/Makefile.in
  U apache-2.0/nsprpub/makefile.win
  U apache-2.0/nsprpub/config/.cvsignore
  U apache-2.0/nsprpub/config/AIX.mk
  U apache-2.0/nsprpub/config/BSD_OS.mk
  N apache-2.0/nsprpub/config/DGUX.mk
  U apache-2.0/nsprpub/config/FreeBSD.mk
  U apache-2.0/nsprpub/config/HP-UX.mk
  U apache-2.0/nsprpub/config/IRIX.mk
  U apache-2.0/nsprpub/config/Linux.mk
  U apache-2.0/nsprpub/config/Makefile
  N apache-2.0/nsprpub/config/Makefile.in
  U apache-2.0/nsprpub/config/NCR.mk
  U apache-2.0/nsprpub/config/NEC.mk
  U apache-2.0/nsprpub/config/NEWS-OS.mk
  N apache-2.0/nsprpub/config/NetBSD.mk
  U apache-2.0/nsprpub/config/OS2.mk
  U apache-2.0/nsprpub/config/OSF1.mk
  U apache-2.0/nsprpub/config/Rhapsody.mk
  U apache-2.0/nsprpub/config/SCOOS.mk
  U apache-2.0/nsprpub/config/SINIX.mk
  U apache-2.0/nsprpub/config/SunOS.mk
  U apache-2.0/nsprpub/config/SunOS4.mk
  U apache-2.0/nsprpub/config/SunOS5.mk
  U apache-2.0/nsprpub/config/UNIX.mk
  U apache-2.0/nsprpub/config/UNIXWARE.mk
  U apache-2.0/nsprpub/config/WIN32.mk
  U apache-2.0/nsprpub/config/WIN95.mk
  U apache-2.0/nsprpub/config/WINNT.mk
  U apache-2.0/nsprpub/config/arch.mk
  N apache-2.0/nsprpub/config/autoconf.mk.in
  U apache-2.0/nsprpub/config/config.mk
  U apache-2.0/nsprpub/config/libc_r.h
  U apache-2.0/nsprpub/config/module.df
  U apache-2.0/nsprpub/config/nfspwd.pl
  U apache-2.0/nsprpub/config/nsinstall.c
  U apache-2.0/nsprpub/config/pathsub.c
  U apache-2.0/nsprpub/config/pathsub.h
  U apache-2.0/nsprpub/config/prmkdir.bat
  U apache-2.0/nsprpub/config/rules.mk
  U apache-2.0/nsprpub/config/win16.mk
  N apache-2.0/nsprpub/include/config.h.in
  U apache-2.0/nsprpub/lib/Makefile
  N apache-2.0/nsprpub/lib/Makefile.in
  N apache-2.0/nsprpub/lib/ds/MANIFEST
  U apache-2.0/nsprpub/lib/ds/Makefile
  N apache-2.0/nsprpub/lib/ds/Makefile.in
  U apache-2.0/nsprpub/lib/ds/export.mac
  U apache-2.0/nsprpub/lib/ds/plarena.c
  U apache-2.0/nsprpub/lib/ds/plarena.h
  U apache-2.0/nsprpub/lib/ds/plarenas.h
  U apache-2.0/nsprpub/lib/ds/plevent.c
  U apache-2.0/nsprpub/lib/ds/plevent.h
  U apache-2.0/nsprpub/lib/ds/plhash.c
  U apache-2.0/nsprpub/lib/ds/plhash.h
  N apache-2.0/nsprpub/lib/ds/plvector.c
  N apache-2.0/nsprpub/lib/ds/plvector.h
  U apache-2.0/nsprpub/lib/libc/Makefile
  N apache-2.0/nsprpub/lib/libc/Makefile.in
  U apache-2.0/nsprpub/lib/libc/README
  N apache-2.0/nsprpub/lib/libc/include/MANIFEST
  U apache-2.0/nsprpub/lib/libc/include/Makefile
  N apache-2.0/nsprpub/lib/libc/include/Makefile.in
  U apache-2.0/nsprpub/lib/libc/include/README
  U apache-2.0/nsprpub/lib/libc/include/export.mac
  U apache-2.0/nsprpub/lib/libc/include/plbase64.h
  U apache-2.0/nsprpub/lib/libc/include/plerror.h
  U apache-2.0/nsprpub/lib/libc/include/plgetopt.h
  U apache-2.0/nsprpub/lib/libc/include/plresolv.h
  U apache-2.0/nsprpub/lib/libc/include/plstr.h
  U apache-2.0/nsprpub/lib/libc/src/Makefile
  N apache-2.0/nsprpub/lib/libc/src/Makefile.in
  U apache-2.0/nsprpub/lib/libc/src/README
  U apache-2.0/nsprpub/lib/libc/src/base64.c
  U apache-2.0/nsprpub/lib/libc/src/plerror.c
  U apache-2.0/nsprpub/lib/libc/src/plgetopt.c
  U apache-2.0/nsprpub/lib/libc/src/strcat.c
  U apache-2.0/nsprpub/lib/libc/src/strccmp.c
  U apache-2.0/nsprpub/lib/libc/src/strchr.c
  U apache-2.0/nsprpub/lib/libc/src/strcmp.c
  U apache-2.0/nsprpub/lib/libc/src/strcpy.c
  U apache-2.0/nsprpub/lib/libc/src/strcstr.c
  U apache-2.0/nsprpub/lib/libc/src/strdup.c
  U apache-2.0/nsprpub/lib/libc/src/strlen.c
  U apache-2.0/nsprpub/lib/libc/src/strpbrk.c
  U apache-2.0/nsprpub/lib/libc/src/strstr.c
  U apache-2.0/nsprpub/lib/msgc/Makefile
  N apache-2.0/nsprpub/lib/msgc/Makefile.in
  N apache-2.0/nsprpub/lib/msgc/include/MANIFEST
  U apache-2.0/nsprpub/lib/msgc/include/Makefile
  N apache-2.0/nsprpub/lib/msgc/include/Makefile.in
  U apache-2.0/nsprpub/lib/msgc/include/export.mac
  U apache-2.0/nsprpub/lib/msgc/include/gcint.h
  U apache-2.0/nsprpub/lib/msgc/include/prgc.h
  U apache-2.0/nsprpub/lib/msgc/src/Makefile
  N apache-2.0/nsprpub/lib/msgc/src/Makefile.in
  U apache-2.0/nsprpub/lib/msgc/src/macgc.c
  U apache-2.0/nsprpub/lib/msgc/src/os2gc.c
  U apache-2.0/nsprpub/lib/msgc/src/prgcapi.c
  U apache-2.0/nsprpub/lib/msgc/src/prmsgc.c
  U apache-2.0/nsprpub/lib/msgc/src/unixgc.c
  U apache-2.0/nsprpub/lib/msgc/src/win16gc.c
  U apache-2.0/nsprpub/lib/msgc/src/win32gc.c
  U apache-2.0/nsprpub/lib/msgc/tests/Makefile
  N apache-2.0/nsprpub/lib/msgc/tests/Makefile.in
  U apache-2.0/nsprpub/lib/msgc/tests/gc1.c
  U apache-2.0/nsprpub/lib/msgc/tests/thrashgc.c
  U apache-2.0/nsprpub/lib/prstreams/Makefile
  N apache-2.0/nsprpub/lib/prstreams/Makefile.in
  U apache-2.0/nsprpub/lib/prstreams/prstrms.cpp
  U apache-2.0/nsprpub/lib/prstreams/prstrms.h
  U apache-2.0/nsprpub

cvs commit: apache-2.0/nsprpub/pr/include prthread.h

1998-09-22 Thread dgaudet
dgaudet 98/09/22 09:27:38

  Modified:nsprpub/pr/include prthread.h
  Log:
  merge up to MOZILLA cvs19980922 tag
  
  Revision  ChangesPath
  1.3   +5 -5  apache-2.0/nsprpub/pr/include/prthread.h
  
  Index: prthread.h
  ===
  RCS file: /export/home/cvs/apache-2.0/nsprpub/pr/include/prthread.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- prthread.h1998/09/05 16:54:15 1.2
  +++ prthread.h1998/09/22 16:27:38 1.3
  @@ -185,19 +185,19 @@
   
   /*
   ** Define some per-thread-private data.
  -** index is an index into the per-thread private data table
  +** tpdIndex is an index into the per-thread private data table
   ** priv is the per-thread-private data 
   **
   ** If the per-thread private data table has a previously registered
   ** destructor function and a non-NULL per-thread-private data value,
   ** the destructor function is invoked.
   **
  -** This can return PR_FAILURE if index is invalid.
  +** This can return PR_FAILURE if the index is invalid.
   */
  -PR_EXTERN(PRStatus) PR_SetThreadPrivate(PRUintn indexx, void *priv);
  +PR_EXTERN(PRStatus) PR_SetThreadPrivate(PRUintn tpdIndex, void *priv);
   
   /*
  -** Recover the per-thread-private data for the current thread. index is
  +** Recover the per-thread-private data for the current thread. tpdIndex is
   ** the index into the per-thread private data table. 
   **
   ** The returned value may be NULL which is indistinguishable from an error 
  @@ -205,7 +205,7 @@
   **
   ** A thread can only get access to its own thread-specific-data.
   */
  -PR_EXTERN(void*) PR_GetThreadPrivate(PRUintn indexx);
  +PR_EXTERN(void*) PR_GetThreadPrivate(PRUintn tpdIndex);
   
   /*
   ** This routine sets the interrupt request for a target thread. The interrupt
  
  
  


cvs commit: apache-2.0/apache-nspr HOWTOBUILD

1998-09-22 Thread dgaudet
dgaudet 98/09/22 09:38:42

  Modified:apache-nspr HOWTOBUILD
  Log:
  we can build with the included nspr again
  
  Revision  ChangesPath
  1.3   +2 -11 apache-2.0/apache-nspr/HOWTOBUILD
  
  Index: HOWTOBUILD
  ===
  RCS file: /export/home/cvs/apache-2.0/apache-nspr/HOWTOBUILD,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HOWTOBUILD1998/09/19 19:15:42 1.2
  +++ HOWTOBUILD1998/09/22 16:38:42 1.3
  @@ -1,18 +1,9 @@
   This is a temporary note for developers during the 2.0 development process.
   
  -N.B.: The version of NSPR included in Apache 2.0 is no longer sufficient. Use
  -the latest version from Mozilla.
  -
  -First, build nspr:
  -
  -cvs -d :pserver:[EMAIL PROTECTED]:/cvsroot co mozilla/nsprpub
  -
  -(I've forgotten the password - see http://www.mozilla.org).
  -
  -cd mozilla/nsprpub
  +cd apache-2.0/nsprpub
   make (or gmake) (use -DBUILD_OPT=1 to build optimised)
   
  -This produces a directory .../mozilla/dist/platform_DBG.OBJ, containing
  +This produces a directory apache-2.0/dist/platform_DBG.OBJ, containing
   include and lib. Tweak .../apache-2.0/apache-nspr/Configuration to reflect 
this
   path (use full pathnames). Note that Configuration.tmpl is currently 
bullshit -
   use one of Configuration.ben or Configuration.dean as a basis (note that Dean
  
  
  


cvs commit: apache-2.0/apache-nspr - Imported sources

1998-09-22 Thread dgaudet
dgaudet 98/09/22 09:47:32

  Log:
  import apache-1.3.3-dev sources as of 19980922
  
  Status:
  
  Vendor Tag:   APACHE
  Release Tags: APACHE_1_3_19980922
  
  U apache-2.0/apache-nspr/.cvsignore
  U apache-2.0/apache-nspr/.gdbinit
  U apache-2.0/apache-nspr/Apache.dsp
  U apache-2.0/apache-nspr/Apache.mak
  U apache-2.0/apache-nspr/ApacheCore.def
  U apache-2.0/apache-nspr/ApacheCore.dsp
  U apache-2.0/apache-nspr/ApacheCore.mak
  N apache-2.0/apache-nspr/BUILD.NOTES
  U apache-2.0/apache-nspr/CHANGES
  C apache-2.0/apache-nspr/Configuration.tmpl
  U apache-2.0/apache-nspr/Configure
  U apache-2.0/apache-nspr/INDENT
  U apache-2.0/apache-nspr/INSTALL
  U apache-2.0/apache-nspr/Makefile.nt
  C apache-2.0/apache-nspr/Makefile.tmpl
  U apache-2.0/apache-nspr/PORTING
  U apache-2.0/apache-nspr/README
  U apache-2.0/apache-nspr/README.EBCDIC
  U apache-2.0/apache-nspr/buildmark.c
  U apache-2.0/apache-nspr/ap/.cvsignore
  U apache-2.0/apache-nspr/ap/.indent.pro
  C apache-2.0/apache-nspr/ap/Makefile.tmpl
  C apache-2.0/apache-nspr/ap/ap.dsp
  C apache-2.0/apache-nspr/ap/ap.mak
  U apache-2.0/apache-nspr/ap/ap_cpystrn.c
  U apache-2.0/apache-nspr/ap/ap_execve.c
  N apache-2.0/apache-nspr/ap/ap_fnmatch.c
  U apache-2.0/apache-nspr/ap/ap_signal.c
  U apache-2.0/apache-nspr/ap/ap_slack.c
  C apache-2.0/apache-nspr/ap/ap_snprintf.c
  U apache-2.0/apache-nspr/main/.cvsignore
  U apache-2.0/apache-nspr/main/.indent.pro
  C apache-2.0/apache-nspr/main/Makefile.tmpl
  C apache-2.0/apache-nspr/main/alloc.c
  C apache-2.0/apache-nspr/main/buff.c
  U apache-2.0/apache-nspr/main/gen_test_char.c
  U apache-2.0/apache-nspr/main/gen_test_char.dsp
  U apache-2.0/apache-nspr/main/gen_test_char.mak
  U apache-2.0/apache-nspr/main/gen_uri_delims.c
  U apache-2.0/apache-nspr/main/gen_uri_delims.dsp
  U apache-2.0/apache-nspr/main/gen_uri_delims.mak
  C apache-2.0/apache-nspr/main/http_config.c
  C apache-2.0/apache-nspr/main/http_core.c
  C apache-2.0/apache-nspr/main/http_log.c
  C apache-2.0/apache-nspr/main/http_main.c
  C apache-2.0/apache-nspr/main/http_protocol.c
  C apache-2.0/apache-nspr/main/http_request.c
  U apache-2.0/apache-nspr/main/http_vhost.c
  U apache-2.0/apache-nspr/main/md5c.c
  C apache-2.0/apache-nspr/main/rfc1413.c
  C apache-2.0/apache-nspr/main/util.c
  C apache-2.0/apache-nspr/main/util_date.c
  C apache-2.0/apache-nspr/main/util_md5.c
  C apache-2.0/apache-nspr/main/util_script.c
  U apache-2.0/apache-nspr/main/util_uri.c
  N apache-2.0/apache-nspr/helpers/MakeEtags
  U apache-2.0/apache-nspr/helpers/CutRule
  U apache-2.0/apache-nspr/helpers/GuessOS
  U apache-2.0/apache-nspr/helpers/MakeLint
  U apache-2.0/apache-nspr/helpers/PrintPath
  U apache-2.0/apache-nspr/helpers/TestCompile
  N apache-2.0/apache-nspr/helpers/buildinfo.sh
  N apache-2.0/apache-nspr/helpers/checkheader.sh
  U apache-2.0/apache-nspr/helpers/dummy.c
  U apache-2.0/apache-nspr/helpers/find-dbm-lib
  N apache-2.0/apache-nspr/helpers/findcpp.sh
  U apache-2.0/apache-nspr/helpers/fmn.sh
  U apache-2.0/apache-nspr/helpers/fp2rp
  U apache-2.0/apache-nspr/helpers/install.sh
  U apache-2.0/apache-nspr/helpers/mfhead
  U apache-2.0/apache-nspr/helpers/mkdir.sh
  U apache-2.0/apache-nspr/helpers/mkshadow.sh
  U apache-2.0/apache-nspr/helpers/ppl.sh
  N apache-2.0/apache-nspr/helpers/slo.sh
  U apache-2.0/apache-nspr/include/.cvsignore
  U apache-2.0/apache-nspr/include/.indent.pro
  C apache-2.0/apache-nspr/include/alloc.h
  C apache-2.0/apache-nspr/include/ap.h
  N apache-2.0/apache-nspr/include/ap_compat.h
  N apache-2.0/apache-nspr/include/ap_config.h
  N apache-2.0/apache-nspr/include/ap_ctype.h
  U apache-2.0/apache-nspr/include/ap_md5.h
  N apache-2.0/apache-nspr/include/ap_mmn.h
  C apache-2.0/apache-nspr/include/buff.h
  U apache-2.0/apache-nspr/include/compat.h
  C apache-2.0/apache-nspr/include/conf.h
  U apache-2.0/apache-nspr/include/explain.h
  U apache-2.0/apache-nspr/include/fnmatch.h
  C apache-2.0/apache-nspr/include/hsregex.h
  C apache-2.0/apache-nspr/include/http_conf_globals.h
  U apache-2.0/apache-nspr/include/http_config.h
  U apache-2.0/apache-nspr/include/http_core.h
  C apache-2.0/apache-nspr/include/http_log.h
  U apache-2.0/apache-nspr/include/http_main.h
  C apache-2.0/apache-nspr/include/http_protocol.h
  C apache-2.0/apache-nspr/include/http_request.h
  U apache-2.0/apache-nspr/include/http_vhost.h
  C apache-2.0/apache-nspr/include/httpd.h
  U apache-2.0/apache-nspr/include/multithread.h
  U apache-2.0/apache-nspr/include/rfc1413.h
  C apache-2.0/apache-nspr/include/scoreboard.h
  U apache-2.0/apache-nspr/include/util_date.h
  C apache-2.0/apache-nspr/include/util_md5.h
  C apache-2.0/apache-nspr/include/util_script.h
  U apache-2.0/apache-nspr/include/util_uri.h
  U apache-2.0/apache-nspr/modules/.cvsignore
  U apache-2.0/apache-nspr/modules/README
  U apache-2.0/apache-nspr/modules/example/.cvsignore
  U apache-2.0/apache-nspr/modules/example/.indent.pro
  U apache-2.0/apache-nspr/modules/example

cvs commit: apache-2.0/apache-nspr/os/win32 modules.c util_win32.c

1998-09-22 Thread dgaudet
dgaudet 98/09/22 11:05:55

  Modified:apache-nspr Configuration.tmpl Makefile.tmpl
   apache-nspr/ap Makefile.tmpl ap.dsp ap_snprintf.c
   apache-nspr/include alloc.h ap.h ap_config.h buff.h
hsregex.h http_conf_globals.h http_log.h
http_protocol.h http_request.h httpd.h scoreboard.h
util_md5.h
   apache-nspr/main Makefile.tmpl alloc.c buff.c http_config.c
http_core.c http_log.c http_main.c http_protocol.c
http_request.c rfc1413.c util.c util_date.c
util_md5.c util_script.c
   apache-nspr/modules/example mod_example.c
   apache-nspr/modules/experimental mod_mmap_static.c
   apache-nspr/modules/proxy Makefile.tmpl proxy_cache.c
proxy_connect.c proxy_ftp.c proxy_http.c
   apache-nspr/modules/standard Makefile.tmpl mod_access.c
mod_actions.c mod_asis.c mod_auth.c mod_autoindex.c
mod_cern_meta.c mod_cgi.c mod_digest.c mod_dir.c
mod_expires.c mod_imap.c mod_include.c mod_info.c
mod_log_config.c mod_mime.c mod_mime_magic.c
mod_negotiation.c mod_rewrite.c mod_rewrite.h
mod_so.c mod_speling.c mod_status.c mod_userdir.c
   apache-nspr/os/unix os.c
   apache-nspr/os/win32 modules.c util_win32.c
  Removed: apache-nspr/include conf.h
  Log:
  painful conflict resolution... I have not tried to compile this
  
  Revision  ChangesPath
  1.3   +27 -20apache-2.0/apache-nspr/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===
  RCS file: /export/home/cvs/apache-2.0/apache-nspr/Configuration.tmpl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Configuration.tmpl1998/06/30 08:57:04 1.2
  +++ Configuration.tmpl1998/09/22 18:05:05 1.3
  @@ -58,6 +58,7 @@
   EXTRA_DEPS=
   
   #CC=
  +#CPP=
   #OPTIM=
   #RANLIB=
   
  @@ -72,8 +73,7 @@
   # knowledge on how to compile these DSO files because this is
   # heavily platform-dependent. The current state of supported and
   # explicitly unsupported platforms can be found in the file 
  -# htdocs/manual/sharedobjects.html, under 
  -# Supported Platforms.
  +# htdocs/manual/dso.html, under Supported Platforms.
   #
   # For other platforms where you want to use the DSO mechanism you
   # first have to make sure it supports the pragmatic dlopen()
  @@ -90,6 +90,19 @@
   # Then enable the DSO feature for particular modules individually
   # by replacing their `AddModule' command with `SharedModule' and
   # change the filename extension from `.o' to `.so'. 
  +#
  +# Sometimes the DSO files need to be linked against other shared
  +# libraries to explicitly resolve symbols from them when the
  +# httpd program not already contains references to them. For
  +# instance when buidling mod_auth_db as a DSO you need to link
  +# the DSO against the libdb explicity because the Apache kernel
  +# has no references for this library. But the problem is that
  +# this chaining is not supported on all platforms. Although one
  +# usually can link a DSO against another DSO without linker
  +# complains the linkage is not really done on these platforms.
  +# So, when you receive unresolved symbol errors under runtime
  +# when using the LoadModule directive for a particular module try
  +# to enable the SHARED_CHAIN rule below.
   
   #CFLAGS_SHLIB=
   #LD_SHLIB=
  @@ -97,6 +110,7 @@
   #LDFLAGS_SHLIB_EXPORT=
   
   Rule SHARED_CORE=default
  +Rule SHARED_CHAIN=default
   
   
   # Rules configuration
  @@ -105,7 +119,7 @@
   # functions. The format is: Rule RULE=value
   #
   # At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
  -# SOCKS5, STATUS, IRIXNIS, IRIXN32 and PARANOID.
  +# SOCKS5, IRIXNIS, IRIXN32 and PARANOID.
   #
   # For all Rules, if set to yes, then Configure knows we want that
   # capability and does what is required to add it in. If set to default
  @@ -122,12 +136,6 @@
   #  location to EXTRA_LIBS, otherwise Configure will assume
   #  -L/usr/local/lib -lsocks5
   #
  -# STATUS:
  -#  If Configure determines that you are using the status_module,
  -#  it will automatically enable full status information if set
  -#  to 'yes'. If the status module is not included, having STATUS
  -#  set to 'yes' has no impact.
  -#
   # IRIXNIS:
   #  Only takes effect if Configure determines that you are running
   #  SGI IRIX.  If you are using a (ancient) 4.x version of IRIX, you
  @@ -148,7 +156,6 @@
   #  actually print-out the code that the modules execute
   #
   
  -Rule STATUS=yes
   Rule SOCKS4=no
   Rule SOCKS5=no
   Rule IRIXNIS

cvs commit: apache-1.3/src/include ap_config.h

1998-09-24 Thread dgaudet
dgaudet 98/09/24 10:25:55

  Modified:src  CHANGES
   src/include ap_config.h
  Log:
  As the new header test gets it right, remove the override for sys/select.h in
  OS/2 section of ap_config.h
  
  This removes warnings about the redefinition of HAVE_SYS_SELECT_H.
  
  Submitted by: Brian Havard [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1077+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1076
  retrieving revision 1.1077
  diff -u -r1.1076 -r1.1077
  --- CHANGES   1998/09/24 14:06:40 1.1076
  +++ CHANGES   1998/09/24 17:25:53 1.1077
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.3
   
  +  *) OS/2: The new header tests get things right, need to update
  + ap_config.h.  [Brian Havard]
  +
 *) The Perl %ENV hash will now be setup by default when using the
mod_include `perl' command [Doug MacEachern]
   
  
  
  
  1.236 +0 -2  apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.235
  retrieving revision 1.236
  diff -u -r1.235 -r1.236
  --- ap_config.h   1998/09/24 09:55:52 1.235
  +++ ap_config.h   1998/09/24 17:25:55 1.236
  @@ -707,8 +707,6 @@
   #define NEED_STRNCASECMP
   #define NO_SETSID
   #define NO_TIMES
  -/* ap_config_auto.h gets this wrong, force sys/select.h to be included */
  -#define HAVE_SYS_SELECT_H
   #define CASE_BLIND_FILESYSTEM
   /* Add some drive name support */
   #define chdir _chdir2
  
  
  


cvs commit: apache-1.3 STATUS

1998-10-06 Thread dgaudet
dgaudet 98/10/06 14:55:18

  Modified:.STATUS
  Log:
  it's october in sanfrancisco, summer is finally here
  
  Revision  ChangesPath
  1.505 +6 -0  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.504
  retrieving revision 1.505
  diff -u -r1.504 -r1.505
  --- STATUS1998/10/06 20:59:05 1.504
  +++ STATUS1998/10/06 21:55:16 1.505
  @@ -76,6 +76,12 @@
 lookup table to display the server name.
   Message-ID: [EMAIL PROTECTED]
   Status: Roy (untested +1)
  + Dean -1: I see no need to add a new virtual host number to the
  + server guts... although I can understand why it's nice for
  + SNMP.  However I'd be totally for a patch which places
  + server_rec * into the scoreboard in place of the name
  + -- because the pointers are valid across parent and
  + children... why waste the time doing number lookups and such.
   
   * Manoj's [PATCH] mime.types update
   Message-ID: [EMAIL PROTECTED]
  
  
  


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

1998-10-12 Thread dgaudet
dgaudet 98/10/12 06:48:27

  Modified:src/main util_script.c
  Log:
  fix something that is obviously wrong by inspection
  
  Revision  ChangesPath
  1.134 +1 -1  apache-1.3/src/main/util_script.c
  
  Index: util_script.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v
  retrieving revision 1.133
  retrieving revision 1.134
  diff -u -r1.133 -r1.134
  --- util_script.c 1998/10/03 16:49:32 1.133
  +++ util_script.c 1998/10/12 13:48:26 1.134
  @@ -262,7 +262,7 @@
   #endif
   
   ap_table_addn(e, PATH, env_path);
  -ap_table_setn(e, SERVER_SIGNATURE, ap_psignature(, r));
  +ap_table_addn(e, SERVER_SIGNATURE, ap_psignature(, r));
   ap_table_addn(e, SERVER_SOFTWARE, ap_get_server_version());
   ap_table_addn(e, SERVER_NAME, ap_get_server_name(r));
   ap_table_addn(e, SERVER_PORT,
  
  
  


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

1998-10-12 Thread dgaudet
dgaudet 98/10/12 10:15:26

  Modified:src/main http_main.c
  Log:
  correct inconsistency in error message format
  
  Revision  ChangesPath
  1.400 +2 -2  apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.399
  retrieving revision 1.400
  diff -u -r1.399 -r1.400
  --- http_main.c   1998/10/06 15:41:44 1.399
  +++ http_main.c   1998/10/12 17:15:25 1.400
  @@ -1044,14 +1044,14 @@
if (sig == SIGPIPE) {
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO,
current_conn-server,
  - (client %s) stopped connection before %s completed,
  + [client %s] stopped connection before %s completed,
current_conn-remote_ip,
timeout_name ? timeout_name : request);
}
else {
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO,
current_conn-server,
  - (client %s) %s timed out,
  + [client %s] %s timed out,
current_conn-remote_ip,
timeout_name ? timeout_name : request);
}
  
  
  


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

1998-12-04 Thread dgaudet
dgaudet 98/12/04 11:12:18

  Modified:src/include ap_mmn.h scoreboard.h
   src/main http_main.c
   src/modules/standard mod_status.c
  Log:
  - Jim's fix to the vhostrec problem wasn't sufficient for all cases...
  implement the full generation-based solution I proposed.
  - Deal with generation rollover a little more robustly.  Still not perfect.
  
  Revision  ChangesPath
  1.12  +5 -2  apache-1.3/src/include/ap_mmn.h
  
  Index: ap_mmn.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/ap_mmn.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ap_mmn.h  1998/11/20 21:17:25 1.11
  +++ ap_mmn.h  1998/12/04 19:12:15 1.12
  @@ -184,11 +184,14 @@
* 19981108 (1.3.4-dev) - added ap_method_number_of()
*  - changed value of M_INVALID and added WebDAV methods
* 19981108.1   - ap_exists_config_define() is now public (minor 
bump)
  - *
  + * 19981204 - scoreboard changes -- added generation, changed
  + *exit_generation to running_generation.  Somewhere
  + *earlier vhostrec was added, but it's only safe to 
use
  + *as of this rev.  See scoreboard.h for 
documentation.
*/
   
   #ifndef MODULE_MAGIC_NUMBER_MAJOR
  -#define MODULE_MAGIC_NUMBER_MAJOR 19981108
  +#define MODULE_MAGIC_NUMBER_MAJOR 19981204
   #endif
   #define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */
   #define MODULE_MAGIC_NUMBER MODULE_MAGIC_NUMBER_MAJOR/* backward 
compat */
  
  
  
  1.44  +29 -2 apache-1.3/src/include/scoreboard.h
  
  Index: scoreboard.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/scoreboard.h,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- scoreboard.h  1998/11/06 22:42:41 1.43
  +++ scoreboard.h  1998/12/04 19:12:15 1.44
  @@ -106,6 +106,29 @@
*/
   typedef unsigned vtime_t;
   
  +/* Type used for generation indicies.  Startup and every restart cause a
  + * new generation of children to be spawned.  Children within the same
  + * generation share the same configuration information -- pointers to stuff
  + * created at config time in the parent are valid across children.  For
  + * example, the vhostrec pointer in the scoreboard below is valid in all
  + * children of the same generation.
  + *
  + * The safe way to access the vhost pointer is like this:
  + *
  + * short_score *ss = pointer to whichver slot is interesting;
  + * parent_score *ps = pointer to whichver slot is interesting;
  + * server_rec *vh = ss-vhostrec;
  + *
  + * if (ps-generation != ap_my_generation) {
  + * vh = NULL;
  + * }
  + *
  + * then if vh is not NULL it's valid in this child.
  + *
  + * This avoids various race conditions around restarts.
  + */
  +typedef int ap_generation_t;
  +
   /* stuff which the children generally write, and the parent mainly reads */
   typedef struct {
   #ifdef OPTIMIZE_TIMEOUTS
  @@ -135,11 +158,12 @@
   char client[32]; /* Keep 'em small... */
   char request[64];/* We just want an idea... */
   server_rec *vhostrec;/* What virtual host is being accessed? */
  +/* SEE ABOVE FOR SAFE USAGE! */
   } short_score;
   
   typedef struct {
  -int exit_generation; /* Set by the main process if a graceful
  -restart is required */
  +ap_generation_t running_generation;  /* the generation of children 
which
  + * should still be serving requests. 
*/
   } global_score;
   
   /* stuff which the parent generally writes and the children rarely read */
  @@ -149,6 +173,7 @@
   time_t last_rtime;   /* time(0) of the last change */
   vtime_t last_vtime;  /* the last vtime the parent has seen */
   #endif
  +ap_generation_t generation;  /* generation of this child */
   } parent_score;
   
   typedef struct {
  @@ -163,6 +188,8 @@
   API_EXPORT(int) ap_exists_scoreboard_image(void);
   
   API_VAR_EXPORT extern scoreboard *ap_scoreboard_image;
  +
  +API_VAR_EXPORT extern ap_generation_t ap_my_generation;
   
   /* for time_process_request() in http_main.c */
   #define START_PREQUEST 1
  
  
  
  1.408 +56 -60apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.407
  retrieving revision 1.408
  diff -u -r1.407 -r1.408
  --- http_main.c   1998/12/03 01:07:54 1.407
  +++ http_main.c   1998/12/04 19:12:16 1.408
  @@ -1531,12 +1531,6 @@
* We begin with routines which deal with the file

cvs commit: apache-site/contributors index.html

1998-12-18 Thread dgaudet
dgaudet 98/12/18 10:05:24

  Modified:contributors index.html
  Log:
  I've changed jobs
  
  Revision  ChangesPath
  1.55  +3 -6  apache-site/contributors/index.html
  
  Index: index.html
  ===
  RCS file: /home/cvs/apache-site/contributors/index.html,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- index.html1998/11/19 15:57:52 1.54
  +++ index.html1998/12/18 18:05:23 1.55
  @@ -255,19 +255,16 @@
   !-- 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
  -STRONGOrganization:/STRONG A HREF=http://www.transmeta.com/;Transmeta 
Corporation/A
  +STRONGOrganization:/STRONG A HREF=http://www.cp.net/;Critical Path/A
   BR
  -STRONGOccupation:/STRONG Performance AnalystBR
  +STRONGOccupation:/STRONG Sr. Software EngineerBR
   STRONGLocation:/STRONG San Francisco, CA, USABR
   STRONGComments:/STRONG Performance freak.BR
   STRONGOS Expertise:/STRONG LinuxBR
   STRONGContributions:/STRONG
   Performance/reliability coding, and general bug fixes.  Believes
in the One True Tab Width of 8 columns.  Known to be a hard-nosed
  - pain in the butt.
  -In a previous life Dean worked at
  - A HREF=http://www.hotwired.com/;HotWired/A, which is where
  - he started hacking Apache.BR
  + pain in the butt.BR
   P
   
   STRONGName:/STRONG   A NAME=grayMatthew Gray/ABR
  
  
  


cvs commit: apache-1.3/htdocs/manual/misc perf-tuning.html

1998-12-18 Thread dgaudet
dgaudet 98/12/18 14:29:57

  Modified:htdocs/manual/misc perf-tuning.html
  Log:
  file moved
  
  Revision  ChangesPath
  1.16  +1 -1  apache-1.3/htdocs/manual/misc/perf-tuning.html
  
  Index: perf-tuning.html
  ===
  RCS file: /home/cvs/apache-1.3/htdocs/manual/misc/perf-tuning.html,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- perf-tuning.html  1998/12/13 20:42:16 1.15
  +++ perf-tuning.html  1998/12/18 22:29:56 1.16
  @@ -340,7 +340,7 @@
   implement a mutual exclusion semaphore.  Only one child can have the
   mutex at any time.  There are several choices for implementing these
   mutexes.  The choice is defined in CODEsrc/conf.h/CODE (pre-1.3) or
  -CODEsrc/main/conf.h/CODE (1.3 or later).  Some architectures
  +CODEsrc/include/ap_config.h/CODE (1.3 or later).  Some architectures
   do not have any locking choice made, on these architectures it is unsafe
   to use multiple CODEListen/CODE directives.
   
  
  
  


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

1998-12-23 Thread dgaudet
dgaudet 98/12/23 10:34:27

  Modified:src  CHANGES
   src/modules/standard mod_log_config.c
  Log:
  For %v log ServerName regardless of the UseCanonicalName
  setting (similarly for %p).
  
  Revision  ChangesPath
  1.1177+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1176
  retrieving revision 1.1177
  diff -u -r1.1176 -r1.1177
  --- CHANGES   1998/12/23 00:36:12 1.1176
  +++ CHANGES   1998/12/23 18:34:19 1.1177
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.4
   
  +  *) For %v log ServerName regardless of the UseCanonicalName
  + setting (similarly for %p).  [Dean Gaudet]
  +
 *) Configure was initializing the variables $OSDIR, $INCDIR and $SHELL
rather late (too late for some invocations of TestCompile).
This improves the make environment available to TestCompile and
  
  
  
  1.69  +3 -2  apache-1.3/src/modules/standard/mod_log_config.c
  
  Index: mod_log_config.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_log_config.c,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- mod_log_config.c  1998/12/02 00:00:16 1.68
  +++ mod_log_config.c  1998/12/23 18:34:25 1.69
  @@ -407,12 +407,13 @@
*/
   static const char *log_virtual_host(request_rec *r, char *a)
   {
  -return ap_get_server_name(r);
  +return r-server-server_hostname;
   }
   
   static const char *log_server_port(request_rec *r, char *a)
   {
  -return ap_psprintf(r-pool, %u, ap_get_server_port(r));
  +return ap_psprintf(r-pool, %u,
  + r-server-port ? r-server-port : ap_default_port(r));
   }
   
   static const char *log_child_pid(request_rec *r, char *a)
  
  
  


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

1998-12-29 Thread dgaudet
dgaudet 98/12/29 10:28:11

  Modified:src/modules/standard mod_negotiation.c
  Log:
  The US is the only English speaking country which uses these misspellings, 
I'm Canadian.
  
  Revision  ChangesPath
  1.89  +1 -1  apache-1.3/src/modules/standard/mod_negotiation.c
  
  Index: mod_negotiation.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_negotiation.c,v
  retrieving revision 1.88
  retrieving revision 1.89
  diff -u -r1.88 -r1.89
  --- mod_negotiation.c 1998/12/29 09:46:18 1.88
  +++ mod_negotiation.c 1998/12/29 18:28:10 1.89
  @@ -2259,7 +2259,7 @@
* choice response or 406 status body.
*/
   
  -/* XXX: this is disgusting, this has O(n^2) behavior! -djg */
  +/* XXX: this is disgusting, this has O(n^2) behaviour! -djg */
   
   static char *make_variant_list(request_rec *r, negotiation_state *neg)
   {
  
  
  


cvs commit: apache-2.0 STATUS

1998-12-29 Thread dgaudet
dgaudet 98/12/29 14:21:43

  Modified:.STATUS
  Log:
  more details on sfio
  
  Revision  ChangesPath
  1.46  +19 -2 apache-2.0/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-2.0/STATUS,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- STATUS1998/12/17 15:14:06 1.45
  +++ STATUS1998/12/29 22:21:42 1.46
  @@ -1,5 +1,5 @@
   Apache 2.0 STATUS:
  -Last modified at [$Date: 1998/12/17 15:14:06 $]
  +Last modified at [$Date: 1998/12/29 22:21:42 $]
   
   Release:
   
  @@ -152,7 +152,24 @@
   Status: Ken has volunteered.
   
 o sfio
  --1: Dean [until it's shown to be thread safe (RST claims it isn't)]
  +Dean says it's not threadsafe.  Specifically these need
  + to be fixed:
  +   - sfprints.c has a static Sfio_t *f which would need to be
  + made an auto for thread safety
  +   - sfcvt.c has a static char *Buf... needs to have similar
  + change that we did to the cvt foo in apache
  +   - sftmp.c has a few statics... probably best to just lock in here
  +   - sfpopen.c has a couple statics that need initializing once
  +   - sfexit.c needs a few locks
  +   - sfmode.c Sfrsrv pool of buffers needs to be locked
  +
  + These can just be avoided:
  +   - the Stdio_b interface has a bunch of statics
  +   - the sfdcdos example discipline has a static
  + 
  + There could be more... that was just a quick look around.  But
  + the perl folks seem to be using sfio, so they may have already
  + looked into the threading issues.
   
 o bstdio
   This was written by Chris Provenzano as part of his implementation
  
  
  


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

1999-01-03 Thread dgaudet
dgaudet 99/01/03 08:45:27

  Modified:src  CHANGES
   src/main http_main.c
  Log:
  Back out roy's previous change -- this sort of thing should be handled
  by a cleanup if a module really needs it.  Unless someone can demonstrate
  that there is broken libc code somewhere that absolutely needs this...
  
  Revision  ChangesPath
  1.1199+0 -5  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1198
  retrieving revision 1.1199
  diff -u -r1.1198 -r1.1199
  --- CHANGES   1999/01/03 13:35:30 1.1198
  +++ CHANGES   1999/01/03 16:45:23 1.1199
  @@ -3,11 +3,6 @@
 *) Change the ap_assert macro to a variant that works on all platforms.
[Richard Prinz [EMAIL PROTECTED]] PR#2575
   
  -  *) In order to prevent some errant library code from setting an alarm
  - on one request and having it affect some later connection, force the
  - alarm to be cleared before each connection even if Apache's own
  - timeouts are being handled by the parent. [Roy Fielding]
  -
 *) Make sure under ELF-based NetBSD (now) and OpenBSD (future) we don't
search for an underscore on dlsym() (as it's already the case
for FreeBSD 3.0). [Todd Vierling [EMAIL PROTECTED]] PR#2462
  
  
  
  1.418 +1 -4  apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.417
  retrieving revision 1.418
  diff -u -r1.417 -r1.418
  --- http_main.c   1999/01/03 13:09:48 1.417
  +++ http_main.c   1999/01/03 16:45:25 1.418
  @@ -3610,10 +3610,7 @@
 * (Re)initialize this child to a pre-connection state.
 */
   
  - ap_kill_timeout(0); /* Cancel any outstanding alarms */
  -#ifdef OPTIMIZE_TIMEOUTS
  - alarm(0);   /* even if not set by Apache routines */
  -#endif
  + ap_kill_timeout(0); /* Cancel any outstanding alarms. */
current_conn = NULL;
   
ap_clear_pool(ptrans);
  
  
  


cvs commit: apache-site/mirrors index.html mirrors.list

1999-01-07 Thread dgaudet
dgaudet 99/01/06 20:00:46

  Modified:mirrors  index.html mirrors.list
  Log:
  twinlark has been moved to a location pretty much the same as hyperreal
  itself... so there's little sense it continuing to be a mirror.
  
  Revision  ChangesPath
  1.55  +0 -2  apache-site/mirrors/index.html
  
  Index: index.html
  ===
  RCS file: /home/cvs/apache-site/mirrors/index.html,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- index.html1999/01/05 19:29:23 1.54
  +++ index.html1999/01/07 04:00:45 1.55
  @@ -197,8 +197,6 @@
   !-- [EMAIL PROTECTED] --
   A HREF=http://apache.compuex.com/;us/A -
   !-- [EMAIL PROTECTED] --
  -A HREF=http://apache.arctic.org/;us/A -
  -!-- [EMAIL PROTECTED] --
   A HREF=http://ftp.epix.net/apache/;us/A -
   !-- archive@epix.net --
   A HREF=http://apache.utw.com/;us/A -
  
  
  
  1.67  +0 -1  apache-site/mirrors/mirrors.list
  
  Index: mirrors.list
  ===
  RCS file: /home/cvs/apache-site/mirrors/mirrors.list,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- mirrors.list  1999/01/05 19:29:23 1.66
  +++ mirrors.list  1999/01/07 04:00:45 1.67
  @@ -91,7 +91,6 @@
   http uk  http://www.apache.org.uk/   [EMAIL PROTECTED]
   http us  http://www.rge.com/pub/infosystems/apache/  [EMAIL 
PROTECTED]
   http us  http://apache.compuex.com/  [EMAIL PROTECTED]
  -http us  http://apache.arctic.org/   [EMAIL PROTECTED]   San 
Francisco [BBN/ATamp;T, MCI, Sprint]
   http us  http://ftp.epix.net/apache/ archive@epix.net
   http us  http://apache.utw.com/  [EMAIL PROTECTED]
   http us  http://www.ameth.org/apache/[EMAIL PROTECTED]
  
  
  


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

1999-01-07 Thread dgaudet
dgaudet 99/01/07 12:46:59

  Modified:src/main http_core.c
  Log:
  dunno, maybe I'm missing something, but looks like we could save memory here
  
  Revision  ChangesPath
  1.244 +2 -0  apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.243
  retrieving revision 1.244
  diff -u -r1.243 -r1.244
  --- http_core.c   1999/01/01 19:04:48 1.243
  +++ http_core.c   1999/01/07 20:46:58 1.244
  @@ -418,6 +418,8 @@
   qsort(sortbin, nelts, sizeof(*sortbin), reorder_sorter);
   
   /* and now build a new array */
  +/* XXX: uh I don't see why we can't reuse the old array, what
  + * was I thinking? -djg */
   sec = ap_make_array(p, nelts, sizeof(void *));
   for (i = 0; i  nelts; ++i) {
*(void **)ap_push_array(sec) = sortbin[i].elt;
  
  
  


cvs commit: apache-1.3/src/helpers GuessOS PrintPath TestCompile binbuild.sh buildinfo.sh checkheader.sh find-dbm-lib findcpp.sh fmn.sh fp2rp install.sh mkshadow.sh ppl.sh slo.sh

1999-01-15 Thread dgaudet
dgaudet 99/01/15 14:40:01

  Modified:.configure
   src  CHANGES Configure
   src/helpers GuessOS PrintPath TestCompile binbuild.sh
buildinfo.sh checkheader.sh find-dbm-lib findcpp.sh
fmn.sh fp2rp install.sh mkshadow.sh ppl.sh slo.sh
  Log:
  Back out jim's recent x/. change.  This is a veto and I've given
  reasons in new-httpd.
  
  Revision  ChangesPath
  1.72  +60 -60apache-1.3/configure
  
  Index: configure
  ===
  RCS file: /home/cvs/apache-1.3/configure,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- configure 1999/01/15 22:25:10 1.71
  +++ configure 1999/01/15 22:39:50 1.72
  @@ -96,7 +96,7 @@
   ##
   ##  display version information
   ##
  -if [ $quiet = no ]; then
  +if [ .$quiet = .no ]; then
   APV=`cat $src/include/httpd.h |\
grep #define SERVER_BASEVERSION |\
sed -e 's/^[^]*//' -e 's/.*$//' -e 's/^Apache\///'`
  @@ -119,7 +119,7 @@
   ##
   PERL=no-perl-on-this-system
   perlpath=`$aux/PrintPath perl5 perl miniperl`
  -if [ $perlpath !=  ]; then
  +if [ x$perlpath != x ]; then
   PERL=$perlpath
   fi
   
  @@ -131,9 +131,9 @@
   ##
   SEO='' # CHANGE THIS VARIABLE HERE IF YOU HAVE PROBLEMS WITH ECHO!
   bytes=`echo $SEO '\1' | wc -c | awk '{ printf(%s, $1); }'`
  -if [ $bytes != 3 ]; then
  +if [ .$bytes != .3 ]; then
   bytes=`echo -E '\1' | wc -c | awk '{ printf(%s, $1); }'`
  -if [ $bytes != 3 ]; then
  +if [ .$bytes != .3 ]; then
   echo  + Warning: Your 'echo' command is slightly broken.
   echo  + It interprets escape sequences per default. We already
   echo  + tried 'echo -E' but had no real success. If errors occur
  @@ -152,7 +152,7 @@
   ##
   AWK=awk
   awkpath=`$aux/PrintPath nawk gawk awk`
  -if [ $awkpath !=  ]; then
  +if [ x$awkpath != x ]; then
   AWK=$awkpath
   fi
   
  @@ -163,7 +163,7 @@
   ##
   TAR=tar
   tarpath=`$aux/PrintPath gtar gnutar tar`
  -if [ $awkpath !=  ]; then
  +if [ x$awkpath != x ]; then
   TAR=$tarpath
   fi
   case `$TAR --version 2/dev/null` in
  @@ -245,7 +245,7 @@
   eval shared_$module=$share
   modules=${modules}:$module
   modulelist=${modulelist}:$module=$add
  -if [ $share = yes ]; then
  +if [ .$share = .yes ]; then
   modulelist=${modulelist}*
   fi
   done
  @@ -258,7 +258,7 @@
   OIFS=$IFS IFS=$DIFS
   for var in CFLAGS LDFLAGS LIBS INCLUDES DEPS; do
   eval val=\$EXTRA_$var
  -if [ $val !=  ]; then
  +if [ x$val != x ]; then
   eval $var=\$val
   eval EXTRA_$var=\\; export EXTRA_$var
   echo  + Hint: please use $var instead of EXTRA_$var next time
  @@ -273,7 +273,7 @@
   *--with-layout=* ) 
   ;;
   * ) 
  -if [ $* =  ]; then
  +if [ x$* = x ]; then
   set -- '--with-layout=Apache'
   else
   set -- '--with-layout=Apache' $@
  @@ -293,7 +293,7 @@
   for apc_option
   do
   #   if previous option needs an argument, assign it.
  -if [ $apc_prev !=  ]; then
  +if [ x$apc_prev != x ]; then
   eval $apc_prev=\$apc_option
   apc_prev=
   continue
  @@ -408,11 +408,11 @@
   done
   IFS=$OIFS
   rm -f $pldconf 2/dev/null
  -if [ $prefix = UNSET ]; then
  +if [ .$prefix = .UNSET ]; then
   echo configure:Error: Path layout definition not found or 
incorrect 12
   exit 1
   fi
  -if [ $quiet = no ]; then
  +if [ .$quiet = .no ]; then
   echo  + using installation path layout: $name ($file)
   fi
   with_layout=1
  @@ -433,7 +433,7 @@
   for apc_option
   do
   #   if previous option needs an argument, assign it.
  -if [ $apc_prev !=  ]; then
  +if [ x$apc_prev != x ]; then
   eval $apc_prev=\$apc_option
   apc_prev=
   continue
  @@ -461,7 +461,7 @@
   case $apc_option in
   --shadow=*)
   shadow=$apc_optarg
  -if [ $quiet = no ]; then
  +if [ .$quiet = .no ]; then
   echo  + creating external package shadow tree 
($shadow)
   fi
   rm -rf $shadow 2/dev/null
  @@ -469,7 +469,7 @@
   for file in $mkf $sedsubst $addconf $tplconf $pldconf 
$configstatus; do
   rm -f $shadow/$file 2/dev/null
   done
  -if [ $quiet = no ]; then
  +if [ .$quiet = .no ]; then
   echo  + switching to external package shadow tree 
($shadow)
   fi
   cd $shadow
  @@ -479,14 +479,14

cvs commit: apache-1.3/htdocs/manual/misc known_client_problems.html

1999-01-22 Thread dgaudet
dgaudet 99/01/22 10:04:11

  Modified:htdocs/manual/misc known_client_problems.html
  Log:
  add some recent bugs
  
  Revision  ChangesPath
  1.15  +19 -0 apache-1.3/htdocs/manual/misc/known_client_problems.html
  
  Index: known_client_problems.html
  ===
  RCS file: 
/export/home/cvs/apache-1.3/htdocs/manual/misc/known_client_problems.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- known_client_problems.html1998/09/17 12:33:02 1.14
  +++ known_client_problems.html1999/01/22 18:04:11 1.15
  @@ -260,6 +260,25 @@
   before the object will be shown with the correct CODEtext/html/CODE
   type.
   
  +h3a name=msie-cookie-y2kMSIE Cookie problem with expiry date in
  +the year 2000/a/h3
  +
  +pMSIE versions 3.00 and 3.02 (without the Y2K patch) do not handle
  +cookie expiry dates in the year 2000 properly.  Years after 2000 and
  +before 2000 work fine.  This is fixed in IE4.01 service pack 1, and in
  +the Y2K patch for IE3.02.  Users should avoid using expiry dates in the
  +year 2000.
  +
  +h3a name=lynx-negotiate-transLynx incorrectly asking for transparent
  +content negotiation/a/h3
  +
  +pThe Lynx browser versions 2.7 and 2.8 send a negotiate: trans header
  +in their requests, which is an indication the browser supports transparent
  +content negotiation (TCN).  However the browser does not support TCN.
  +As of version 1.3.4, Apache supports TCN, and this causes problems with
  +these versions of Lynx.  As a workaround future versions of Apache will
  +ignore this header when sent by the Lynx client.
  +
   !--#include virtual=footer.html --
   /BODY
   /HTML
  
  
  


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

1999-02-22 Thread dgaudet
dgaudet 99/02/22 09:07:40

  Modified:src  CHANGES
   src/main http_config.c http_core.c
  Log:
  pad out some initializers; reduce a string constant from 510 to below 509
  characters
  
  Submitted by: John Bley [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1257+2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1256
  retrieving revision 1.1257
  diff -u -r1.1256 -r1.1257
  --- CHANGES   1999/02/20 18:12:32 1.1256
  +++ CHANGES   1999/02/22 17:07:37 1.1257
  @@ -1,5 +1,7 @@
   Changes with Apache 1.3.5
   
  +  *) Fixed a few compiler nits.  [John Bley [EMAIL PROTECTED]]
  +
 *) Added some informative error messages for some failed malloc()
calls. [John Bley [EMAIL PROTECTED], Jim Jagielski]
   
  
  
  
  1.142 +1 -1  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.141
  retrieving revision 1.142
  diff -u -r1.141 -r1.142
  --- http_config.c 1999/02/20 18:12:35 1.141
  +++ http_config.c 1999/02/22 17:07:39 1.142
  @@ -1075,7 +1075,7 @@
*/
   
   static cmd_parms default_parms =
  -{NULL, 0, -1, NULL, NULL, NULL, NULL, NULL, NULL};
  +{NULL, 0, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
   
   API_EXPORT(char *) ap_server_root_relative(pool *p, char *file)
   {
  
  
  
  1.250 +7 -8  apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.249
  retrieving revision 1.250
  diff -u -r1.249 -r1.250
  --- http_core.c   1999/02/09 20:20:26 1.249
  +++ http_core.c   1999/02/22 17:07:39 1.250
  @@ -1902,7 +1902,7 @@
Error:\tApache has not been designed to serve pages while\n
\trunning as root.  There are known race conditions that\n
\twill allow any local user to read any file on the system.\n
  - \tShould you still desire to serve pages as root then\n
  + \tIf you still desire to serve pages as root then\n
\tadd -DBIG_SECURITY_HOLE to the EXTRA_CFLAGS line in your\n
\tsrc/Configuration file and rebuild the server.  It is\n
\tstrongly suggested that you instead modify the User\n
  @@ -2859,6 +2859,10 @@
   { BS2000Account, set_bs2000_account, NULL, RSRC_CONF, TAKE1,
 Name of server User's bs2000 logon account name },
   #endif
  +#ifdef WIN32
  +{ ScriptInterpreterSource, set_interpreter_source, NULL, OR_FILEINFO, 
TAKE1,
  +  Where to find interpreter to run Win32 scripts (Registry or script 
shebang line) },
  +#endif
   { ServerTokens, set_serv_tokens, NULL, RSRC_CONF, TAKE1,
 Determine tokens displayed in the Server: header - Min(imal), OS or Full 
},
   { LimitRequestLine, set_limit_req_line, NULL, RSRC_CONF, TAKE1,
  @@ -2870,12 +2874,7 @@
   { LimitRequestBody, set_limit_req_body,
 (void*)XtOffsetOf(core_dir_config, limit_req_body),
 OR_ALL, TAKE1,
  -  Limit (in bytes) on maximum size of request message body },
  -#ifdef WIN32
  -{ ScriptInterpreterSource, set_interpreter_source, NULL, OR_FILEINFO, 
TAKE1,
  -  Where to find interpreter to run Win32 scripts (Registry or script 
shebang line) },
  -#endif
  -{ NULL },
  +  Limit (in bytes) on maximum size of request message body }
   };
   
   /*
  @@ -3116,7 +3115,7 @@
   static const handler_rec core_handlers[] = {
   { */*, default_handler },
   { default-handler, default_handler },
  -{ NULL }
  +{ NULL, NULL }
   };
   
   API_VAR_EXPORT module core_module = {
  
  
  


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

1999-02-22 Thread dgaudet
dgaudet 99/02/22 09:13:06

  Modified:src/include httpd.h
   src/main http_protocol.c
  Log:
  Fix a compile warning -- there was a const discarded with the recent
  verbose-errors-to change.  Also move status_lines[] to constant storage
  (better mem behaviour for kernels that do the right thing)... and let
  the const be propagated through r-status_line (anything which didn't
  treat that as a const before was broken -- now it'll be a compile
  warning).
  
  Revision  ChangesPath
  1.270 +1 -1  apache-1.3/src/include/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/httpd.h,v
  retrieving revision 1.269
  retrieving revision 1.270
  diff -u -r1.269 -r1.270
  --- httpd.h   1999/02/09 16:57:22 1.269
  +++ httpd.h   1999/02/22 17:13:02 1.270
  @@ -661,7 +661,7 @@
   
   time_t request_time; /* When the request started */
   
  -char *status_line;   /* Status line, if set by script */
  +const char *status_line; /* Status line, if set by script */
   int status;  /* In any case */
   
   /* Request method, two ways; also, protocol, etc..  Outside of 
protocol.c,
  
  
  
  1.259 +3 -3  apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.258
  retrieving revision 1.259
  diff -u -r1.258 -r1.259
  --- http_protocol.c   1999/02/16 14:29:51 1.258
  +++ http_protocol.c   1999/02/22 17:13:03 1.259
  @@ -1170,7 +1170,7 @@
* and must be listed in order.
*/
   
  -static char *status_lines[RESPONSE_CODES] = {
  +static const char * const status_lines[RESPONSE_CODES] = {
   100 Continue,
   101 Switching Protocols,
   102 Processing,
  @@ -2317,8 +2317,8 @@
   r = r-prev;
   }
   {
  -char *title = status_lines[idx];
  -char *h1;
  +const char *title = status_lines[idx];
  +const char *h1;
   const char *error_notes;
   
   /* Accept a status_line set by a module, but only if it begins
  
  
  


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

1999-02-24 Thread dgaudet
dgaudet 99/02/24 01:33:38

  Modified:src/main http_core.c
  Log:
  did I really remove this NULL?  what was I thinking?
  
  Revision  ChangesPath
  1.251 +2 -1  apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.250
  retrieving revision 1.251
  diff -u -r1.250 -r1.251
  --- http_core.c   1999/02/22 17:07:39 1.250
  +++ http_core.c   1999/02/24 09:33:37 1.251
  @@ -2874,7 +2874,8 @@
   { LimitRequestBody, set_limit_req_body,
 (void*)XtOffsetOf(core_dir_config, limit_req_body),
 OR_ALL, TAKE1,
  -  Limit (in bytes) on maximum size of request message body }
  +  Limit (in bytes) on maximum size of request message body },
  +{ NULL }
   };
   
   /*
  
  
  


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

1999-03-04 Thread dgaudet
dgaudet 99/03/04 11:28:41

  Modified:.STATUS
   htdocs/manual/mod mod_log_config.html
   src  CHANGES
   src/modules/standard mod_log_config.c
  Log:
  Commit %V and \n changes to mod_log_config.
  
  Submitted by: Tony Finch [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.634 +1 -11 apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.633
  retrieving revision 1.634
  diff -u -r1.633 -r1.634
  --- STATUS1999/03/03 12:58:50 1.633
  +++ STATUS1999/03/04 19:28:36 1.634
  @@ -1,5 +1,5 @@
 1.3 STATUS:
  -  Last modified at [$Date: 1999/03/03 12:58:50 $]
  +  Last modified at [$Date: 1999/03/04 19:28:36 $]
   
   Release:
   
  @@ -55,11 +55,6 @@
MID: [EMAIL PROTECTED]
Status: Ken +1, Lars +1 (untested)
   
  -* Tony Finch's [PATCH] mod_log_config: support for reliably parsable logs
  -  Allows use of C-style backslash escapes in mod_log_config format 
strings
  -MID: [EMAIL PROTECTED]
  -Status: 
  -
   * Ralf's [PATCH] Shared Memory Pools
   Message-ID: [EMAIL PROTECTED]
   Status: Roy?: Not sure if this is intended for 1.3.x or just feedback
  @@ -80,11 +75,6 @@
 ftp://ftp.kame.net/pub/kame/misc/apache-134-v6-19990118.diff.gz
   Message-ID: [EMAIL PROTECTED]
   Status: Lars +1 (on concept)
  -
  -* Tony Finch's [PATCH] to mod_log_config.c to get both the 1.3.3
  -  behaviour of %v and the 1.3.4 behaviour as %V.
  -Message-ID: [EMAIL PROTECTED]
  -Status: 
   
   * Ralf's patch to fix append of target name to layout paths
   Message-ID: [EMAIL PROTECTED]
  
  
  
  1.32  +1 -0  apache-1.3/htdocs/manual/mod/mod_log_config.html
  
  Index: mod_log_config.html
  ===
  RCS file: /home/cvs/apache-1.3/htdocs/manual/mod/mod_log_config.html,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- mod_log_config.html   1999/02/22 16:41:06 1.31
  +++ mod_log_config.html   1999/03/04 19:28:37 1.32
  @@ -143,6 +143,7 @@
   %...u:  Remote user (from auth; may be bogus if return status (%s) 
is 401)
   %...U:  The URL path requested.
   %...v:  The canonical ServerName of the server serving the request.
  +%...V:  The server name according to the UseCanonicalName setting.
   /PRE
   
   The `...' can be nothing at all (EMe.g./EM, CODE%h %u %r %s 
%b/CODE), or it can
  
  
  
  1.1259+7 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1258
  retrieving revision 1.1259
  diff -u -r1.1258 -r1.1259
  --- CHANGES   1999/02/27 17:39:46 1.1258
  +++ CHANGES   1999/03/04 19:28:38 1.1259
  @@ -1,5 +1,12 @@
   Changes with Apache 1.3.5
   
  +  *) Add %V to mod_log_config, this logs the hostname according to the
  + UseCanonicalName setting (this is the pre-1.3.4 behaviour of
  + %v).  Useful for mass vhosting.  [Tony Finch [EMAIL PROTECTED]]
  +
  +  *) Add support for \n and \t to mod_log_config, can be used to produce
  + more reliable logs with multiline entries.  [Tony Finch [EMAIL 
PROTECTED]]
  +
 *) Fixed a few compiler nits.  [John Bley [EMAIL PROTECTED]]
   
 *) Added some informative error messages for some failed malloc()
  
  
  
  1.76  +58 -15apache-1.3/src/modules/standard/mod_log_config.c
  
  Index: mod_log_config.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_log_config.c,v
  retrieving revision 1.75
  retrieving revision 1.76
  diff -u -r1.75 -r1.76
  --- mod_log_config.c  1999/02/20 00:13:27 1.75
  +++ mod_log_config.c  1999/03/04 19:28:40 1.76
  @@ -138,7 +138,8 @@
* %...T:  the time taken to serve the request, in seconds.
* %...u:  remote user (from auth; may be bogus if return status (%s) is 401)
* %...U:  the URL path requested.
  - * %...v:  the name of the server (i.e. which virtual host?)
  + * %...v:  the configured name of the server (i.e. which virtual host?)
  + * %...V:  the server name according to the UseCanonicalName setting
*
* The '...' can be nothing at all (e.g. %h %u %r %s %b), or it can
* indicate conditions for inclusion of the item (which will cause it
  @@ -417,6 +418,14 @@
r-server-port ? r-server-port : ap_default_port(r));
   }
   
  +/* This respects the setting of UseCanonicalName so that
  + * the dynamic mass virtual hosting trick works better.
  + */
  +static const char *log_server_name(request_rec *r, char *a)
  +{
  +return ap_get_server_name(r);
  +}
  +
   static const char *log_child_pid(request_rec

cvs commit: apache-1.3/src/modules/proxy mod_proxy.c proxy_ftp.c proxy_util.c

1999-03-10 Thread dgaudet
dgaudet 99/03/10 09:42:47

  Modified:src  CHANGES
   src/include ap_ctype.h ap_mmn.h http_core.h
   src/main http_protocol.c util.c util_date.c
   src/modules/proxy mod_proxy.c proxy_ftp.c proxy_util.c
  Log:
  somehow we missed implementing ap_isxdigit... oh and there was a stray
  use of isdigit()
  
  Revision  ChangesPath
  1.1277+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1276
  retrieving revision 1.1277
  diff -u -r1.1276 -r1.1277
  --- CHANGES   1999/03/10 13:37:58 1.1276
  +++ CHANGES   1999/03/10 17:42:35 1.1277
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.5
   
  +  *) ap_isxdigit was somehow neglected when adding the ap_isfoo() macros
  + for 8-bit safeness.  [Dean Gaudet]
  +
 *) Use -fPIC instead of -fpic on Solaris and SunOS for compiling DSOs
because SPARCs have a small machine-specific maximum size for the Global
Offset Table which is often exceeded when compiling one of the larger
  
  
  
  1.5   +1 -0  apache-1.3/src/include/ap_ctype.h
  
  Index: ap_ctype.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/ap_ctype.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ap_ctype.h1999/01/01 19:04:39 1.4
  +++ ap_ctype.h1999/03/10 17:42:39 1.5
  @@ -79,6 +79,7 @@
   #define ap_ispunct(c) (ispunct(((unsigned char)(c
   #define ap_isspace(c) (isspace(((unsigned char)(c
   #define ap_isupper(c) (isupper(((unsigned char)(c
  +#define ap_isxdigit(c) (isxdigit(((unsigned char)(c
   #define ap_tolower(c) (tolower(((unsigned char)(c
   #define ap_toupper(c) (toupper(((unsigned char)(c
   
  
  
  
  1.31  +2 -1  apache-1.3/src/include/ap_mmn.h
  
  Index: ap_mmn.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/ap_mmn.h,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- ap_mmn.h  1999/03/08 15:43:59 1.30
  +++ ap_mmn.h  1999/03/10 17:42:40 1.31
  @@ -212,6 +212,7 @@
* 19990108.5   - added ap_sub_req_method_uri() and added const to 
the
*definition of method in request_rec.
* 19990108.6   - SIGPIPE is now ignored by the core server.
  + * 19990108.7   - ap_isxdigit added
*/
   
   #define MODULE_MAGIC_COOKIE 0x41503133UL /* AP13 */
  @@ -219,7 +220,7 @@
   #ifndef MODULE_MAGIC_NUMBER_MAJOR
   #define MODULE_MAGIC_NUMBER_MAJOR 19990108
   #endif
  -#define MODULE_MAGIC_NUMBER_MINOR 6 /* 0...n */
  +#define MODULE_MAGIC_NUMBER_MINOR 7 /* 0...n */
   #define MODULE_MAGIC_NUMBER MODULE_MAGIC_NUMBER_MAJOR/* backward 
compat */
   
   /* Useful for testing for features. */
  
  
  
  1.54  +3 -0  apache-1.3/src/include/http_core.h
  
  Index: http_core.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/http_core.h,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- http_core.h   1999/02/05 00:37:48 1.53
  +++ http_core.h   1999/03/10 17:42:40 1.54
  @@ -238,6 +238,9 @@
*/
   unsigned d_is_fnmatch : 1;
   
  +/* takes sense only if use_canonical_name is on */
  +unsigned use_canonical_port : 1;
  +
   /* System Resource Control */
   #ifdef RLIMIT_CPU
   struct rlimit *limit_cpu;
  
  
  
  1.261 +2 -2  apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.260
  retrieving revision 1.261
  diff -u -r1.260 -r1.261
  --- http_protocol.c   1999/03/08 15:44:00 1.260
  +++ http_protocol.c   1999/03/10 17:42:42 1.261
  @@ -1664,7 +1664,7 @@
   {
   long chunksize = 0;
   
  -while (isxdigit(*b)) {
  +while (ap_isxdigit(*b)) {
   int xvalue = 0;
   
   if (*b = '0'  *b = '9')
  @@ -1742,7 +1742,7 @@
   
   chunk_start = getline(buffer, bufsiz, r-connection-client, 0);
   if ((chunk_start = 0) || (chunk_start = (bufsiz - 1))
  -|| !isxdigit(*buffer)) {
  +|| !ap_isxdigit(*buffer)) {
   r-connection-keepalive = -1;
   return -1;
   }
  
  
  
  1.155 +1 -1  apache-1.3/src/main/util.c
  
  Index: util.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/util.c,v
  retrieving revision 1.154
  retrieving revision 1.155
  diff -u -r1.154 -r1.155
  --- util.c1999/03/10 12:11:57 1.154
  +++ util.c1999/03

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

1999-03-10 Thread dgaudet
dgaudet 99/03/10 10:09:46

  Modified:src  CHANGES
   src/main util_script.c
  Log:
  Set-Cookie headers were being doubled up for some CGIs by the O(n^2)
  avoidance code added in 1.3.3.
  
  PR:   3872
  Submitted by: Jeff Lewis [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1278+4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1277
  retrieving revision 1.1278
  diff -u -r1.1277 -r1.1278
  --- CHANGES   1999/03/10 17:42:35 1.1277
  +++ CHANGES   1999/03/10 18:09:40 1.1278
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.5
   
  +  *) Set-Cookie headers were being doubled up for some CGIs by the O(n^2)
  + avoidance code added in 1.3.3.
  + [Dean Gaudet, Jeff Lewis [EMAIL PROTECTED]] PR#3872
  +
 *) ap_isxdigit was somehow neglected when adding the ap_isfoo() macros
for 8-bit safeness.  [Dean Gaudet]
   
  
  
  
  1.139 +2 -0  apache-1.3/src/main/util_script.c
  
  Index: util_script.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/util_script.c,v
  retrieving revision 1.138
  retrieving revision 1.139
  diff -u -r1.138 -r1.139
  --- util_script.c 1999/02/05 00:37:48 1.138
  +++ util_script.c 1999/03/10 18:09:44 1.139
  @@ -496,6 +496,8 @@
ap_overlap_tables(r-err_headers_out, merge,
AP_OVERLAP_TABLES_MERGE);
if (!ap_is_empty_table(cookie_table)) {
  + /* the cookies have already been copied to the cookie_table */
  + ap_table_unset(r-err_headers_out, Set-Cookie);
r-err_headers_out = ap_overlay_tables(r-pool,
r-err_headers_out, cookie_table);
}
  
  
  


cvs commit: apache-1.3/src/include http_core.h

1999-03-10 Thread dgaudet
dgaudet 99/03/10 12:18:59

  Modified:src/include http_core.h
  Log:
  oops this was not supposed to be committed
  
  Revision  ChangesPath
  1.55  +0 -3  apache-1.3/src/include/http_core.h
  
  Index: http_core.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/http_core.h,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- http_core.h   1999/03/10 17:42:40 1.54
  +++ http_core.h   1999/03/10 20:18:55 1.55
  @@ -238,9 +238,6 @@
*/
   unsigned d_is_fnmatch : 1;
   
  -/* takes sense only if use_canonical_name is on */
  -unsigned use_canonical_port : 1;
  -
   /* System Resource Control */
   #ifdef RLIMIT_CPU
   struct rlimit *limit_cpu;
  
  
  


cvs commit: apache-1.3/src CHANGES

1999-03-11 Thread dgaudet
dgaudet 99/03/11 08:47:59

  Modified:src  CHANGES
  Log:
  should really say SECURITY on this line
  
  Revision  ChangesPath
  1.1279+5 -4  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1278
  retrieving revision 1.1279
  diff -u -r1.1278 -r1.1279
  --- CHANGES   1999/03/10 18:09:40 1.1278
  +++ CHANGES   1999/03/11 16:47:56 1.1279
  @@ -16,10 +16,11 @@
DSO/DLL section because it's a directive from mod_status and isn't
available before the DLL of mod_status is loaded.
[Martin POESCHL [EMAIL PROTECTED]] PR#3936
  - 
  -  *) Fix a bug in the calculation of the buffer size for the line 
continuation
  - facility in Apache's configuration files which could lead to a buffer
  - overflow situation. [Thomas Devanneaux [EMAIL PROTECTED]] PR#3617
  +
  +  *) SECURITY: Fix a bug in the calculation of the buffer size for the line 
  + continuation facility in Apache's configuration files which could 
  + lead to a buffer overflow situation.
  + [Thomas Devanneaux [EMAIL PROTECTED]] PR#3617
   
 *) Make documentation and error messages of APACI's --activate-module=FILE 
option more clear. [Jan Wolter [EMAIL PROTECTED]] PR#3995
  
  
  


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

1999-03-11 Thread dgaudet
dgaudet 99/03/11 08:52:39

  Modified:src/main http_log.c
  Log:
  remove the extra httpd:  logged for each error message
  
  Reviewed by:  Marc Slemko, Ralf S. Engelschall
  
  Revision  ChangesPath
  1.76  +1 -2  apache-1.3/src/main/http_log.c
  
  Index: http_log.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_log.c,v
  retrieving revision 1.75
  retrieving revision 1.76
  diff -u -r1.75 -r1.76
  --- http_log.c1999/01/01 19:04:48 1.75
  +++ http_log.c1999/03/11 16:52:38 1.76
  @@ -322,8 +322,7 @@
   }
   
   if (logf) {
  - len = ap_snprintf(errstr, sizeof(errstr), %s: [%s] ,
  -   ap_server_argv0, ap_get_time());
  + len = ap_snprintf(errstr, sizeof(errstr), [%s] , ap_get_time());
   } else {
len = 0;
   }
  
  
  


cvs commit: apache-1.3/src/include ap_config.h

1999-03-16 Thread dgaudet
dgaudet 99/03/16 08:16:08

  Modified:src  CHANGES
   src/include ap_config.h
  Log:
  switch back to fcntl() locking on linux
  
  PR:   3531
  Reviewed by:  Lincoln Stein [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1282+4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1281
  retrieving revision 1.1282
  diff -u -r1.1281 -r1.1282
  --- CHANGES   1999/03/16 00:38:53 1.1281
  +++ CHANGES   1999/03/16 16:16:03 1.1282
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.5
   
  +  *) PORT: Switch back to using fcntl() locking on Linux -- instabilities
  + have been reported with flock() locking (probably related to kernel
  + version).  [Dean Gaudet] PR#3531
  +
 *) Using APACI, the main config file (usually httpd.conf) was
not being adjusted as $(TARGET).conf. [Wilfredo Sanchez
[EMAIL PROTECTED]]
  
  
  
  1.252 +7 -1  apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.251
  retrieving revision 1.252
  diff -u -r1.251 -r1.252
  --- ap_config.h   1999/03/10 11:37:52 1.251
  +++ ap_config.h   1999/03/16 16:16:07 1.252
  @@ -460,7 +460,13 @@
   #define USE_MMAP_FILES
   
   /* flock is faster ... but hasn't been tested on 1.x systems */
  -#define USE_FLOCK_SERIALIZED_ACCEPT
  +/* PR#3531 indicates flock() may not be stable, probably depends on
  + * kernel version.  Go back to using fcntl, but provide a way for
  + * folks to tweak their Configuration to get flock.
  + */
  +#ifndef USE_FLOCK_SERIALIZED_ACCEPT
  +#define USE_FCNTL_SERIALIZED_ACCEPT
  +#endif
   
   #define SYS_SIGLIST  _sys_siglist
   
  
  
  


cvs commit: apache-1.3/src CHANGES

1999-03-16 Thread dgaudet
dgaudet 99/03/16 08:51:08

  Modified:src  CHANGES
  Log:
  also pr#2723
  
  Revision  ChangesPath
  1.1283+1 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1282
  retrieving revision 1.1283
  diff -u -r1.1282 -r1.1283
  --- CHANGES   1999/03/16 16:16:03 1.1282
  +++ CHANGES   1999/03/16 16:51:06 1.1283
  @@ -2,7 +2,7 @@
   
 *) PORT: Switch back to using fcntl() locking on Linux -- instabilities
have been reported with flock() locking (probably related to kernel
  - version).  [Dean Gaudet] PR#3531
  + version).  [Dean Gaudet] PR#2723, 3531
   
 *) Using APACI, the main config file (usually httpd.conf) was
not being adjusted as $(TARGET).conf. [Wilfredo Sanchez
  
  
  


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

1999-03-01 Thread dgaudet
dgaudet 99/03/01 07:37:54

  Modified:src/modules/standard mod_so.c
  Log:
  missing fixer_upper comment
  
  Submitted by: John Bley [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.31  +1 -0  apache-1.3/src/modules/standard/mod_so.c
  
  Index: mod_so.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_so.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- mod_so.c  1999/01/01 22:32:16 1.30
  +++ mod_so.c  1999/03/01 15:37:53 1.31
  @@ -351,6 +351,7 @@
  NULL, /* check auth */
  NULL, /* check access */
  NULL, /* type_checker */
  +   NULL, /* fixer_upper */
  NULL, /* logger */
  NULL, /* header parser */
  NULL, /* child_init */
  
  
  


cvs commit: apache-1.3 Makefile.tmpl

1999-04-20 Thread dgaudet
dgaudet 99/04/20 09:19:59

  Modified:.Makefile.tmpl
  Log:
  I want to be able to run make install as a non-root user.
  
  Revision  ChangesPath
  1.71  +2 -2  apache-1.3/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-1.3/Makefile.tmpl,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -u -r1.70 -r1.71
  --- Makefile.tmpl 1999/04/05 20:53:05 1.70
  +++ Makefile.tmpl 1999/04/20 16:19:57 1.71
  @@ -257,8 +257,8 @@
$(MKDIR) $(root)$(runtimedir)
$(MKDIR) $(root)$(logfiledir)
$(MKDIR) $(root)$(proxycachedir)
  - chown $(conf_user) $(root)$(proxycachedir)
  - chgrp $(conf_group) $(root)$(proxycachedir)
  + -chown $(conf_user) $(root)$(proxycachedir)
  + -chgrp $(conf_group) $(root)$(proxycachedir)
@echo === [mktree]
   
   #   install the server program and optionally corresponding
  
  
  


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

1999-04-20 Thread dgaudet
dgaudet 99/04/20 09:28:47

  Modified:src/main alloc.c
  Log:
  ALLOC_STATS support... I don't think this hurts anything... but feel
  free to remove it if someone objects.
  
  Revision  ChangesPath
  1.108 +51 -0 apache-1.3/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/alloc.c,v
  retrieving revision 1.107
  retrieving revision 1.108
  diff -u -r1.107 -r1.108
  --- alloc.c   1999/04/08 11:36:33 1.107
  +++ alloc.c   1999/04/20 16:28:46 1.108
  @@ -111,6 +111,11 @@
*/
   /* #define MAKE_TABLE_PROFILE */
   
  +/* Provide some statistics on the cost of allocations.  It requires a
  + * bit of an understanding of how alloc.c works.
  + */
  +/* #define ALLOC_STATS */
  +
   #ifdef POOL_DEBUG
   #ifdef ALLOC_USE_MALLOC
   # error sorry, no support for ALLOC_USE_MALLOC and POOL_DEBUG at the same 
time
  @@ -171,6 +176,13 @@
   static union block_hdr *global_block_list;
   #define FREE_POOL((struct pool *)(-1))
   #endif
  +#ifdef ALLOC_STATS
  +static unsigned long long num_free_blocks_calls;
  +static unsigned long long num_blocks_freed;
  +static unsigned max_blocks_in_one_free;
  +static unsigned num_malloc_calls;
  +static unsigned num_malloc_bytes;
  +#endif
   
   #ifdef ALLOC_DEBUG
   #define FILL_BYTE((char)(0xa5))
  @@ -208,6 +220,10 @@
*/
   size += CLICK_SZ;
   #endif
  +#ifdef ALLOC_STATS
  +++num_malloc_calls;
  +num_malloc_bytes += size + sizeof(union block_hdr);
  +#endif
   blok = (union block_hdr *) malloc(size + sizeof(union block_hdr));
   if (blok == NULL) {
fprintf(stderr, Ouch!  malloc failed in malloc_block()\n);
  @@ -261,6 +277,9 @@
free(blok);
   }
   #else
  +#ifdef ALLOC_STATS
  +unsigned num_blocks;
  +#endif
   /* First, put new blocks at the head of the free list ---
* we'll eventually bash the 'next' pointer of the last block
* in the chain to point to the free blocks we already had.
  @@ -281,7 +300,13 @@
* now.
*/
   
  +#ifdef ALLOC_STATS
  +num_blocks = 1;
  +#endif
   while (blok-h.next != NULL) {
  +#ifdef ALLOC_STATS
  + ++num_blocks;
  +#endif
chk_on_blk_list(blok, old_free_list);
blok-h.first_avail = (char *) (blok + 1);
debug_fill(blok-h.first_avail, blok-h.endp - blok-h.first_avail);
  @@ -301,6 +326,15 @@
   /* Finally, reset next pointer to get the old free blocks back */
   
   blok-h.next = old_free_list;
  +
  +#ifdef ALLOC_STATS
  +if (num_blocks  max_blocks_in_one_free) {
  + max_blocks_in_one_free = num_blocks;
  +}
  +++num_free_blocks_calls;
  +num_blocks_freed += num_blocks;
  +#endif
  +
   (void) ap_release_mutex(alloc_mutex);
   #endif
   }
  @@ -448,6 +482,20 @@
   }
   #endif
   
  +#ifdef ALLOC_STATS
  +static void dump_stats(void)
  +{
  +fprintf(stderr,
  + alloc_stats: [%d] #free_blocks %llu #blocks %llu max %u #malloc %u 
#bytes %u\n,
  + (int)getpid(),
  + num_free_blocks_calls,
  + num_blocks_freed,
  + max_blocks_in_one_free,
  + num_malloc_calls,
  + num_malloc_bytes);
  +}
  +#endif
  +
   pool *ap_init_alloc(void)
   {
   #ifdef POOL_DEBUG
  @@ -459,6 +507,9 @@
   alloc_mutex = ap_create_mutex(NULL);
   spawn_mutex = ap_create_mutex(NULL);
   permanent_pool = ap_make_sub_pool(NULL);
  +#ifdef ALLOC_STATS
  +atexit(dump_stats);
  +#endif
   
   return permanent_pool;
   }
  
  
  


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

1999-04-20 Thread dgaudet
dgaudet 99/04/20 10:03:28

  Modified:src  CHANGES
   src/main http_core.c
  Log:
  fix memory leak exacerbated by certain configurations
  
  PR:   4225
  
  Revision  ChangesPath
  1.1309+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1308
  retrieving revision 1.1309
  diff -u -r1.1308 -r1.1309
  --- CHANGES   1999/04/20 15:44:08 1.1308
  +++ CHANGES   1999/04/20 17:03:25 1.1309
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) Fix a memory leak which is exacerbated by certain configurations.
  + [Dean Gaudet] PR#4225
  +
 *) Prevent clobbering saved IFS values in APACI. [Jim Jagielski]
   
 *) Fix buffer overflows in ap_uuencode and ap_uudecode pointed out
  
  
  
  1.259 +7 -12 apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.258
  retrieving revision 1.259
  diff -u -r1.258 -r1.259
  --- http_core.c   1999/04/09 12:57:07 1.258
  +++ http_core.c   1999/04/20 17:03:27 1.259
  @@ -407,18 +407,16 @@
   int nelts;
   void **elts;
   int i;
  +pool *tmp;
   
  -/* XXX: we are about to waste some ram ... we will build a new array
  - * and we need some scratch space to do it.  The old array and the
  - * scratch space are never freed.
  - */
   sconf = ap_get_module_config(s-module_config, core_module);
   sec = sconf-sec;
   nelts = sec-nelts;
   elts = (void **)sec-elts;
   
  -/* build our sorting space */
  -sortbin = ap_palloc(p, sec-nelts * sizeof(*sortbin));
  +/* we have to allocate tmp space to do a stable sort */
  +tmp = ap_make_sub_pool(p);
  +sortbin = ap_palloc(tmp, sec-nelts * sizeof(*sortbin));
   for (i = 0; i  nelts; ++i) {
sortbin[i].orig_index = i;
sortbin[i].elt = elts[i];
  @@ -426,15 +424,12 @@
   
   qsort(sortbin, nelts, sizeof(*sortbin), reorder_sorter);
   
  -/* and now build a new array */
  -/* XXX: uh I don't see why we can't reuse the old array, what
  - * was I thinking? -djg */
  -sec = ap_make_array(p, nelts, sizeof(void *));
  +/* and now copy back to the original array */
   for (i = 0; i  nelts; ++i) {
  - *(void **)ap_push_array(sec) = sortbin[i].elt;
  +  elts[i] = sortbin[i].elt;
   }
   
  -sconf-sec = sec;
  +ap_destroy_pool(tmp);
   }
   
   /*
  
  
  


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

1999-04-20 Thread dgaudet
dgaudet 99/04/20 10:27:51

  Modified:src  CHANGES
   src/modules/standard mod_mime.c
  Log:
  islower() returns true for stuff outside a-z when locale isn't C
  
  PR:   3427
  
  Revision  ChangesPath
  1.1310+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1309
  retrieving revision 1.1310
  diff -u -r1.1309 -r1.1310
  --- CHANGES   1999/04/20 17:03:25 1.1309
  +++ CHANGES   1999/04/20 17:27:47 1.1310
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) Fix the mod_mime hash table to work properly with locales other
  + than C.  [Dean Gaudet] PR#3427
  +
 *) Fix a memory leak which is exacerbated by certain configurations.
[Dean Gaudet] PR#4225
   
  
  
  
  1.49  +2 -7  apache-1.3/src/modules/standard/mod_mime.c
  
  Index: mod_mime.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_mime.c,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- mod_mime.c1999/01/01 19:05:11 1.48
  +++ mod_mime.c1999/04/20 17:27:51 1.49
  @@ -233,13 +233,8 @@
* get private versions through AddType...
*/
   
  -/* MIME_HASHSIZE used to be 27 (26 chars and one non-alpha slot), but
  - * with character sets like EBCDIC, this is insufficient because the
  - * range 'a'...'z' is not contigous. Defining it as ('z'-'a'+2) is
  - * equivalent to 27 in ASCII, and makes it work in EBCDIC.
  - */
  -#define MIME_HASHSIZE ('z'-'a'+2)
  -#define hash(i) (ap_isalpha(i) ? (ap_tolower(i)) - 'a' : (MIME_HASHSIZE-1))
  +#define MIME_HASHSIZE (32)
  +#define hash(i) (ap_tolower(i) % MIME_HASHSIZE)
   
   static table *hash_buckets[MIME_HASHSIZE];
   
  
  
  


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

1999-04-20 Thread dgaudet
dgaudet 99/04/20 10:51:40

  Modified:src  CHANGES
   src/include ap_mmn.h http_protocol.h
   src/main http_protocol.c
  Log:
  Add ap_vrprintf() function
  
  PR:   4246
  Submitted by: John Tobey [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1311+2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1310
  retrieving revision 1.1311
  diff -u -r1.1310 -r1.1311
  --- CHANGES   1999/04/20 17:27:47 1.1310
  +++ CHANGES   1999/04/20 17:51:35 1.1311
  @@ -1,5 +1,7 @@
   Changes with Apache 1.3.7
   
  +  *) Add ap_vrprintf() function.  [John Tobey [EMAIL PROTECTED]] PR#4246
  +
 *) Fix the mod_mime hash table to work properly with locales other
than C.  [Dean Gaudet] PR#3427
   
  
  
  
  1.33  +2 -1  apache-1.3/src/include/ap_mmn.h
  
  Index: ap_mmn.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/ap_mmn.h,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- ap_mmn.h  1999/03/20 23:43:23 1.32
  +++ ap_mmn.h  1999/04/20 17:51:37 1.33
  @@ -214,6 +214,7 @@
* 19990108.6   - SIGPIPE is now ignored by the core server.
* 19990108.7   - ap_isxdigit added
* 19990320 - METHODS and M_INVALID symbol values modified
  + * 19990320.1   - add ap_vrprintf()
*/
   
   #define MODULE_MAGIC_COOKIE 0x41503133UL /* AP13 */
  @@ -221,7 +222,7 @@
   #ifndef MODULE_MAGIC_NUMBER_MAJOR
   #define MODULE_MAGIC_NUMBER_MAJOR 19990320
   #endif
  -#define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */
  +#define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */
   #define MODULE_MAGIC_NUMBER MODULE_MAGIC_NUMBER_MAJOR/* backward 
compat */
   
   /* Useful for testing for features. */
  
  
  
  1.49  +1 -0  apache-1.3/src/include/http_protocol.h
  
  Index: http_protocol.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/http_protocol.h,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- http_protocol.h   1999/01/01 19:04:40 1.48
  +++ http_protocol.h   1999/04/20 17:51:37 1.49
  @@ -148,6 +148,7 @@
   API_EXPORT(int) ap_rputs(const char *str, request_rec *r);
   API_EXPORT(int) ap_rwrite(const void *buf, int nbyte, request_rec *r);
   API_EXPORT_NONSTD(int) ap_rvputs(request_rec *r,...);
  +API_EXPORT(int) ap_vrprintf(request_rec *r, const char *fmt, va_list vlist);
   API_EXPORT_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt,...)
__attribute__((format(printf,2,3)));
   API_EXPORT(int) ap_rflush(request_rec *r);
  
  
  
  1.262 +22 -0 apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.261
  retrieving revision 1.262
  diff -u -r1.261 -r1.262
  --- http_protocol.c   1999/03/10 17:42:42 1.261
  +++ http_protocol.c   1999/04/20 17:51:38 1.262
  @@ -2173,6 +2173,28 @@
   return n;
   }
   
  +API_EXPORT(int) ap_vrprintf(request_rec *r, const char *fmt, va_list ap)
  +{
  +int n;
  +
  +if (r-connection-aborted)
  +return -1;
  +
  +n = ap_vbprintf(r-connection-client, fmt, ap);
  +
  +if (n  0) {
  +if (!r-connection-aborted) {
  +ap_log_rerror(APLOG_MARK, APLOG_INFO, r,
  +client stopped connection before vrprintf completed);
  +ap_bsetflag(r-connection-client, B_EOUT, 1);
  +r-connection-aborted = 1;
  +}
  +return -1;
  +}
  +SET_BYTES_SENT(r);
  +return n;
  +}
  +
   API_EXPORT(int) ap_rprintf(request_rec *r, const char *fmt,...)
   {
   va_list vlist;
  
  
  


cvs commit: apache-1.3/conf httpd.conf-dist

1999-04-20 Thread dgaudet
dgaudet 99/04/20 10:59:38

  Modified:conf httpd.conf-dist
  Log:
  * matches a single component, this example makes more sense
  
  PR:   4221
  
  Revision  ChangesPath
  1.39  +1 -1  apache-1.3/conf/httpd.conf-dist
  
  Index: httpd.conf-dist
  ===
  RCS file: /home/cvs/apache-1.3/conf/httpd.conf-dist,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- httpd.conf-dist   1999/03/10 09:14:27 1.38
  +++ httpd.conf-dist   1999/04/20 17:59:35 1.39
  @@ -328,7 +328,7 @@
   # Control access to UserDir directories.  The following is an example
   # for a site where these directories are restricted to read-only.
   #
  -#Directory /*/public_html
  +#Directory /home/*/public_html
   #AllowOverride FileInfo AuthConfig Limit
   #Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
   #Limit GET POST OPTIONS PROPFIND
  
  
  


cvs commit: apache-1.3/conf httpd.conf-dist

1999-04-20 Thread dgaudet
dgaudet 99/04/20 11:03:12

  Modified:conf httpd.conf-dist
  Log:
  protect .ht* files ... rather than just .htaccess (it costs pretty
  much the same)
  
  PR:   4215
  
  Revision  ChangesPath
  1.40  +4 -1  apache-1.3/conf/httpd.conf-dist
  
  Index: httpd.conf-dist
  ===
  RCS file: /home/cvs/apache-1.3/conf/httpd.conf-dist,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- httpd.conf-dist   1999/04/20 17:59:35 1.39
  +++ httpd.conf-dist   1999/04/20 18:03:09 1.40
  @@ -361,7 +361,10 @@
   # .htaccess files.  If you change the AccessFileName directive above,
   # be sure to make the corresponding changes here.
   #
  -Files .htaccess
  +# Also, folks tend to use names such as .htpasswd for password
  +# files, so this will protect those as well.
  +#
  +Files ~ ^\.ht
   Order allow,deny
   Deny from all
   /Files
  
  
  


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

1999-04-20 Thread dgaudet
dgaudet 99/04/20 11:36:10

  Modified:src  CHANGES
   src/main http_protocol.c
  Log:
  deal with UTS compiler error
  
  PR:   4189
  Submitted by: Dave Dykstra [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1312+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1311
  retrieving revision 1.1312
  diff -u -r1.1311 -r1.1312
  --- CHANGES   1999/04/20 17:51:35 1.1311
  +++ CHANGES   1999/04/20 18:36:01 1.1312
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) PORT: deal with UTS compiler error in http_protocol.c
  + [Dave Dykstra [EMAIL PROTECTED]] PR#4189
  +
 *) Add ap_vrprintf() function.  [John Tobey [EMAIL PROTECTED]] PR#4246
   
 *) Fix the mod_mime hash table to work properly with locales other
  
  
  
  1.263 +10 -1 apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.262
  retrieving revision 1.263
  diff -u -r1.262 -r1.263
  --- http_protocol.c   1999/04/20 17:51:38 1.262
  +++ http_protocol.c   1999/04/20 18:36:07 1.263
  @@ -1170,7 +1170,16 @@
* and must be listed in order.
*/
   
  -static const char * const status_lines[RESPONSE_CODES] = {
  +#ifdef UTS21
  +/* The second const triggers an assembler bug on UTS 2.1.
  + * Another workaround is to move some code out of this file into another,
  + *   but this is easier.  Dave Dykstra, 3/31/99 
  + */
  +static const char * status_lines[RESPONSE_CODES] =
  +#else
  +static const char * const status_lines[RESPONSE_CODES] =
  +#endif
  +{
   100 Continue,
   101 Switching Protocols,
   102 Processing,
  
  
  


cvs commit: apache-1.3/src/main http_main.c http_protocol.c

1999-04-20 Thread dgaudet
dgaudet 99/04/20 12:15:46

  Modified:src  CHANGES
   src/main http_main.c http_protocol.c
  Log:
  r-request_time wasn't being set in certain error cases
  
  PR:   4156
  
  Revision  ChangesPath
  1.1313+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1312
  retrieving revision 1.1313
  diff -u -r1.1312 -r1.1313
  --- CHANGES   1999/04/20 18:36:01 1.1312
  +++ CHANGES   1999/04/20 19:15:34 1.1313
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) r-request_time wasn't being set properly in certain error conditions.
  + [Dean Gaudet] PR#4156
  +
 *) PORT: deal with UTS compiler error in http_protocol.c
[Dave Dykstra [EMAIL PROTECTED]] PR#4189
   
  
  
  
  1.430 +6 -1  apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.429
  retrieving revision 1.430
  diff -u -r1.429 -r1.430
  --- http_main.c   1999/04/08 21:04:43 1.429
  +++ http_main.c   1999/04/20 19:15:39 1.430
  @@ -1079,8 +1079,13 @@
log_req = log_req-prev;
}
   
  - if (!current_conn-keptalive)
  + if (!current_conn-keptalive) {
  + /* in some cases we come here before setting the time */
  + if (log_req-request_time == 0) {
  +   log_req-request_time = time(0);
  + }
ap_log_transaction(log_req);
  + }
   
ap_bsetflag(save_req-connection-client, B_EOUT, 1);
ap_bclose(save_req-connection-client);
  
  
  
  1.264 +4 -0  apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.263
  retrieving revision 1.264
  diff -u -r1.263 -r1.264
  --- http_protocol.c   1999/04/20 18:36:07 1.263
  +++ http_protocol.c   1999/04/20 19:15:41 1.264
  @@ -791,6 +791,10 @@
   while ((len = getline(l, sizeof(l), conn-client, 0)) = 0) {
   if ((len  0) || ap_bgetflag(conn-client, B_EOF)) {
   ap_bsetflag(conn-client, B_SAFEREAD, 0);
  + /* this is a hack to make sure that request time is set,
  +  * it's not perfect, but it's better than nothing 
  +  */
  + r-request_time = time(0);
   return 0;
   }
   }
  
  
  


cvs commit: apache-1.3/htdocs/manual windows.html

1999-04-20 Thread dgaudet
dgaudet 99/04/20 12:18:42

  Modified:htdocs/manual windows.html
  Log:
  note about 127.0.0.1
  
  PR:   4155
  
  Revision  ChangesPath
  1.29  +6 -0  apache-1.3/htdocs/manual/windows.html
  
  Index: windows.html
  ===
  RCS file: /home/cvs/apache-1.3/htdocs/manual/windows.html,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- windows.html  1999/04/08 21:56:40 1.28
  +++ windows.html  1999/04/20 19:18:41 1.29
  @@ -202,6 +202,12 @@
   This should respond with a welcome page, and a link to the Apache
   manual. If nothing happens or you get an error, look in the
   SAMPerror_log/SAMP file in the SAMPlogs/SAMP directory.
  +If your host isn't connected to the net, you may have to use
  +this URL:
  +
  +PRE
  +  http://127.0.0.1/
  +/PRE
   
   P
   
  
  
  


cvs commit: apache-1.3/src/include ap_config.h

1999-04-20 Thread dgaudet
dgaudet 99/04/20 12:43:00

  Modified:src  CHANGES
   src/include ap_config.h
  Log:
  what the heck?  We don't use n_long anywhere, why define it?
  And even more perplexing -- why were the rlim_t and n_long conditionalized
  on S_IWOTH ??
  
  PR:   4130
  
  Revision  ChangesPath
  1.1314+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1313
  retrieving revision 1.1314
  diff -u -r1.1313 -r1.1314
  --- CHANGES   1999/04/20 19:15:34 1.1313
  +++ CHANGES   1999/04/20 19:42:54 1.1314
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) PORT: fixed a compilation problem on NEXT.
  + [Jacques Distler [EMAIL PROTECTED]] PR#4130
  +
 *) r-request_time wasn't being set properly in certain error conditions.
[Dean Gaudet] PR#4156
   
  
  
  
  1.254 +0 -4  apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.253
  retrieving revision 1.254
  diff -u -r1.253 -r1.254
  --- ap_config.h   1999/04/08 11:36:32 1.253
  +++ ap_config.h   1999/04/20 19:42:59 1.254
  @@ -367,10 +367,6 @@
   #endif
   #ifndef S_IWOTH
   #define S_IWOTH 02
  -#ifndef rlim_t
  -typedef int rlim_t;
  -#endif
  -typedef u_long n_long;
   #endif
   
   #define STDIN_FILENO  0
  
  
  


cvs commit: apache-1.3/htdocs/manual/misc known_client_problems.html

1999-04-20 Thread dgaudet
dgaudet 99/04/20 13:00:40

  Modified:htdocs/manual/misc known_client_problems.html
  Log:
  ie40 screws up vary
  
  PR:   4118
  
  Revision  ChangesPath
  1.16  +7 -0  apache-1.3/htdocs/manual/misc/known_client_problems.html
  
  Index: known_client_problems.html
  ===
  RCS file: /home/cvs/apache-1.3/htdocs/manual/misc/known_client_problems.html,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- known_client_problems.html1999/01/22 18:04:11 1.15
  +++ known_client_problems.html1999/04/20 20:00:39 1.16
  @@ -279,6 +279,13 @@
   these versions of Lynx.  As a workaround future versions of Apache will
   ignore this header when sent by the Lynx client.
   
  +h3a name=ie40-varyMSIE 4.0 mishandles Vary response header/a/h3
  +
  +pMSIE 4.0 does not handle a Vary header properly.  The Vary header is
  +generated by mod_rewrite in apache 1.3.  The result is an error from MSIE
  +saying it cannot download the requested file.  There are more details
  +in a href=http://bugs.apache.org/index/full/4118;PR#4118/a.
  +
   !--#include virtual=footer.html --
   /BODY
   /HTML
  
  
  


cvs commit: apache-1.3/conf mime.types

1999-04-21 Thread dgaudet
dgaudet 99/04/20 16:19:36

  Modified:conf mime.types
  Log:
  add .xls (flame away)
  
  PR:   3935
  
  Revision  ChangesPath
  1.24  +1 -1  apache-1.3/conf/mime.types
  
  Index: mime.types
  ===
  RCS file: /home/cvs/apache-1.3/conf/mime.types,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- mime.types1999/03/14 23:58:59 1.23
  +++ mime.types1999/04/20 23:19:33 1.24
  @@ -117,7 +117,7 @@
   application/vnd.mitsubishi.misty-guard.trustweb
   application/vnd.ms-artgalry
   application/vnd.ms-asf
  -application/vnd.ms-excel
  +application/vnd.ms-excel xls
   application/vnd.ms-powerpointppt
   application/vnd.ms-project
   application/vnd.ms-tnef
  
  
  


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

1999-04-21 Thread dgaudet
dgaudet 99/04/20 16:38:45

  Modified:src  CHANGES
   src/main http_request.c
  Log:
  copy expecting_100 when doing an internal redirect
  
  PR:   3910
  Submitted by: Jose KAHAN [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1316+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1315
  retrieving revision 1.1316
  diff -u -r1.1315 -r1.1316
  --- CHANGES   1999/04/20 21:53:22 1.1315
  +++ CHANGES   1999/04/20 23:38:41 1.1316
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) The 100 Continue response wasn't being sent after internal
  + redirects. [Jose KAHAN [EMAIL PROTECTED]] PR#3910
  +
 *) When padding the name with spaces for display, mod_autoindex would
count , , and  in their escaped width, messing up the display.
[Dean Gaudet] PR#4075
  
  
  
  1.147 +1 -0  apache-1.3/src/main/http_request.c
  
  Index: http_request.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_request.c,v
  retrieving revision 1.146
  retrieving revision 1.147
  diff -u -r1.146 -r1.147
  --- http_request.c1999/03/07 15:05:36 1.146
  +++ http_request.c1999/04/20 23:38:44 1.147
  @@ -1309,6 +1309,7 @@
   
   new-htaccess= r-htaccess;
   new-no_cache= r-no_cache;
  +new-expecting_100= r-expecting_100;
   new-no_local_copy   = r-no_local_copy;
   new-read_length = r-read_length; /* We can only read it once */
   new-vlist_validator = r-vlist_validator;
  
  
  


cvs commit: apache-1.3/src CHANGES

1999-04-21 Thread dgaudet
dgaudet 99/04/20 18:29:21

  Modified:src  CHANGES
  Log:
  a few more PRs
  
  Revision  ChangesPath
  1.1317+1 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1316
  retrieving revision 1.1317
  diff -u -r1.1316 -r1.1317
  --- CHANGES   1999/04/20 23:38:41 1.1316
  +++ CHANGES   1999/04/21 01:29:17 1.1317
  @@ -1,7 +1,7 @@
   Changes with Apache 1.3.7
   
 *) The 100 Continue response wasn't being sent after internal
  - redirects. [Jose KAHAN [EMAIL PROTECTED]] PR#3910
  + redirects. [Jose KAHAN [EMAIL PROTECTED]] PR#3910, 3806, 3575
   
 *) When padding the name with spaces for display, mod_autoindex would
count , , and  in their escaped width, messing up the display.
  
  
  


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

1999-04-21 Thread dgaudet
dgaudet 99/04/20 19:00:57

  Modified:src  CHANGES
   src/modules/standard mod_autoindex.c
  Log:
  we don't need padding when we're not doing fancyindexing
  
  PR:   3770
  Submitted by: [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1318+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1317
  retrieving revision 1.1318
  diff -u -r1.1317 -r1.1318
  --- CHANGES   1999/04/21 01:29:17 1.1317
  +++ CHANGES   1999/04/21 02:00:48 1.1318
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) IndexOptions None generated extra spaces at the end of each
  + line.  [EMAIL PROTECTED] PR#3770
  +
 *) The 100 Continue response wasn't being sent after internal
redirects. [Jose KAHAN [EMAIL PROTECTED]] PR#3910, 3806, 3575
   
  
  
  
  1.103 +1 -1  apache-1.3/src/modules/standard/mod_autoindex.c
  
  Index: mod_autoindex.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -u -r1.102 -r1.103
  --- mod_autoindex.c   1999/04/20 21:53:25 1.102
  +++ mod_autoindex.c   1999/04/21 02:00:55 1.103
  @@ -1198,7 +1198,7 @@
}
else {
ap_rvputs(r, LIA HREF=\, anchor, \ , t2,
  -   /A, pad_scratch + strlen(t2), NULL);
  +   /A, NULL);
}
ap_rputc('\n', r);
   }
  
  
  


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

1999-04-21 Thread dgaudet
dgaudet 99/04/20 20:42:35

  Modified:src  CHANGES
   src/modules/standard mod_mime_magic.c
  Log:
  uncompress and gzip don't like getting only 4k of the file... pass them
  the entire file (but we still only read 4k, so they don't get to run
  for long).
  
  PR:   4097
  Submitted by: Marcin Cieslak [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1319+7 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1318
  retrieving revision 1.1319
  diff -u -r1.1318 -r1.1319
  --- CHANGES   1999/04/21 02:00:48 1.1318
  +++ CHANGES   1999/04/21 03:42:31 1.1319
  @@ -1,5 +1,12 @@
   Changes with Apache 1.3.7
   
  +  *) mod_mime_magic passed only the first 4k of a file to
  + uncompress/gzip, but those tools sometimes do not produce
  + any output unless a sufficient portion of the compressed
  + file is input.  Change to pass the entire file -- but
  + only read 4k of output.
  + [Marcin Cieslak [EMAIL PROTECTED]] PR#4097
  +
 *) IndexOptions None generated extra spaces at the end of each
line.  [EMAIL PROTECTED] PR#3770
   
  
  
  
  1.39  +27 -21apache-1.3/src/modules/standard/mod_mime_magic.c
  
  Index: mod_mime_magic.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_mime_magic.c,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- mod_mime_magic.c  1999/01/01 19:05:11 1.38
  +++ mod_mime_magic.c  1999/04/21 03:42:33 1.39
  @@ -242,7 +242,7 @@
   static int ascmagic(request_rec *, unsigned char *, int);
   static int is_tar(unsigned char *, int);
   static int softmagic(request_rec *, unsigned char *, int);
  -static void tryit(request_rec *, unsigned char *, int);
  +static void tryit(request_rec *, unsigned char *, int, int);
   static int zmagic(request_rec *, unsigned char *, int);
   
   static int getvalue(server_rec *, struct magic *, char **);
  @@ -256,7 +256,7 @@
   static int mcheck(request_rec *, union VALUETYPE *, struct magic *);
   static void mprint(request_rec *, union VALUETYPE *, struct magic *);
   
  -static int uncompress(request_rec *, int, const unsigned char *,
  +static int uncompress(request_rec *, int, 
  unsigned char **, int);
   static long from_oct(int, char *);
   static int fsmagic(request_rec *r, const char *fn);
  @@ -887,7 +887,7 @@
magic_rsl_puts(r, MIME_TEXT_UNKNOWN);
   else {
buf[nbytes++] = '\0';   /* null-terminate it */
  - tryit(r, buf, nbytes);
  + tryit(r, buf, nbytes, 1); 
   }
   
   (void) ap_pclosef(r-pool, fd);
  @@ -897,13 +897,15 @@
   }
   
   
  -static void tryit(request_rec *r, unsigned char *buf, int nb)
  +static void tryit(request_rec *r, unsigned char *buf, int nb, int 
checkzmagic)
   {
   /*
* Try compression stuff
*/
  -if (zmagic(r, buf, nb) == 1)
  - return;
  + if (checkzmagic == 1) {  
  + if (zmagic(r, buf, nb) == 1)
  + return;
  + }
   
   /*
* try tests in /etc/magic (or surrogate magic file)
  @@ -2082,9 +2084,13 @@
   char *encoding;  /* MUST be lowercase */
   } compr[] = {
   
  +/* we use gzip here rather than uncompress because we have to pass
  + * it a full filename -- and uncompress only considers filenames
  + * ending with .Z
  + */
   {
\037\235, 2, {
  - uncompress, -c, NULL
  + gzip, -dcq, NULL
}, 0, x-compress
   },
   {
  @@ -2121,8 +2127,8 @@
   if (i == ncompr)
return 0;
   
  -if ((newsize = uncompress(r, i, buf, newbuf, nbytes))  0) {
  - tryit(r, newbuf, newsize);
  +if ((newsize = uncompress(r, i, newbuf, nbytes))  0) {
  + tryit(r, newbuf, newsize, 0);
   
/* set encoding type in the request record */
r-content_encoding = compr[i].encoding;
  @@ -2139,6 +2145,13 @@
   static int uncompress_child(void *data, child_info *pinfo)
   {
   struct uncompress_parms *parm = data;
  + char *new_argv[4];
  +
  + new_argv[0] = compr[parm-method].argv[0];
  + new_argv[1] = compr[parm-method].argv[1];
  + new_argv[2] = parm-r-filename;
  + new_argv[3] = NULL;
  +
   #if defined(WIN32)
   int child_pid;
   #endif
  @@ -2149,10 +2162,10 @@
   
   #if defined(WIN32)
   child_pid = spawnvp(compr[parm-method].argv[0],
  - compr[parm-method].argv);
  + new_argv);
   return (child_pid);
   #else
  -execvp(compr[parm-method].argv[0], compr[parm-method].argv);
  +execvp(compr[parm-method].argv[0], new_argv);
   ap_log_rerror(APLOG_MARK, APLOG_ERR, parm-r,
MODNAME : could not execute `%s'.,
compr[parm-method].argv[0

cvs commit: apache-1.3/src CHANGES

1999-04-21 Thread dgaudet
dgaudet 99/04/20 20:50:41

  Modified:src  CHANGES
  Log:
  another PR#
  
  Revision  ChangesPath
  1.1320+1 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1319
  retrieving revision 1.1320
  diff -u -r1.1319 -r1.1320
  --- CHANGES   1999/04/21 03:42:31 1.1319
  +++ CHANGES   1999/04/21 03:50:36 1.1320
  @@ -15,7 +15,7 @@
   
 *) When padding the name with spaces for display, mod_autoindex would
count , , and  in their escaped width, messing up the display.
  - [Dean Gaudet] PR#4075
  + [Dean Gaudet] PR#4075, 3758
   
 *) PORT: fixed a compilation problem on NEXT.
[Jacques Distler [EMAIL PROTECTED]] PR#4130
  
  
  


cvs commit: apache-1.3/htdocs/manual/misc howto.html

1999-04-21 Thread dgaudet
dgaudet 99/04/20 22:01:25

  Modified:htdocs/manual/misc howto.html
  Log:
  missing / in example
  
  PR:   3631
  Submitted by: Sebastian Andersson [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.11  +1 -1  apache-1.3/htdocs/manual/misc/howto.html
  
  Index: howto.html
  ===
  RCS file: /home/cvs/apache-1.3/htdocs/manual/misc/howto.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- howto.html1998/10/23 15:14:14 1.10
  +++ howto.html1999/04/21 05:01:24 1.11
  @@ -77,7 +77,7 @@
   
   PHere's how to redirect all requests to a script... In the server
   configuration file,
  -BLOCKQUOTEPREScriptAlias / /usr/local/httpd/cgi-bin/redirect_script/PRE
  +BLOCKQUOTEPREScriptAlias / 
/usr/local/httpd/cgi-bin/redirect_script//PRE
   /BLOCKQUOTE
   
   and here's a simple perl script to redirect requests:
  
  
  


cvs commit: apache-1.3 configure

1999-04-21 Thread dgaudet
dgaudet 99/04/21 00:21:04

  Modified:.configure
  Log:
  fix typo
  
  PR:   4282
  Submitted by: Philippe M.Chiasson [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.83  +1 -1  apache-1.3/configure
  
  Index: configure
  ===
  RCS file: /home/cvs/apache-1.3/configure,v
  retrieving revision 1.82
  retrieving revision 1.83
  diff -u -r1.82 -r1.83
  --- configure 1999/04/20 18:19:14 1.82
  +++ configure 1999/04/21 07:21:03 1.83
  @@ -780,7 +780,7 @@
   module )
   case $apc_optarg in
  all ) 
  -   OOIFS=$IFSr
  +   OOIFS=$IFS
  IFS=':'
  for module in $modules; do
  eval module_${module}=no 
  
  
  


cvs commit: apache-1.3/src/modules/proxy proxy_ftp.c proxy_http.c proxy_util.c

1999-05-01 Thread dgaudet
dgaudet 99/05/01 10:02:30

  Modified:src  CHANGES
   src/main http_main.c
   src/modules/proxy proxy_ftp.c proxy_http.c proxy_util.c
  Log:
  *) Fix intermittent SEGV in ap_proxy_cache_error() in
  src/modules/proxy_util.c where a NULL filepointer and temporary
  filename were closed and unlinked.
  
  *) Fix inconsistant error messages reported by mod_proxy
  
  PR:   3178
  Submitted by: Graham Leggett [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1337+8 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1336
  retrieving revision 1.1337
  diff -u -r1.1336 -r1.1337
  --- CHANGES   1999/05/01 13:42:07 1.1336
  +++ CHANGES   1999/05/01 17:02:24 1.1337
  @@ -1,5 +1,13 @@
   Changes with Apache 1.3.7
   
  +  *) Fix intermittent SEGV in ap_proxy_cache_error() in
  + src/modules/proxy_util.c where a NULL filepointer and
  + temporary filename were closed and unlinked.
  + [Graham Leggett [EMAIL PROTECTED]] PR#3178
  +
  +  *) Fix inconsistant error messages reported by mod_proxy.
  + [Graham Leggett [EMAIL PROTECTED]]
  +
 *) OS/2: Fix terminating CGIs that aren't compiled by EMX GCC when a 
connection is aborted.  [Brian Havard]
   
  
  
  
  1.433 +2 -1  apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.432
  retrieving revision 1.433
  diff -u -r1.432 -r1.433
  --- http_main.c   1999/04/27 20:36:31 1.432
  +++ http_main.c   1999/05/01 17:02:26 1.433
  @@ -3678,6 +3678,7 @@
   #endif
   #endif
   signal(SIGALRM, alrm_handler);
  +signal(SIGUSR2, alrm_handler);
   #ifdef TPF
   signal(SIGHUP, just_die);
   signal(SIGTERM, just_die);
  @@ -4241,7 +4242,7 @@
else if (ps-last_rtime + ss-timeout_len  now) {
/* no progress, and the timeout length has been exceeded */
ss-timeout_len = 0;
  - kill(ps-pid, SIGALRM);
  + kill(ps-pid, SIGUSR2);
}
}
   #endif
  
  
  
  1.75  +18 -5 apache-1.3/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.74
  retrieving revision 1.75
  diff -u -r1.74 -r1.75
  --- proxy_ftp.c   1999/04/09 13:06:28 1.74
  +++ proxy_ftp.c   1999/05/01 17:02:28 1.75
  @@ -323,8 +323,11 @@
   while (!con-aborted) {
n = ap_bgets(buf, sizeof buf, f);
if (n == -1) {  /* input error */
  - if (c != NULL)
  + if (c != NULL) {
  + ap_log_rerror(APLOG_MARK, APLOG_ERR, c-req,
  + proxy: error reading from %s, c-url);
c = ap_proxy_cache_error(c);
  + }
break;
}
if (n == 0)
  @@ -383,8 +386,11 @@
o = 0;
total_bytes_sent += n;
   
  - if (c != NULL  c-fp  ap_bwrite(c-fp, buf, n) != n)
  + if (c != NULL  c-fp  ap_bwrite(c-fp, buf, n) != n) {
  + ap_log_rerror(APLOG_MARK, APLOG_ERR, c-req,
  + proxy: error writing to %s, c-tempfile);
c = ap_proxy_cache_error(c);
  + }
   
while (n  !r-connection-aborted) {
w = ap_bwrite(con-client, buf[o], n);
  @@ -1196,8 +1202,11 @@
   if (!r-assbackwards)
ap_rvputs(r, HTTP/1.0 , r-status_line, CRLF, NULL);
   if (c != NULL  c-fp != NULL
  -  ap_bvputs(c-fp, HTTP/1.0 , r-status_line, CRLF, NULL) == -1)
  - c = ap_proxy_cache_error(c);
  +  ap_bvputs(c-fp, HTTP/1.0 , r-status_line, CRLF, NULL) == -1) {
  + ap_log_rerror(APLOG_MARK, APLOG_ERR, c-req,
  + proxy: error writing CRLF to %s, c-tempfile);
  + c = ap_proxy_cache_error(c);
  +}
   
   /* send headers */
   tdo.req = r;
  @@ -1206,8 +1215,11 @@
   
   if (!r-assbackwards)
ap_rputs(CRLF, r);
  -if (c != NULL  c-fp != NULL  ap_bputs(CRLF, c-fp) == -1)
  +if (c != NULL  c-fp != NULL  ap_bputs(CRLF, c-fp) == -1) {
  + ap_log_rerror(APLOG_MARK, APLOG_ERR, c-req,
  + proxy: error writing CRLF to %s, c-tempfile);
c = ap_proxy_cache_error(c);
  +}
   
   ap_bsetopt(r-connection-client, BO_BYTECT, zero);
   r-sent_bodyct = 1;
  @@ -1226,6 +1238,7 @@
   
/* XXX: we checked for 125||150||226||250 above. This is redundant. */
if (rc != 226  rc != 250)
  +/* XXX: we no longer log an error writing to c-tempfile - 
should we? */
c = ap_proxy_cache_error(c);
   }
   else {
  
  
  
  1.64  +21 -7 apache-1.3/src/modules/proxy/proxy_http.c
  
  Index

cvs commit: apache-1.3/src CHANGES

1999-05-01 Thread dgaudet
dgaudet 99/05/01 10:03:50

  Modified:src  CHANGES
  Log:
  PR#3178 submitter also diagnosed the fix
  
  Revision  ChangesPath
  1.1338+2 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1337
  retrieving revision 1.1338
  diff -u -r1.1337 -r1.1338
  --- CHANGES   1999/05/01 17:02:24 1.1337
  +++ CHANGES   1999/05/01 17:03:48 1.1338
  @@ -3,7 +3,8 @@
 *) Fix intermittent SEGV in ap_proxy_cache_error() in
src/modules/proxy_util.c where a NULL filepointer and
temporary filename were closed and unlinked.
  - [Graham Leggett [EMAIL PROTECTED]] PR#3178
  + [Graham Leggett [EMAIL PROTECTED],
  + Tim Costello [EMAIL PROTECTED]] PR#3178
   
 *) Fix inconsistant error messages reported by mod_proxy.
[Graham Leggett [EMAIL PROTECTED]]
  
  
  


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

1999-05-01 Thread dgaudet
dgaudet 99/05/01 10:13:05

  Modified:src/modules/standard mod_autoindex.c
  Log:
  fix a slight problem with my recent fix to mod_autoindex
  
  Submitted by: Raymond S Brand [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.104 +2 -2  apache-1.3/src/modules/standard/mod_autoindex.c
  
  Index: mod_autoindex.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v
  retrieving revision 1.103
  retrieving revision 1.104
  diff -u -r1.103 -r1.104
  --- mod_autoindex.c   1999/04/21 02:00:55 1.103
  +++ mod_autoindex.c   1999/05/01 17:13:04 1.104
  @@ -1167,8 +1167,8 @@
  nwidth = name_width;
}
ap_rvputs(r,  A HREF=\, anchor, \,
  -   ap_escape_html(scratch, t2), pad_scratch + nwidth,
  -   /A, NULL);
  +   ap_escape_html(scratch, t2), /A, pad_scratch + nwidth,
  +   NULL);
/*
 * The blank before the storm.. er, before the next field.
 */
  
  
  


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

1999-05-05 Thread dgaudet
dgaudet 99/05/05 10:46:08

  Modified:src  CHANGES
   src/modules/standard mod_include.c
  Log:
  mod_include's fsize/flastmod should allow only relative paths, just
  like include file.
  
  This bug was introduced during the 1.98 - 1.99 rev of mod_include.
  
  Submitted by: Jaroslav Benkovsky [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1347+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1346
  retrieving revision 1.1347
  diff -u -r1.1346 -r1.1347
  --- CHANGES   1999/05/04 11:21:07 1.1346
  +++ CHANGES   1999/05/05 17:46:05 1.1347
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) mod_include's fsize/flastmod should allow only relative paths, just
  + like include file.  [Jaroslav Benkovsky [EMAIL PROTECTED]]
  +
 *) OS/2: Add support for building loadable modules using DLLs.
[Brian Havard]
   
  
  
  
  1.114 +26 -20apache-1.3/src/modules/standard/mod_include.c
  
  Index: mod_include.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_include.c,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -u -r1.113 -r1.114
  --- mod_include.c 1999/04/27 20:36:35 1.113
  +++ mod_include.c 1999/05/05 17:46:07 1.114
  @@ -1045,35 +1045,41 @@
   static int find_file(request_rec *r, const char *directive, const char *tag,
char *tag_val, struct stat *finfo, const char *error)
   {
  -char *to_send;
  -request_rec *rr;
  +char *to_send = tag_val;
  +request_rec *rr = NULL;
   int ret=0;
  +char *error_fmt = NULL;
   
   if (!strcmp(tag, file)) {
  -ap_getparents(tag_val);/* get rid of any nasties */
  -
  -rr = ap_sub_req_lookup_file(tag_val, r);
  +/* be safe; only files in this directory or below allowed */
  +if (!is_only_below(tag_val)) {
  +error_fmt = unable to access file \%s\ 
  +in parsed file %s;
  +}
  +else {
  +ap_getparents(tag_val);/* get rid of any nasties */
  +rr = ap_sub_req_lookup_file(tag_val, r);
   
  -if (rr-status == HTTP_OK  rr-finfo.st_mode != 0) {
  -to_send = rr-filename;
  -if ((ret = stat(to_send, finfo)) == -1) {
  -ap_log_rerror(APLOG_MARK, APLOG_ERR, r,
  -unable to get information about \%s\ 
  -in parsed file %s,
  -to_send, r-filename);
  -ap_rputs(error, r);
  +if (rr-status == HTTP_OK  rr-finfo.st_mode != 0) {
  +to_send = rr-filename;
  +if (stat(to_send, finfo)) {
  +error_fmt = unable to get information about \%s\ 
  +in parsed file %s;
  +}
  +}
  +else {
  +error_fmt = unable to lookup information about \%s\ 
  +in parsed file %s;
   }
   }
  -else {
  +
  +if (error_fmt) {
   ret = -1;
  -ap_log_rerror(APLOG_MARK, APLOG_ERR, r,
  -unable to lookup information about \%s\ 
  -in parsed file %s,
  -tag_val, r-filename);
  +ap_log_rerror(APLOG_MARK, APLOG_ERR, r, error_fmt, to_send, 
r-filename);
   ap_rputs(error, r);
   }
  -
  -ap_destroy_sub_req(rr);
  +
  +if (rr) ap_destroy_sub_req(rr);
   
   return ret;
   }
  
  
  


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

1999-05-07 Thread dgaudet
dgaudet 99/05/06 17:38:13

  Modified:src  CHANGES
   src/main http_main.c
  Log:
  loop around on EINTR from semop()
  
  Revision  ChangesPath
  1.1352+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1351
  retrieving revision 1.1352
  diff -u -r1.1351 -r1.1352
  --- CHANGES   1999/05/07 00:16:06 1.1351
  +++ CHANGES   1999/05/07 00:38:05 1.1352
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) It's OK for a semop to return EINTR, just loop around and try
  + again.  [Dean Gaudet]
  +
 *) Fix configuration engine re-entrant hangups, which solve a
handful of problems seen with mod_perl Perl configuration sections
[Salvador Ortiz Garcia [EMAIL PROTECTED]]
  
  
  
  1.436 +10 -6 apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.435
  retrieving revision 1.436
  diff -u -r1.435 -r1.436
  --- http_main.c   1999/05/05 20:42:58 1.435
  +++ http_main.c   1999/05/07 00:38:11 1.436
  @@ -741,17 +741,21 @@
   
   static void accept_mutex_on(void)
   {
  -if (semop(sem_id, op_on, 1)  0) {
  - perror(accept_mutex_on);
  - clean_child_exit(APEXIT_CHILDFATAL);
  +while (semop(sem_id, op_on, 1)  0) {
  + if (errno != EINTR) {
  + perror(accept_mutex_on);
  + clean_child_exit(APEXIT_CHILDFATAL);
  + }
   }
   }
   
   static void accept_mutex_off(void)
   {
  -if (semop(sem_id, op_off, 1)  0) {
  - perror(accept_mutex_off);
  - clean_child_exit(APEXIT_CHILDFATAL);
  +while (semop(sem_id, op_off, 1)  0) {
  + if (errno != EINTR) {
  + perror(accept_mutex_off);
  + clean_child_exit(APEXIT_CHILDFATAL);
  + }
   }
   }
   
  
  
  


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

1999-05-12 Thread dgaudet
dgaudet 99/05/12 09:50:43

  Modified:src  CHANGES
   src/main http_request.c
  Log:
  don't assume the struct stat passed to stat() is left alone when the
  stat fails
  
  Submitted by: Ed Korthof [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1353+3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1352
  retrieving revision 1.1353
  diff -u -r1.1352 -r1.1353
  --- CHANGES   1999/05/07 00:38:05 1.1352
  +++ CHANGES   1999/05/12 16:50:40 1.1353
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.7
   
  +  *) When stat() fails, don't assume anything about the contents of
  + the struct stat.  [Ed Korthof [EMAIL PROTECTED]]
  +
 *) It's OK for a semop to return EINTR, just loop around and try
again.  [Dean Gaudet]
   
  
  
  
  1.148 +10 -8 apache-1.3/src/main/http_request.c
  
  Index: http_request.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_request.c,v
  retrieving revision 1.147
  retrieving revision 1.148
  diff -u -r1.147 -r1.148
  --- http_request.c1999/04/20 23:38:44 1.147
  +++ http_request.c1999/05/12 16:50:42 1.148
  @@ -265,8 +265,12 @@
   *cp = '\0';
   return OK;
   }
  + /* must set this to zero, some stat()s may have corrupted it
  +  * even if they returned an error.
  +  */
  + r-finfo.st_mode = 0;
   #if defined(ENOENT)  defined(ENOTDIR)
  -else if (errno == ENOENT || errno == ENOTDIR) {
  +if (errno == ENOENT || errno == ENOTDIR) {
   last_cp = cp;
   
   while (--cp  path  *cp != '/')
  @@ -299,15 +303,13 @@
* you needed to do this.  Please be sure to include the operating
* system you are using.
*/
  -else {
  -last_cp = cp;
  + last_cp = cp;
   
  -while (--cp  path  *cp != '/')
  -continue;
  + while (--cp  path  *cp != '/')
  + continue;
   
  -while (cp  path  cp[-1] == '/')
  ---cp;
  -}
  + while (cp  path  cp[-1] == '/')
  + --cp;
   #endif  /* ENOENT  ENOTDIR */
   }
   return OK;
  
  
  


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

1999-05-13 Thread dgaudet
dgaudet 99/05/13 12:00:48

  Modified:src/modules/standard mod_include.c mod_autoindex.c
  Log:
  Back out the evil hack portion of Raymond's patch.  In addition to being
  an evil hack, it causes memory corruption.  You cannot destroy a #included
  subrequest of mod_include... look for all uses of request_config in
  mod_include, in particular look at the code around the ap_join_pool call.
  
  Revision  ChangesPath
  1.116 +9 -40 apache-1.3/src/modules/standard/mod_include.c
  
  Index: mod_include.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_include.c,v
  retrieving revision 1.115
  retrieving revision 1.116
  diff -u -r1.115 -r1.116
  --- mod_include.c 1999/05/13 18:25:57 1.115
  +++ mod_include.c 1999/05/13 19:00:41 1.116
  @@ -108,6 +108,9 @@
   
   module MODULE_VAR_EXPORT includes_module;
   
  +/* just need some arbitrary non-NULL pointer which can't also be a 
request_rec */
  +#define NESTED_INCLUDE_MAGIC (includes_module)
  +
   /*  Environment function -- 
*/
   
   /* XXX: could use ap_table_overlap here */
  @@ -743,7 +746,9 @@
   }
   
/* destroy the sub request if it's not a nested include */
  - if (rr != NULL) {
  +if (rr != NULL
  +  ap_get_module_config(rr-request_config, includes_module)
  + != NESTED_INCLUDE_MAGIC) {
ap_destroy_sub_req(rr);
   }
   }
  @@ -2371,41 +2376,6 @@
   return OK;
   }
   
  -#define SUB_REQ_STRING   Sub request to mod_include
  -#define PARENT_STRINGParent request to mod_include
  -
  -if (ap_table_get(r-notes, SUB_REQ_STRING) != NULL) {
  - request_rec *p = r-main;
  -
  - /*
  -  * The note is a flag to mod_include that this request is actually
  -  * a subrequest from another module and that mod_include needs to
  -  * treat it as if it's a subrequest from mod_include.
  -  *
  -  * HACK ALERT!
  -  * There is no good way to pass the parent request_rec to mod_include.
  -  * Tables only take string values and there is nowhere appropriate in
  -  * in the request_rec that can safely be used.
  -  *
  -  * So we search up the chain of requests and redirects looking for
  -  * the parent request.
  -  */
  -
  - while (p) {
  - if (ap_table_get(p-notes, PARENT_STRING) != NULL) {
  - /* Kludge --- See below */
  - ap_set_module_config(r-request_config, includes_module, p);
  -
  - ap_add_common_vars(p);
  - ap_add_cgi_vars(p);
  - add_include_vars(p, DEFAULT_TIME_FORMAT);
  - ap_table_unset(r-notes, SUB_REQ_STRING);
  - break;
  - }
  - p = (p-prev) ? p-prev : p-main;
  - }
  -}
  -
   if ((parent = ap_get_module_config(r-request_config, 
includes_module))) {
/* Kludge --- for nested includes, we want to keep the subprocess
 * environment of the base document (for compatibility); that means
  @@ -2441,10 +2411,9 @@
   send_parsed_content(f, r);
   
   if (parent) {
  - /* Kludge --- Doing this allows the caller to safely destroy the
  -  * sub_req
  -  */
  - r-pool = ap_make_sub_pool(r-pool);
  + /* signify that the sub request should not be killed */
  + ap_set_module_config(r-request_config, includes_module,
  + NESTED_INCLUDE_MAGIC);
   }
   
   ap_kill_timeout(r);
  
  
  
  1.108 +0 -8  apache-1.3/src/modules/standard/mod_autoindex.c
  
  Index: mod_autoindex.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v
  retrieving revision 1.107
  retrieving revision 1.108
  diff -u -r1.107 -r1.108
  --- mod_autoindex.c   1999/05/13 18:25:56 1.107
  +++ mod_autoindex.c   1999/05/13 19:00:43 1.108
  @@ -924,10 +924,6 @@
   ap_rputs(/PRE\n, r);
   }
   
  -/* See mod_include */
  -#define SUB_REQ_STRING   Sub request to mod_include
  -#define PARENT_STRINGParent request to mod_include
  -
   /*
* Handle the preamble through the H1 tag line, inclusive.  Locate
* the file with a subrequests.  Process text/html documents by actually
  @@ -969,8 +965,6 @@
if (! suppress_amble) {
emit_preamble(r, title);
}
  - ap_table_add(r-notes, PARENT_STRING, );
  - ap_table_add(rr-notes, SUB_REQ_STRING, );
/*
 * If there's a problem running the subrequest, display the
 * preamble if we didn't do it before -- the header file
  @@ -1045,8 +1039,6 @@
 */
if (rr-content_type != NULL) {
if (!strcasecmp(text/html, rr-content_type)) {
  - ap_table_add(r

cvs commit: apache-1.3/src/include alloc.h

1999-05-13 Thread dgaudet
dgaudet 99/05/13 12:44:15

  Modified:src/include alloc.h
  Log:
  add a bunch more info to the pool/ancestor documentation... Raymond's
  comments made it clear to me that what I'd written wasn't so clear ;)
  
  Revision  ChangesPath
  1.68  +36 -2 apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- alloc.h   1999/03/07 14:05:33 1.67
  +++ alloc.h   1999/05/13 19:44:14 1.68
  @@ -95,8 +95,42 @@
   API_EXPORT(pool *) ap_make_sub_pool(pool *); /* All pools are subpools of 
permanent_pool */
   API_EXPORT(void) ap_destroy_pool(pool *);
   
  -/* used to guarantee to the pool debugging code that the sub pool will not be
  - * destroyed before the parent pool
  +/* pools have nested lifetimes -- sub_pools are destroyed when the
  + * parent pool is cleared.  We allow certain liberties with operations
  + * on things such as tables (and on other structures in a more general
  + * sense) where we allow the caller to insert values into a table which
  + * were not allocated from the table's pool.  The table's data will
  + * remain valid as long as all the pools from which its values are
  + * allocated remain valid.
  + *
  + * For example, if B is a sub pool of A, and you build a table T in
  + * pool B, then it's safe to insert data allocated in A or B into T
  + * (because B lives at most as long as A does, and T is destroyed when
  + * B is cleared/destroyed).  On the other hand, if S is a table in
  + * pool A, it is safe to insert data allocated in A into S, but it
  + * is *not safe* to insert data allocated from B into S... because
  + * B can be cleared/destroyed before A is (which would leave dangling
  + * pointers in T's data structures).
  + *
  + * In general we say that it is safe to insert data into a table T
  + * if the data is allocated in any ancestor of T's pool.  This is the
  + * basis on which the POOL_DEBUG code works -- it tests these ancestor
  + * relationships for all data inserted into tables.  POOL_DEBUG also
  + * provides tools (ap_find_pool, and ap_pool_is_ancestor) for other
  + * folks to implement similar restrictions for their own data
  + * structures.
  + *
  + * However, sometimes this ancestor requirement is inconvenient --
  + * sometimes we're forced to create a sub pool (such as through
  + * ap_sub_req_lookup_uri), and the sub pool is guaranteed to have
  + * the same lifetime as the parent pool.  This is a guarantee implemented
  + * by the *caller*, not by the pool code.  That is, the caller guarantees
  + * they won't destroy the sub pool individually prior to destroying the
  + * parent pool.
  + *
  + * In this case the caller must call ap_pool_join() to indicate this
  + * guarantee to the POOL_DEBUG code.  There are a few examples spread
  + * through the standard modules.
*/
   #ifndef POOL_DEBUG
   #ifdef ap_pool_join
  
  
  


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

1999-06-02 Thread dgaudet
dgaudet 99/06/01 23:30:07

  Modified:src  CHANGES
   src/main http_main.c
  Log:
  Piped error logs could cause a segfault if an error occured
  during configuration after a restart.
  
  PR:   4456
  Submitted by: Aidan Cully [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.1364+4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1363
  retrieving revision 1.1364
  diff -u -r1.1363 -r1.1364
  --- CHANGES   1999/05/26 18:27:43 1.1363
  +++ CHANGES   1999/06/02 06:30:03 1.1364
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.7
   
  +  *) Piped error logs could cause a segfault if an error occured
  + during configuration after a restart.
  + [Aidan Cully [EMAIL PROTECTED]] PR#4456
  +
 *) If a Location field was stored in r-err_headers_out rather
than r-headers_out, redirect processing wouldn't find it and
the server would core dump on ap_escape_html(NULL).
  
  
  
  1.440 +13 -7 apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.439
  retrieving revision 1.440
  diff -u -r1.439 -r1.440
  --- http_main.c   1999/05/25 11:49:46 1.439
  +++ http_main.c   1999/06/02 06:30:05 1.440
  @@ -333,7 +333,9 @@
   static other_child_rec *other_children;
   #endif
   
  +static pool *pglobal;/* Global pool */
   static pool *pconf;  /* Pool for config stuff */
  +static pool *plog;   /* Pool for error-logging files */
   static pool *ptrans; /* Pool for per-transaction stuff */
   static pool *pchild; /* Pool for httpd child stuff */
   static pool *pcommands;  /* Pool for -C and -c switches */
  @@ -2104,7 +2106,7 @@
   static void clean_parent_exit(int code)
   {
   /* Clear the pool - including any registered cleanups */
  -ap_destroy_pool(pconf);
  +ap_destroy_pool(pglobal);
   exit(code);
   }
   
  @@ -3579,7 +3581,9 @@
   AMCSocketInitialize();
   #endif /* WIN32 */
   
  -pconf = ap_init_alloc();
  +pglobal = ap_init_alloc();
  +pconf = ap_make_sub_pool(pglobal);
  +plog = ap_make_sub_pool(pglobal);
   ptrans = ap_make_sub_pool(pconf);
   
   ap_util_init();
  @@ -4415,7 +4419,8 @@
   
server_conf = ap_read_config(pconf, ptrans, ap_server_confname);
setup_listeners(pconf);
  - ap_open_logs(server_conf, pconf);
  + ap_clear_pool(plog);
  + ap_open_logs(server_conf, plog);
ap_log_pid(pconf, ap_pid_fname);
ap_set_version();   /* create our server_version string */
ap_init_modules(pconf, server_conf);
  @@ -4762,7 +4767,7 @@
   
   #ifndef TPF
   if (ap_standalone) {
  - ap_open_logs(server_conf, pconf);
  + ap_open_logs(server_conf, plog);
ap_set_version();
ap_init_modules(pconf, server_conf);
version_locked++;
  @@ -4805,7 +4810,7 @@
/* Yes this is called twice. */
ap_init_modules(pconf, server_conf);
version_locked++;
  - ap_open_logs(server_conf, pconf);
  + ap_open_logs(server_conf, plog);
ap_init_modules(pconf, server_conf);
set_group_privs();
   
  @@ -5855,7 +5860,8 @@
pparent = ap_make_sub_pool(pconf);
   
server_conf = ap_read_config(pconf, pparent, ap_server_confname);
  - ap_open_logs(server_conf, pconf);
  + ap_clear_pool(plog);
  + ap_open_logs(server_conf, plog);
ap_set_version();
ap_init_modules(pconf, server_conf);
version_locked++;
  @@ -6093,7 +6099,7 @@
   ap_init_modules(pconf, server_conf);
   ap_suexec_enabled = init_suexec();
   version_locked++;
  -ap_open_logs(server_conf, pconf);
  +ap_open_logs(server_conf, plog);
   set_group_privs();
   }
   
  
  
  


cvs commit: apache-1.3/src/modules/proxy proxy_cache.c

1999-06-02 Thread dgaudet
dgaudet 99/06/02 11:10:11

  Modified:src/modules/proxy proxy_cache.c
  Log:
  missing ap_unblock_alarms
  
  Revision  ChangesPath
  1.60  +0 -1  apache-1.3/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- proxy_cache.c 1999/04/22 14:27:51 1.59
  +++ proxy_cache.c 1999/06/02 18:10:09 1.60
  @@ -327,7 +327,6 @@
   else {
lastcheck = buf.st_mtime;   /* save the time */
   if (garbage_now  lastcheck + every) {
  -ap_unblock_alarms();
   return 0;
   }
   if (utime(filename, NULL) == -1)
  
  
  


cvs commit: apache-1.3 STATUS

1999-06-04 Thread dgaudet
dgaudet 99/06/04 09:49:14

  Modified:.STATUS
  Log:
  a sunny day here
  
  Revision  ChangesPath
  1.698 +5 -15 apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.697
  retrieving revision 1.698
  diff -u -r1.697 -r1.698
  --- STATUS1999/06/04 16:37:58 1.697
  +++ STATUS1999/06/04 16:49:10 1.698
  @@ -1,5 +1,5 @@
 1.3 STATUS:
  -  Last modified at [$Date: 1999/06/04 16:37:58 $]
  +  Last modified at [$Date: 1999/06/04 16:49:10 $]
   
   Release:
   
  @@ -95,7 +95,7 @@
   
   * Ralf's [PATCH] to add EAPI (ctx, hook, mm, etc.) to the base package
Message-ID: [EMAIL PROTECTED]
  - Status: Jim +1, Mark +1, Dean -0, BenH +1
  + Status: Jim +1, Mark +1, Dean +1, BenH +1
   
   * Tony Finch's patch to support mass virtual hosting
Message-ID: [EMAIL PROTECTED]
  @@ -115,11 +115,11 @@
   * Aidan Cully's patch to allow assignment of 'ownership' of resources
 to either the server UID or the file's owner.
Message-ID: [EMAIL PROTECTED]
  - Status: Ken +1
  + Status: Ken +1, Dean +1
   
   * John Giannadrea's patch for ceiling on file size for mmap (PR#4122)
Message-ID: [EMAIL PROTECTED]
  - Status: Ken +1
  + Status: Ken +1, Dean +1
   
   * Keith Wannamaker's NT multiple services patch
Message-ID: [EMAIL PROTECTED]
  @@ -175,6 +175,7 @@
 please review the shared memory deep-level code.
   Doug: +1 on concept (untested)
   Lars: +1 on concept
  + Dean: isn't this superceded by EAPI?
   
   * Mark Bixby's freshening up the MPE/iX port (mostly APACI)
Message-ID: [EMAIL PROTECTED]
  @@ -251,17 +252,6 @@
   
   * general/3787: SERVER_PORT is always 80 if client comes to any port
 = needs review by the protocol guys, I think.
  -
  -* Someone other than Dean has to do a security/correctness review on
  -  psprintf(), bprintf(), and ap_snprintf().  In particular these routines
  -  do lots of fun pointer manipulations and such and possibly have 
overflow
  -  errors.  The respective flush_funcs also need to be exercised.
  -   o Jim's looked over the ap_snprintf() stuff (the changes that Dean
  - did to make thread-safe) and they look fine.
  -   o Laura La Gassa's looked over ap_vformatter  other related code
  -   o Martin did a source review as well.
  -   o Could still use 1 or 2 more sets of eyeballs.
  -   Status: Is this still valid??
   
   * Paul would like to see a 'gdbm' option because he uses
 it a lot.
  
  
  


cvs commit: apache-1.3 STATUS

1999-06-04 Thread dgaudet
dgaudet 99/06/04 10:00:27

  Modified:.STATUS
  Log:
  still sunny
  
  Revision  ChangesPath
  1.699 +6 -2  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.698
  retrieving revision 1.699
  diff -u -r1.698 -r1.699
  --- STATUS1999/06/04 16:49:10 1.698
  +++ STATUS1999/06/04 17:00:25 1.699
  @@ -1,5 +1,5 @@
 1.3 STATUS:
  -  Last modified at [$Date: 1999/06/04 16:49:10 $]
  +  Last modified at [$Date: 1999/06/04 17:00:25 $]
   
   Release:
   
  @@ -69,7 +69,11 @@
 libraries are detected, but the ndbm include file was moved to
 /usr/include/db1
 Status: Ralf is looking at it
  -
  +
  +- 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
  +  the hangs he was reporting.  Something is broken in the 1.3.7-dev
  +  proxy.
   
   RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
   
  
  
  


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

1999-06-04 Thread dgaudet
dgaudet 99/06/04 10:15:53

  Modified:htdocs/manual content-negotiation.html
   src  CHANGES
   src/modules/standard mod_negotiation.c
  Log:
  This patch removes the processing of `mxb' parameters in Accept
  headers in mod_negotiation.  A second patch updates the manual to
  reflect this (mxb is not documented directly in the manual but support
  for it is implied in one place).
  
  Reasons for removing this feature:
  
  1) As currently implemented, the 'mxb' feature makes possible certain
  denial-of-service attacks on negotiated content.  These attacks are
  posssible for user communities which access an Apache server from
  behind a HTTP/1.1 proxy which implements `Vary' related optimisations.
  Plugging this denial of service hole without removing `mxb' is fairly
  expensive in terms of degrading caching efficiency.
  
  2) `mxb' is not in HTTP/1.0 or HTTP/1.1 or any other standard
  
  3) Nobody seems to make use of 'mxb'.  (Balachander Krishnamurthy
  kindly offered to grep some of his web traffic traces -- he did not
  find a single Accept with mxb in a whole day of recent traffic, nor in
  older traces)
  
  4) Removing a feature makes a nice change from adding features.
  
  Submitted by: Koen Holtman [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.22  +3 -4  apache-1.3/htdocs/manual/content-negotiation.html
  
  Index: content-negotiation.html
  ===
  RCS file: /home/cvs/apache-1.3/htdocs/manual/content-negotiation.html,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- content-negotiation.html  1999/03/19 21:23:19 1.21
  +++ content-negotiation.html  1999/06/04 17:15:48 1.22
  @@ -196,10 +196,9 @@
  for compress'd files, and CODEx-gzip/CODE for gzip'd files.
  The CODEx-/CODE prefix is ignored for encoding comparisons.
 DT CODEContent-Length:/CODE
  -  DD The size of the file.  Clients can ask to receive a given media
  -   type only if the variant isn't too big; specifying a content
  -   length in the map allows the server to compare against these
  -   thresholds without checking the actual file.
  +  DD The size of the file.  Specifying content
  +   lengths in the type-map allows the server to compare file sizes
  +   without checking the actual files.
 DT CODEDescription:/CODE
 DD A human-readable textual description of the variant.  If Apache cannot
  find any appropriate variant to return, it will return an error 
  
  
  
  1.1369+4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1368
  retrieving revision 1.1369
  diff -u -r1.1368 -r1.1369
  --- CHANGES   1999/06/04 00:21:36 1.1368
  +++ CHANGES   1999/06/04 17:15:49 1.1369
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.7
   
  +  *) Remove mxb support from mod_negotiation -- it was a draft feature
  + never accepted into any standard, and it opens up certain DoS
  + attacks.  [Koen Holtman [EMAIL PROTECTED]]
  +
 *) The source is now quad (long long) aware as needed. Specifically,
the Configure process determines the correct size of off_t and
*void. When the OS/platform/compiler supports quads, ap_snprintf()
  
  
  
  1.99  +0 -23 apache-1.3/src/modules/standard/mod_negotiation.c
  
  Index: mod_negotiation.c
  ===
  RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_negotiation.c,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -u -r1.98 -r1.99
  --- mod_negotiation.c 1999/03/19 21:23:24 1.98
  +++ mod_negotiation.c 1999/06/04 17:15:51 1.99
  @@ -140,7 +140,6 @@
   typedef struct accept_rec {
   char *name; /* MUST be lowercase */
   float quality;
  -float max_bytes;
   float level;
   char *charset;  /* for content-type only */
   } accept_rec;
  @@ -315,7 +314,6 @@
const char *accept_line)
   {
   result-quality = 1.0f;
  -result-max_bytes = 0.0f;
   result-level = 0.0f;
   result-charset = ;
   
  @@ -392,10 +390,6 @@
(parm[1] == '\0' || (parm[1] == 's'  parm[2] == '\0'))) {
   result-quality = atof(cp);
   }
  -else if (parm[0] == 'm'  parm[1] == 'x' 
  - parm[2] == 'b'  parm[3] == '\0') {
  -result-max_bytes = atof(cp);
  -}
   else if (parm[0] == 'l'  !strcmp(parm[1], evel)) {
   result-level = atof(cp);
   }
  @@ -613,7 +607,6 @@
   new_accept-name = */*;
   new_accept-quality = 1.0f;
   new_accept-level = 0.0f;
  -new_accept-max_bytes = 0.0f;
   }
   
   new_accept = (accept_rec

cvs commit: apache-apr/pthreads/src/test/rename apapi.h

1999-06-09 Thread dgaudet
dgaudet 99/06/09 15:03:44

  Modified:pthreads/src/include buff.h
   pthreads/src/main alloc.c buff.c http_main.c
   pthreads/src/modules/proxy proxy_cache.c proxy_ftp.c
proxy_http.c
   pthreads/src/test/rename apapi.h
  Log:
  get rid of fd_in, it's not needed by anything anymore
  
  Revision  ChangesPath
  1.6   +1 -2  apache-apr/pthreads/src/include/buff.h
  
  Index: buff.h
  ===
  RCS file: /home/cvs/apache-apr/pthreads/src/include/buff.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- buff.h1999/06/03 23:46:21 1.5
  +++ buff.h1999/06/09 22:03:38 1.6
  @@ -116,7 +116,6 @@
   
   /* could also put pointers to the basic I/O routines here */
   int fd;  /* the file descriptor */
  -int fd_in;   /* input file descriptor, if different 
*/
   #ifdef WIN32
   HANDLE hFH;  /* Windows filehandle */
   #endif
  @@ -145,7 +144,7 @@
   
   /* Stream creation and modification */
   API_EXPORT(BUFF *) ap_bcreate(pool *p, int flags);
  -API_EXPORT(void) ap_bpushfd(BUFF *fb, int fd_in, int fd_out);
  +API_EXPORT(void) ap_bpushfd(BUFF *fb, int fd);
   
   /* XXX - unused right now - mvsk */
   API_EXPORT(BUFF *) ap_bopenf(pool *a, const char *name, int flg, int mode);
  
  
  
  1.7   +3 -3  apache-apr/pthreads/src/main/alloc.c
  
  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-apr/pthreads/src/main/alloc.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- alloc.c   1999/05/30 23:48:58 1.6
  +++ alloc.c   1999/06/09 22:03:39 1.7
  @@ -2452,19 +2452,19 @@
   if (pipe_out) {
*pipe_out = ap_bcreate(p, B_RD);
ap_note_cleanups_for_fd(p, fd_out);
  - ap_bpushfd(*pipe_out, fd_out, fd_out);
  + ap_bpushfd(*pipe_out, fd_out);
   }
   
   if (pipe_in) {
*pipe_in = ap_bcreate(p, B_WR);
ap_note_cleanups_for_fd(p, fd_in);
  - ap_bpushfd(*pipe_in, fd_in, fd_in);
  + ap_bpushfd(*pipe_in, fd_in);
   }
   
   if (pipe_err) {
*pipe_err = ap_bcreate(p, B_RD);
ap_note_cleanups_for_fd(p, fd_err);
  - ap_bpushfd(*pipe_err, fd_err, fd_err);
  + ap_bpushfd(*pipe_err, fd_err);
   }
   #endif
   
  
  
  
  1.12  +10 -22apache-apr/pthreads/src/main/buff.c
  
  Index: buff.c
  ===
  RCS file: /home/cvs/apache-apr/pthreads/src/main/buff.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- buff.c1999/06/03 23:46:22 1.11
  +++ buff.c1999/06/09 22:03:39 1.12
  @@ -239,7 +239,6 @@
   fb-bytes_sent = 0;
   
   fb-fd = -1;
  -fb-fd_in = -1;
   fb-timeout = -1;
   
   #ifdef B_SFIO
  @@ -257,10 +256,9 @@
   /*
* Push some I/O file descriptors onto the stream
*/
  -API_EXPORT(void) ap_bpushfd(BUFF *fb, APRFile fd_in, APRFile fd_out)
  +API_EXPORT(void) ap_bpushfd(BUFF *fb, APRFile fd)
   {
  -fb-fd = fd_out;
  -fb-fd_in = fd_in;
  +fb-fd = fd;
   }
   
   API_EXPORT(int) ap_bsetopt(BUFF *fb, int optname, const void *optval)
  @@ -445,7 +443,7 @@
   
   API_EXPORT(int) ap_bfileno(BUFF *fb, int direction)
   {
  -return (direction == B_RD) ? fb-fd_in : fb-fd;
  +return fb-fd;
   }
   
   /*
  @@ -469,7 +467,7 @@
   /* Test the descriptor and flush the output buffer if it looks like
* we will block on the next read.
*
  - * Note we assume the caller has ensured that fb-fd_in = FD_SETSIZE
  + * Note we assume the caller has ensured that fb-fd = FD_SETSIZE
*/
   API_EXPORT(void) ap_bhalfduplex(BUFF *fb)
   {
  @@ -481,16 +479,16 @@
* or there is something readable in the incoming buffer
* or there is nothing flushable in the output buffer.
*/
  -if (fb == NULL || fb-fd_in  0 || fb-incnt  0 || fb-outcnt == 0) {
  +if (fb == NULL || fb-fd  0 || fb-incnt  0 || fb-outcnt == 0) {
return;
   }
   /* test for a block */
   do {
FD_ZERO(fds);
  - FD_SET(fb-fd_in, fds);
  + FD_SET(fb-fd, fds);
tv.tv_sec = 0;
tv.tv_usec = 0;
  - rv = ap_select(fb-fd_in + 1, fds, NULL, NULL, tv);
  + rv = ap_select(fb-fd + 1, fds, NULL, NULL, tv);
   } while (rv  0  errno == EINTR  !(fb-flags  B_EOUT));
   
   /* treat any error as if it would block as well */
  @@ -507,7 +505,7 @@
ap_bhalfduplex(fb);
   }
   do {
  - rv = recvwithtimeout(fb-fd_in, buf, nbyte, fb-timeout);
  + rv = recvwithtimeout(fb-fd, buf, nbyte, fb-timeout);
   } while (rv == -1  errno == EINTR  !(fb-flags  B_EOUT));
   return (rv);
   }
  @@ -1309,12 +1307,6 @@
   else
   rc1 = 0;
   rc2 = ap_pclosef(fb-pool, fb-fd);
  -if (fb

cvs commit: apache-apr/pthreads/src/include buff.h httpd.h

1999-06-09 Thread dgaudet
dgaudet 99/06/09 15:06:30

  Modified:pthreads/src/include buff.h httpd.h
  Log:
  BO_TIMEOUT belongs in buff.h
  
  Revision  ChangesPath
  1.7   +1 -0  apache-apr/pthreads/src/include/buff.h
  
  Index: buff.h
  ===
  RCS file: /home/cvs/apache-apr/pthreads/src/include/buff.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- buff.h1999/06/09 22:03:38 1.6
  +++ buff.h1999/06/09 22:06:29 1.7
  @@ -141,6 +141,7 @@
   
   /* Options to bset/getopt */
   #define BO_BYTECT (1)
  +#define BO_TIMEOUT (2)
   
   /* Stream creation and modification */
   API_EXPORT(BUFF *) ap_bcreate(pool *p, int flags);
  
  
  
  1.16  +0 -2  apache-apr/pthreads/src/include/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /home/cvs/apache-apr/pthreads/src/include/httpd.h,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- httpd.h   1999/05/24 06:53:32 1.15
  +++ httpd.h   1999/06/09 22:06:29 1.16
  @@ -1141,8 +1141,6 @@
   #endif
   #define strtoul strtoul_is_not_a_portable_function_use_strtol_instead
   
  -#define BO_TIMEOUT 2
  -
   #define ap_is_aborted(abort) (abort-aborted ==1)
   
   #ifdef __cplusplus
  
  
  


cvs commit: apache-2.0/mpm - Imported sources

1999-06-18 Thread dgaudet
dgaudet 99/06/18 11:40:00

  Log:
  import mpm-3 into the apache-2.0 repository
  
  Status:
  
  Vendor Tag:   dgaudet
  Release Tags: mpm-3
  
  N apache-2.0/mpm/ABOUT_APACHE
  N apache-2.0/mpm/Announcement
  N apache-2.0/mpm/INSTALL
  N apache-2.0/mpm/KEYS
  N apache-2.0/mpm/LICENSE
  N apache-2.0/mpm/Makefile.tmpl
  N apache-2.0/mpm/README
  N apache-2.0/mpm/README.NT
  N apache-2.0/mpm/README.configure
  N apache-2.0/mpm/RULES.CVS
  N apache-2.0/mpm/WARNING-NT.TXT
  N apache-2.0/mpm/config.layout
  N apache-2.0/mpm/configure
  N apache-2.0/mpm/config.status
  N apache-2.0/mpm/Makefile
  N apache-2.0/mpm/cgi-bin/printenv
  N apache-2.0/mpm/cgi-bin/test-cgi
  N apache-2.0/mpm/conf/.cvsignore
  N apache-2.0/mpm/conf/access.conf-dist
  N apache-2.0/mpm/conf/access.conf-dist-win
  N apache-2.0/mpm/conf/highperformance.conf-dist
  N apache-2.0/mpm/conf/httpd.conf-dist
  N apache-2.0/mpm/conf/httpd.conf-dist-win
  N apache-2.0/mpm/conf/magic
  N apache-2.0/mpm/conf/mime.types
  N apache-2.0/mpm/conf/srm.conf-dist
  N apache-2.0/mpm/conf/srm.conf-dist-win
  N apache-2.0/mpm/icons/back.gif
  N apache-2.0/mpm/icons/README
  N apache-2.0/mpm/icons/a.gif
  N apache-2.0/mpm/icons/alert.black.gif
  N apache-2.0/mpm/icons/alert.red.gif
  N apache-2.0/mpm/icons/apache_pb.gif
  N apache-2.0/mpm/icons/ball.gray.gif
  N apache-2.0/mpm/icons/ball.red.gif
  N apache-2.0/mpm/icons/binary.gif
  N apache-2.0/mpm/icons/binhex.gif
  N apache-2.0/mpm/icons/blank.gif
  N apache-2.0/mpm/icons/bomb.gif
  N apache-2.0/mpm/icons/box1.gif
  N apache-2.0/mpm/icons/box2.gif
  N apache-2.0/mpm/icons/broken.gif
  N apache-2.0/mpm/icons/burst.gif
  N apache-2.0/mpm/icons/c.gif
  N apache-2.0/mpm/icons/comp.blue.gif
  N apache-2.0/mpm/icons/comp.gray.gif
  N apache-2.0/mpm/icons/compressed.gif
  N apache-2.0/mpm/icons/continued.gif
  N apache-2.0/mpm/icons/dir.gif
  N apache-2.0/mpm/icons/dvi.gif
  N apache-2.0/mpm/icons/down.gif
  N apache-2.0/mpm/icons/f.gif
  N apache-2.0/mpm/icons/folder.gif
  N apache-2.0/mpm/icons/folder.open.gif
  N apache-2.0/mpm/icons/folder.sec.gif
  N apache-2.0/mpm/icons/forward.gif
  N apache-2.0/mpm/icons/generic.gif
  N apache-2.0/mpm/icons/generic.red.gif
  N apache-2.0/mpm/icons/generic.sec.gif
  N apache-2.0/mpm/icons/hand.right.gif
  N apache-2.0/mpm/icons/hand.up.gif
  N apache-2.0/mpm/icons/icon.sheet.gif
  N apache-2.0/mpm/icons/image1.gif
  N apache-2.0/mpm/icons/image2.gif
  N apache-2.0/mpm/icons/image3.gif
  N apache-2.0/mpm/icons/index.gif
  N apache-2.0/mpm/icons/layout.gif
  N apache-2.0/mpm/icons/left.gif
  N apache-2.0/mpm/icons/link.gif
  N apache-2.0/mpm/icons/movie.gif
  N apache-2.0/mpm/icons/p.gif
  N apache-2.0/mpm/icons/patch.gif
  N apache-2.0/mpm/icons/pdf.gif
  N apache-2.0/mpm/icons/pie0.gif
  N apache-2.0/mpm/icons/pie1.gif
  N apache-2.0/mpm/icons/pie2.gif
  N apache-2.0/mpm/icons/pie3.gif
  N apache-2.0/mpm/icons/pie4.gif
  N apache-2.0/mpm/icons/pie5.gif
  N apache-2.0/mpm/icons/pie6.gif
  N apache-2.0/mpm/icons/pie7.gif
  N apache-2.0/mpm/icons/pie8.gif
  N apache-2.0/mpm/icons/portal.gif
  N apache-2.0/mpm/icons/ps.gif
  N apache-2.0/mpm/icons/quill.gif
  N apache-2.0/mpm/icons/right.gif
  N apache-2.0/mpm/icons/screw1.gif
  N apache-2.0/mpm/icons/screw2.gif
  N apache-2.0/mpm/icons/script.gif
  N apache-2.0/mpm/icons/sound1.gif
  N apache-2.0/mpm/icons/sound2.gif
  N apache-2.0/mpm/icons/sphere1.gif
  N apache-2.0/mpm/icons/sphere2.gif
  N apache-2.0/mpm/icons/tar.gif
  N apache-2.0/mpm/icons/tex.gif
  N apache-2.0/mpm/icons/text.gif
  N apache-2.0/mpm/icons/transfer.gif
  N apache-2.0/mpm/icons/unknown.gif
  N apache-2.0/mpm/icons/up.gif
  N apache-2.0/mpm/icons/uu.gif
  N apache-2.0/mpm/icons/uuencoded.gif
  N apache-2.0/mpm/icons/world1.gif
  N apache-2.0/mpm/icons/world2.gif
  N apache-2.0/mpm/icons/small/README.txt
  N apache-2.0/mpm/icons/small/back.gif
  N apache-2.0/mpm/icons/small/binary.gif
  N apache-2.0/mpm/icons/small/binhex.gif
  N apache-2.0/mpm/icons/small/blank.gif
  N apache-2.0/mpm/icons/small/broken.gif
  N apache-2.0/mpm/icons/small/burst.gif
  N apache-2.0/mpm/icons/small/comp1.gif
  N apache-2.0/mpm/icons/small/comp2.gif
  N apache-2.0/mpm/icons/small/compressed.gif
  N apache-2.0/mpm/icons/small/continued.gif
  N apache-2.0/mpm/icons/small/dir.gif
  N apache-2.0/mpm/icons/small/dir2.gif
  N apache-2.0/mpm/icons/small/doc.gif
  N apache-2.0/mpm/icons/small/forward.gif
  N apache-2.0/mpm/icons/small/generic.gif
  N apache-2.0/mpm/icons/small/generic2.gif
  N apache-2.0/mpm/icons/small/generic3.gif
  N apache-2.0/mpm/icons/small/image.gif
  N apache-2.0/mpm/icons/small/image2.gif
  N apache-2.0/mpm/icons/small/index.gif
  N apache-2.0/mpm/icons/small/key.gif
  N apache-2.0/mpm/icons/small/movie.gif
  N apache-2.0/mpm/icons/small/patch.gif
  N apache-2.0/mpm/icons/small/ps.gif
  N apache-2.0/mpm/icons/small/rainbow.gif
  N apache-2.0/mpm/icons/small/sound.gif
  N apache-2.0/mpm/icons/small/sound2.gif
  N apache-2.0/mpm/icons/small/tar.gif
  N apache

cvs commit: apache-2.0/mpm/src/docs - New directory

1999-06-18 Thread dgaudet
dgaudet 99/06/18 11:43:13

  apache-2.0/mpm/src/docs - New directory


cvs commit: apache-2.0/mpm/src/docs goals.txt initial_blurb.txt tls.txt

1999-06-18 Thread dgaudet
dgaudet 99/06/18 11:46:55

  Added:   mpm/src/docs goals.txt initial_blurb.txt tls.txt
  Log:
  add in some of the discussion
  
  Revision  ChangesPath
  1.1  apache-2.0/mpm/src/docs/goals.txt
  
  Index: goals.txt
  ===
  
  From [EMAIL PROTECTED] Fri Jun 18 11:46:10 1999
  Date: Fri, 18 Jun 1999 09:46:51 -0700 (PDT)
  From: Dean Gaudet [EMAIL PROTECTED]
  To: new-httpd@apache.org
  Subject: Re: work in progress: mpm-3.tar.gz
  X-Comment: Visit http://www.arctic.org/~dgaudet/legal for information 
regarding copyright and disclaimer.
  Reply-To: new-httpd@apache.org
  
  Yup it's a great idea waiting for someone to take it by the reins and
  implement it :) 
  
  A lot of folks in the past (in the group, and not in the group) have asked
  me how can I help with 2.0?  I'm trying to lay out a bunch of projects
  that will help me with this rearchitecture... and, if I can be so bold, I
  suspect that this is how we can finally get 2.0 going.  The stuff I'm
  doing is something which has been long overdue, and which is necessary for
  many of the plans that we've been thinking of. 
  
  I intend to make the feature set of mpm so desirable to unix-heads that
  they want to help clean it up, re-implement various 1.x features in it,
  and say this is apache 2.0.
  
  I intend to make the feature set of mpm general enough that non-unix-heads
  see exactly where they can plug in a new kick-ass model that suits their
  architecture... such as completion ports for NT.  Previously these folks
  had to hack into the utter horrid mess of http_main, and there was much
  duplicated code.  My goal (and I think I've accomplished it in this first
  version) is to abstract the real purpose of the main loop inside http_main
  so that it can be replaced with architecture specific main loops. 
  
  Yes I'm a unix-bigot, but even within the unix world there are several
  possibilities for the MPM, and I want to be sure that people can implement
  all of them.  There's a fellow Zach from redhat who just implemented what
  is probably the fastest userland model for linux, and he's waiting to plug
  it into apache somehow.  There's a sun dude waiting to plug in solaris 7's
  in-kernel accelerator.  I want to accomodate all of them.  Hence the
  modular design of the MPM. 
  
  Some day we'll have a portable run-time, and that day we'll integrate it
  with the MPM.  I intend to ignore this issue for the moment, because we
  can't afford to wait any longer for the holy grail portable run-time...
  and I think it'll be obvious to the APR (or NSPR) folks how they too can
  plug into the MPM; but they're going to have to wait for layered BUFF
  first. 
  
  At the moment this is dean's fork of apache, and I intend to play
  dictator on it for a while.  I have some very specific goals for it, and I
  want people to see where I'm going first before I release control.  I do
  want this to become apache 2.0 though, so I'm trying to accomodate enough
  people to make it acceptable.  But I could really use help as I've
  outlined -- at best I'm going to have prototype quality code; we've got a
  couple months of cleanup and testing before it'll be beta quality.
  
  OK back to hacking :)
  
  Dean
  
  On Fri, 18 Jun 1999, Ralf S. Engelschall wrote:
  
   
   In article [EMAIL PROTECTED] you wrote:
   
Oh, and another TODO which can happen now, before the modules are
converted to the new structure... is to change the module structure to
have only one on_load method, and have all other methods registered at
run time. 
   
   Yeah, that's a great idea. +1
   We really have to get rid of the unflexible fixed dispatch lists...
   
  Ralf S. Engelschall
  [EMAIL PROTECTED]
  www.engelschall.com
   
  
  
  
  
  1.1  apache-2.0/mpm/src/docs/initial_blurb.txt
  
  Index: initial_blurb.txt
  ===
  
  From [EMAIL PROTECTED] Fri Jun 18 11:43:50 1999
  Date: Thu, 17 Jun 1999 12:23:59 -0700 (PDT)
  From: Dean Gaudet [EMAIL PROTECTED]
  To: new-httpd@apache.org
  Subject: work in progress: mpm-3.tar.gz
  X-Comment: Visit http://www.arctic.org/~dgaudet/legal for information 
regarding copyright and disclaimer.
  Reply-To: new-httpd@apache.org
  
  This is the beginning of some massive code cleanup... we've been building
  so much crap into http_main it's been really difficult for me to work on
  the async/sync hybrid (ASH) stuff that I posted a few weeks back.  My main
  goal here was to rip out the multi-processing model, or MPM, so that we
  can replace it with whatever we need depending on the platform. 
  
  For example, there could be a prefork MPM, a win32 MPM, a select/thread
  hybrid MPM, a tpf MPM, ...
  
  The MPM's job is to listen

cvs commit: apache-2.0/mpm/src CHANGES BUILD.NOTES INDENT INSTALL PORTING README README.EBCDIC

1999-06-18 Thread dgaudet
dgaudet 99/06/18 11:58:49

  Modified:mpm/src  CHANGES
  Removed: mpm/src  BUILD.NOTES INDENT INSTALL PORTING README
README.EBCDIC
  Log:
  cleanup... rewrite the help later... clean state for changes for now
  
  Revision  ChangesPath
  1.2   +0 -6687   apache-2.0/mpm/src/CHANGES
  
Binary file
  
  


cvs commit: apache-2.0/mpm 00README_FIRST_REALLY

1999-06-18 Thread dgaudet
dgaudet 99/06/18 12:00:18

  Added:   mpm  00README_FIRST_REALLY
  Log:
  ignore the man behind the curtain
  
  Revision  ChangesPath
  1.1  apache-2.0/mpm/00README_FIRST_REALLY
  
  Index: 00README_FIRST_REALLY
  ===
  This is a work in progress, don't believe anything you read in
  the docs at this level of the tree.
  
  Save yourself a headache and cd src and start working there.
  
  Dean
  
  
  


cvs commit: apache-2.0/mpm/src/lib/expat-lite Makefile.tmpl

1999-06-18 Thread dgaudet
dgaudet 99/06/18 12:04:23

  Modified:mpm/src/lib/expat-lite Makefile.tmpl
  Log:
  someone needs to put a depend rule into here
  
  Revision  ChangesPath
  1.2   +2 -0  apache-2.0/mpm/src/lib/expat-lite/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/lib/expat-lite/Makefile.tmpl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.tmpl 1999/06/18 18:39:24 1.1
  +++ Makefile.tmpl 1999/06/18 19:04:21 1.2
  @@ -29,3 +29,5 @@
   
   .c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $
  +
  +depend:
  
  
  


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

1999-06-18 Thread dgaudet
dgaudet 99/06/18 12:08:08

  Modified:mpm/src/ap Makefile.tmpl
   mpm/src  Makefile.tmpl
   mpm/src/main Makefile.tmpl
   mpm/src/modules/standard Makefile.tmpl
   mpm/src/os/unix Makefile.tmpl
  Log:
  update dependencies
  
  Revision  ChangesPath
  1.2   +8 -7  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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.tmpl 1999/06/18 18:39:23 1.1
  +++ Makefile.tmpl 1999/06/18 19:07:57 1.2
  @@ -42,35 +42,36 @@
   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)/alloc.h $(INCDIR)/buff.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)/alloc.h $(INCDIR)/buff.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
   ap_getpass.o: ap_getpass.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.h
  + $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h $(INCDIR)/ap.h \
  + $(INCDIR)/apr.h
   ap_md5c.o: ap_md5c.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_md5.h \
  - $(INCDIR)/ap.h
  + $(INCDIR)/ap.h $(INCDIR)/apr.h
   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)/alloc.h $(INCDIR)/buff.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)/alloc.h $(INCDIR)/buff.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)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
$(INCDIR)/util_uri.h
  
  
  
  1.2   +6 -5  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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.tmpl 1999/06/18 18:39:23 1.1
  +++ Makefile.tmpl 1999/06/18 19:07:59 1.2
  @@ -122,10 +122,11 @@
   
   # DO NOT REMOVE
   buildmark.o: buildmark.c include/ap_config.h include/ap_mmn.h \
  - include/ap_config_auto.h os/unix/os.h include/ap_ctype.h \
  - include/hsregex.h include/httpd.h include/alloc.h include/buff.h \
  - include/ap.h include/util_uri.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
   modules.o: modules.c include/httpd.h include/ap_config.h \
include/ap_mmn.h include/ap_config_auto.h os/unix/os.h \
  - include/ap_ctype.h include/hsregex.h include/alloc.h include/buff.h \
  - include/ap.h include/util_uri.h include/http_config.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
  
  
  
  1.2   +34 -63apache-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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.tmpl 1999/06/18 18:39:29 1.1
  +++ Makefile.tmpl 1999/06/18 19:08:01 1.2

cvs commit: apache-2.0/mpm/src Configuration.mpm Configure

1999-06-18 Thread dgaudet
dgaudet 99/06/18 12:20:19

  Modified:mpm/src  Configuration.mpm Configure
  Log:
  lots todo
  
  Revision  ChangesPath
  1.2   +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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Configuration.mpm 1999/06/18 18:49:44 1.1
  +++ Configuration.mpm 1999/06/18 19:20:18 1.2
  @@ -19,7 +19,7 @@
   Rule IRIXNIS=no
   Rule IRIXN32=yes
   Rule PARANOID=no
  -Rule EXPAT=default
  +Rule EXPAT=no
   Rule WANTHSREGEX=default
   # AddModule modules/experimental/mod_mmap_static.o
   # AddModule modules/standard/mod_env.o
  
  
  
  1.2   +6 -0  apache-2.0/mpm/src/Configure
  
  Index: Configure
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/Configure,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Configure 1999/06/18 18:39:23 1.1
  +++ Configure 1999/06/18 19:20:18 1.2
  @@ -1679,6 +1679,12 @@
   
   ## Now create modules.c
   ##
  +
  +## TODO: the mpm thing below should be controlled by a configuration
  +## TODO: directive... it should really be like another module, with
  +## TODO: a default selected depending on the platform
  +## TODO: there should be an mpm/foo/ hierarchy for the MPM
  +
   $CAT  $awkfile 'EOFM'
   BEGIN {
modules[n++] = core
  
  
  


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

1999-06-18 Thread dgaudet
dgaudet 99/06/18 12:20:50

  Modified:mpm/src/include buff.h
   mpm/src/main buff.c http_protocol.c
  Log:
  break chunked encoding, ebcdic, ... layering goes here
  
  Revision  ChangesPath
  1.2   +4 -48 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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- buff.h1999/06/18 18:39:28 1.1
  +++ buff.h1999/06/18 19:20:47 1.2
  @@ -62,10 +62,6 @@
   extern C {
   #endif
   
  -#ifdef B_SFIO
  -#include sfio.h
  -#endif
  -
   #include stdarg.h
   
   /* Reading is buffered */
  @@ -85,16 +81,13 @@
   #undef B_ERROR
   #endif
   #define B_ERROR (48)
  -/* Use chunked writing */
  -#define B_CHUNK (64)
  +/* TODO: implement chunked encoding as a layer */
   /* bflush() if a read would block */
   #define B_SAFEREAD (128)
   /* buffer is a socket */
   #define B_SOCKET (256)
  -#ifdef CHARSET_EBCDIC
  -#define B_ASCII2EBCDIC 0x4000  /* Enable conversion for this buffer */
  -#define B_EBCDIC2ASCII 0x8000  /* Enable conversion for this buffer */
  -#endif /*CHARSET_EBCDIC*/
  +
  +/* TODO: implement a ebcdic/ascii conversion layers */
   
   typedef struct buff_struct BUFF;
   
  @@ -103,7 +96,6 @@
   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;
  @@ -116,29 +108,9 @@
   
   /* could also put pointers to the basic I/O routines here */
   int fd;  /* the file descriptor */
  -#ifdef WIN32
  -HANDLE hFH;  /* Windows filehandle */
  -#endif
   time_t timeout;  /* timeout for B_SOCKET operations */
  -
  -/* transport handle, for RPC binding handle or some such */
  -void *t_handle;
  -
  -#ifdef B_SFIO
  -Sfio_t *sf_in;
  -Sfio_t *sf_out;
  -#endif
   };
   
  -#ifdef B_SFIO
  -typedef struct {
  -Sfdisc_t disc;
  -BUFF *buff;
  -} apache_sfio;
  -
  -extern Sfdisc_t *bsfio_new(pool *p, BUFF *b);
  -#endif
  -
   /* Options to bset/getopt */
   #define BO_BYTECT (1)
   #define BO_TIMEOUT (2)
  @@ -150,9 +122,6 @@
   /* XXX - unused right now - mvsk */
   API_EXPORT(BUFF *) ap_bopenf(pool *a, const char *name, int flg, int mode);
   
  -#ifdef WIN32
  -API_EXPORT(void) ap_bpushh(BUFF *fb, HANDLE hFH);
  -#endif
   API_EXPORT(int) ap_bsetopt(BUFF *fb, int optname, const void *optval);
   API_EXPORT(int) ap_bgetopt(BUFF *fb, int optname, void *optval);
   API_EXPORT(int) ap_bsetflag(BUFF *fb, int flag, int value);
  @@ -181,27 +150,14 @@
   API_EXPORT(int) ap_bflsbuf(int c, BUFF *fb);
   API_EXPORT(int) ap_bfilbuf(BUFF *fb);
   
  -#ifndef CHARSET_EBCDIC
  -
   #define ap_bgetc(fb)   ( ((fb)-incnt == 0) ? ap_bfilbuf(fb) : \
((fb)-incnt--, *((fb)-inptr++)) )
   
   #define ap_bputc(c, fb) fb)-flags  (B_EOUT|B_WRERR|B_WR)) != B_WR || \
 (fb)-outcnt == (fb)-bufsiz) ? ap_bflsbuf(c, (fb)) : \
 ((fb)-outbase[(fb)-outcnt++] = (c), 0))
  -
  -#else /*CHARSET_EBCDIC*/
  -
  -#define ap_bgetc(fb)   ( ((fb)-incnt == 0) ? ap_bfilbuf(fb) : \
  - ((fb)-incnt--, (fb-flags  B_ASCII2EBCDIC)\
  - ?os_toebcdic[(unsigned 
char)*((fb)-inptr++)]:*((fb)-inptr++)) )
  -
  -#define ap_bputc(c, fb) fb)-flags  (B_EOUT|B_WRERR|B_WR)) != B_WR || \
  -  (fb)-outcnt == (fb)-bufsiz) ? ap_bflsbuf(c, (fb)) : \
  -  ((fb)-outbase[(fb)-outcnt++] = (fb-flags  
B_EBCDIC2ASCII)\
  -  ?os_toascii[(unsigned char)c]:(c), 0))
   
  -#endif /*CHARSET_EBCDIC*/
  +/* XXX: this doesn't belong here... should be part of a generic spawning API 
in APR/NSPR */
   struct child_info {
   #ifdef WIN32
   /*
  
  
  
  1.2   +11 -417   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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- buff.c1999/06/18 18:39:29 1.1
  +++ buff.c1999/06/18 19:20:48 1.2
  @@ -75,12 +75,6 @@
   #ifndef DEFAULT_BUFSIZE
   #define DEFAULT_BUFSIZE (4096)
   #endif
  -/* This must be enough to represent (DEFAULT_BUFSIZE - 3) in hex,
  - * plus two extra characters.
  - */
  -#ifndef CHUNK_HEADER_SIZE
  -#define CHUNK_HEADER_SIZE (5)
  -#endif
   
   
   /* bwrite()s of greater than this size can result in a large_write() call,
  @@ -219,37 +213,21 @@
   else
fb-inbase = NULL

cvs commit: apache-2.0/mpm/src/main iol_unix.c Makefile.tmpl buff.c http_connection.c http_protocol.c http_request.c

1999-06-19 Thread dgaudet
dgaudet 99/06/18 16:35:01

  Modified:mpm/src  CHANGES
   mpm/src/include buff.h
   mpm/src/main Makefile.tmpl buff.c http_connection.c
http_protocol.c http_request.c
  Added:   mpm/src/docs buff.txt
   mpm/src/include ap_iol.h
   mpm/src/main iol_unix.c
  Log:
  I'm sure this is wrong... but it's my start.  i/o layering.  Lots of stuff
  disabled/still to be implemented.  This served up a few static requests.
  
  Revision  ChangesPath
  1.3   +7 -0  apache-2.0/mpm/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-2.0/mpm/src/CHANGES,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CHANGES   1999/06/18 18:58:45 1.2
  +++ CHANGES   1999/06/18 23:34:56 1.3
  @@ -0,0 +1,7 @@
  +Changes with MPM
  +
  +* I/O layering and BUFF revamp.  See docs/buff.txt. [Dean Gaudet]
  +
  +* Basic restructuring to introduce the MPM concept; includes various
  +  changes to the module API... better described by
  +  docs/initial_blurb.txt.  [Dean Gaudet]
  
  
  
  1.1  apache-2.0/mpm/src/docs/buff.txt
  
  Index: buff.txt
  ===
  - 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
  
  
  
  1.3   +15 -15apache-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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- buff.h1999/06/18 19:20:47 1.2
  +++ buff.h1999/06/18 23:34:58 1.3
  @@ -63,6 +63,7 @@
   #endif
   
   #include stdarg.h
  +#include ap_iol.h
   
   /* Reading is buffered */
   #define B_RD (1)
  @@ -83,16 +84,22 @@
   #define B_ERROR (48)
   /* TODO: implement chunked encoding as a layer */
   /* bflush() if a read would block */
  -#define B_SAFEREAD (128)
  +/* 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 */
   
   typedef struct buff_struct BUFF;
   
   struct buff_struct {
   int flags;   /* flags */
  +int saved_errno; /* saved errno */
   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  */
  @@ -106,14 +113,13 @@
   
   ap_pool *pool;
   
  -/* could also put pointers to the basic I/O routines here */
  -int fd;  /* the file descriptor */
  -time_t timeout;  /* timeout for B_SOCKET operations */
  +ap_iol iol;
   };
   
   /* Options to bset/getopt */
   #define BO_BYTECT (1)
   #define BO_TIMEOUT (2)
  +#define BO_ERROR (3)
   
   /* Stream creation and modification */
   API_EXPORT(BUFF *) ap_bcreate(pool *p, int flags);
  @@ -136,8 +142,7 @@
   /* I/O */
   API_EXPORT(int) ap_bread(BUFF *fb, void *buf, int nbyte);
   API_EXPORT(int) ap_bgets(char *s, int n, BUFF *fb);
  -API_EXPORT(int) ap_blookc(char *buff, BUFF *fb);
  -API_EXPORT(int) ap_bskiplf(BUFF *fb);
  +API_EXPORT(int) ap_blookc(BUFF *fb);
   API_EXPORT(int) ap_bwrite(BUFF *fb, const void *buf, int nbyte);
   API_EXPORT(int) ap_bflush(BUFF *fb);
   API_EXPORT(int) ap_bputs(const char *x, BUFF *fb);
  @@ -153,6 +158,10 @@
   #define ap_bgetc(fb)   ( ((fb)-incnt == 0) ? ap_bfilbuf(fb) : \
((fb)-incnt--, *((fb)-inptr++)) )
   
  +/* can only unput a single character that was read by ap_bgetc */
  +#define ap_bungetc(c, fb)  ((fb)-incnt++, *(--(fb)-inptr) = (c))
  + 
  +
   #define ap_bputc(c, fb) fb)-flags  (B_EOUT|B_WRERR|B_WR)) != B_WR || \
 (fb)-outcnt == (fb)-bufsiz) ? ap_bflsbuf(c, (fb)) : \
 ((fb)-outbase[(fb)-outcnt++] = (c), 0))
  @@ -181,15 +190,6 @@
   API_EXPORT(int) ap_bspawn_child(pool *, int (*)(void *, child_info *), void 
*,
enum kill_conditions, BUFF **pipe_in, 
BUFF **pipe_out,
BUFF **pipe_err);
  -
  -/* enable non-blocking operations */
  -API_EXPORT(int) ap_bnonblock(int fd);
  -API_EXPORT(int) ap_bblock(int fd);
  -/* and get an fd to select() on */
  -API_EXPORT(int) ap_bfileno(BUFF *fb, int direction

<    1   2   3   4   5   6   7   >