cvs commit: apache-2.0/docs README

1998-02-03 Thread dgaudet
dgaudet 98/02/02 18:50:10

  Added:   docs README
  Log:
  explain that last commit
  
  Revision  ChangesPath
  1.1  apache-2.0/docs/README
  
  Index: README
  ===
  This won't really be docs about how to run the server... but I couldn't
  really think of a better name for it.  I guess it could have been
  called proposals... but eventually the stuff here will really be
  docs.
  
  Dean
  
  
  


cvs commit: apache-2.0/docs process-model.html

1998-02-03 Thread dgaudet
dgaudet 98/02/02 18:53:02

  Added:   docs process-model.html
  Log:
  here ya go, my process-model proposal... the one which I think is way 
overboard now
  
  Revision  ChangesPath
  1.1  apache-2.0/docs/process-model.html
  
  Index: process-model.html
  ===
  html
  head
  titleProcess Model Design/title
  /head
  body bgcolor=#ff text=#00 link=#ff vlink=#80 
alink=#ff
  
  h1Process Model Design/h1
  
  hrbr
  pNote:  Dean wrote the initial version of this with input from various other
  folks.  RST has since mailed Dean and convinced Dean that a lot of this is
  way overboard... and some day when Dean has a chance those extra arguments
  will appear here.  But for now, here's a start on this which is way overboard.
  hrbr
  
  pStart by reading the
  a href=http://www.cs.wustl.edu/~jxh/research/research.html;JAWS papers/a.
  They provide a good background for what we need to think about.
  
  pApache's process models are currently implemented by
  codehttp_main.c/code.  The addition of the WIN32 code has made it almost
  unreadable.  It needs abstraction and cleanup.  Specifically,
  codehttp_main/code provides the following functionality:
  
  ul
  lirequest dispatch
  litimers
  limutexes
  lishared memory
  liprocess/thread mgmt
  /ul
  
  Most of the above are not abstracted sufficiently (i.e. timers, mutexes,
  shared memory).  And there are some missing things that will be needed
  for some of the process models.
  
  pNote that the beauty of Apache's current design is that outside of
  codehttp_main/code very little code cares about how requests are
  dispatched.  The module API has also been designed such that essentially
  no synchronization needs to be done between running requests, for
  example there are (almost) no data structures that require mutexes.
  But the latter is not something that we absolutely need to maintain,
  because there are optimizations that set up data structures which require
  some synchronization... and opening up these potentials is one of the
  purposes of this paper.
  
  h3Definitions/h3
  
  dl
  dtprocess
  ddA process is the heaviest unit of kernel scheduling.  Processes
  do not share address spaces or file resources except through explicit
  methods (such as inheriting file handles or share mem segments, or
  mapping the same file in a shared way).  Processes are pre-emptively
  multitasked.
  
  dtthread
  ddThe term thread will refer bonly to kernel supplied threads/b.
  A thread is the lightest unit of kernel scheduling.  At least one
  thread exists within each process.  If multiple threads can exist
  within each process then they all share the same memory and file
  resources.  Threads are pre-emptively multitasked.
  
  dtfiber
  ddA fiber is a user-level thread.  Fibers are bco-operatively
  multitasked/b, with context switching occuring only at I/O points
  or at explicit yield points.  A fiber can be scheduled to run in any
  thread in the same process.  Typically fibers are implemented entirely
  by user-level libraries, under Unix the I/O would be handled by using
  select() multiplexing.  The term is borrowed from WIN32, which actually
  supplies a fiber interface in the API.  Fibers are very similar to
  co-routines.  SunOS 4.x light-weight processes are fibers, but
  SunOS 5.x LWPs are actually threads.
  /dl
  
  h3What process models are interesting?/h3
  
  pThe models vary in three dimensions: number of processes, number
  of threads within each process, number of fibers within each thread.
  In all models, a fiber is used to handle each request -- that is, most
  code in the server can treat the fiber as the only unit of execution
  worth worrying about.
  
  pI believe the following models are interesting:
  
  ul
  liSingle process, single thread, single fiber (SSS).  This is
  the current inetd mode and -X mode.  It should be easy to maintain
  as a special case of other models.
  
  liMultiple process, single thread, single fiber (MSS).  This is the
  current Unix model, and needs to be maintained for maximum portability.
  
  liMultiple process, single thread, multiple fiber (MSM).  In each
  process a user-level threads package handles context switches according
  to the completion of I/O.  This is typical select-event threading
  under Unix.  This is how Zeus and Squid work, and should be portable to
  essentially every Unix, with a performance advantage over MSS.
  In the MSM model there should be enough processes to exploit the available
  parallelism in the hardware.
  
  liSingle process, multiple thread, single fiber (SMS).  This is probably
  the easiest to implement multi-threaded model.  One process has multiple
  kernel threads, each thread runs a single fiber.  This should be
  implementable under WIN32, OS2, and with POSIX threads.
  
  liSingle process, multiple thread, multiple fiber (SMM

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

1998-02-03 Thread dgaudet
dgaudet 98/02/02 23:29:54

  Modified:src/os/win32 mod_isapi.c
  Log:
  r-finfo.st_mode == 0 should be the first test before using r-finfo in
  a handler
  
  Revision  ChangesPath
  1.7   +3 -3  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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- mod_isapi.c   1998/01/07 16:47:08 1.6
  +++ mod_isapi.c   1998/02/03 07:29:53 1.7
  @@ -129,11 +129,11 @@
   if (!(allow_options(r)  OPT_EXECCGI))
return FORBIDDEN;
   
  -if (S_ISDIR(r-finfo.st_mode))
  - return FORBIDDEN;
  -
   if (r-finfo.st_mode == 0)
return NOT_FOUND;
  +
  +if (S_ISDIR(r-finfo.st_mode))
  + return FORBIDDEN;
   
   /* Load the module */
   
  
  
  


cvs commit: apache-1.3 STATUS

1998-02-03 Thread dgaudet
dgaudet 98/02/03 01:32:50

  Modified:.STATUS
  Log:
  raining all day long
  
  Revision  ChangesPath
  1.141 +6 -1  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.140
  retrieving revision 1.141
  diff -u -r1.140 -r1.141
  --- STATUS1998/02/01 16:37:29 1.140
  +++ STATUS1998/02/03 09:32:49 1.141
  @@ -143,10 +143,15 @@
   * r-allowed cleanup
   * References to undefined 'cwd' cell fixed in suexec.c
   * fix options/allowoverride merging
  +* tweak some table sizes
  +* fix r-hostname port stripping
   * Ken's restructuring the header files into src/include
  +* UseCanonicalName
  +* default_port/http_method
  +* ap_read/ap_write
  +* minor r-finfo handling cleanups
   
   Available Patches:
  -
   
   * M.D.Parker's [PATCH] mod_status/1448: Status Information have version
[EMAIL PROTECTED]
  
  
  


cvs commit: apache-1.3 STATUS

1998-02-03 Thread dgaudet
dgaudet 98/02/03 01:35:37

  Modified:.STATUS
  Log:
  vote
  
  Revision  ChangesPath
  1.142 +2 -0  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.141
  retrieving revision 1.142
  diff -u -r1.141 -r1.142
  --- STATUS1998/02/03 09:32:49 1.141
  +++ STATUS1998/02/03 09:35:36 1.142
  @@ -259,6 +259,7 @@
   
   * Maybe a http_paths.h file? See
[EMAIL PROTECTED]
  + Dean +1
   
   * Release builds: Should we provide Configuration or not?
 Should we 'make all suexec' in src/support?
  @@ -277,6 +278,7 @@
Issues: Underscores: Should I try prepending, appending, and
 ignoring? - Alexei says look at Java
 Location? os/unix ??
  + Dean +1
   
   * 206 vs. 200 issue on Content-Length
See [EMAIL PROTECTED]
  
  
  


cvs commit: apache-1.2/src CHANGES http_protocol.c

1998-02-03 Thread dgaudet
dgaudet 98/02/03 01:53:51

  Modified:src  CHANGES http_protocol.c
  Log:
  Ed's patch has been running on one of my 1.2 servers w/name and ip vhosts
  for 5 days now without a hassle.
  
  Ed says:
  
   I posted a patch much like this some months ago, but Dean pointed out that
   it still had a few problems.  So far as I can see, this covers all of
   those; check_fulluri and reduce_uri (in mod_rewrite) can mess with
   r-filename (removing http[s]://{hostname}[:{port}]), but they don't
   change r-server, which is where the security hole lies.
  
   It also fixes check_fulluri to work for virtual hosts w/ a wildcard port
   and/or multiple ports.
  
   It also fixes check_serverpath, which should make sure the server in
   question can possibly be listening for this request (note that one of
   either check_hostalias and check_serverpath will run).
  
   It's not needed for 1.3, since Dean's rewrite of the vhost code fixed it
   in that.
  
  Submitted by: Ed Korthof [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.291 +7 -0  apache-1.2/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v
  retrieving revision 1.290
  retrieving revision 1.291
  diff -u -r1.290 -r1.291
  --- CHANGES   1998/02/01 02:47:37 1.290
  +++ CHANGES   1998/02/03 09:53:48 1.291
  @@ -1,4 +1,11 @@
   Changes with Apache 1.2.6
  +  
  +  *) SECURITY: When a client connects to a particular port/addr, and
  + gives a Host: header ensure that the virtual host requested can
  + actually be reached via that port/addr.  [Ed Korthof [EMAIL 
PROTECTED]]
  +
  +  *) Support virtual hosts with wildcard port and/or multiple ports
  + properly.  [Ed Korthof [EMAIL PROTECTED]]
   
 *) Fixed some case-sensitivity issues according to RFC2068.
[Dean Gaudet]
  
  
  
  1.131 +112 -31   apache-1.2/src/http_protocol.c
  
  Index: http_protocol.c
  ===
  RCS file: /export/home/cvs/apache-1.2/src/http_protocol.c,v
  retrieving revision 1.130
  retrieving revision 1.131
  diff -u -r1.130 -r1.131
  --- http_protocol.c   1998/02/01 02:47:39 1.130
  +++ http_protocol.c   1998/02/03 09:53:49 1.131
  @@ -548,13 +548,15 @@
   }
   }
   
  -const char *check_fulluri (request_rec *r, const char *uri) {
  +const char *check_fulluri (request_rec *r, const char *uri)
  +{
 char *name, *host;
 int i;
 unsigned port;
  +  server_addr_rec * sar;
   
 /* This routine parses full URLs, if they match the server */
  -  if (strncmp(uri, http://;, 7)) return uri;
  +  if (strncasecmp(uri, http://;, 7)) return uri;
 name = pstrdup(r-pool, uri + 7);
 
 /* Find the hostname, assuming a valid request */
  @@ -567,7 +569,13 @@
 else port = 80;
   
 /* Make sure ports patch */
  -  if (port != r-server-port) return uri;
  +  if (port != r-server-port) {
  +for (sar = r-server-addrs; sar; sar = sar-next) {
  +  if( (sar-host_port == 0) || (port == sar-host_port) )
  +break;
  +}
  +if (!sar) return uri;
  +  }
   
 /* Save it for later use */
 r-hostname = pstrdup(r-pool, host);
  @@ -678,15 +686,29 @@
   }
   }
   
  -static void check_hostalias (request_rec *r) {
  +#define ADDR_MATCHES(addr1,addr2) \
  +   (addr1.s_addr == addr2.s_addr) || (addr1.s_addr == htonl(INADDR_ANY)) \
  +|| (addr1.s_addr == DEFAULT_VHOST_ADDR)
  +
  +static void check_hostalias (request_rec *r)
  +{
 const char *hostname=r-hostname;
 char *host = getword(r-pool, hostname, ':'); /* Get rid of port */
 unsigned port = (*hostname) ? atoi(hostname) : 80;
  -  server_rec *s;
  +  server_rec *s = r-server;
  +  server_addr_rec * sar;
 int l;
   
  -  if (port  (port != r-server-port))
  -return;
  +/* make sure the client can't spoof the port;
  + * have to check all possiblities to see if the server
  + * should be listening. */
  +  if (port != r-server-port) {
  +for (sar = s-addrs; sar; sar = sar-next) {
  +  if ( (port == sar-host_port) || (sar-host_port == 0) )
  +break;
  +}
  +if (!sar) return;
  +  }
   
 l = strlen(host)-1;
 if ((host[l]) == '.') {
  @@ -704,37 +726,68 @@
configuration */
continue;
   }
  -
  -if ((!strcasecmp(host, s-server_hostname))  (port == s-port)) {
  -  r-server = r-connection-server = s;
  -  if (r-hostlen  !strncmp(r-uri, http://;, 7)) {
  - r-uri += r-hostlen;
  - parse_uri(r, r-uri);
  +/* ok, now there are several possibilities, and we're matching the
  + * hostname, the port, and r-connection-local_addr.  The last is
  + * required so as to only respond on an address to which this vhost
  + * should actually be listening.
  + *
  + * Either we can match s-server_name and s-port while matching
  + * against the ip address in a record in the s-addrs list

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

1998-02-04 Thread dgaudet
dgaudet 98/02/04 11:42:52

  Modified:conf httpd.conf-dist
  Log:
  give a clue
  
  Revision  ChangesPath
  1.15  +3 -0  apache-1.2/conf/httpd.conf-dist
  
  Index: httpd.conf-dist
  ===
  RCS file: /export/home/cvs/apache-1.2/conf/httpd.conf-dist,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- httpd.conf-dist   1998/01/30 09:12:49 1.14
  +++ httpd.conf-dist   1998/02/04 19:42:51 1.15
  @@ -48,6 +48,9 @@
   
   # ServerRoot: The directory the server's config, error, and log files
   # are kept in
  +# NOTE!  If you intend to place this on a NFS (or otherwise network)
  +# mounted filesystem then please read the LockFile documentation,
  +# you will save yourself a lot of trouble.
   
   ServerRoot /usr/local/etc/httpd
   
  
  
  


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

1998-02-04 Thread dgaudet
dgaudet 98/02/04 13:23:34

  Modified:src  CHANGES
   src/main http_protocol.c
  Log:
  Igor found a memory leak -- we're allocating the initial request_rec in
  the connection pool rather than creating a new pool first.  So each
  request on a keepalive connection would waste sizeof(request_rec).
  
  Revision  ChangesPath
  1.616 +2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.615
  retrieving revision 1.616
  diff -u -r1.615 -r1.616
  --- CHANGES   1998/02/03 11:19:26 1.615
  +++ CHANGES   1998/02/04 21:23:30 1.616
  @@ -1,4 +1,6 @@
   Changes with Apache 1.3b4
  +  
  +  *) Fix a memory leak on keep-alive connections.  [Igor Tatarinov]
   
 *) Added mod_so module to support dynamic loading of modules on Unix
(like mod_dld for Win32). This replaces mod_dld.c. Use SharedModule
  
  
  
  1.185 +5 -2  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.184
  retrieving revision 1.185
  diff -u -r1.184 -r1.185
  --- http_protocol.c   1998/02/02 22:33:33 1.184
  +++ http_protocol.c   1998/02/04 21:23:33 1.185
  @@ -773,13 +773,16 @@
   
   request_rec *read_request(conn_rec *conn)
   {
  -request_rec *r = (request_rec *) pcalloc(conn-pool, 
sizeof(request_rec));
  +request_rec *r;
   int access_status;
  +pool *p;
   
  +p = make_sub_pool(conn-pool);
  +r = pcalloc(p, sizeof(request_rec));
  +r-pool= p;
   r-connection  = conn;
   conn-server   = conn-base_server;
   r-server  = conn-server;
  -r-pool= make_sub_pool(conn-pool);
   
   conn-keptalive= conn-keepalive == 1;
   conn-keepalive= 0;
  
  
  


cvs commit: apache-1.3/htdocs/manual/mod directives.html

1998-02-04 Thread dgaudet
dgaudet 98/02/04 13:40:05

  Modified:htdocs/manual/mod directives.html
  Log:
  two of the probably many missing directives
  
  Revision  ChangesPath
  1.39  +2 -0  apache-1.3/htdocs/manual/mod/directives.html
  
  Index: directives.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/directives.html,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- directives.html   1998/02/03 11:40:22 1.38
  +++ directives.html   1998/02/04 21:40:04 1.39
  @@ -136,6 +136,7 @@
   LIA HREF=mod_cern_meta.html#metasuffixMetaSuffix/A
   LIA HREF=mod_mime_magic.html#mimemagicfileMimeMagicFile/A
   LIA HREF=core.html#minspareserversMinSpareServers/A
  +LIA HREF=core.html#namevirtualhostNameVirtualHost/A
   LIA HREF=mod_proxy.html#nocacheNoCache/A
   LIA HREF=core.html#optionsOptions/A
   LIA HREF=mod_access.html#orderorder/A
  @@ -192,6 +193,7 @@
   LIA HREF=mod_log_config.html#transferlogTransferLog/A
   LIA HREF=mod_mime.html#typesconfigTypesConfig/A
   LIA HREF=mod_env.html#unsetenvUnsetEnv/A
  +LIA HREF=core.html#usecanonicalnameUseCanonicalName/A
   LIA HREF=core.html#userUser/A
   LIA HREF=mod_userdir.html#userdirUserDir/A
   LIA HREF=core.html#virtualhostlt;VirtualHostgt;/A
  
  
  


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

1998-02-05 Thread dgaudet
dgaudet 98/02/04 23:52:35

  Modified:src/modules/standard mod_unique_id.c
  Log:
  gethostname doesn't necessarily \0-terminate
  
  Submitted by: Marc Slemko
  
  Revision  ChangesPath
  1.12  +1 -0  apache-1.3/src/modules/standard/mod_unique_id.c
  
  Index: mod_unique_id.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_unique_id.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- mod_unique_id.c   1998/01/27 10:28:33 1.11
  +++ mod_unique_id.c   1998/02/05 07:52:34 1.12
  @@ -162,6 +162,7 @@
 gethostname: mod_unique_id requires the hostname of the server);
   exit(1);
   }
  +str[sizeof(str) - 1] = '\0';
   
   if ((hent = gethostbyname(str)) == NULL) {
   aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ALERT, s,
  
  
  


cvs commit: apache-1.3 STATUS

1998-02-05 Thread dgaudet
dgaudet 98/02/04 23:55:05

  Modified:.STATUS
  Log:
  i don't do win32
  
  Revision  ChangesPath
  1.144 +4 -0  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.143
  retrieving revision 1.144
  diff -u -r1.143 -r1.144
  --- STATUS1998/02/03 11:16:45 1.143
  +++ STATUS1998/02/05 07:55:04 1.144
  @@ -404,3 +404,7 @@
- mod_mime_magic.c (needs access to mod_mime API stage...)
   
   * do something to disable bogus warnings
  +
  +* double check the test_filename and os_canonical_name thing in
  + directory_walk ... Dean thinks it looks bogus, r-filename
  + isn't used for comparisons, test_filename is.
  
  
  


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

1998-02-05 Thread dgaudet
dgaudet 98/02/05 00:04:57

  Modified:htdocs/manual upgrading_to_1_3.html
  Log:
  document the code changes required for 1.2 modules
  
  Revision  ChangesPath
  1.11  +32 -0 apache-1.3/htdocs/manual/upgrading_to_1_3.html
  
  Index: upgrading_to_1_3.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/upgrading_to_1_3.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- upgrading_to_1_3.html 1998/02/03 20:24:37 1.10
  +++ upgrading_to_1_3.html 1998/02/05 08:04:56 1.11
  @@ -161,6 +161,38 @@
   
   /UL
   
  +h3Third Party Modules/h3
  +
  +pThe following changes between the 1.2 and 1.3 API may require slight
  +changes in third party modules not maintained by Apache.
  +
  +ul
  +  licodeconstruct_url/code prototype change.  The second parameter
  +was previously a codeserver_rec/code, it has been changed to
  +a coderequest_rec/code.
  +
  +  liThe codetable/code datatype has been made an opaque type.
  +Code which assumes a codetable/code is the same as an
  +codearray_header/code will not compile.  This is actually a
  +change to enforce the API the way it was intended, all versions
  +of Apache have had a codetable_elts()/code function which
  +is intended for code which needs to access the elements of
  +a table.  The changes required for this are pretty easy, and
  +work with all versions of Apache.
  +
  +pSuppose codet/code is a table.  Whenever code refers to
  +codet-gt;elts/code, replace it with something like this:
  +
  +blockquotepre
  +array_header *arr = table_elts(t);
  +table_entry *elts = (table_entry *)arr-gt;elts;
  +/pre/blockquote
  +
  +Whenever code refers to codet-gt;nelts/code use
  +codearr-gt;nelts/code.  Many examples can be found in
  +the standard modules, search for codetable_elts/code.
  +/ul
  +
   !--#include virtual=footer.html --
   /BODY
   /HTML
  
  
  


cvs commit: apache-2.0 STATUS

1998-02-06 Thread dgaudet
dgaudet 98/02/06 02:10:25

  Modified:.STATUS
  Log:
  
  
  Revision  ChangesPath
  1.8   +4 -2  apache-2.0/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-2.0/STATUS,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- STATUS1998/02/06 02:58:40 1.7
  +++ STATUS1998/02/06 10:10:23 1.8
  @@ -44,10 +44,10 @@
   to add more, but try not to duplicate earlier items too much.
   
   a) multithreading.  
  -   Brian +1, Ken +1
  +   Brian +1, Ken +1, Dean +1

   b) new layered I/O.
  -   Brian +1, Ken +1
  +   Brian +1, Ken +1, Dean +1
   
   c) radically revamped API
  Ken +1
  @@ -60,6 +60,8 @@
   f) rewrite in C++
   
   g) revamped process model (Dean's proposal)
  +   Dean says: it's hard to do (a) cleanly without considering a
  + bunch of this
   
   Closed issues:
   
  
  
  


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

1998-02-07 Thread dgaudet
dgaudet 98/02/07 02:34:47

  Modified:src/main buff.c
  Log:
  Sorry guys I know we're trying to get 1.3b4 rolled, but I really really
  really want chunking to work since it is affecting the deployment of
  HTTP/1.1.  I've stressed this patch a fair amount with a module I'll
  check in shortly.
  
  Two more chunking bugs:
  
  - start_chunk() called bflush() called start_chunk() caused chaos
  - if we ended up in the tail of bwrite() where a memcpy happens to copy
  the remainder, in certain boundary cases with chunking we would
  go past the end of the buffer
  
  Just generally clean up chunking a bit.  This would be a lot easier if
  chunking were just a layered I/O handler.
  
  Revision  ChangesPath
  1.63  +56 -47apache-1.3/src/main/buff.c
  
  Index: buff.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/buff.c,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- buff.c1998/02/03 20:00:58 1.62
  +++ buff.c1998/02/07 10:34:43 1.63
  @@ -74,6 +74,13 @@
   #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,
* which can result in a writev().  It's a little more work to set up the
  @@ -381,6 +388,8 @@
   }
   }
   
  +static int bflush_core(BUFF *fb);
  +
   /*
* Start chunked encoding.
*
  @@ -392,9 +401,6 @@
*/
   static void start_chunk(BUFF *fb)
   {
  -char chunksize[16];  /* Big enough for practically anything 
*/
  -int chunk_header_size;
  -
   if (fb-outchunk != -1) {
/* already chunking */
return;
  @@ -404,26 +410,15 @@
return;
   }
   
  -/* we know that the chunk header is going to take at least 3 bytes... */
  -chunk_header_size = ap_snprintf(chunksize, sizeof(chunksize),
  -  %x\015\012, fb-bufsiz - fb-outcnt - 3);
   /* we need at least the header_len + at least 1 data byte
* remember that we've overallocated fb-outbase so that we can always
* fit the two byte CRLF trailer
*/
  -if (fb-bufsiz - fb-outcnt  chunk_header_size + 1) {
  - bflush(fb);
  +if (fb-bufsiz - fb-outcnt  CHUNK_HEADER_SIZE + 1) {
  + bflush_core(fb);
   }
  -/* assume there's enough space now */
  -#ifdef CHARSET_EBCDIC
  -/* Chunks are an HTTP/1.1 Protocol feature. They must ALWAYS be in ASCII 
*/
  -ebcdic2ascii(fb-outbase[fb-outcnt], chunksize, chunk_header_size);
  -#else /*CHARSET_EBCDIC*/
  -memcpy(fb-outbase[fb-outcnt], chunksize, chunk_header_size);
  -#endif /*CHARSET_EBCDIC*/
   fb-outchunk = fb-outcnt;
  -fb-outcnt += chunk_header_size;
  -fb-outchunk_header_size = chunk_header_size;
  +fb-outcnt += CHUNK_HEADER_SIZE;
   }
   
   
  @@ -433,13 +428,14 @@
   static void end_chunk(BUFF *fb)
   {
   int i;
  +char *strp;
   
   if (fb-outchunk == -1) {
/* not chunking */
return;
   }
   
  -if (fb-outchunk + fb-outchunk_header_size == fb-outcnt) {
  +if (fb-outchunk + CHUNK_HEADER_SIZE == fb-outcnt) {
/* nothing was written into this chunk, and we can't write a 0 size
 * chunk because that signifies EOF, so just erase it
 */
  @@ -449,26 +445,24 @@
   }
   
   /* we know this will fit because of how we wrote it in start_chunk() */
  -i = ap_snprintf((char *) fb-outbase[fb-outchunk],
  - fb-outchunk_header_size,
  - %x, fb-outcnt - fb-outchunk - fb-outchunk_header_size);
  +i = ap_snprintf((char *) fb-outbase[fb-outchunk], CHUNK_HEADER_SIZE,
  + %x, fb-outcnt - fb-outchunk - CHUNK_HEADER_SIZE);
   
   /* we may have to tack some trailing spaces onto the number we just wrote
* in case it was smaller than our estimated size.  We've also written
* a \0 into the buffer with ap_snprintf so we might have to put a
* \r back in.
*/
  -i += fb-outchunk;
  -while (fb-outbase[i] != '\015'  fb-outbase[i] != '\012') {
  - fb-outbase[i++] = ' ';
  -}
  -if (fb-outbase[i] == '\012') {
  - /* we overwrote the \r, so put it back */
  - fb-outbase[i - 1] = '\015';
  +strp = fb-outbase[fb-outchunk + i];
  +while (i  CHUNK_HEADER_SIZE - 2) {
  + *strp++ = ' ';
  + ++i;
   }
  +*strp++ = '\015';
  +*strp = '\012';
   #ifdef CHARSET_EBCDIC
   /* Chunks are an HTTP/1.1 Protocol feature. They must ALWAYS be in ASCII 
*/
  -ebcdic2ascii(fb-outbase[fb-outchunk], fb-outbase[fb-outchunk], 
fb-outchunk_header_size);
  +ebcdic2ascii(fb-outbase[fb-outchunk], fb-outbase[fb-outchunk], 
CHUNK_HEADER_SIZE

cvs commit: apache-1.3/src/test check_chunked

1998-02-07 Thread dgaudet
dgaudet 98/02/07 02:38:18

  Added:   src/test check_chunked
  Log:
  tool for testing chunked encoding
  
  Revision  ChangesPath
  1.1  apache-1.3/src/test/check_chunked
  
  Index: check_chunked
  ===
  #!/usr/bin/perl -w
  
  # This is meant to be used on the raw output of an HTTP/1.1 connection
  # to check that the chunks are all correctly laid out.  It's easiest
  # to use a tool like netcat to generate the output.  This script
  # *insists* that \r exist in the output.
  
  use strict;
  
  my $is_chunked = 0;
  
  # must toss headers
  while() {
  if (/^Transfer-Encoding:\s+chunked/i) {
$is_chunked = 1;
  }
  last if ($_ eq \r\n);
  }
  
  $is_chunked || die wasn't chunked\n;
  
  for(;;) {
  $_ =  || die unexpected end of file!\n;
  
  m#^[0-9a-f]+ *\r$#i || die bogus chunklen: $_;
  
  my $chunklen = hex;
  
  exit 0 if ($chunklen == 0);
  
  chop; chop;
  print $_ ;
  
  my $data = '';
  read(ARGV, $data, $chunklen) == $chunklen || die short read!\n;
  
  $_ =  || die unexpected end of file!\n;
  
  $_ eq \r\n || die missing chunk trailer!\n;
  }
  
  
  


cvs commit: apache-1.3/src/modules/test - New directory

1998-02-07 Thread dgaudet
dgaudet 98/02/07 02:38:27

  apache-1.3/src/modules/test - New directory


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

1998-02-07 Thread dgaudet
dgaudet 98/02/07 02:44:34

  Added:   src/modules/test Makefile.tmpl
  Log:
  directory for modules which test server functionality
  
  Revision  ChangesPath
  1.1  apache-1.3/src/modules/test/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  # default Makefile.tmpl to force Configure to create a Makefile
  
  
  


cvs commit: apache-1.3/src/modules/test .cvsignore

1998-02-07 Thread dgaudet
dgaudet 98/02/07 02:48:34

  Added:   src/modules/test .cvsignore
  Log:
  foo
  
  Revision  ChangesPath
  1.1  apache-1.3/src/modules/test/.cvsignore
  
  Index: .cvsignore
  ===
  Makefile
  
  
  


cvs commit: apache-1.3/conf srm.conf-dist srm.conf-dist-win

1998-02-07 Thread dgaudet
dgaudet 98/02/07 04:07:11

  Modified:htdocs/manual/misc known_client_problems.html
   conf srm.conf-dist srm.conf-dist-win
  Log:
  Add all the BrowserMatch directives mentioned on the known_client_problems
  page.
  
  Submitted by: Lars Eilebrecht
  Reviewed by:  Dean Gaudet
  
  Revision  ChangesPath
  1.10  +1 -1  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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- known_client_problems.html1998/02/05 21:19:56 1.9
  +++ known_client_problems.html1998/02/07 12:07:08 1.10
  @@ -100,7 +100,7 @@
   of the early pre-releases of the 1.1 JDK.  We think it is fixed in the
   1.1 JDK release.  In any event the workaround:
   BLOCKQUOTECODE
  -BrowserMatch Java1.0 force-response-1.0 BR
  +BrowserMatch Java/1.0 force-response-1.0 BR
   BrowserMatch JDK/1.0 force-response-1.0 
   /CODE/BLOCKQUOTE
   
  
  
  
  1.18  +10 -5 apache-1.3/conf/srm.conf-dist
  
  Index: srm.conf-dist
  ===
  RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- srm.conf-dist 1997/11/05 11:32:36 1.17
  +++ srm.conf-dist 1998/02/07 12:07:09 1.18
  @@ -214,15 +214,20 @@
   # to determine its type.
   #MimeMagicFile conf/magic
   
  -# The following directive disables keepalives and HTTP header flushes for
  -# Netscape 2.x and browsers which spoof it. There are known problems with
  -# these
  +# The following directives disable keepalives and HTTP header flushes.
  +# The first directive disables it for Netscape 2.x and browsers which
  +# spoof it. There are known problems with these.
  +# The second directive is for Microsoft Internet Explorer 4.0b2
  +# which has a broken HTTP/1.1 implementation and does not properly
  +# support keepalive when it is used on 301 or 302 (redirect) responses.
   
  -BrowserMatch Mozilla/2 nokeepalive
  +BrowserMatch Mozilla/2 nokeepalive
  +BrowserMatch MSIE 4\.0b2; nokeepalive downgrade-1.0 force-response-1.0
   
   # The following directive disables HTTP/1.1 responses to browsers which
   # are in violation of the HTTP/1.0 spec by not being able to grok a
   # basic 1.1 response.
   
   BrowserMatch RealPlayer 4.0 force-response-1.0
  -
  +BrowserMatch Java/1.0 force-response-1.0
  +BrowserMatch JDK/1.0 force-response-1.0
  
  
  
  1.6   +10 -5 apache-1.3/conf/srm.conf-dist-win
  
  Index: srm.conf-dist-win
  ===
  RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist-win,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- srm.conf-dist-win 1997/11/05 11:32:37 1.5
  +++ srm.conf-dist-win 1998/02/07 12:07:10 1.6
  @@ -218,15 +218,20 @@
   # to determine its type.
   #MimeMagicFile conf/magic
   
  -# The following directive disables keepalives and HTTP header flushes for
  -# Netscape 2.x and browsers which spoof it. There are known problems with
  -# these
  +# The following directives disable keepalives and HTTP header flushes.
  +# The first directive disables it for Netscape 2.x and browsers which
  +# spoof it. There are known problems with these.
  +# The second directive is for Microsoft Internet Explorer 4.0b2
  +# which has a broken HTTP/1.1 implementation and does not properly
  +# support keepalive when it is used on 301 or 302 (redirect) responses.
   
  -BrowserMatch Mozilla/2 nokeepalive
  +BrowserMatch Mozilla/2 nokeepalive
  +BrowserMatch MSIE 4\.0b2; nokeepalive downgrade-1.0 force-response-1.0
   
   # The following directive disables HTTP/1.1 responses to browsers which
   # are in violation of the HTTP/1.0 spec by not being able to grok a
   # basic 1.1 response.
   
   BrowserMatch RealPlayer 4.0 force-response-1.0
  -
  +BrowserMatch Java/1.0 force-response-1.0
  +BrowserMatch JDK/1.0 force-response-1.0
  
  
  


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

1998-02-07 Thread dgaudet
dgaudet 98/02/07 04:11:19

  Modified:src/include conf.h
  Log:
  Tweak to MiNT port.
  
  Submitted by: Jan Paul Schmidt [EMAIL PROTECTED]
  Reviewed by:  Dean Gaudet
  
  Revision  ChangesPath
  1.179 +1 -1  apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.178
  retrieving revision 1.179
  diff -u -r1.178 -r1.179
  --- conf.h1998/02/04 18:18:51 1.178
  +++ conf.h1998/02/07 12:11:18 1.179
  @@ -85,7 +85,7 @@
   #define NO_LONG_DOUBLE
   #define USE_FLOCK_SERIALIZED_ACCEPT
   #define _BSD_SOURCE
  -#define EAGAIN EACCESS
  +#define EAGAIN EWOULDBLOCK
   int initgroups (char *, int); 
   char *crypt (const char *pw, const char *salt);
   int gethostname (char *name, int namelen);
  
  
  


cvs commit: apache-1.3/src/ap ap_execve.c

1998-02-07 Thread dgaudet
dgaudet 98/02/07 04:14:56

  Modified:src/ap   ap_execve.c
  Log:
  The code from tcsh is under the UCB license.
  
  Submitted by: Martin Kraemer
  
  Revision  ChangesPath
  1.5   +35 -0 apache-1.3/src/ap/ap_execve.c
  
  Index: ap_execve.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/ap/ap_execve.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ap_execve.c   1998/01/31 23:54:33 1.4
  +++ ap_execve.c   1998/02/07 12:14:56 1.5
  @@ -51,6 +51,41 @@
*
*/
   
  +/*
  + * Portions of this code are under this license:
  + *
  + * Copyright (c) 1980, 1991 The Regents of the University of California.
  + * All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + * 1. Redistributions of source code must retain the above copyright
  + *notice, this list of conditions and the following disclaimer.
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *notice, this list of conditions and the following disclaimer in the
  + *documentation and/or other materials provided with the distribution.
  + * 3. All advertising materials mentioning features or use of this software
  + *must display the following acknowledgement:
  + *   This product includes software developed by the University of
  + *   California, Berkeley and its contributors.
  + * 4. Neither the name of the University nor the names of its contributors
  + *may be used to endorse or promote products derived from this software
  + *without specific prior written permission.
  + *
  + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + */
  +
   #include httpd.h
   #include http_log.h
   
  
  
  


cvs commit: apache-1.3/src/modules/test README

1998-02-07 Thread dgaudet
dgaudet 98/02/07 12:34:08

  Added:   src/modules/test README
  Log:
  document the why
  
  Revision  ChangesPath
  1.1  apache-1.3/src/modules/test/README
  
  Index: README
  ===
  This directory is intended to house modules which are used for testing
  server functionality.  They're unsupported, and not guaranteed to remain
  consistant between releases.  You're on your own completely with these.
  
  
  


cvs commit: apache-1.3/src/test check_chunked

1998-02-07 Thread dgaudet
dgaudet 98/02/07 13:14:19

  Modified:src/test check_chunked
  Log:
  include location of netcat
  
  Revision  ChangesPath
  1.2   +2 -0  apache-1.3/src/test/check_chunked
  
  Index: check_chunked
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/check_chunked,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- check_chunked 1998/02/07 10:38:17 1.1
  +++ check_chunked 1998/02/07 21:14:18 1.2
  @@ -4,6 +4,8 @@
   # to check that the chunks are all correctly laid out.  It's easiest
   # to use a tool like netcat to generate the output.  This script
   # *insists* that \r exist in the output.
  +#
  +# You can find netcat at avian.org:/src/hacks/nc110.tgz.
   
   use strict;
   
  
  
  


cvs commit: apache-1.3/src CHANGES

1998-02-07 Thread dgaudet
dgaudet 98/02/07 13:23:31

  Modified:src  CHANGES
  Log:
  a few more updates
  
  Revision  ChangesPath
  1.619 +6 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.618
  retrieving revision 1.619
  diff -u -r1.618 -r1.619
  --- CHANGES   1998/02/07 15:52:11 1.618
  +++ CHANGES   1998/02/07 21:23:28 1.619
  @@ -4,6 +4,12 @@
in the STANDARD_MODULE_STUFF portion, and the MODULE_MAGIC_NUMBER
has been bumped accordingly.  [Paul Sutton]
   
  +  *) All BrowserMatch directives mentioned in
  + htdocs/manual/known_client_problems.html are in the default
  + configuration files.  [Lars Eilebrecht]
  +
  +  *) MiNT port update. [Jan Paul Schmidt]
  +
 *) HTTP/1.1 requires x-gzip and gzip encodings be treated
equivalent, similarly for x-compress and compress.  Apache
now ignores a leading x- when comparing encodings.  It also
  
  
  


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

1998-02-07 Thread dgaudet
dgaudet 98/02/07 13:54:14

  Modified:src/include buff.h
  Log:
  whoops forgot this part of my chunked patch
  
  Revision  ChangesPath
  1.34  +0 -1  apache-1.3/src/include/buff.h
  
  Index: buff.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/buff.h,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- buff.h1998/01/26 16:46:08 1.33
  +++ buff.h1998/02/07 21:54:13 1.34
  @@ -96,7 +96,6 @@
   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 outchunk_header_size;/* how long the header is */
   int outcnt;  /* number of byte put in output buffer 
*/
   unsigned char *inbase;
   unsigned char *outbase;
  
  
  


cvs commit: apache-1.3/src/test/vhtest/logs .cvsignore

1998-02-08 Thread dgaudet
dgaudet 98/02/08 14:50:19

  Modified:src/test/vhtest README
   src/test/vhtest/conf common.conf test1.conf test1d.conf
test2.conf test2d.conf test3.conf test4.conf
test5.conf test6.conf
  Added:   src/test/vhtest/logs .cvsignore
  Log:
  tweak tweak, docs were slightly wrong
  
  Revision  ChangesPath
  1.2   +1 -3  apache-1.3/src/test/vhtest/README
  
  Index: README
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/README,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- README1997/11/10 02:11:41 1.1
  +++ README1998/02/08 22:50:12 1.2
  @@ -19,9 +19,7 @@
   
   To use:
   
  -cd conf
  -perl -pi.orig -e s#/home/dgaudet/ap/vhtest#`pwd`# *.conf
  -cd ..
  +perl -pi.orig -e s#/home/dgaudet/ap/vhtest#`pwd`# conf/*.conf
   ./runtest /path/to/httpd
   
   Or to run a specific test:
  
  
  
  1.2   +2 -2  apache-1.3/src/test/vhtest/conf/common.conf
  
  Index: common.conf
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/conf/common.conf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- common.conf   1997/11/10 02:11:46 1.1
  +++ common.conf   1998/02/08 22:50:13 1.2
  @@ -3,7 +3,7 @@
   HostnameLookups off
   User nobody
   Group #-1
  -ServerRoot /home/dgaudet/ap/vhtest
  +ServerRoot /home/dgaudet/ap/apachen/src/test/vhtest
   ErrorLog logs/error_log
   LogLevel debug
   # vhost Host header request response-code
  @@ -13,7 +13,7 @@
   ResourceConfig /dev/null
   AccessConfig /dev/null
   ServerName main
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/main
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/main
   
   Directory /
   AllowOverride none
  
  
  
  1.2   +5 -5  apache-1.3/src/test/vhtest/conf/test1.conf
  
  Index: test1.conf
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/conf/test1.conf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- test1.conf1997/11/10 02:11:48 1.1
  +++ test1.conf1998/02/08 22:50:14 1.2
  @@ -1,6 +1,6 @@
   ## test some basic ip-vhosts and a single name-vhost address
   
  -Include /home/dgaudet/ap/vhtest/conf/common.conf
  +Include /home/dgaudet/ap/apachen/src/test/vhtest/conf/common.conf
   
   #Listen 127.0.0.1:8080
   #Listen 127.0.0.2:8080
  @@ -9,20 +9,20 @@
   
   VirtualHost 127.0.0.1:8080
   ServerName vhost1
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost1
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost1
   /VirtualHost
   
   VirtualHost 127.0.0.2:8080
   ServerName vhost2
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost2
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost2
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost3
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost3
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost3
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost4
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost4
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost4
   /VirtualHost
  
  
  
  1.2   +6 -6  apache-1.3/src/test/vhtest/conf/test1d.conf
  
  Index: test1d.conf
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/conf/test1d.conf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- test1d.conf   1997/11/10 02:11:48 1.1
  +++ test1d.conf   1998/02/08 22:50:14 1.2
  @@ -1,6 +1,6 @@
   ## same as test1, but we throw in a _default_
   
  -Include /home/dgaudet/ap/vhtest/conf/common.conf
  +Include /home/dgaudet/ap/apachen/src/test/vhtest/conf/common.conf
   
   #Listen 127.0.0.1:8080
   #Listen 127.0.0.2:8080
  @@ -9,25 +9,25 @@
   
   VirtualHost 127.0.0.1:8080
   ServerName vhost1
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost1
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost1
   /VirtualHost
   
   VirtualHost 127.0.0.2:8080
   ServerName vhost2
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost2
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost2
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost3
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost3
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost3
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost4
  -DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost4
  +DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost4
   /VirtualHost
   
   VirtualHost _default_:8080
   ServerName default1

cvs commit: apache-1.3/src/test/vhtest/conf common.conf test1.conf test1d.conf test2.conf test2d.conf test3.conf test4.conf test5.conf test6.conf

1998-02-08 Thread dgaudet
dgaudet 98/02/08 14:51:29

  Modified:src/test/vhtest/conf common.conf test1.conf test1d.conf
test2.conf test2d.conf test3.conf test4.conf
test5.conf test6.conf
  Log:
  oh foo this method of configuration sucks
  
  Revision  ChangesPath
  1.3   +2 -2  apache-1.3/src/test/vhtest/conf/common.conf
  
  Index: common.conf
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/conf/common.conf,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- common.conf   1998/02/08 22:50:13 1.2
  +++ common.conf   1998/02/08 22:51:24 1.3
  @@ -3,7 +3,7 @@
   HostnameLookups off
   User nobody
   Group #-1
  -ServerRoot /home/dgaudet/ap/apachen/src/test/vhtest
  +ServerRoot /home/dgaudet/ap/vhtest
   ErrorLog logs/error_log
   LogLevel debug
   # vhost Host header request response-code
  @@ -13,7 +13,7 @@
   ResourceConfig /dev/null
   AccessConfig /dev/null
   ServerName main
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/main
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/main
   
   Directory /
   AllowOverride none
  
  
  
  1.3   +5 -5  apache-1.3/src/test/vhtest/conf/test1.conf
  
  Index: test1.conf
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/conf/test1.conf,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- test1.conf1998/02/08 22:50:14 1.2
  +++ test1.conf1998/02/08 22:51:24 1.3
  @@ -1,6 +1,6 @@
   ## test some basic ip-vhosts and a single name-vhost address
   
  -Include /home/dgaudet/ap/apachen/src/test/vhtest/conf/common.conf
  +Include /home/dgaudet/ap/vhtest/conf/common.conf
   
   #Listen 127.0.0.1:8080
   #Listen 127.0.0.2:8080
  @@ -9,20 +9,20 @@
   
   VirtualHost 127.0.0.1:8080
   ServerName vhost1
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost1
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost1
   /VirtualHost
   
   VirtualHost 127.0.0.2:8080
   ServerName vhost2
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost2
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost2
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost3
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost3
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost3
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost4
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost4
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost4
   /VirtualHost
  
  
  
  1.3   +6 -6  apache-1.3/src/test/vhtest/conf/test1d.conf
  
  Index: test1d.conf
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/conf/test1d.conf,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- test1d.conf   1998/02/08 22:50:14 1.2
  +++ test1d.conf   1998/02/08 22:51:25 1.3
  @@ -1,6 +1,6 @@
   ## same as test1, but we throw in a _default_
   
  -Include /home/dgaudet/ap/apachen/src/test/vhtest/conf/common.conf
  +Include /home/dgaudet/ap/vhtest/conf/common.conf
   
   #Listen 127.0.0.1:8080
   #Listen 127.0.0.2:8080
  @@ -9,25 +9,25 @@
   
   VirtualHost 127.0.0.1:8080
   ServerName vhost1
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost1
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost1
   /VirtualHost
   
   VirtualHost 127.0.0.2:8080
   ServerName vhost2
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost2
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost2
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost3
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost3
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost3
   /VirtualHost
   
   VirtualHost 127.0.0.3:8080
   ServerName vhost4
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/vhost4
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/vhost4
   /VirtualHost
   
   VirtualHost _default_:8080
   ServerName default1
  -DocumentRoot /home/dgaudet/ap/apachen/src/test/vhtest/docroot/default1
  +DocumentRoot /home/dgaudet/ap/vhtest/docroot/default1
   /VirtualHost
  
  
  
  1.3   +6 -6  apache-1.3/src/test/vhtest/conf/test2.conf
  
  Index: test2.conf
  ===
  RCS file: /export/home/cvs/apache-1.3/src/test/vhtest/conf/test2.conf,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- test2.conf1998/02/08 22:50:14 1.2
  +++ test2.conf1998/02/08 22:51:25 1.3
  @@ -1,7 +1,7 @@
   ## test more complex ip-vhosts with multiple ports, and name-vhosts on a
   ## single port of one ip
   
  -Include /home/dgaudet/ap/apachen/src/test

cvs commit: apache-2.0/docs stacked_io

1998-02-09 Thread dgaudet
dgaudet 98/02/09 01:30:01

  Added:   docs stacked_io
  Log:
  Ed's latest stacked i/o proposal
  
  Revision  ChangesPath
  1.1  apache-2.0/docs/stacked_io
  
  Index: stacked_io
  ===
  This past summer, Alexei and I wrote a spec for an I/O Filters API... 
  this proposal addresses one part of that -- 'stacked' I/O with buff.c. 
  
  We have a couple of options for stacked I/O: we can either use existing
  code, such as sfio, or we can rewrite buff.c to do it.  We've gone over
  the first possibility at length, though, and there were problems with each
  implemenation which was mentioned (licensing and compatibility,
  specifically); so far as I know, those remain issues. 
  
  Btw -- sfio will be supported w/in this model... it just wouldn't be the
  basis for the model's implementation. 
  
   -- Ed Korthof|  Web Server Engineer --
   -- [EMAIL PROTECTED]|  Organic Online, Inc --
   -- (415) 278-5676|  Fax: (415) 284-6891 --
  
  ---
  Stacked I/O With BUFFs
Sections:
  
1.) Overview
2.) The API
User-supplied structures
API functions
3.) Detailed Description
The bfilter structure
The bbottomfilter structure
The BUFF structure
Public functions in buff.c
4.) Efficiency Considerations
Buffering
Memory copies
Function chaining
writev
5.) Code in buff.c
Default Functions
Heuristics for writev
Writing
Reading
Flushing data
Closing stacks and filters
Flags and Options
  
  *
Overview
  
  The intention of this API is to make Apache's BUFF structure modular
  while retaining high efficiency.  Basically, it involves rewriting
  buff.c to provide 'stacked' I/O -- where the data passed through a
  series of 'filters', which may modify it.
  
  There are two parts to this, the core code for BUFF structures, and the
  filters used to implement new behavior.  filter is used to refer to
  both the sets of 5 functions, as shown in the bfilter structure in the
  next section, and to BUFFs which are created using a specific bfliter.
  These will also be occasionally refered to as user-supplied, though
  the Apache core will need to use these as well for basic functions.
  
  The user-supplied functions should use only the public BUFF API, rather
  than any internal details or functions.  One thing which may not be
  clear is that in the core BUFF functions, the BUFF pointer passed in
  refers to the BUFF on which the operation will happen.  OTOH, in the
  user-supplied code, the BUFF passed in is the next buffer down the
  chain, not the current one.
  
  *
The API
  
User-supplied structures
  
  First, the bfilter structure is used in all filters:
  typedef struct {
int (*writev)(BUFF *, void *, struct iovect *, int);
int (*read)(BUFF *, void *, char *, int);
int (*write)(BUFF *, void *, const char *, int);
int (*flush)(BUFF *, void *, const char *, int, bfilter *);
int (*transmitfile)(BUFF *, void *, file_info_ptr *);
void (*close)(BUFF *, void *);
  } bfilter;
  
  bfilters are placed into a BUFF structure along with a
  user-supplied void * pointer.
  
  Second, the following structure is for use with a filter which can
  sit at the bottom of the stack:
  
  typedef struct {
void *(*bgetfileinfo)(BUFF *, void *);
void (*bpushfileinfo)(BUFF *, void *, void *);
  } bbottomfilter;
  
  
BUFF API functions
  
  The following functions are new BUFF API functions:
  
  For filters:
  
  BUFF * bcreatestack(pool *p, int flags, struct bfilter *,
  struct bbottomfilter *, void *);
  BUFF * bpushfilter (BUFF *, struct bfilter *, void *);
  BUFF * bpushbuffer (BUFF *, BUFF *);
  BUFF * bpopfilter(BUFF *);
  BUFF * bpopbuffer(BUFF *);
  void bclosestack(BUFF *);
  
  For BUFFs in general:
  
  int btransmitfile(BUFF *, file_info_ptr *);
  int bsetstackopts(BUFF *, int, const void *);
  int bsetstackflags(BUFF *, int, int);
  
  Note that a new flag is needed for bsetstackflags:
  B_MAXBUFFERING
  
  The current bcreate should become
  
  BUFF * bcreatebuffer (pool *p, int flags, struct bfilter *, void *);
  
  *
Detailed Explanation
  
bfilter structure
  
  The void * pointer used in all these functions, as well as those

cvs commit: apache-2.0 STATUS

1998-02-10 Thread dgaudet
dgaudet 98/02/09 22:49:35

  Modified:.STATUS
  Log:
  
  
  Revision  ChangesPath
  1.21  +10 -8 apache-2.0/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-2.0/STATUS,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- STATUS1998/02/09 11:10:31 1.20
  +++ STATUS1998/02/10 06:49:34 1.21
  @@ -4,6 +4,8 @@
   
   2.0  : In pre-alpha development
see: http://www.arctic.org/~dgaudet/apache/2.0/process-model
  +Dean says:  This sounds like I'm working on implementing this
  +proposal.  I'm not.  Nobody is as far as I know.
   
   Plan:
   
  @@ -44,14 +46,14 @@
   to add more, but try not to duplicate earlier items too much.
   
   * multithreading.  
  - Status: Brian +1, Ken +1, Dean +1, Jim +1, Paul +1, Sameer +1, Marc +1, 
Ralf +1, MarkC +1, Ben +1
  + Status: Brian +1, Ken +1, Jim +1, Paul +1, Sameer +1, Marc +1, Ralf +1, 
MarkC +1, Ben +1
- Thread Abstraction
  -   Status: Sameer +1, Marc +1, MarkC +1, Ben +1
  +   Status: Sameer +1, Marc +1, MarkC +1, Ben +1, Dean +1

   * revamped process model (Dean's proposal)
 Dean says: it's hard to do the multithreading work cleanly without
 considering a bunch of this
  - Status: Marc +1 on much of it; threads aren't enough for perf. MarkC 
+1, Paul +1
  + Status: Marc +1 on much of it; threads aren't enough for perf. MarkC 
+1, Paul +1, Dean +1
   
   * new layered I/O.
Status: Brian +1, Ken +1, Dean +1, Jim +1, Paul +1, Sameer +1, Marc +1, 
Ralf +1, MarkC +1, Ben +1
  @@ -81,7 +83,7 @@
Status: Ken +1
   
 . documented API
  - Status: Ken +1, Sameer +1, Marc +1, Ralf +1, Paul +1
  + Status: Ken +1, Sameer +1, Marc +1, Ralf +1, Paul +1, Dean +1
  
 . just new API phases
Status: Brian +1, Jim +1, Sameer +1 (just the gaping holes),
  @@ -89,13 +91,13 @@
   
 . change API 'phase' model to use module-registered hooks rather
than a fixed static structure
  - Status: Ken +1, Ralf +1, MarkC +1, Paul +1
  + Status: Ken +1, Ralf +1, MarkC +1, Paul +1, Dean +1
   
  -   . use virtual functions for module hooks
  +  . use virtual functions for module hooks
Status: Ben +1, Paul -1
   
 . clearly identify API functions by renaming them
  - Status: Ken +1, Ralf +1, Ben +1, Paul +1 (plus back compat.)
  + Status: Ken +1, Ralf +1, Ben +1, Paul +1 (plus back compat.), Dean +1
   
 . backward compatibility with 1.3 (just require a recompile)
if functions get renamed, old names retained as wrappers
  @@ -103,7 +105,7 @@
   
 . make API call syntax rational (e.g., all r*() routines list r
as their first argument, et cetera)
  - Status: Ken +1, Ralf +0, Paul +0
  + Status: Ken +1, Ralf +0, Paul +0, Dean +0
   
   * new configuration language
Status: Dean +1, Marc +1, Ralf +0, Ben +1, Paul +0
  
  
  


cvs commit: apache-1.3/src/modules/experimental mod_mmap_static.c

1998-02-10 Thread dgaudet
dgaudet 98/02/10 03:00:59

  Added:   src/modules/experimental mod_mmap_static.c
  Log:
  here ya go
  
  Revision  ChangesPath
  1.1  apache-1.3/src/modules/experimental/mod_mmap_static.c
  
  Index: mod_mmap_static.c
  ===
  /* 
   * Copyright (c) 1998 The Apache Group.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *software must display the following acknowledgment:
   *This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/).
   *
   * 4. The names Apache Server and Apache Group must not be used to
   *endorse or promote products derived from this software without
   *prior written permission. For written permission, please contact
   *[EMAIL PROTECTED]
   *
   * 5. Redistributions of any form whatsoever must retain the following
   *acknowledgment:
   *This product includes software developed by the Apache Group
   *for use in the Apache HTTP server project (http://www.apache.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Group and was originally based
   * on public domain software written at the National Center for
   * Supercomputing Applications, University of Illinois, Urbana-Champaign.
   * For more information on the Apache Group and the Apache HTTP server
   * project, please see http://www.apache.org/.
   *
   */
  
  /*
   * mod_mmap_static: mmap a config-time list of files for faster serving
   *
   * v0.04
   * 
   * Author: Dean Gaudet [EMAIL PROTECTED]
   *
   * v0.01: initial implementation
   * v0.02: get rid of the extra stat() in the core by filling in what we know
   * v0.03: get rid of the cached match from the xlat routine since there are
   *many cases where the request is modified between it and the
   *handler... so we do the binary search twice, but the second time
   *we can use st_ino and st_dev to speed it up.
   * v0.04: work around mod_rewrite, which sets r-filename to the uri first
   */
  
  /*
  Documentation:
  
  The concept is simple.  Some sites have a set of static files that are
  really busy, and change infrequently (or even on a regular schedule).
  Save time by mmap()ing these files into memory and avoid a lot of the
  crap required to do normal file serving.  Place directives such as:
  
mmapfile /path/to/file1
mmapfile /path/to/file2
...
  
  into your configuration.  These files are only mmap()d when the server
  is restarted, so if you change the list, or if the files are changed,
  then you'll need to restart the server.
  
  To reiterate that point:  if the files are modified *in place*
  without restarting the server you may end up serving requests that
  are completely bogus.  You should update files by unlinking the old
  copy and putting a new copy in place.  Most tools such as rdist and
  mv do this.
  
  There's no such thing as inheriting these files across vhosts or
  whatever... place the directives in the main server only.
  
  Known problems:
  
  Don't use Alias or RewriteRule to move these files around...  unless
  you feel like paying for an extra stat() on each request.  This is
  a deficiency in the Apache API

cvs commit: apache-1.3/src/modules/experimental .cvsignore

1998-02-10 Thread dgaudet
dgaudet 98/02/10 03:03:29

  Added:   src/modules/experimental .cvsignore
  Log:
  the usual
  
  Revision  ChangesPath
  1.1  apache-1.3/src/modules/experimental/.cvsignore
  
  Index: .cvsignore
  ===
  Makefile
  
  
  


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

1998-02-12 Thread dgaudet
dgaudet 98/02/11 17:09:47

  Modified:src  CHANGES
   src/modules/standard mod_autoindex.c mod_mime.c
mod_negotiation.c
  Log:
  Old clients really don't want to see Content-Encoding: gzip.  So now we
  preserve the encoding given by the AddEncoding directive.  This allows us,
  for example, to move forward with things like AddEncoding deflate .df,
  while preserving backwards brokenness with AddEncoding x-gzip .gz.
  
  Submitted by: [EMAIL PROTECTED]
  Reviewed by:  Dean Gaudet
  
  Revision  ChangesPath
  1.626 +4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.625
  retrieving revision 1.626
  diff -u -r1.625 -r1.626
  --- CHANGES   1998/02/09 13:25:40 1.625
  +++ CHANGES   1998/02/12 01:09:41 1.626
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3b5
   
  +  *) Preserve the content encoding given by the AddEncoding directive
  + when the client doesn't otherwise specify an encoding.
  + [Ronald Tschalaer [EMAIL PROTECTED]]
  +
 *) WIN32: Append a '.' to extensionless executables in spawn[lv]e*
replacements, which makes them work.
[Sam Robb [EMAIL PROTECTED], Ben Laurie]
  
  
  
  1.67  +0 -6  apache-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.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- mod_autoindex.c   1998/02/06 09:11:39 1.66
  +++ mod_autoindex.c   1998/02/12 01:09:44 1.67
  @@ -178,9 +178,6 @@
to = ^^DIRECTORY^^;
   if (cmd-info == BY_ENCODING) {
str_tolower(to);
  - if (to[0] == 'x'  to[1] == '-') {
  - to += 2;
  - }
   }
   
   push_item(((autoindex_config_rec *) d)-alt_list, cmd-info, to, 
cmd-path, alt);
  @@ -207,9 +204,6 @@
to = ^^DIRECTORY^^;
   if (cmd-info == BY_ENCODING) {
str_tolower(to);
  - if (to[0] == 'x'  to[1] == '-') {
  - to += 2;
  - }
   }
   
   push_item(((autoindex_config_rec *) d)-icon_list, cmd-info, to, 
cmd-path,
  
  
  
  1.31  +0 -2  apache-1.3/src/modules/standard/mod_mime.c
  
  Index: mod_mime.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_mime.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- mod_mime.c1998/02/06 09:11:39 1.30
  +++ mod_mime.c1998/02/12 01:09:44 1.31
  @@ -127,8 +127,6 @@
   {
   if (*ext == '.')
   ++ext;
  -if ((enc[0] == 'x' || enc[0] == 'X')  enc[1] == '-')
  -enc += 2;
   table_set(m-encoding_types, ext, enc);
   return NULL;
   }
  
  
  
  1.70  +16 -6 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.69
  retrieving revision 1.70
  diff -u -r1.69 -r1.70
  --- mod_negotiation.c 1998/02/10 05:54:02 1.69
  +++ mod_negotiation.c 1998/02/12 01:09:45 1.70
  @@ -1463,6 +1463,7 @@
   int i;
   accept_rec *accept_recs = (accept_rec *) neg-accept_encodings-elts;
   char *enc = variant-content_encoding;
  +char *x_enc = NULL;
   
   if (!enc || is_identity_encoding(enc)) {
   return;
  @@ -1479,19 +1480,28 @@
   
   /* Go through each of the encodings on the Accept-Encoding: header,
* looking for a match with our encoding
  - */
  + * Prefer non- 'x-' prefixed token (e.g. gzip over x-gzip) */
  +if (enc[0] == 'x'  enc[1] == '-') {
  +enc += 2;
  +}
   for (i = 0; i  neg-accept_encodings-nelts; ++i) {
   char *name = accept_recs[i].type_name;
  -int off = 0;
  -
  - if (name[0] == 'x'  name[1] == '-')
  -off = 2;
   
  -if (!strcmp(name+off, enc)) {
  +if (!strcmp(name, enc)) {
   variant-encoding_quality = 1;
   variant-content_encoding = name;
   return;
   }
  +
  +if (name[0] == 'x'  name[1] == '-'  !strcmp(name+2, enc)) {
  +x_enc = name;
  +}
  +}
  +
  +if (x_enc != NULL) {
  +variant-encoding_quality = 1;
  +variant-content_encoding = x_enc;
  +return;
   }
   
   /* Encoding not found on Accept-Encoding: header, so it is
  
  
  


cvs commit: apache-1.3/htdocs/manual/mod mod_mime.html

1998-02-12 Thread dgaudet
dgaudet 98/02/11 17:14:37

  Modified:htdocs/manual/mod mod_mime.html
  Log:
  doc the addencoding mess
  
  Revision  ChangesPath
  1.19  +15 -1 apache-1.3/htdocs/manual/mod/mod_mime.html
  
  Index: mod_mime.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_mime.html,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- mod_mime.html 1998/02/05 20:04:56 1.18
  +++ mod_mime.html 1998/02/12 01:14:36 1.19
  @@ -117,7 +117,21 @@
   /CODE/BLOCKQUOTE
   
   This will cause files ending in .gz to be marked as encoded using the x-gzip
  -encoding, and .Z files to be marked as encoded with x-compress.PHR
  +encoding, and .Z files to be marked as encoded with x-compress.P
  +
  +Old clients expect codex-gzip/code and codex-compress/code,
  +however the standard dictates that they're equivalent to codegzip/code
  +and codecompress/code respectively.  Apache does content encoding
  +comparisons by ignoring any leading codex-/code.  When responding
  +with an encoding Apache will use whatever form (i.e. codex-foo/code
  +or codefoo/code) the client requested.  If the client didn't
  +specifically request a particular form Apache will use the form given by
  +the codeAddEncoding/code directive.  To make this long story short,
  +you should always use codex-gzip/code and codex-compress/code
  +for these two specific encodings.  More recent encodings, such as
  +codedeflate/code should be specified without the codex-/code.
  +
  +PHR
   
   H2A name=addhandlerAddHandler/A/H2
   
  
  
  


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

1998-02-12 Thread dgaudet
dgaudet 98/02/11 18:18:45

  Modified:src/ap   ap_snprintf.c
   src/helpers dummy.c
   src/main fnmatch.c http_core.c
   src/modules/standard mod_autoindex.c mod_negotiation.c
  Log:
  Clean up gcc 2.8.0 -Wall warnings... so we don't have to deal with PRs
  about them.
  
  Revision  ChangesPath
  1.13  +2 -1  apache-1.3/src/ap/ap_snprintf.c
  
  Index: ap_snprintf.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ap_snprintf.c 1998/01/07 16:45:56 1.12
  +++ ap_snprintf.c 1998/02/12 02:18:38 1.13
  @@ -426,7 +426,7 @@
return (buf);
   }
   
  -if (format == 'f')
  +if (format == 'f') {
if (decimal_point = 0) {
*s++ = '0';
if (precision  0) {
  @@ -443,6 +443,7 @@
if (precision  0 || add_dp)
*s++ = '.';
}
  +}
   else {
*s++ = *p++;
if (precision  0 || add_dp)
  
  
  
  1.4   +1 -1  apache-1.3/src/helpers/dummy.c
  
  Index: dummy.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/helpers/dummy.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- dummy.c   1997/07/25 02:03:17 1.3
  +++ dummy.c   1998/02/12 02:18:39 1.4
  @@ -1,7 +1,7 @@
   /* this file is used by TestLib */
   int foo ( const char *c )
   {
  -return 0;
  +return *c;
   }
   int main(void) {
   const char *c = '\0';
  
  
  
  1.6   +6 -3  apache-1.3/src/main/fnmatch.c
  
  Index: fnmatch.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/fnmatch.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- fnmatch.c 1997/11/06 22:03:40 1.5
  +++ fnmatch.c 1998/02/12 02:18:40 1.6
  @@ -84,12 +84,15 @@
return (FNM_NOMATCH);
   
/* Optimize for pattern with * at end or before /. */
  - if (c == EOS)
  - if (flags  FNM_PATHNAME)
  + if (c == EOS) {
  + if (flags  FNM_PATHNAME) {
return (strchr(string, '/') == NULL ?
0 : FNM_NOMATCH);
  - else
  + }
  + else {
return (0);
  + }
  + }
else if (c == '/'  flags  FNM_PATHNAME) {
if ((string = strchr(string, '/')) == NULL)
return (FNM_NOMATCH);
  
  
  
  1.158 +12 -6 apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.157
  retrieving revision 1.158
  diff -u -r1.157 -r1.158
  --- http_core.c   1998/02/08 23:15:34 1.157
  +++ http_core.c   1998/02/12 02:18:41 1.158
  @@ -690,11 +690,14 @@
   const char *err = check_cmd_context(cmd, 
NOT_IN_DIR_LOC_FILE|NOT_IN_LIMIT);
   if (err != NULL) return err;
   
  -if (!is_directory (arg))
  - if (cmd-server-is_virtual)
  +if (!is_directory (arg)) {
  + if (cmd-server-is_virtual) {
fprintf (stderr, Warning: DocumentRoot [%s] does not exist\n, 
arg);
  - else
  + }
  + else {
return DocumentRoot must be a directory;
  + }
  +}
   
   conf-document_root = arg;
   return NULL;
  @@ -1551,11 +1554,14 @@
return;
   }
   
  -if ((str = getword_conf(cmd-pool, arg)))
  - if (!strcasecmp(str, max))
  +if ((str = getword_conf(cmd-pool, arg))) {
  + if (!strcasecmp(str, max)) {
cur = limit-rlim_max;
  - else
  + }
  + else {
cur = atol(str);
  + }
  +}
   else {
aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, cmd-server,
Invalid parameters for %s, cmd-cmd-name);
  
  
  
  1.68  +8 -4  apache-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.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- mod_autoindex.c   1998/02/12 01:09:44 1.67
  +++ mod_autoindex.c   1998/02/12 02:18:43 1.68
  @@ -635,12 +635,16 @@
if ((p = ind(titlebuf[++x], '')) != -1)
titlebuf[x + p] = '\0';
/* Scan for line breaks for Tanmoy's secretary */
  - for (y = x; titlebuf[y]; y++)
  - if ((titlebuf[y] == CR) || (titlebuf[y] == LF))
  - if (y == x)
  + for (y = x; titlebuf[y]; y

cvs commit: apache-1.3/src/regex Makefile.tmpl

1998-02-12 Thread dgaudet
dgaudet 98/02/12 02:15:30

  Modified:src  Configure Makefile.tmpl
   src/ap   Makefile.tmpl
   src/main Makefile.tmpl
   src/modules/example Makefile.tmpl
   src/modules/experimental Makefile.tmpl
   src/modules/extra Makefile.tmpl
   src/modules/proxy Makefile.tmpl
   src/modules/standard Makefile.tmpl
   src/modules/test Makefile.tmpl
   src/os/unix Makefile.tmpl
   src/regex Makefile.tmpl
  Log:
  Out of date dependencies are worse than no dependencies.  Without an
  automated rule we're unlikely to keep them up to date.  Resurrect the
  make depend which existed prior to the makefile rearrangement.  It's
  not perfect, like it lists os/unix/os.h... but that won't break anyone
  -- win32 developers don't use these dependencies.  Folks don't any
  of them to just compile the server once... and aren't hurt by listing
  a dependency that doesn't apply to their compilation environment.
  
  Revision  ChangesPath
  1.184 +1 -1  apache-1.3/src/Configure
  
  Index: Configure
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.183
  retrieving revision 1.184
  diff -u -r1.183 -r1.184
  --- Configure 1998/02/04 18:18:49 1.183
  +++ Configure 1998/02/12 10:15:15 1.184
  @@ -1090,7 +1090,7 @@
   
   default: all
   
  -all clean :: 
  +all clean depend :: 
for i in \$(MODULES); do (cd \$\$i  \$(MAKE) CC='\$(CC)' 
AUX_CFLAGS='\$(CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1; done
   
   EOF
  
  
  
  1.76  +8 -3  apache-1.3/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v
  retrieving revision 1.75
  retrieving revision 1.76
  diff -u -r1.75 -r1.76
  --- Makefile.tmpl 1998/02/04 13:32:26 1.75
  +++ Makefile.tmpl 1998/02/12 10:15:16 1.76
  @@ -62,12 +62,17 @@
 $(CC) -MM $(INCLUDES) $(CFLAGS) *.c  Makefile.new \
 mv Makefile.tmpl Makefile.tmpl.bak \
 mv Makefile.new Makefile.tmpl
  -
  + for i in $(SUBDIRS); do \
  + ( cd $$i  $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' 
RANLIB='$(RANLIB)' depend) || exit 1; \
  + done
   
   #Dependencies
   
   $(OBJS): Makefile
   
   # DO NOT REMOVE
  -modules.o: modules.c include/httpd.h include/conf.h include/alloc.h \
  - include/buff.h include/http_config.h
  +buildmark.o: buildmark.c
  +modules.o: modules.c include/httpd.h include/conf.h os/unix/os.h \
  + include/hsregex.h include/alloc.h include/buff.h include/ap.h \
  + include/http_config.h
  +tt.o: tt.c
  
  
  
  1.12  +27 -7 apache-1.3/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/ap/Makefile.tmpl,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Makefile.tmpl 1998/02/03 20:00:55 1.11
  +++ Makefile.tmpl 1998/02/12 10:15:18 1.12
  @@ -24,10 +24,30 @@
ar cr $@ $(OBJS)
$(RANLIB) $@
   
  -# dependencies
  -ap_signal.o: $(INCDIR)/httpd.h
  -ap_slack.o: $(INCDIR)/httpd.h $(INCDIR)/http_log.h
  -ap_snprintf.o: $(INCDIR)/conf.h
  -ap_strings.o: $(INCDIR)/httpd.h
  -ap_cpystrn.o: $(INCDIR)/httpd.h
  -ap_execve.o: $(INCDIR)/httpd.h $(INCDIR)/http_log.h
  +# We really don't expect end users to use this rule.  It works only with
  +# gcc, and rebuilds Makefile.tmpl.  You have to re-run Configure after
  +# using it.
  +depend:
  + sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl  Makefile.new \
  +  $(CC) -MM $(INCLUDES) $(CFLAGS) *.c  Makefile.new \
  +  mv Makefile.tmpl Makefile.tmpl.bak \
  +  mv Makefile.new Makefile.tmpl
  +
  +# DO NOT REMOVE
  +ap_cpystrn.o: ap_cpystrn.c ../include/httpd.h ../include/conf.h \
  + ../os/unix/os.h ../include/hsregex.h ../include/alloc.h \
  + ../include/buff.h ../include/ap.h
  +ap_execve.o: ap_execve.c ../include/httpd.h ../include/conf.h \
  + ../os/unix/os.h ../include/hsregex.h ../include/alloc.h \
  + ../include/buff.h ../include/ap.h ../include/http_log.h
  +ap_signal.o: ap_signal.c ../include/httpd.h ../include/conf.h \
  + ../os/unix/os.h ../include/hsregex.h ../include/alloc.h \
  + ../include/buff.h ../include/ap.h
  +ap_slack.o: ap_slack.c ../include/httpd.h ../include/conf.h \
  + ../os/unix/os.h ../include/hsregex.h ../include/alloc.h \
  + ../include/buff.h ../include/ap.h ../include/http_log.h
  +ap_snprintf.o: ap_snprintf.c ../include/conf.h ../os/unix/os.h \
  + ../include/hsregex.h
  +ap_strings.o: ap_strings.c ../include/httpd.h ../include/conf.h \
  + ../os/unix/os.h ../include/hsregex.h ../include/alloc.h \
  + ../include/buff.h ../include/ap.h
  
  
  
  1.10  +88 -55apache-1.3/src/main

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

1998-02-12 Thread dgaudet
dgaudet 98/02/12 13:13:19

  Modified:src/main buff.c
  Log:
  fix an unsigned char * / signed char * mistake.
  
  Revision  ChangesPath
  1.64  +1 -1  apache-1.3/src/main/buff.c
  
  Index: buff.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/buff.c,v
  retrieving revision 1.63
  retrieving revision 1.64
  diff -u -r1.63 -r1.64
  --- buff.c1998/02/07 10:34:43 1.63
  +++ buff.c1998/02/12 21:13:18 1.64
  @@ -428,7 +428,7 @@
   static void end_chunk(BUFF *fb)
   {
   int i;
  -char *strp;
  +unsigned char *strp;
   
   if (fb-outchunk == -1) {
/* not chunking */
  
  
  


cvs commit: apache-1.2/src CHANGES mod_rewrite.c

1998-02-14 Thread dgaudet
dgaudet 98/02/13 18:51:39

  Modified:src  CHANGES mod_rewrite.c
  Log:
  mod_rewrite's RewriteLog should behave like mod_log_config, it
  shouldn't force hostname lookups.
  
  PR:   1684
  
  Revision  ChangesPath
  1.293 +3 -0  apache-1.2/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v
  retrieving revision 1.292
  retrieving revision 1.293
  diff -u -r1.292 -r1.293
  --- CHANGES   1998/02/03 10:00:47 1.292
  +++ CHANGES   1998/02/14 02:51:36 1.293
  @@ -1,5 +1,8 @@
   Changes with Apache 1.2.6
   
  +  *) mod_rewrite's RewriteLog should behave like mod_log_config, it
  + shouldn't force hostname lookups.  [Dean Gaudet] PR#1684
  +
 *) mod_include when using XBitHack Full would send ETags in addition to
sending Last-Modifieds.  This is incorrect HTTP/1.1 behaviour.
[Dean Gaudet] PR#1133
  
  
  
  1.31  +1 -1  apache-1.2/src/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===
  RCS file: /export/home/cvs/apache-1.2/src/mod_rewrite.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- mod_rewrite.c 1998/02/01 02:47:41 1.30
  +++ mod_rewrite.c 1998/02/14 02:51:37 1.31
  @@ -2377,7 +2377,7 @@
   ruser = \\;
   }
   
  -rhost = get_remote_host(connect, r-server-module_config, REMOTE_NAME);
  +rhost = get_remote_host(connect, r-server-module_config, 
REMOTE_NOLOOKUP);
   if (rhost == NULL)
   rhost = UNKNOWN-HOST;
   
  
  
  


cvs commit: apache-1.3/src/os/win32 os.h

1998-02-14 Thread dgaudet
dgaudet 98/02/13 19:08:01

  Modified:src  CHANGES
   src/os/bs2000 os-inline.c os.h
   src/os/emx os-inline.c os.h
   src/os/unix os-inline.c os.h
   src/os/win32 os.h
  Log:
  It's hard to use os_is_path_absolute() unless it takes a const char *.
  
  Revision  ChangesPath
  1.628 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.627
  retrieving revision 1.628
  diff -u -r1.627 -r1.628
  --- CHANGES   1998/02/14 01:02:05 1.627
  +++ CHANGES   1998/02/14 03:07:53 1.628
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) os_is_path_absolute() now takes a const char * instead of a char *.
  + [Dean Gaudet]
  +
   Changes with Apache 1.3b5
   
 *) Preserve the content encoding given by the AddEncoding directive
  
  
  
  1.2   +1 -1  apache-1.3/src/os/bs2000/os-inline.c
  
  Index: os-inline.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/bs2000/os-inline.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- os-inline.c   1998/01/13 23:11:31 1.1
  +++ os-inline.c   1998/02/14 03:07:55 1.2
  @@ -24,7 +24,7 @@
   
   #endif
   
  -INLINE int os_is_path_absolute(char *file)
  +INLINE int os_is_path_absolute(const char *file)
   {
 return (file  file[0] == '/' ? 1 : 0);
   }
  
  
  
  1.4   +1 -1  apache-1.3/src/os/bs2000/os.h
  
  Index: os.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/bs2000/os.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- os.h  1998/01/31 23:52:49 1.3
  +++ os.h  1998/02/14 03:07:55 1.4
  @@ -20,7 +20,7 @@
   /* Compiler does not support inline, so prototype the inlineable functions
* as normal
*/
  -extern int os_is_path_absolute(char *f);
  +extern int os_is_path_absolute(const char *f);
   #endif
   
   /* Sorry if this is ugly, but the include order doesn't allow me
  
  
  
  1.2   +1 -1  apache-1.3/src/os/emx/os-inline.c
  
  Index: os-inline.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/emx/os-inline.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- os-inline.c   1997/11/05 12:48:22 1.1
  +++ os-inline.c   1998/02/14 03:07:56 1.2
  @@ -24,7 +24,7 @@
   
   #endif
   
  -INLINE int os_is_path_absolute(char *file)
  +INLINE int os_is_path_absolute(const char *file)
   {
 /* For now, just do the same check that http_request.c and mod_alias.c
  * do. 
  
  
  
  1.2   +1 -1  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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- os.h  1997/11/05 12:48:23 1.1
  +++ os.h  1998/02/14 03:07:57 1.2
  @@ -16,7 +16,7 @@
   /* Compiler does not support inline, so prototype the inlineable functions
* as normal
*/
  -extern int os_is_path_absolute(char *f);
  +extern int os_is_path_absolute(const char *f);
   #endif
   
   /* OS/2 doesn't have symlinks so S_ISLNK is always false */
  
  
  
  1.3   +1 -1  apache-1.3/src/os/unix/os-inline.c
  
  Index: os-inline.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/unix/os-inline.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- os-inline.c   1997/12/26 15:08:13 1.2
  +++ os-inline.c   1998/02/14 03:07:58 1.3
  @@ -24,7 +24,7 @@
   
   #endif
   
  -INLINE int os_is_path_absolute(char *file)
  +INLINE int os_is_path_absolute(const char *file)
   {
 return file[0] == '/';
   }
  
  
  
  1.5   +1 -1  apache-1.3/src/os/unix/os.h
  
  Index: os.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/unix/os.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- os.h  1997/10/07 05:53:42 1.4
  +++ os.h  1998/02/14 03:07:58 1.5
  @@ -16,5 +16,5 @@
   /* Compiler does not support inline, so prototype the inlineable functions
* as normal
*/
  -extern int os_is_path_absolute(char *f);
  +extern int os_is_path_absolute(const char *f);
   #endif
  
  
  
  1.12  +1 -1  apache-1.3/src/os/win32/os.h
  
  Index: os.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/win32/os.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- os.h

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

1998-02-14 Thread dgaudet
dgaudet 98/02/13 19:26:59

  Modified:src  CHANGES
   src/modules/standard mod_userdir.c
  Log:
  Fix security hole with UserDir /a/b without a * in the path... you
  could request /~../ and get /a.
  
  (djg: I also did a few touches of cleanup.)
  
  PR:   1701
  Submitted by: Lauri Jesmin [EMAIL PROTECTED]
  Reviewed by:  Marc Slemko, Dean Gaudet
  
  Revision  ChangesPath
  1.629 +5 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.628
  retrieving revision 1.629
  diff -u -r1.628 -r1.629
  --- CHANGES   1998/02/14 03:07:53 1.628
  +++ CHANGES   1998/02/14 03:26:56 1.629
  @@ -1,5 +1,10 @@
   Changes with Apache 1.3b6
   
  +  *) SECURITY: UserDir /abspath without a * in the path would allow
  + remote users to access /~.. and bypass access restrictions
  + (but note /~../.. was handled properly).
  + [Lauri Jesmin [EMAIL PROTECTED]] PR#1701
  +
 *) os_is_path_absolute() now takes a const char * instead of a char *.
[Dean Gaudet]
   
  
  
  
  1.28  +6 -10 apache-1.3/src/modules/standard/mod_userdir.c
  
  Index: mod_userdir.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_userdir.c,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- mod_userdir.c 1998/02/03 08:52:52 1.27
  +++ mod_userdir.c 1998/02/14 03:26:58 1.28
  @@ -226,9 +226,9 @@
   }
   
   /*
  - * If there's no username, it's not for us.
  + * If there's no username, it's not for us.  Ignore . and .. as well.
*/
  -if (!strcmp(w, )) {
  +if (w[0] == '\0' || (w[1] == '.'  (w[2] == '\0' || (w[2] == '.'  
w[3] == '\0' {
   return DECLINED;
   }
   /*
  @@ -259,12 +259,7 @@
   if (strchr(userdir, '*'))
   x = getword(r-pool, userdir, '*');
   
  -#if defined(__EMX__) || defined(WIN32)
  -/* Add support for OS/2 drive letters */
  -if ((userdir[0] == '/') || (userdir[1] == ':') || (userdir[0] == 
'\0')) {
  -#else
  -if ((userdir[0] == '/') || (userdir[0] == '\0')) {
  -#endif
  + if (userdir[0] == '\0' || os_is_path_absolute(userdir)) {
   if (x) {
   #ifdef WIN32
   /*
  @@ -273,10 +268,11 @@
* know of no protocols that are a single letter, if the : is
* the second character, I will assume a file was specified
*/
  -if (strchr(x + 2, ':')) {
  +if (strchr(x + 2, ':'))
   #else
  -if (strchr(x, ':')) {
  +if (strchr(x, ':'))
   #endif  /* WIN32 */
  + {
   redirect = pstrcat(r-pool, x, w, userdir, dname, NULL);
   table_setn(r-headers_out, Location, redirect);
   return REDIRECT;
  
  
  


cvs commit: apache-1.2/src CHANGES mod_userdir.c

1998-02-14 Thread dgaudet
dgaudet 98/02/13 19:39:20

  Modified:src  CHANGES mod_userdir.c
  Log:
  Deal with /~.. and lame UserDir /abspath.
  
  PR:   1701
  Submitted by: Lauri Jesmin [EMAIL PROTECTED]
  Reviewed by:  Dean Gaudet, Marc Slemko
  
  Revision  ChangesPath
  1.294 +5 -0  apache-1.2/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v
  retrieving revision 1.293
  retrieving revision 1.294
  diff -u -r1.293 -r1.294
  --- CHANGES   1998/02/14 02:51:36 1.293
  +++ CHANGES   1998/02/14 03:39:18 1.294
  @@ -1,5 +1,10 @@
   Changes with Apache 1.2.6
   
  +  *) SECURITY: UserDir /abspath without a * in the path would allow
  + remote users to access /~.. and bypass access restrictions
  + (but note /~../.. was handled properly).
  + [Lauri Jesmin [EMAIL PROTECTED]] PR#1701
  +
 *) mod_rewrite's RewriteLog should behave like mod_log_config, it
shouldn't force hostname lookups.  [Dean Gaudet] PR#1684
   
  
  
  
  1.16  +2 -1  apache-1.2/src/mod_userdir.c
  
  Index: mod_userdir.c
  ===
  RCS file: /export/home/cvs/apache-1.2/src/mod_userdir.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- mod_userdir.c 1998/01/30 09:14:10 1.15
  +++ mod_userdir.c 1998/02/14 03:39:18 1.16
  @@ -128,7 +128,8 @@
 dname = name + 2;
 w = getword(r-pool, dname, '/');
   
  -  if (!strcmp(w, ))
  +  /* disallow the empty username, . and .. */
  +  if (w[0] == '\0' || (w[1] == '.'  (w[2] == '\0' || (w[2] == '.'  
w[3] == '\0'
return DECLINED;
   
 /* The 'dname' funny business involves backing it up to capture
  
  
  


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

1998-02-14 Thread dgaudet
dgaudet 98/02/14 02:43:22

  Modified:src/include ap.h
   src/main http_main.c
  Log:
  move ap_killpg to ap.h
  
  Revision  ChangesPath
  1.7   +13 -0 apache-1.3/src/include/ap.h
  
  Index: ap.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/ap.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ap.h  1998/02/03 20:00:57 1.6
  +++ ap.h  1998/02/14 10:43:19 1.7
  @@ -64,4 +64,17 @@
   API_EXPORT(int) ap_vsnprintf(char *, size_t, const char *, va_list ap);
   int ap_execle(const char *, const char *, ...);
   int ap_execve(const char *, const char *argv[], const char *envp[]);
  +
  +/* small utility macros to make things easier to read */
  +
  +#ifdef WIN32
  +#define ap_killpg(x, y)
  +#else
  +#ifdef NO_KILLPG
  +#define ap_killpg(x, y)  (kill (-(x), (y)))
  +#else
  +#define ap_killpg(x, y)  (killpg ((x), (y)))
  +#endif
  +#endif /* WIN32 */
  +
   #endif   /* !APACHE_AP_H */
  
  
  
  1.287 +0 -12 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.286
  retrieving revision 1.287
  diff -u -r1.286 -r1.287
  --- http_main.c   1998/02/09 01:09:39 1.286
  +++ http_main.c   1998/02/14 10:43:20 1.287
  @@ -320,18 +320,6 @@
   
   scoreboard *scoreboard_image = NULL;
   
  -/* small utility macros to make things easier to read */
  -
  -#ifdef WIN32
  -#define ap_killpg(x, y)
  -#else
  -#ifdef NO_KILLPG
  -#define ap_killpg(x, y)  (kill (-(x), (y)))
  -#else
  -#define ap_killpg(x, y)  (killpg ((x), (y)))
  -#endif
  -#endif /* WIN32 */
  -
   #if defined(USE_FCNTL_SERIALIZED_ACCEPT) || 
defined(USE_FLOCK_SERIALIZED_ACCEPT)
   static void expand_lock_fname(pool *p)
   {
  
  
  


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

1998-02-14 Thread dgaudet
dgaudet 98/02/14 02:54:43

  Modified:src  CHANGES
   src/main http_main.c
  Log:
  The addition of child_init_modules() and child_exit_modules() has made child
  initialization a critical section.  We can't service a USR1, TERM, or HUP
  request during this period because all our data structures could be in
  some unknown state.  So block_alarms() the whole way through.
  
  Fix a segfault caused by terminating before allocating pchild.  This won't
  occur with the above fix in place, but seems a reasonable precaution should
  there be a need to call clean_child_exit() before pchild is allocated.
  
  Fix various cases where exit() was called rather than clean_child_exit().
  
  Revision  ChangesPath
  1.630 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.629
  retrieving revision 1.630
  diff -u -r1.629 -r1.630
  --- CHANGES   1998/02/14 03:26:56 1.629
  +++ CHANGES   1998/02/14 10:54:39 1.630
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) Cleaned up some race conditions in unix child_main during
  + initialization. [Dean Gaudet]
  +
 *) SECURITY: UserDir /abspath without a * in the path would allow
remote users to access /~.. and bypass access restrictions
(but note /~../.. was handled properly).
  
  
  
  1.288 +40 -22apache-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.287
  retrieving revision 1.288
  diff -u -r1.287 -r1.288
  --- http_main.c   1998/02/14 10:43:20 1.287
  +++ http_main.c   1998/02/14 10:54:41 1.288
  @@ -320,6 +320,18 @@
   
   scoreboard *scoreboard_image = NULL;
   
  +static APACHE_TLS int volatile exit_after_unblock = 0;
  +
  +/* a clean exit from a child with proper cleanup */
  +static void __attribute__((noreturn)) clean_child_exit(int code)
  +{
  +if (pchild) {
  + child_exit_modules(pchild, server_conf);
  + destroy_pool(pchild);
  +}
  +exit(code);
  +}
  +
   #if defined(USE_FCNTL_SERIALIZED_ACCEPT) || 
defined(USE_FLOCK_SERIALIZED_ACCEPT)
   static void expand_lock_fname(pool *p)
   {
  @@ -472,12 +484,12 @@
   
   if (sigprocmask(SIG_BLOCK, accept_block_mask, accept_previous_mask)) {
perror(sigprocmask(SIG_BLOCK));
  - exit (1);
  + clean_child_exit(1);
   }
   if ((err = pthread_mutex_lock(accept_mutex))) {
errno = err;
perror(pthread_mutex_lock);
  - exit(1);
  + clean_child_exit(1);
   }
   have_accept_mutex = 1;
   }
  @@ -489,7 +501,7 @@
   if ((err = pthread_mutex_unlock(accept_mutex))) {
errno = err;
perror(pthread_mutex_unlock);
  - exit(1);
  + clean_child_exit(1);
   }
   /* There is a slight race condition right here... if we were to die right
* now, we'd do another pthread_mutex_unlock.  Now, doing that would let
  @@ -507,7 +519,7 @@
   have_accept_mutex = 0;
   if (sigprocmask(SIG_SETMASK, accept_previous_mask, NULL)) {
perror(sigprocmask(SIG_SETMASK));
  - exit (1);
  + clean_child_exit(1);
   }
   }
   
  @@ -592,7 +604,7 @@
   {
   if (semop(sem_id, op_on, 1)  0) {
perror(accept_mutex_on);
  - exit(1);
  + clean_child_exit(1);
   }
   }
   
  @@ -600,7 +612,7 @@
   {
   if (semop(sem_id, op_off, 1)  0) {
perror(accept_mutex_off);
  - exit(1);
  + clean_child_exit(1);
   }
   }
   
  @@ -653,7 +665,7 @@
fcntl: F_SETLKW: Error getting accept lock, exiting!  
Perhaps you need to use the LockFile directive to place 
your lock file on a local disk!);
  - exit(1);
  + clean_child_exit(1);
   }
   }
   
  @@ -669,7 +681,7 @@
fcntl: F_SETLKW: Error freeing accept lock, exiting!  
Perhaps you need to use the LockFile directive to place 
your lock file on a local disk!);
  - exit(1);
  + clean_child_exit(1);
   }
   }
   
  @@ -693,7 +705,7 @@
   if (lock_fd == -1) {
aplog_error(APLOG_MARK, APLOG_EMERG, server_conf,
Child cannot open lock file: %s\n, lock_fname);
  - exit(1);
  + clean_child_exit(1);
   }
   }
   
  @@ -724,7 +736,7 @@
   if (ret  0) {
aplog_error(APLOG_MARK, APLOG_EMERG, server_conf,
flock: LOCK_EX: Error getting accept lock. Exiting!);
  - exit(1);
  + clean_child_exit(1);
   }
   }
   
  @@ -733,7 +745,7 @@
   if (flock(lock_fd, LOCK_UN)  0) {
aplog_error(APLOG_MARK, APLOG_EMERG, server_conf,
flock: LOCK_UN: Error freeing accept lock. Exiting!);
  - exit(1

cvs commit: apache-1.3/src/support apachectl

1998-02-14 Thread dgaudet
dgaudet 98/02/14 02:55:54

  Modified:src/support apachectl
  Log:
  I used this for the first time... and found it emits error messages (at least
  on linux) while doing apachectl start.
  
  Revision  ChangesPath
  1.5   +3 -3  apache-1.3/src/support/apachectl
  
  Index: apachectl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/support/apachectl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- apachectl 1998/01/07 16:47:10 1.4
  +++ apachectl 1998/02/14 10:55:53 1.5
  @@ -23,8 +23,8 @@
   # the path to your PID file
   PIDFILE=/usr/local/apache/logs/httpd.pid
   #
  -# the path to your httpd binary
  -HTTPD=/usr/local/apache/src/httpd
  +# the path to your httpd binary, including options if necessary
  +HTTPD='/usr/local/apache/src/httpd'
   #
   # a command that outputs a formatted text version of the HTML at the
   # url given on the command line.  Designed for lynx, however other
  @@ -49,7 +49,7 @@
   # check for pidfile
   if [ -f $PIDFILE ] ; then
PID=`cat $PIDFILE`
  - PS=`ps -p $PID | tail -1 | grep $PID`
  + PS=`ps -p $PID 2/dev/null | tail -1 | grep $PID`
if [ x$PS = x ]; then
STATUS=httpd (pid $PID?) not running
RUNNING=0
  
  
  


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

1998-02-14 Thread dgaudet
dgaudet 98/02/14 04:40:31

  Modified:src  CHANGES
   src/main http_main.c
  Log:
  note a few more PRs
  
  Revision  ChangesPath
  1.632 +2 -2  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.631
  retrieving revision 1.632
  diff -u -r1.631 -r1.632
  --- CHANGES   1998/02/14 12:17:26 1.631
  +++ CHANGES   1998/02/14 12:40:24 1.632
  @@ -5,7 +5,7 @@
or library bugs occasionally, and result in log spammage and
a generally bad scene.  Now the child exits immediately,
which seems to be a good workaround.
  - [Dean Gaudet] PR#1747, 1107, 588, 1787
  + [Dean Gaudet] PR#1747, 1107, 588, 1787, 987, 588
   
 *) Cleaned up some race conditions in unix child_main during
initialization. [Dean Gaudet]
  @@ -763,7 +763,7 @@
   
 *) Work around problem under Linux where a child will start looping
reporting a select error over and over.
  - [Rick Franchuk [EMAIL PROTECTED]] PR#1107
  + [Rick Franchuk [EMAIL PROTECTED]] PR#1107, 987, 588
   
 *) Fixed error in proxy_util.c when looping through multiple host IP
addresses. [Lars Eilebrecht] PR#974
  
  
  
  1.290 +2 -1  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.289
  retrieving revision 1.290
  diff -u -r1.289 -r1.290
  --- http_main.c   1998/02/14 12:17:28 1.289
  +++ http_main.c   1998/02/14 12:40:27 1.290
  @@ -3097,7 +3097,8 @@
 * and other boxes that implement tcp sockets in
 * userland (i.e. on top of STREAMS).  On these
 * systems, EPROTO can actually result in a fatal
  -  * loop.  But we don't deal with that.
  +  * loop.  See PR#981 for example.  It's hard to
  +  * handle both uses of EPROTO.
 */
   case EPROTO:
   #endif
  
  
  


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

1998-02-14 Thread dgaudet
dgaudet 98/02/14 05:06:26

  Modified:htdocs/manual/misc FAQ.html
  Log:
  I am tired tired tired of dealing with kill -9 and killall -whatever 
httpd bugs
  
  Revision  ChangesPath
  1.107 +63 -1 apache-1.3/htdocs/manual/misc/FAQ.html
  
  Index: FAQ.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/FAQ.html,v
  retrieving revision 1.106
  retrieving revision 1.107
  diff -u -r1.106 -r1.107
  --- FAQ.html  1998/02/11 15:14:33 1.106
  +++ FAQ.html  1998/02/14 13:06:25 1.107
  @@ -15,7 +15,7 @@
 !--#include virtual=header.html --
 H1 ALIGN=CENTERApache Server Frequently Asked Questions/H1
 P
  -  $Revision: 1.106 $ ($Date: 1998/02/11 15:14:33 $)
  +  $Revision: 1.107 $ ($Date: 1998/02/14 13:06:25 $)
 /P
 P
 The latest version of this FAQ is always available from the main
  @@ -258,6 +258,13 @@
  LIA HREF=#namevhostI upgraded to Apache 1.3b and now my
   virtual hosts don't work!/A
  /LI
  +   LIA HREF=#redhatI'm using RedHat Linux and I have problems with 
httpd
  +dying randomly or not restarting properly/A
  +   /LI
  +   lia href=#stoppingI upgraded from an Apache version earlier
  +than 1.2.0 and suddenly I have problems with Apache dying randomly
  +or not restarting properly/a
  +   /li
 /OL
/LI
   /UL
  @@ -2169,6 +2176,61 @@
 /P
 HR
/LI
  +
  + lia name=redhatstrongI'm using RedHat Linux and I have problems 
with httpd
  +dying randomly or not restarting properly/strong/a
  +
  +pRedHat Linux versions 4.x (and possibly earlier) rpms contain
  +various nasty scripts which do not stop or restart Apache properly.
  +These can affect you even if you're not running the RedHat supplied
  +rpms.
  +
  +p If you're using the default install then you're probably running
  +Apache 1.1.3, which is outdated.  From RedHat's ftp site you can
  +pick up a more recent RPM for Apache 1.2.x.  This will solve one of
  +the problems.
  +
  +p If you're using a custom built Apache rather than the RedHat rpms
  +then you should coderpm -e apache/code.  In particular you want
  +the mildly broken code/etc/logrotate.d/apache/code script to be
  +removed, and you want the broken code/etc/rc.d/init.d/httpd/code
  +(or codehttpd.init/code) script to be removed.  The latter is
  +actually fixed by the apache-1.2.5 rpms but if you're building your
  +own Apache then you probably don't want the RedHat files.
  +
  +pWe can't stress enough how important it is for folks, iespecially
  +vendors/i to follow the a href=../stopping.htmlstopping Apache
  +directions/a given in our documentation.  In RedHat's defense,
  +the broken scripts were necessary with Apache 1.1.x because the
  +Linux support in 1.1.x was very poor, and there were various race
  +conditions on all platforms.  None of this should be necessary with
  +Apache 1.2 and later.
  +/p
  +hr
  +  /li
  +
  +  lia name=stoppingstrongI upgraded from an Apache version earlier
  +than 1.2.0 and suddenly I have problems with Apache dying randomly
  +or not restarting properly/strong/a
  +
  +pYou should read a href=#redhatthe previous note/a about
  +problems with RedHat installations.  It is entirely likely that your
  +installation has start/stop/restart scripts which were built for
  +an earlier version of Apache.  Versions earlier than 1.2.0 had
  +various race conditions that made it necessary to use
  +codekill -9/code at times to take out all the httpd servers.
  +But that should not be necessary any longer.  You should follow
  +the a href=../stopping.htmldirections on how to stop
  +and restart Apache/a.
  +
  +pAs of Apache 1.3 there is a script
  +codesrc/support/apachectl/code which, after a bit of
  +customization, is suitable for starting, stopping, and restarting
  +your server.
  +/p
  +hr
  +
  +  /li
   
 !-- Don't forget to add HR tags at the end of each list item.. --
   
  
  
  


cvs commit: apache-1.3 STATUS

1998-02-14 Thread dgaudet
dgaudet 98/02/14 05:17:53

  Modified:.STATUS
  Log:
  yeah this too
  
  Revision  ChangesPath
  1.153 +11 -4 apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.152
  retrieving revision 1.153
  diff -u -r1.152 -r1.153
  --- STATUS1998/02/14 13:15:02 1.152
  +++ STATUS1998/02/14 13:17:53 1.153
  @@ -4,6 +4,7 @@
   
   2.0  : In pre-alpha development
see: http://www.arctic.org/~dgaudet/apache/2.0/process-model
  +1.3b6: in development
   1.3b5: Tagged APACHE_1_3b5
   1.3b4: Internal version... not tagged or released.
   1.3b3: Released and announced
  @@ -198,9 +199,6 @@
   
Help:
   
  -* numerous uses of strcpy and strcat have potential for buffer
  -  overflow, someone should rewrite or verify they're safe
  -
   * process/thread model
- need dynamic thread creation/destruction, similar to 
  Unix process model
  @@ -289,5 +287,14 @@
- mod_mime_magic.c (needs access to mod_mime API stage...)
   
   * do something to disable bogus warnings
  -
  +
  +WIN32 1.3 FINAL RELEASE SHOWSTOPPERS:
  +
   * SECURITY: PR#1203 still needs to be dealt with for WIN32
  +
  +* SECURITY: check if the magic con/aux/nul/etc names do anything
  + really bad
  +
  +* SECURITY: numerous uses of strcpy and strcat have potential
  + for buffer overflow, someone should rewrite or verify
  + they're safe
  
  
  


cvs commit: apache-1.2/src conf.h

1998-02-14 Thread dgaudet
dgaudet 98/02/14 05:37:23

  Modified:src  conf.h
  Log:
  PR: 1568
  
  Revision  ChangesPath
  1.101 +1 -1  apache-1.2/src/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache-1.2/src/conf.h,v
  retrieving revision 1.100
  retrieving revision 1.101
  diff -u -r1.100 -r1.101
  --- conf.h1998/01/30 09:13:49 1.100
  +++ conf.h1998/02/14 13:37:22 1.101
  @@ -52,7 +52,7 @@
   
   /*
* conf.h: system-dependant #defines and includes...
  - * See README for a listing of what they mean
  + * See PORTING for a listing of what they mean
*/
   
   #if !defined(QNX)  !defined(MPE)
  
  
  


cvs commit: apache-1.2/src CHANGES

1998-02-14 Thread dgaudet
dgaudet 98/02/14 05:42:46

  Modified:src  CHANGES
  Log:
  PR: 1639
  
  Revision  ChangesPath
  1.295 +2 -0  apache-1.2/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v
  retrieving revision 1.294
  retrieving revision 1.295
  diff -u -r1.294 -r1.295
  --- CHANGES   1998/02/14 03:39:18 1.294
  +++ CHANGES   1998/02/14 13:42:44 1.295
  @@ -1,5 +1,7 @@
   Changes with Apache 1.2.6
   
  +  *) PORT: Add -lm to LIBS for HPUX.  [Dean Gaudet] PR#1639
  +
 *) SECURITY: UserDir /abspath without a * in the path would allow
remote users to access /~.. and bypass access restrictions
(but note /~../.. was handled properly).
  
  
  


cvs commit: apache-1.3/htdocs/manual/mod core.html

1998-02-15 Thread dgaudet
dgaudet 98/02/14 16:18:16

  Modified:htdocs/manual/mod core.html
  Log:
  document piped errorlog
  
  Revision  ChangesPath
  1.100 +3 -0  apache-1.3/htdocs/manual/mod/core.html
  
  Index: core.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/core.html,v
  retrieving revision 1.99
  retrieving revision 1.100
  diff -u -r1.99 -r1.100
  --- core.html 1998/02/07 03:04:51 1.99
  +++ core.html 1998/02/15 00:18:14 1.100
  @@ -773,6 +773,9 @@
   The error log directive sets the name of the file to which the server will 
log
   any errors it encounters. If the filename does not begin with a slash (/)
   then it is assumed to be relative to the A 
HREF=#serverrootServerRoot/A.
  +If the filename begins with a pipe (|) then it is assumed to be a command to
  +spawn to handle the error log.
  +p
   Example:
   BLOCKQUOTECODEErrorLog /dev/null/CODE/BLOCKQUOTE
   This effectively turns off error logging.P
  
  
  


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

1998-02-17 Thread dgaudet
dgaudet 98/02/17 03:28:29

  Modified:src/main http_main.c
  Log:
  Oh foo.  I put unblock_alarms() after the setjmp(), so when a timeout
  occured the child would go to alarms_blocked = -1, and would have
  alarms blocked forever.
  
  Revision  ChangesPath
  1.291 +3 -3  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.290
  retrieving revision 1.291
  diff -u -r1.290 -r1.291
  --- http_main.c   1998/02/14 12:40:27 1.290
  +++ http_main.c   1998/02/17 11:28:28 1.291
  @@ -2959,6 +2959,9 @@
   
   child_init_modules(pchild, server_conf);
   
  +/* done with the initialization critical section */
  +unblock_alarms();
  +
   (void) update_child_status(my_child_num, SERVER_READY, (request_rec *) 
NULL);
   
   /*
  @@ -2981,9 +2984,6 @@
   DosSetSignalExceptionFocus(0, ulTimes);
   }
   #endif
  -
  -/* done with the initialization critical section */
  -unblock_alarms();
   
   while (1) {
BUFF *conn_io;
  
  
  


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

1998-02-18 Thread dgaudet
dgaudet 98/02/18 00:35:56

  Modified:src/include http_config.h
  Log:
  comment on the real meaning of cmd-path
  
  Revision  ChangesPath
  1.66  +6 -0  apache-1.3/src/include/http_config.h
  
  Index: http_config.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/http_config.h,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -u -r1.65 -r1.66
  --- http_config.h 1998/02/07 13:59:55 1.65
  +++ http_config.h 1998/02/18 08:35:55 1.66
  @@ -148,6 +148,12 @@
   server_rec *server;  /* Server_rec being configured for */
   char *path;  /* If configuring for a directory,
 * pathname of that directory.
  +  * NOPE!  That's what it meant previous to the
  +  * existance of Files, Location and regex
  +  * matching.  Now the only usefulness that can
  +  * be derived from this field is whether a 
command
  +  * is being called in a server context (path == 
NULL)
  +  * or being called in a dir context (path != 
NULL).
 */
   const command_rec *cmd;  /* configuration command */
   } cmd_parms;
  
  
  


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

1998-02-18 Thread dgaudet
dgaudet 98/02/18 00:39:22

  Modified:src/include httpd.h
  Log:
  another comment that was sitting in my mailbox
  
  Revision  ChangesPath
  1.187 +21 -0 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.186
  retrieving revision 1.187
  diff -u -r1.186 -r1.187
  --- httpd.h   1998/02/14 01:02:09 1.186
  +++ httpd.h   1998/02/18 08:39:21 1.187
  @@ -578,6 +578,27 @@
   
   char *method;/* GET, HEAD, POST, etc. */
   int method_number;   /* M_GET, M_POST, etc. */
  +
  +/*
  + allowed is a bitvector of the allowed methods.
  +
  + A handler must ensure that the request method is one that
  + it is capable of handling.  Generally modules should DECLINE
  + any request methods they do not handle.  Prior to aborting the
  + handler like this the handler should set r-allowed to the list
  + of methods that it is willing to handle.  This bitvector is used
  + to construct the Allow: header required for OPTIONS requests,
  + and METHOD_NOT_ALLOWED and NOT_IMPLEMENTED status codes.
  +
  + Since the default_handler deals with OPTIONS, all modules can
  + usually decline to deal with OPTIONS.  TRACE is always allowed,
  + modules don't need to set it explicitly.
  +
  + Since the default_handler will always handle a GET, a
  + module which does *not* implement GET should probably return
  + METHOD_NOT_ALLOWED.  Unfortunately this means that a Script GET
  + handler can't be installed by mod_actions.
  +*/
   int allowed; /* Allowed methods - for 405, OPTIONS, etc */
   
   int sent_bodyct; /* byte count in stream is for body */
  
  
  


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

1998-02-18 Thread dgaudet
dgaudet 98/02/18 02:01:18

  Modified:htdocs/manual upgrading_to_1_3.html
   htdocs/manual/mod core.html
   src  CHANGES
   src/include http_config.h
   src/main http_core.c http_request.c
  Log:
  Fix various parsing bugs with Dir/Loc/Files sections.  Improve the
  error messages generated.  Introduced cmd-end_token to make it easier
  to do nested sections with proper error reporting.  (Note that it can't
  be used for IfModule or Limit unfortunately.)
  
  PR#379: Files is not allowed within Location because it has no effect.
  
  PR#1817: Change Files to work with basenames only.  This fixes both
  the bug introduced by the wildcarding change (* doesn't match /) and
  bugs such as Files a*b not working.
  
  PR: 379, 1817
  
  Revision  ChangesPath
  1.13  +6 -0  apache-1.3/htdocs/manual/upgrading_to_1_3.html
  
  Index: upgrading_to_1_3.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/upgrading_to_1_3.html,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- upgrading_to_1_3.html 1998/02/05 20:04:16 1.12
  +++ upgrading_to_1_3.html 1998/02/18 10:00:57 1.13
  @@ -125,6 +125,12 @@
messages.  After that all errors are logged in the error_log.
This makes it more convenient to start Apache via rsh, ssh,
or crontabs.
  +   
  +  lilt;Filesgt; sections previously could take a full pathname, and
  + were matched against the full pathnames.  This had some
  + inconsistancies, and was removed.  To emulate this older behaviour
  + use a lt;Filesgt; section nested inside a lt;Directorygt;
  + section.
   
   /UL
   
  
  
  
  1.101 +10 -7 apache-1.3/htdocs/manual/mod/core.html
  
  Index: core.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/core.html,v
  retrieving revision 1.100
  retrieving revision 1.101
  diff -u -r1.100 -r1.101
  --- core.html 1998/02/15 00:18:14 1.100
  +++ core.html 1998/02/18 10:01:01 1.101
  @@ -811,12 +811,17 @@
   filename. It is comparable to the A
   HREF=#directorylt;Directorygt;/A directive and
   A HREF=#locationlt;Locationgt;/A directives. It
  -should be matched with a lt;/Filesgt; directive. Directives that
  -apply to the filename given should be listed
  -within. CODElt;Filesgt;/CODE sections are processed in the
  +should be matched with a lt;/Filesgt; directive.  The
  +directives given within this section will be applied to any
  +object with a basename (last component of filename) matching
  +the specified filename.
  +CODElt;Filesgt;/CODE sections are processed in the
   order they appear in the configuration file, after the
   lt;Directorygt; sections and CODE.htaccess/CODE files are
  -read, but before lt;Locationgt; sections./P
  +read, but before lt;Locationgt; sections.  Note that
  +lt;Filesgt; can be nested inside lt;Directorygt;
  +sections to restrict the portion of the filesystem they
  +apply to./P
   
   PThe EMfilename/EM argument should include a filename, or a
   wild-card string, where `?' matches any single character, and `*' matches any
  @@ -837,9 +842,7 @@
   HREF=#locationCODElt;Locationgt;/CODE/A sections,
   CODElt;Filesgt;/CODE sections can be used inside .htaccess
   files. This allows users to control access to their own files, at a
  -file-by-file level. When used in an .htaccess file, if the
  -EMfilename/EM does not begin with a CODE//CODE character,
  -the directory being applied will be prefixed automatically.
  +file-by-file level.
   
   P
   
  
  
  
  1.636 +14 -0 apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.635
  retrieving revision 1.636
  diff -u -r1.635 -r1.636
  --- CHANGES   1998/02/18 08:55:30 1.635
  +++ CHANGES   1998/02/18 10:01:05 1.636
  @@ -1,5 +1,19 @@
   Changes with Apache 1.3b6
   
  +  *) Previously Apache would permit /Files to end FilesMatch (and
  + similary for Location and Directory), now this is diagnosed as an
  + error.  Improve error messages for mismatched sections (Files,
  + FilesMatch, Directory, DirectoryMatch, ...).  [Dean Gaudet]
  +
  +  *) Files is not permitted within Location (because of the
  + semantic ordering).  [Dean Gaudet] PR#379
  +
  +  *) Files with wildcards was broken by the change in wildcard
  + semantics (* does not match /).  To fix this, Files now
  + apply only to the basename of the request filename.  This
  + fixes some other inconsistencies in Files semantics
  + (such as Files a*b not working).  [Dean Gaudet] PR#1817
  +
 *) Removed bogus dist.tar target from Makefile.tmpl and make sure
backup files are removed on clean

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

1998-02-18 Thread dgaudet
dgaudet 98/02/18 03:59:21

  Modified:src/main http_protocol.c
  Log:
  Fix absoluteURI problem introduced by the http_method() stuff... do a little
  cleanup.  This isn't everything needed to get absoluteURIs working properly,
  they're still at least as broken as they were a week or two ago.  I'm hoping
  Martin can get his uri parsing patch into the server, and when he does that
  I can finish the fixes for absoluteURIs.
  
  Revision  ChangesPath
  1.189 +21 -10apache-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.188
  retrieving revision 1.189
  diff -u -r1.188 -r1.189
  --- http_protocol.c   1998/02/09 01:09:40 1.188
  +++ http_protocol.c   1998/02/18 11:59:20 1.189
  @@ -625,8 +625,8 @@
   
   const char *check_fulluri(request_rec *r, const char *uri)
   {
  -char *name, *host, *proto;
  -int i, plen;
  +char *host, *proto, *slash, *colon;
  +int plen;
   unsigned port;
   
   /* This routine parses full URLs, if they match the server */
  @@ -635,18 +635,29 @@
   
   if (strncasecmp(uri, proto, plen) || strncasecmp(uri + plen, ://, 3))
   return uri;
  -name = pstrdup(r-pool, uri + plen);
  +host = pstrdup(r-pool, uri + plen + 3);
   
   /* Find the hostname, assuming a valid request */
  -i = ind(name, '/');
  -name[i] = '\0';
  +slash = strchr(host, '/');
  +if (slash) {
  +*slash = 0;
  +}
  +else {
  +slash = host + strlen(host);
  +}
   
   /* Find the port */
  -host = getword_nc(r-pool, name, ':');
  -if (*name)
  -port = atoi(name);
  -else
  +colon = strchr(host, ':');
  +if (colon) {
  +*colon = '\0';
  +port = atoi(colon+1);
  +if (port == 0) {
  +return uri;
  +}
  +}
  +else {
   port = default_port(r);
  +}
   
   /* Make sure ports patch */
   if (port != r-server-port)
  @@ -654,7 +665,7 @@
   
   /* Save it for later use */
   r-hostname = pstrdup(r-pool, host);
  -r-hostlen = plen + 3 + i;
  +r-hostlen = plen + 3 + slash - host;
   
   /* The easy cases first */
   if (!strcasecmp(host, r-server-server_hostname)) {
  
  
  


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

1998-02-18 Thread dgaudet
dgaudet 98/02/18 12:44:20

  Modified:src  CHANGES
   src/modules/standard mod_mime_magic.c
  Log:
  Report filename when read error occurs.
  
  PR:   1827
  Submitted by: M.D.Parker [EMAIL PROTECTED]
  Reviewed by:  Dean Gaudet
  
  Revision  ChangesPath
  1.637 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.636
  retrieving revision 1.637
  diff -u -r1.636 -r1.637
  --- CHANGES   1998/02/18 10:01:05 1.636
  +++ CHANGES   1998/02/18 20:44:16 1.637
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) mod_mime_magic error message should indicate the filename when
  + reads fail.  [M.D.Parker [EMAIL PROTECTED]] PR#1827
  +
 *) Previously Apache would permit /Files to end FilesMatch (and
similary for Location and Directory), now this is diagnosed as an
error.  Improve error messages for mismatched sections (Files,
  
  
  
  1.25  +2 -1  apache-1.3/src/modules/standard/mod_mime_magic.c
  
  Index: mod_mime_magic.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_mime_magic.c,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- mod_mime_magic.c  1998/01/25 03:52:18 1.24
  +++ mod_mime_magic.c  1998/02/18 20:44:19 1.25
  @@ -2191,7 +2191,8 @@
   *newch = (unsigned char *) palloc(r-pool, n);
   if ((n = read(fileno(fout), *newch, n)) = 0) {
destroy_pool(sub_pool);
  - aplog_error(APLOG_MARK, APLOG_ERR, r-server, MODNAME : read failed);
  + aplog_error(APLOG_MARK, APLOG_ERR, r-server,
  + MODNAME : read failed %s, r-filename);
return -1;
   }
   destroy_pool(sub_pool);
  
  
  


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

1998-02-18 Thread dgaudet
dgaudet 98/02/18 12:52:55

  Modified:src  CHANGES
   src/include conf.h
  Log:
  Linux 2.0.x RLIMIT_DATA doesn't do what's expected, RLIMIT_AS does.  Deal
  with it.
  
  PR:   1816
  Submitted by: Enrik Berkhan [EMAIL PROTECTED]
  Reviewed by:  Dean Gaudet
  
  Revision  ChangesPath
  1.638 +4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.637
  retrieving revision 1.638
  diff -u -r1.637 -r1.638
  --- CHANGES   1998/02/18 20:44:16 1.637
  +++ CHANGES   1998/02/18 20:52:51 1.638
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3b6
   
  +  *) Linux 2.0 and above implement RLIMIT_AS, RLIMIT_DATA has almost no
  + effect.  Work around it by using RLIMIT_AS for the RLimitMEM
  + directive.  [Enrik Berkhan [EMAIL PROTECTED]] PR#1816
  +
 *) mod_mime_magic error message should indicate the filename when
reads fail.  [M.D.Parker [EMAIL PROTECTED]] PR#1827
   
  
  
  
  1.181 +8 -0  apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.180
  retrieving revision 1.181
  diff -u -r1.180 -r1.181
  --- conf.h1998/02/14 13:37:03 1.180
  +++ conf.h1998/02/18 20:52:55 1.181
  @@ -371,6 +371,14 @@
   #if !defined(__GLIBC__) || __GLIBC__  2 || (__GLIBC__ == 2  
__GLIBC_MINOR__  1)
   typedef int rlim_t;
   #endif
  +
  +/* Linux 2.0 and above implement the new posix RLIMIT_AS rather than the
  + * older BSD semantics (some would actually call this a bug, like me -djg).
  + */
  +#ifndef RLIMIT_VMEM
  +#define RLIMIT_VMEM RLIMIT_AS
  +#endif
  +
   /* flock is faster ... but hasn't been tested on 1.x systems */
   #define USE_FLOCK_SERIALIZED_ACCEPT
   
  
  
  


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

1998-02-18 Thread dgaudet
dgaudet 98/02/18 13:07:26

  Modified:htdocs/manual/misc FAQ.html
  Log:
  tired tired tired of these stupid linux questions
  
  Revision  ChangesPath
  1.108 +35 -1 apache-1.3/htdocs/manual/misc/FAQ.html
  
  Index: FAQ.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/FAQ.html,v
  retrieving revision 1.107
  retrieving revision 1.108
  diff -u -r1.107 -r1.108
  --- FAQ.html  1998/02/14 13:06:25 1.107
  +++ FAQ.html  1998/02/18 21:07:25 1.108
  @@ -15,7 +15,7 @@
 !--#include virtual=header.html --
 H1 ALIGN=CENTERApache Server Frequently Asked Questions/H1
 P
  -  $Revision: 1.107 $ ($Date: 1998/02/14 13:06:25 $)
  +  $Revision: 1.108 $ ($Date: 1998/02/18 21:07:25 $)
 /P
 P
 The latest version of this FAQ is always available from the main
  @@ -265,6 +265,13 @@
   than 1.2.0 and suddenly I have problems with Apache dying randomly
   or not restarting properly/a
  /li
  +   lia href=#redhat-htmI'm using RedHat Linux and my .htm files are 
showing
  +up as html source rather than being formatted!/a
  +   /li
  +   lia href=#glibc-cryptI'm using RedHat Linux 5.0, or some other glibc
  + based Linux system, and I get errors with the codecrypt/code 
function when
  + I attempt to build Apache 1.2./a
  +/li
 /OL
/LI
   /UL
  @@ -2231,6 +2238,33 @@
   hr
   
 /li
  +
  +  lia name=redhat-htmstrongI'm using RedHat Linux and my .htm files 
are showing
  +up as html source rather than being formatted!/strong/a
  +
  +pRedHat messed up and forgot to put a content type for 
code.htm/code
  +files into code/etc/mime.types/code.  Edit 
code/etc/mime.types/code,
  +find the line containing codehtml/code and add codehtm/code to 
it.
  +Then restart your httpd server:
  +pre
  + kill -HUP `cat /var/run/httpd.pid`
  +/pre
  +Then bclear your browsers' caches/b.  (Many browsers won't re-examine
  +the content type after they've reloaded a page.)
  +/p
  +hr
  +
  +  lia name=glibc-cryptstrongI'm using RedHat Linux 5.0, or some 
other glibc
  +based Linux system, and I get errors with the codecrypt/code 
function when
  +I attempt to build Apache 1.2./strong/a
  +
  +pglibc puts the crypt function into a separate library.  Edit your
  +codesrc/Configuration/code file and set this:
  +pre
  + EXTRA_LIBS=-lcrypt
  +/pre
  +/p
  +hr
   
 !-- Don't forget to add HR tags at the end of each list item.. --
   
  
  
  


cvs commit: apache-1.2/htdocs/manual/misc FAQ.html

1998-02-18 Thread dgaudet
dgaudet 98/02/18 13:11:04

  Modified:htdocs/manual/misc FAQ.html
  Log:
  I know most of the rest of the 1.2 docs are out of date... but I want this
  in here.  If only because I think it would be humourous for RedHat to
  make a package with it including all the RedHat qa ;)
  
  Revision  ChangesPath
  1.65  +273 -57   apache-1.2/htdocs/manual/misc/FAQ.html
  
  Index: FAQ.html
  ===
  RCS file: /export/home/cvs/apache-1.2/htdocs/manual/misc/FAQ.html,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- FAQ.html  1998/01/30 09:13:06 1.64
  +++ FAQ.html  1998/02/18 21:11:03 1.65
  @@ -15,24 +15,22 @@
 !--#include virtual=header.html --
 H1 ALIGN=CENTERApache Server Frequently Asked Questions/H1
 P
  -  $Revision: 1.64 $ ($Date: 1998/01/30 09:13:06 $)
  +  $Revision: 1.65 $ ($Date: 1998/02/18 21:11:03 $)
 /P
 P
 The latest version of this FAQ is always available from the main
 Apache web site, at
 lt;A
  -   HREF=http://www.apache.org/docs/misc/FAQ;
  +   HREF=http://www.apache.org/docs/misc/FAQ.html;
  REL=Help
  -  SAMPhttp://www.apache.org/docs/misc/FAQ/SAMP/Agt;.
  +  SAMPhttp://www.apache.org/docs/misc/FAQ.html/SAMP/Agt;.
 /P
   !-- Notes about changes:   --
   !--  - If adding a relative link to another part of the--
   !--documentation, *do* include the .html portion.  There's a --
   !--good chance that the user will be reading the documentation --
   !--on his own system, which may not be configured for  --
  -!--multiviews.   Leave off the .html extension for absolute  --
  -!--links to sites which are known to run multiviews (e.g., --
  -!--apache.org or apacheweek.com).  --
  +!--multiviews. --
   !--  - When adding items, make sure they're put in the right place --
   !--- verify that the numbering matches up. --
   !--  - *Don't* use PRE/PRE blocks - they don't appear  --
  @@ -144,6 +142,9 @@
  LIA HREF=#errordoc401Why doesn't my CODEErrorDocument
   401/CODE work?/A
  /LI
  +   LIA HREF=#errordocssiHow can I use CODEErrorDocument/CODE
  +   and SSI to simplify customized error messages?/A
  +   /LI
  LIA HREF=#setgidWhy do I get quot;SAMPsetgid: Invalid
   argument/SAMPquot; at startup?/A
  /LI
  @@ -168,7 +169,7 @@
   reset by peer/SAMPquot; in my error log?/A
  /LI
  LIA HREF=#nph-scriptsHow can I get my script's output without
  -Apache buffering it?/A
  +Apache buffering it?  Why doesn't my server push work?/A
  /LI
  LIA HREF=#linuxiovecWhy do I get complaints about redefinition
   of quot;CODEstruct iovec/CODEquot; when compiling under Linux?/A
  @@ -252,6 +253,25 @@
  LIA HREF=#cgi-specWhere can I find the quot;CGI
   specificationquot;?/A
  /LI
  +   LIA HREF=#year2000Is Apache Year 2000 compliant?/A
  +   /LI
  +   LIA HREF=#namevhostI upgraded to Apache 1.3b and now my
  +virtual hosts don't work!/A
  +   /LI
  +   LIA HREF=#redhatI'm using RedHat Linux and I have problems with 
httpd
  +dying randomly or not restarting properly/A
  +   /LI
  +   lia href=#stoppingI upgraded from an Apache version earlier
  +than 1.2.0 and suddenly I have problems with Apache dying randomly
  +or not restarting properly/a
  +   /li
  +   lia href=#redhat-htmI'm using RedHat Linux and my .htm files are 
showing
  +up as html source rather than being formatted!/a
  +   /li
  +   lia href=#glibc-cryptI'm using RedHat Linux 5.0, or some other glibc
  + based Linux system, and I get errors with the codecrypt/code 
function when
  + I attempt to build Apache 1.2./a
  +/li
 /OL
/LI
   /UL
  @@ -322,7 +342,7 @@
 P
 For an independent assessment, see
 A
  -   HREF=http://webcompare.iworld.com/compare/chart.html;
  +   HREF=http://webcompare.internet.com/chart.html;
 Web Compare/A's
 comparison chart.
 /P
  @@ -352,7 +372,7 @@
 P
 The Apache project's web site includes a page with a partial list of
 A
  -   HREF=http://www.apache.org/info/apache_users;
  +   HREF=http://www.apache.org/info/apache_users.html;
 sites running Apache/A.
 /P
 HR
  @@ -384,7 +404,7 @@
 be swamped by a flood of trivial questions that can be resolved elsewhere.
 Bug reports and suggestions should be sent EMvia/EM
 A
  -   HREF=http://www.apache.org/bug_report;
  +   HREF=http://www.apache.org/bug_report.html;
 the bug report page/A.
 Other questions should be directed to the
 A
  @@ -415,7 +435,10 @@
  REL=Help
 CITEApache Week/CITE/A
 available.  Links to relevant CITEApache Week/CITE articles are
  -  included below where appropriate.
  +  included below where

cvs commit: apache-1.2 Announcement

1998-02-19 Thread dgaudet
dgaudet 98/02/18 20:10:09

  Added:   .Announcement
  Log:
  I just stole it from 1.3 and reworded a bit.  How's this sound?
  
  Revision  ChangesPath
  1.1  apache-1.2/Announcement
  
  Index: Announcement
  ===
  Apache 1.2.6 Released
  -
  
  The Apache Group is pleased to announce the release of the 1.2.6 version
  of Apache, the latest stable release of the Apache web server.
  
  Apache 1.2.6 is a bug fix release.  In particular, various HTTP/1.1 bugs
  were corrected, including a few that caused interoperability problems
  with clients such as Internet Explorer 4.  Some portability issues were
  cleared up, but others have been left for the 1.3 series.  We strongly
  urge folks to upgrade to Apache 1.2.6 so that their servers interoperate
  correctly with HTTP/1.1 clients that are appearing.
  
  Apache has been the most popular web server on the Internet since April
  of 1996. The February 1998 WWW server site survey by Netcraft (see:
  http://www.netcraft.co.uk/Survey/) found that more web servers were
  using Apache than any other software. Apache and its derivatives are run
  on over 50% of all web domains on the Internet.
  
  The Apache project has been organized in an attempt to answer some of
  the concerns regarding active development of a public domain HTTP server
  for UNIX. The goal of this project is to provide a secure, efficient and
  extensible server which provides HTTP services in sync with the current
  HTTP standards.
  
  For more information, please check out http://www.apache.org/
  
  
  


cvs commit: apache-1.2/src httpd.h

1998-02-19 Thread dgaudet
dgaudet 98/02/18 23:43:00

  Modified:src  httpd.h
  Log:
  roll the 1.2.6 release
  
  Revision  ChangesPath
  1.113 +2 -2  apache-1.2/src/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /export/home/cvs/apache-1.2/src/httpd.h,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- httpd.h   1998/01/30 09:13:59 1.112
  +++ httpd.h   1998/02/19 07:42:59 1.113
  @@ -274,7 +274,7 @@
* Example: Apache/1.1.0 MrWidget/0.1-alpha 
*/
   
  -#define SERVER_BASEVERSION Apache/1.2.6-dev /* SEE COMMENTS ABOVE */
  +#define SERVER_BASEVERSION Apache/1.2.6 /* SEE COMMENTS ABOVE */
   #ifdef SERVER_SUBVERSION
   #define SERVER_VERSION   SERVER_BASEVERSION   SERVER_SUBVERSION
   #else
  @@ -284,7 +284,7 @@
   /* Numeric release version identifier: major minor bugfix betaseq
* Always increases along the same track as the source branch.
*/
  -#define APACHE_RELEASE 1020501
  +#define APACHE_RELEASE 1020600
   
   #define SERVER_PROTOCOL HTTP/1.1
   #define SERVER_SUPPORT http://www.apache.org/;
  
  
  


cvs commit: apache-1.2/src httpd.h

1998-02-19 Thread dgaudet
dgaudet 98/02/18 23:50:35

  Modified:src  httpd.h
  Log:
  rolled
  
  Revision  ChangesPath
  1.114 +2 -2  apache-1.2/src/httpd.h
  
  Index: httpd.h
  ===
  RCS file: /export/home/cvs/apache-1.2/src/httpd.h,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -u -r1.113 -r1.114
  --- httpd.h   1998/02/19 07:42:59 1.113
  +++ httpd.h   1998/02/19 07:50:35 1.114
  @@ -274,7 +274,7 @@
* Example: Apache/1.1.0 MrWidget/0.1-alpha 
*/
   
  -#define SERVER_BASEVERSION Apache/1.2.6 /* SEE COMMENTS ABOVE */
  +#define SERVER_BASEVERSION Apache/1.2.7-dev /* SEE COMMENTS ABOVE */
   #ifdef SERVER_SUBVERSION
   #define SERVER_VERSION   SERVER_BASEVERSION   SERVER_SUBVERSION
   #else
  @@ -284,7 +284,7 @@
   /* Numeric release version identifier: major minor bugfix betaseq
* Always increases along the same track as the source branch.
*/
  -#define APACHE_RELEASE 1020600
  +#define APACHE_RELEASE 1020601
   
   #define SERVER_PROTOCOL HTTP/1.1
   #define SERVER_SUPPORT http://www.apache.org/;
  
  
  


cvs commit: apache-1.2 STATUS

1998-02-19 Thread dgaudet
dgaudet 98/02/18 23:53:40

  Modified:.STATUS
  Log:
  update for 1.2.7
  
  Revision  ChangesPath
  1.6   +2 -29 apache-1.2/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.2/STATUS,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- STATUS1998/02/13 16:14:37 1.5
  +++ STATUS1998/02/19 07:53:40 1.6
  @@ -1,6 +1,4 @@
  -The main goal for 1.2.6 is to fix egregious bugs, such as protocol bugs,
  -or DoS bugs.  Changes that have been tested in 1.3 already may be given
  -consideration.  Easy portability fixes may be given consideration.
  +The main goal for 1.2.7 is stability.
   
   Dean is pretty much accepted as the release manager for this branch.
   
  @@ -9,32 +7,7 @@
   o Commit-Then-Review (see http://dev.apache.org/guidelines.html#ctr
   o NO lazy voting
   
  -Committed since 1.2.5:
  -
  -* Martins portability change for ReliantUNIX/SINIX (_XPG_IV switch)
  -* Martin's [PATCH]-1.2.6: passing escaped CC='$(CC)'
  -* Martin's [PATCH]-1.2.6: avoid B_ERROR redeclaration
  -* Mark Bixby's MPE port patch
  -* more #define wrappers from FreeBSD port
  -* Dean's backport of the bputc()/chunking bugfix.
  -* Ralf's mod_rewrite bugfix for %3f
  -* backport of the netscape header padding fix
  -* general/1666: basic auth token should be tested case-insensitive
  -* protocol/1683: The Connection header may contain multiple close tokens
  -* proxy was sending HTTP/1.1 responses in error
  -* PR#1500: allocate r-connection-user in correct pool
  -* PR#1366: send_fd_length did not calculate total_bytes_sent properly
  -* PR#1604: table_{set,unset} didn't deal correctly with multiple keys
  -* PR#1599: Digest auth token should be tested case-insensitive
  -* PR#1650 (et alia): const in mod_imap causing pointer mismatches
  -* PR#1399: eat data after failed POST
  -* SIGURG isn't everywhere
  -* References to undefined 'cwd' cell fixed in suexec.c
  -* r-allowed tweaks
  -* case-sensitivity tweaks
  -* Ed's virtual hosts patch
  -* PR#1133: mod_include shouldn't send ETag when XBitHack Full is set.
  -* PR#1588: ReliantUNIX should be detected by GuessOS now.
  +Committed since 1.2.6:
   
   Available:
   
  
  
  


cvs commit: apache-1.3/htdocs/manual/vhosts details.html name-based.html

1998-02-20 Thread dgaudet
dgaudet 98/02/19 22:47:55

  Modified:htdocs/manual/vhosts details.html name-based.html
  Log:
  spell out the obviously not so obvious
  
  fix slight semantic error
  
  Revision  ChangesPath
  1.5   +4 -4  apache-1.3/htdocs/manual/vhosts/details.html
  
  Index: details.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/vhosts/details.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- details.html  1998/02/05 20:05:14 1.4
  +++ details.html  1998/02/20 06:47:53 1.5
  @@ -214,10 +214,10 @@
   order as the CODEVirtualHost/CODE directives appear in the config
   file.
   
  -PThe first vhost on this list (the first vhost that appears after the
  -corresponding CODENameVirtualHost/CODE directive in the config file)
  -has the highest priority and catches any request to an unknown 
  -server name or a request without a CODEHost:/CODE header.
  +PThe first vhost on this list (the first vhost in the config file with
  +the specified IP address) has the highest priority and catches any request
  +to an unknown server name or a request without a CODEHost:/CODE
  +header.
   
   PIf the client provided a CODEHost:/CODE header the list is
   searched for a matching vhost and the first hit on a CODEServerName/CODE
  
  
  
  1.5   +5 -0  apache-1.3/htdocs/manual/vhosts/name-based.html
  
  Index: name-based.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/vhosts/name-based.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- name-based.html   1998/02/05 20:05:17 1.4
  +++ name-based.html   1998/02/20 06:47:54 1.5
  @@ -64,6 +64,11 @@
   SAMPwww.domain.tld/SAMP is an alias (CNAME) pointing to the IP address
   SAMP111.22.33.44/SAMP/P
   
  +pNote: When you specify an IP address in a codeNameVirtualHost/code
  +directive then requests to that IP address will only ever be served
  +by matching lt;VirtualHostgt;s.  The main server will bnever/b
  +be served from the specified IP address.
  +
   PAdditionally, many servers may wish to be accessible by more than
   one name. For example, the example server might want to be accessible
   as CODEdomain.tld/CODE, or CODEwww2.domain.tld/CODE, assuming
  
  
  


cvs commit: apache-1.3/htdocs/manual/mod core.html

1998-02-20 Thread dgaudet
dgaudet 98/02/19 22:52:05

  Modified:htdocs/manual/mod core.html
  Log:
  more obviousness
  
  Revision  ChangesPath
  1.103 +8 -4  apache-1.3/htdocs/manual/mod/core.html
  
  Index: core.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/core.html,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -u -r1.102 -r1.103
  --- core.html 1998/02/18 20:39:57 1.102
  +++ core.html 1998/02/20 06:52:03 1.103
  @@ -1670,10 +1670,14 @@
   
   BLOCKQUOTECODENameVirtualHost 111.22.33.44/CODE/BLOCKQUOTE
   
  -With the NameVirtualHost directive the address to which your name-based
  -virtual host names resolve.
  -If you have multiple name-based hosts on multiple addresses,
  -repeat the directive for each address.P
  +With the NameVirtualHost directive you specify the address to which your
  +name-based virtual host names resolve.  If you have multiple name-based
  +hosts on multiple addresses, repeat the directive for each address.P
  +
  +Note: the main server and any _default_ servers will bnever/b
  +be served for a request to a NameVirtualHost IP Address (unless for some
  +reason you specify NameVirtualHost but then don't define any VirtualHosts
  +for that address).p
   
   Optionally you can specify a port number on which the name-based
   virtual hosts should be used, e.g.
  
  
  


cvs commit: apache-1.3/src CHANGES

1998-02-20 Thread dgaudet
dgaudet 98/02/19 23:02:44

  Modified:src  CHANGES
  Log:
  Fix FooMatch sections.  I bungled them before.
  
  Submitted by: Martin Kraemer
  
  Revision  ChangesPath
  1.640 +2 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.639
  retrieving revision 1.640
  diff -u -r1.639 -r1.640
  --- CHANGES   1998/02/18 22:41:50 1.639
  +++ CHANGES   1998/02/20 07:02:42 1.640
  @@ -15,7 +15,8 @@
 *) Previously Apache would permit /Files to end FilesMatch (and
similary for Location and Directory), now this is diagnosed as an
error.  Improve error messages for mismatched sections (Files,
  - FilesMatch, Directory, DirectoryMatch, ...).  [Dean Gaudet]
  + FilesMatch, Directory, DirectoryMatch, ...).
  + [Dean Gaudet, Martin Kraemer]
   
 *) Files is not permitted within Location (because of the
semantic ordering).  [Dean Gaudet] PR#379
  
  
  


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

1998-02-20 Thread dgaudet
dgaudet 98/02/19 23:15:47

  Modified:src/main http_core.c
  Log:
  Fix FooMatch sections.  I bungled them before.
  
  Submitted by:   Martin Kraemer
  
  Revision  ChangesPath
  1.160 +15 -12apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.159
  retrieving revision 1.160
  diff -u -r1.159 -r1.160
  --- http_core.c   1998/02/18 10:01:13 1.159
  +++ http_core.c   1998/02/20 07:15:46 1.160
  @@ -965,6 +965,7 @@
   void *new_dir_conf = create_per_dir_config (cmd-pool);
   regex_t *r = NULL;
   const char *old_end_token;
  +const command_rec *thiscmd = cmd-cmd;
   
   const char *err = check_cmd_context(cmd, 
NOT_IN_DIR_LOC_FILE|NOT_IN_LIMIT);
   if (err != NULL) return err;
  @@ -978,7 +979,7 @@
   #endif
   cmd-override = OR_ALL|ACCESS_CONF;
   
  -if (cmd-info) { /* DirectoryMatch */
  +if (thiscmd-cmd_data) { /* DirectoryMatch */
r = pregcomp(cmd-pool, cmd-path, REG_EXTENDED|USE_ICASE);
   }
   else if (!strcmp(cmd-path, ~)) {
  @@ -991,13 +992,13 @@
   }
   
   old_end_token = cmd-end_token;
  -cmd-end_token = cmd-info ? end_directorymatch_section : 
end_directory_section;
  +cmd-end_token = thiscmd-cmd_data ? end_directorymatch_section : 
end_directory_section;
   errmsg = srm_command_loop (cmd, new_dir_conf);
   if (errmsg == NULL) {
errmsg = missing_endsection(cmd, 1);
   }
   cmd-end_token = old_end_token;
  -if (errmsg != (cmd-info ? end_directorymatch_section : 
end_directory_section))
  +if (errmsg != (thiscmd-cmd_data ? end_directorymatch_section : 
end_directory_section))
return errmsg;
   
   conf = (core_dir_config *)get_module_config(new_dir_conf, core_module);
  @@ -1006,7 +1007,7 @@
   add_per_dir_conf (cmd-server, new_dir_conf);
   
   if (*arg != '\0')
  - return pstrcat (cmd-pool, Multiple , (cmd-info) ? DirectoryMatch 
: Directory,
  + return pstrcat (cmd-pool, Multiple , thiscmd-name,
 arguments not (yet) supported., NULL);
   
   cmd-path = old_path;
  @@ -1024,6 +1025,7 @@
   core_dir_config *conf;
   regex_t *r = NULL;
   const char *old_end_token;
  +const command_rec *thiscmd = cmd-cmd;
   
   void *new_url_conf = create_per_dir_config (cmd-pool);
   
  @@ -1035,7 +1037,7 @@
   cmd-path = getword_conf (cmd-pool, arg);
   cmd-override = OR_ALL|ACCESS_CONF;
   
  -if (cmd-info) { /* LocationMatch */
  +if (thiscmd-cmd_data) { /* LocationMatch */
r = pregcomp(cmd-pool, cmd-path, REG_EXTENDED);
   }
   else if (!strcmp(cmd-path, ~)) {
  @@ -1044,13 +1046,13 @@
   }
   
   old_end_token = cmd-end_token;
  -cmd-end_token = cmd-info ? end_locationmatch_section : 
end_location_section;
  +cmd-end_token = thiscmd-cmd_data ? end_locationmatch_section : 
end_location_section;
   errmsg = srm_command_loop (cmd, new_url_conf);
   if (errmsg == NULL) {
errmsg = missing_endsection(cmd, 1);
   }
   cmd-end_token = old_end_token;
  -if (errmsg != (cmd-info ? end_locationmatch_section : 
end_location_section))
  +if (errmsg != (thiscmd-cmd_data ? end_locationmatch_section : 
end_location_section))
return errmsg;
   
   conf = (core_dir_config *)get_module_config(new_url_conf, core_module);
  @@ -1061,7 +1063,7 @@
   add_per_url_conf (cmd-server, new_url_conf);
   
   if (*arg != '\0')
  - return pstrcat (cmd-pool, Multiple , (cmd-info) ? LocationMatch 
: Location,
  + return pstrcat (cmd-pool, Multiple , thiscmd-name,
 arguments not (yet) supported., NULL);
   
   cmd-path = old_path;
  @@ -1079,6 +1081,7 @@
   core_dir_config *conf;
   regex_t *r = NULL;
   const char *old_end_token;
  +const command_rec *thiscmd = cmd-cmd;
   
   void *new_file_conf = create_per_dir_config (cmd-pool);
   
  @@ -1092,7 +1095,7 @@
   if (!old_path)
cmd-override = OR_ALL|ACCESS_CONF;
   
  -if (cmd-info) { /* FilesMatch */
  +if (thiscmd-cmd_data) { /* FilesMatch */
   r = pregcomp(cmd-pool, cmd-path, REG_EXTENDED|USE_ICASE);
   }
   else if (!strcmp(cmd-path, ~)) {
  @@ -1105,13 +1108,13 @@
   }
   
   old_end_token = cmd-end_token;
  -cmd-end_token = cmd-info ? end_filesmatch_section : end_files_section;
  +cmd-end_token = thiscmd-cmd_data ? end_filesmatch_section : 
end_files_section;
   errmsg = srm_command_loop (cmd, new_file_conf);
   if (errmsg == NULL) {
errmsg = missing_endsection(cmd, 1);
   }
   cmd-end_token = old_end_token;
  -if (errmsg != (cmd-info ? end_filesmatch_section : end_files_section))
  +if (errmsg != (thiscmd-cmd_data ? end_filesmatch_section : 
end_files_section

cvs commit: apache-2.0/docs page_io

1998-02-20 Thread dgaudet
dgaudet 98/02/20 00:25:35

  Added:   docs page_io
  Log:
  expand on what I mean by page-based i/o
  
  Revision  ChangesPath
  1.1  apache-2.0/docs/page_io
  
  Index: page_io
  ===
  
  From [EMAIL PROTECTED] Fri Feb 20 00:36:52 1998
  Date: Fri, 20 Feb 1998 00:35:37 -0800 (PST)
  From: Dean Gaudet [EMAIL PROTECTED]
  To: new-httpd@apache.org
  Subject: page-based i/o
  X-Comment: Visit http://www.arctic.org/~dgaudet/legal for information 
regarding copyright and disclaimer.
  Reply-To: new-httpd@apache.org
  
  Ed asked me for more details on what I mean when I talk about paged based
  zero copy i/o. 
  
  While writing mod_mmap_static I was thinking about the primitives that the
  core requires of the filesystem.  What exactly is it that ties us into the
  filesystem?  and how would we abstract it?  The metadata (last modified
  time, file length) is actually pretty easy to abstract.  It's also easy to
  define an index function so that MultiViews and such can be implemented. 
  And with layered I/O we can hide the actual details of how you access
  these virtual files. 
  
  But therein lies an inefficiency.  If we had only bread() for reading
  virtual files, then we would enforce at least one copy of the data. 
  bread() supplies the place that the caller wants to see the data, and so
  the bread() code has to copy it.  But there's very little reason that
  bread() callers have to supply the buffer... bread() itself could supply
  the buffer.  Call this new interface page_read().  It looks something like
  this:
  
  typedef struct {
const void *data;
size_t data_len; /* amt of data on page which is valid */
... other stuff necessary for managing the page pool ...
  } a_page_head;
  
  /* returns NULL if an error or EOF occurs, on EOF errno will be
   * set to 0
   */
  a_page_head *page_read(BUFF *fb);
  
  /* queues entire page for writing, returns 0 on success, -1 on
   * error
   */
  int page_write(BUFF *fb, a_page_head *);
  
  It's very important that a_page_head structures point to the data page
  rather than be part of the data page.  This way we can build a_page_head
  structures which refer to parts of mmap()d memory.
  
  This stuff is a little more tricky to do, but is a big win for performance.
  With this integrated into our layered I/O it means that we can have
  zero-copy performance while still getting the advantages of layering.
  
  But note I'm glossing over a bunch of details... like the fact that we
  have to decide if a_page_heads are shared data, and hence need reference
  counting (i.e. I said queues for writing up there, which means some
  bit of the a_page_head data has to be kept until its actually written).
  Similarly for the page data.
  
  There are other tricks in this area that we can take advantage of --
  like interprocess communication on architectures that do page flipping.
  On these boxes if you write() something that's page-aligned and page-sized
  to a pipe or unix socket, and the other end read()s into a page-aligned
  page-sized buffer then the kernel can get away without copying any data.
  It just marks the two pages as shared copy-on-write, and only when
  they're written to will the copy be made.  So to make this work, your
  writer uses a ring of 2+ page-aligned/sized buffers so that it's not
  writing on something the reader is still reading.
  
  Dean
  
  
  
  


cvs commit: apache-1.3/src/ap ap_cpystrn.c

1998-02-20 Thread dgaudet
dgaudet 98/02/20 11:21:24

  Modified:src  CHANGES
   src/ap   ap_cpystrn.c
  Log:
  fix off-by-1 error in ap_cpystrn
  
  PR:   1847
  Submitted by: Charles Fu [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.643 +11 -8 apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.642
  retrieving revision 1.643
  diff -u -r1.642 -r1.643
  --- CHANGES   1998/02/20 10:51:30 1.642
  +++ CHANGES   1998/02/20 19:21:20 1.643
  @@ -1,15 +1,18 @@
   Changes with Apache 1.3b6
   
  -  *)  As Ken suggested the check_cmd_context() function and related defines
  -  are non-static now so modules can use 'em.  [Martin Kraemer]
  +  *) ap_cpystrn() had an off-by-1 error.
  + [Charles Fu [EMAIL PROTECTED]] PR#1847
   
  -  *)  mod_info would occasionally produce an unpaired tt in its
  -  output. Fixed. [Martin Kraemer]
  +  *) As Ken suggested the check_cmd_context() function and related defines
  + are non-static now so modules can use 'em.  [Martin Kraemer]
   
  -  *)  By default AIX binds a process (and it's children) to a single
  -  processor.  httpd children now unbind themselves from that cpu
  -  and re-bind to one selected at random via bindprocessor()
  -  [Doug MacEachern]
  +  *) mod_info would occasionally produce an unpaired tt in its
  + output. Fixed. [Martin Kraemer]
  +
  +  *) By default AIX binds a process (and it's children) to a single
  + processor.  httpd children now unbind themselves from that cpu
  + and re-bind to one selected at random via bindprocessor()
  + [Doug MacEachern]
 
 *) Linux 2.0 and above implement RLIMIT_AS, RLIMIT_DATA has almost no
effect.  Work around it by using RLIMIT_AS for the RLimitMEM
  
  
  
  1.4   +5 -2  apache-1.3/src/ap/ap_cpystrn.c
  
  Index: ap_cpystrn.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/ap/ap_cpystrn.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ap_cpystrn.c  1998/01/07 16:45:55 1.3
  +++ ap_cpystrn.c  1998/02/20 19:21:24 1.4
  @@ -77,8 +77,11 @@
   d = dst;
   end = dst + dst_size - 1;
   
  -while ((d  end)  (*d++ = *src++))
  -;/* nop, the while does it all */
  +for (; d  end; ++d, ++src) {
  + if (!(*d = *src)) {
  + return (d);
  + }
  +}
   
   *d = '\0';   /* always null terminate */
   
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/20 16:50:05

  Modified:src/modules/standard mod_userdir.c
  Log:
  Fix multiple UserDir problem introduced during 1.3b4-dev.
  
  Revision  ChangesPath
  1.29  +4 -1  apache-1.3/src/modules/standard/mod_userdir.c
  
  Index: mod_userdir.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_userdir.c,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- mod_userdir.c 1998/02/14 03:26:58 1.28
  +++ mod_userdir.c 1998/02/21 00:50:02 1.29
  @@ -313,7 +313,10 @@
*/
   if (filename  (!*userdirs || stat(filename, statbuf) != -1)) {
   r-filename = pstrcat(r-pool, filename, dname, NULL);
  - if (*userdirs)
  + /* when statbuf contains info on r-filename we can save a syscall
  +  * by copying it to r-finfo
  +  */
  + if (*userdirs  dname[0] == 0)
r-finfo = statbuf;
   return OK;
   }
  
  
  


cvs commit: apache-1.3/src CHANGES

1998-02-21 Thread dgaudet
dgaudet 98/02/20 16:50:42

  Modified:src  CHANGES
  Log:
  Fix multiple UserDir problem introduced during 1.3b4-dev.
  
  Revision  ChangesPath
  1.644 +2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.643
  retrieving revision 1.644
  diff -u -r1.643 -r1.644
  --- CHANGES   1998/02/20 19:21:20 1.643
  +++ CHANGES   1998/02/21 00:50:39 1.644
  @@ -1,5 +1,7 @@
   Changes with Apache 1.3b6
   
  +  *) Fix multiple UserDir problem introduced during 1.3b4-dev. [Dean Gaudet]
  +
 *) ap_cpystrn() had an off-by-1 error.
[Charles Fu [EMAIL PROTECTED]] PR#1847
   
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/20 17:18:29

  Modified:src  CHANGES
   src/main http_protocol.c
  Log:
  Fix http://host1; without trailing /.
  
  Revision  ChangesPath
  1.645 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.644
  retrieving revision 1.645
  diff -u -r1.644 -r1.645
  --- CHANGES   1998/02/21 00:50:39 1.644
  +++ CHANGES   1998/02/21 01:18:25 1.645
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) Fix problems with absoluteURIs.  [Dean Gaudet,
  + Alvaro Martinez Echevarria [EMAIL PROTECTED]]
  +
 *) Fix multiple UserDir problem introduced during 1.3b4-dev. [Dean Gaudet]
   
 *) ap_cpystrn() had an off-by-1 error.
  
  
  
  1.190 +10 -4 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.189
  retrieving revision 1.190
  diff -u -r1.189 -r1.190
  --- http_protocol.c   1998/02/18 11:59:20 1.189
  +++ http_protocol.c   1998/02/21 01:18:28 1.190
  @@ -628,6 +628,7 @@
   char *host, *proto, *slash, *colon;
   int plen;
   unsigned port;
  +const char *res_uri;
   
   /* This routine parses full URLs, if they match the server */
   proto = http_method(r);
  @@ -664,15 +665,20 @@
   return uri;
   
   /* Save it for later use */
  -r-hostname = pstrdup(r-pool, host);
  +r-hostname = host;
   r-hostlen = plen + 3 + slash - host;
  +res_uri = uri + r-hostlen;
  +/* deal with http://host; */
  +if (*res_uri == '\0') {
  + res_uri = /;
  +}
   
   /* The easy cases first */
   if (!strcasecmp(host, r-server-server_hostname)) {
  -return (uri + r-hostlen);
  +return res_uri;
   }
   else if (!strcmp(host, inet_ntoa(r-connection-local_addr.sin_addr))) {
  -return (uri + r-hostlen);
  +return res_uri;
   }
   else {
   /* Now things get a bit trickier - check the IP address(es) of
  @@ -685,7 +691,7 @@
   for (n = 0; hp-h_addr_list[n] != NULL; n++) {
   if (r-connection-local_addr.sin_addr.s_addr ==
   (((struct in_addr *) (hp-h_addr_list[n]))-s_addr)) {
  -return (uri + r-hostlen);
  +return res_uri;
   }
   }
   }
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/20 17:38:35

  Modified:src  CHANGES
   src/main http_main.c
  Log:
  Use SA_RESETHAND or SA_ONESHOT when installing the coredump handlers.
  In particular the handlers could trigger themselves into an infinite
  loop if RLimitMem was used with a small amount of memory -- too small
  for the signal stack frame to be set up.
  
  Revision  ChangesPath
  1.646 +6 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.645
  retrieving revision 1.646
  diff -u -r1.645 -r1.646
  --- CHANGES   1998/02/21 01:18:25 1.645
  +++ CHANGES   1998/02/21 01:38:29 1.646
  @@ -1,5 +1,10 @@
   Changes with Apache 1.3b6
   
  +  *) Use SA_RESETHAND or SA_ONESHOT when installing the coredump handlers.
  + In particular the handlers could trigger themselves into an infinite
  + loop if RLimitMem was used with a small amount of memory -- too small
  + for the signal stack frame to be set up.  [Dean Gaudet]
  +
 *) Fix problems with absoluteURIs.  [Dean Gaudet,
Alvaro Martinez Echevarria [EMAIL PROTECTED]]
   
  @@ -18,7 +23,7 @@
processor.  httpd children now unbind themselves from that cpu
and re-bind to one selected at random via bindprocessor()
[Doug MacEachern]
  -  
  +
 *) Linux 2.0 and above implement RLIMIT_AS, RLIMIT_DATA has almost no
effect.  Work around it by using RLIMIT_AS for the RLimitMEM
directive.  [Enrik Berkhan [EMAIL PROTECTED]] PR#1816
  
  
  
  1.293 +6 -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.292
  retrieving revision 1.293
  diff -u -r1.292 -r1.293
  --- http_main.c   1998/02/18 22:41:53 1.292
  +++ http_main.c   1998/02/21 01:38:32 1.293
  @@ -2228,6 +2228,11 @@
   
   if (!one_process) {
sa.sa_handler = sig_coredump;
  +#if defined(SA_ONESHOT)
  + sa.sa_flags = SA_ONESHOT;
  +#elif defined(SA_RESETHAND)
  + sa.sa_flags = SA_RESETHAND;
  +#endif
if (sigaction(SIGSEGV, sa, NULL)  0)
aplog_error(APLOG_MARK, APLOG_WARNING, server_conf, 
sigaction(SIGSEGV));
   #ifdef SIGBUS
  @@ -2242,6 +2247,7 @@
if (sigaction(SIGABRT, sa, NULL)  0)
aplog_error(APLOG_MARK, APLOG_WARNING, server_conf, 
sigaction(SIGABRT));
   #endif
  + sa.sa_flags = 0;
   }
   sa.sa_handler = sig_term;
   if (sigaction(SIGTERM, sa, NULL)  0)
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/20 17:42:41

  Modified:src/include conf.h http_core.h
   src/main http_core.c util_script.c
  Log:
  RLIMIT_AS is part of Single Unix... and presumably posix as well.  So it
  makes sense to support it everywhere rather than just on Linux.  So treat
  it like RLIMIT_VMEM and RLIMIT_DATA.
  
  Revision  ChangesPath
  1.182 +0 -7  apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.181
  retrieving revision 1.182
  diff -u -r1.181 -r1.182
  --- conf.h1998/02/18 20:52:55 1.181
  +++ conf.h1998/02/21 01:42:36 1.182
  @@ -372,13 +372,6 @@
   typedef int rlim_t;
   #endif
   
  -/* Linux 2.0 and above implement the new posix RLIMIT_AS rather than the
  - * older BSD semantics (some would actually call this a bug, like me -djg).
  - */
  -#ifndef RLIMIT_VMEM
  -#define RLIMIT_VMEM RLIMIT_AS
  -#endif
  -
   /* flock is faster ... but hasn't been tested on 1.x systems */
   #define USE_FLOCK_SERIALIZED_ACCEPT
   
  
  
  
  1.36  +1 -1  apache-1.3/src/include/http_core.h
  
  Index: http_core.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/http_core.h,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- http_core.h   1998/02/02 19:46:55 1.35
  +++ http_core.h   1998/02/21 01:42:36 1.36
  @@ -202,7 +202,7 @@
   #ifdef RLIMIT_CPU
   struct rlimit *limit_cpu;
   #endif
  -#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM)
  +#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
   struct rlimit *limit_mem;
   #endif
   #ifdef RLIMIT_NPROC
  
  
  
  1.162 +10 -8 apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.161
  retrieving revision 1.162
  diff -u -r1.161 -r1.162
  --- http_core.c   1998/02/20 10:51:34 1.161
  +++ http_core.c   1998/02/21 01:42:39 1.162
  @@ -127,7 +127,7 @@
   #ifdef RLIMIT_CPU
   conf-limit_cpu = NULL;
   #endif
  -#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM)
  +#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
   conf-limit_mem = NULL;
   #endif
   #ifdef RLIMIT_NPROC
  @@ -207,7 +207,7 @@
   #ifdef RLIMIT_CPU
   if (new-limit_cpu) conf-limit_cpu = new-limit_cpu;
   #endif
  -#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM)
  +#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
   if (new-limit_mem) conf-limit_mem = new-limit_mem;
   #endif
   #ifdef RLIMIT_NPROC
  @@ -1560,7 +1560,7 @@
   }
   
   
  -#if defined(RLIMIT_CPU) || defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || 
defined(RLIMIT_NPROC)
  +#if defined(RLIMIT_CPU) || defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || 
defined(RLIMIT_NPROC) || defined(RLIMIT_AS)
   static void set_rlimit(cmd_parms *cmd, struct rlimit **plimit, const char 
*arg,
  const char * arg2, int type)
   {
  @@ -1612,7 +1612,7 @@
   }
   #endif
   
  -#if !defined (RLIMIT_CPU) || !(defined (RLIMIT_DATA) || defined 
(RLIMIT_VMEM)) || !defined (RLIMIT_NPROC)
  +#if !defined (RLIMIT_CPU) || !(defined (RLIMIT_DATA) || defined 
(RLIMIT_VMEM) || defined(RLIMIT_AS)) || !defined (RLIMIT_NPROC)
   static const char *no_set_limit (cmd_parms *cmd, core_dir_config *conf,
 char *arg, char *arg2)
   {
  @@ -1630,12 +1630,14 @@
   }
   #endif
   
  -#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM)
  +#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined(RLIMIT_AS)
   const char *set_limit_mem (cmd_parms *cmd, core_dir_config *conf, char *arg, 
char * arg2)
   {
  -#ifdef RLIMIT_DATA
  +#if defined(RLIMIT_AS)
  +set_rlimit(cmd,conf-limit_mem,arg,arg2,RLIMIT_AS);
  +#elif defined(RLIMIT_DATA)
   set_rlimit(cmd,conf-limit_mem,arg,arg2,RLIMIT_DATA);
  -#else
  +#else defined(RLIMIT_VMEM)
   set_rlimit(cmd,conf-limit_mem,arg,arg2,RLIMIT_VMEM);
   #endif
   return NULL;
  @@ -1898,7 +1900,7 @@
   #endif
 OR_ALL, TAKE12, soft/hard limits for max CPU usage in seconds },
   { RLimitMEM,
  -#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM)
  +#if defined (RLIMIT_DATA) || defined (RLIMIT_VMEM) || defined (RLIMIT_AS)
set_limit_mem, (void*)XtOffsetOf(core_dir_config, limit_mem),
   #else
no_set_limit, NULL,
  
  
  
  1.95  +10 -6 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.94
  retrieving revision 1.95
  diff -u -r1.94 -r1.95
  --- util_script.c 1998/02/01 22:05:38 1.94
  +++ util_script.c

cvs commit: apache-1.3/src CHANGES

1998-02-21 Thread dgaudet
dgaudet 98/02/21 02:43:44

  Modified:src  CHANGES
  Log:
  mention pr#
  
  Revision  ChangesPath
  1.647 +2 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.646
  retrieving revision 1.647
  diff -u -r1.646 -r1.647
  --- CHANGES   1998/02/21 01:38:29 1.646
  +++ CHANGES   1998/02/21 10:43:42 1.647
  @@ -8,7 +8,8 @@
 *) Fix problems with absoluteURIs.  [Dean Gaudet,
Alvaro Martinez Echevarria [EMAIL PROTECTED]]
   
  -  *) Fix multiple UserDir problem introduced during 1.3b4-dev. [Dean Gaudet]
  +  *) Fix multiple UserDir problem introduced during 1.3b4-dev.
  + [Dean Gaudet] PR#1850
   
 *) ap_cpystrn() had an off-by-1 error.
[Charles Fu [EMAIL PROTECTED]] PR#1847
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/21 02:46:02

  Modified:htdocs/manual/misc known_bugs.html
  Log:
  document pr 1847 and 1850
  
  Revision  ChangesPath
  1.46  +13 -0 apache-1.3/htdocs/manual/misc/known_bugs.html
  
  Index: known_bugs.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/known_bugs.html,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- known_bugs.html   1998/02/15 18:28:27 1.45
  +++ known_bugs.html   1998/02/21 10:46:01 1.46
  @@ -34,6 +34,19 @@
   and A HREF=known_client_problems.htmlour list of known client 
problems./A/P
   HR
   
  +H2Apache 1.3b5 Bugs/H2
  +
  +ol
  +liCertain mod_rewrite configurations do not work correctly.  Apply
  +a 
href=http://www.apache.org/dist/patches/apply_to_1.3b5/PR1847.patch;this
  +patch/a to fix the problem.  See
  +a href=http://bugs.apache.org/index/full/1847;PR#1847/a for more 
details.
  +liUsing multiple arguments to UserDir does not work correctly.  Apply
  +a 
href=http://www.apache.org/dist/patches/apply_to_1.3b5/PR1850.patch;this
  +patch/a to fix the problem.  See
  +a href=http://bugs.apache.org/index/full/1850;PR#1850/a for more 
details.
  +/ol
  +
   H2Apache 1.3b3 Bugs/H2
   
   OL
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/21 03:05:19

  Modified:src/main util_script.c
   src/include util_script.h
  Log:
  long live const
  
  Revision  ChangesPath
  1.96  +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.95
  retrieving revision 1.96
  diff -u -r1.95 -r1.96
  --- util_script.c 1998/02/21 01:42:40 1.95
  +++ util_script.c 1998/02/21 11:05:17 1.96
  @@ -271,7 +271,7 @@
* and find as much of the two that match as possible.
*/
   
  -API_EXPORT(int) find_path_info(char *uri, char *path_info)
  +API_EXPORT(int) find_path_info(const char *uri, const char *path_info)
   {
   int lu = strlen(uri);
   int lp = strlen(path_info);
  
  
  
  1.28  +1 -1  apache-1.3/src/include/util_script.h
  
  Index: util_script.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/util_script.h,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- util_script.h 1998/01/21 19:17:45 1.27
  +++ util_script.h 1998/02/21 11:05:18 1.28
  @@ -63,7 +63,7 @@
   #endif
   
   API_EXPORT(char **) create_environment(pool *p, table *t);
  -API_EXPORT(int) find_path_info(char *uri, char *path_info);
  +API_EXPORT(int) find_path_info(const char *uri, const char *path_info);
   API_EXPORT(void) add_cgi_vars(request_rec *r);
   API_EXPORT(void) add_common_vars(request_rec *r);
   #define scan_script_header(a1,a2) scan_script_header_err(a1,a2,NULL)
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/21 03:08:31

  Modified:src/main http_config.c
  Log:
  The prototype of set_file_slot already includes API_EXPORT_NONSTD... fix
  the declaration.
  
  BTW, I think _NONSTD is only required for functions which have variable
  length parameter lists.  i.e. bputs and rputs... but *not* vbprintf since
  that has a fixed parameter list.
  
  Revision  ChangesPath
  1.97  +1 -1  apache-1.3/src/main/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_config.c,v
  retrieving revision 1.96
  retrieving revision 1.97
  diff -u -r1.96 -r1.97
  --- http_config.c 1998/02/06 18:19:56 1.96
  +++ http_config.c 1998/02/21 11:08:30 1.97
  @@ -920,7 +920,7 @@
   return NULL;
   }
   
  -const char *set_file_slot(cmd_parms *cmd, char *struct_ptr, char *arg)
  +API_EXPORT_NONSTD(const char *) set_file_slot(cmd_parms *cmd, char 
*struct_ptr, char *arg)
   {
   /* Prepend server_root to relative arg.
  This allows .htaccess to be independent of server_root,
  
  
  


cvs commit: apache-1.2/src CHANGES mod_include.c

1998-02-21 Thread dgaudet
dgaudet 98/02/21 03:44:11

  Modified:src  CHANGES mod_include.c
  Log:
  Work around a broken cpp.
  
  PR:   1717
  
  Revision  ChangesPath
  1.297 +5 -0  apache-1.2/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v
  retrieving revision 1.296
  retrieving revision 1.297
  diff -u -r1.296 -r1.297
  --- CHANGES   1998/02/17 01:45:57 1.296
  +++ CHANGES   1998/02/21 11:44:08 1.297
  @@ -1,3 +1,8 @@
  +Changes with Apache 1.2.7
  +
  +  *) Work around a broken C preprocessor in mod_include.
  + [Dean Gaudet] PR#1717
  +
   Changes with Apache 1.2.6
   
 *) Increase the robustness of the child_main loop.  When unexpected
  
  
  
  1.37  +3 -1  apache-1.2/src/mod_include.c
  
  Index: mod_include.c
  ===
  RCS file: /export/home/cvs/apache-1.2/src/mod_include.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- mod_include.c 1998/02/03 10:00:49 1.36
  +++ mod_include.c 1998/02/21 11:44:09 1.37
  @@ -1023,9 +1023,11 @@
   }
   else {
   int l, x;
  -#if defined(BSD)  BSD  199305
  +#if defined(BSD)
  +#if BSD  199305
   /* ap_snprintf can't handle %qd */
   sprintf(tag, %qd, finfo.st_size);
  +#endif
   #else
   ap_snprintf(tag, sizeof(tag), %ld, finfo.st_size);
   #endif
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/21 03:46:00

  Modified:src  CHANGES
   src/modules/standard mod_include.c
  Log:
  Work around a broken cpp.
  
  PR:   1717
  
  Revision  ChangesPath
  1.648 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.647
  retrieving revision 1.648
  diff -u -r1.647 -r1.648
  --- CHANGES   1998/02/21 10:43:42 1.647
  +++ CHANGES   1998/02/21 11:45:56 1.648
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) Work around a broken C preprocessor in mod_include.
  + [Dean Gaudet] PR#1717
  +
 *) Use SA_RESETHAND or SA_ONESHOT when installing the coredump handlers.
In particular the handlers could trigger themselves into an infinite
loop if RLimitMem was used with a small amount of memory -- too small
  
  
  
  1.72  +3 -1  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.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- mod_include.c 1998/02/03 09:30:48 1.71
  +++ mod_include.c 1998/02/21 11:45:59 1.72
  @@ -1049,9 +1049,11 @@
   }
   else {
   int l, x;
  -#if defined(BSD)  BSD  199305
  +#if defined(BSD)
  +#if BSD  199305
   /* ap_snprintf can't handle %qd */
   sprintf(tag, %qd, finfo.st_size);
  +#endif
   #else
   ap_snprintf(tag, sizeof(tag), %ld, finfo.st_size);
   #endif
  
  
  


cvs commit: apache-1.2/src CHANGES mod_include.c

1998-02-21 Thread dgaudet
dgaudet 98/02/21 04:25:43

  Modified:src  CHANGES mod_include.c
  Log:
  boy that was a dumb patch, back it out
  
  Revision  ChangesPath
  1.298 +0 -5  apache-1.2/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v
  retrieving revision 1.297
  retrieving revision 1.298
  diff -u -r1.297 -r1.298
  --- CHANGES   1998/02/21 11:44:08 1.297
  +++ CHANGES   1998/02/21 12:25:40 1.298
  @@ -1,8 +1,3 @@
  -Changes with Apache 1.2.7
  -
  -  *) Work around a broken C preprocessor in mod_include.
  - [Dean Gaudet] PR#1717
  -
   Changes with Apache 1.2.6
   
 *) Increase the robustness of the child_main loop.  When unexpected
  
  
  
  1.38  +1 -3  apache-1.2/src/mod_include.c
  
  Index: mod_include.c
  ===
  RCS file: /export/home/cvs/apache-1.2/src/mod_include.c,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- mod_include.c 1998/02/21 11:44:09 1.37
  +++ mod_include.c 1998/02/21 12:25:41 1.38
  @@ -1023,11 +1023,9 @@
   }
   else {
   int l, x;
  -#if defined(BSD)
  -#if BSD  199305
  +#if defined(BSD)  BSD  199305
   /* ap_snprintf can't handle %qd */
   sprintf(tag, %qd, finfo.st_size);
  -#endif
   #else
   ap_snprintf(tag, sizeof(tag), %ld, finfo.st_size);
   #endif
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/21 04:26:23

  Modified:src  CHANGES
   src/modules/standard mod_include.c
  Log:
  boy that was a dumb patch, back it out
  
  Revision  ChangesPath
  1.649 +0 -3  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.648
  retrieving revision 1.649
  diff -u -r1.648 -r1.649
  --- CHANGES   1998/02/21 11:45:56 1.648
  +++ CHANGES   1998/02/21 12:26:20 1.649
  @@ -1,8 +1,5 @@
   Changes with Apache 1.3b6
   
  -  *) Work around a broken C preprocessor in mod_include.
  - [Dean Gaudet] PR#1717
  -
 *) Use SA_RESETHAND or SA_ONESHOT when installing the coredump handlers.
In particular the handlers could trigger themselves into an infinite
loop if RLimitMem was used with a small amount of memory -- too small
  
  
  
  1.73  +1 -3  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.72
  retrieving revision 1.73
  diff -u -r1.72 -r1.73
  --- mod_include.c 1998/02/21 11:45:59 1.72
  +++ mod_include.c 1998/02/21 12:26:22 1.73
  @@ -1049,11 +1049,9 @@
   }
   else {
   int l, x;
  -#if defined(BSD)
  -#if BSD  199305
  +#if defined(BSD)  BSD  199305
   /* ap_snprintf can't handle %qd */
   sprintf(tag, %qd, finfo.st_size);
  -#endif
   #else
   ap_snprintf(tag, sizeof(tag), %ld, finfo.st_size);
   #endif
  
  
  


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

1998-02-21 Thread dgaudet
dgaudet 98/02/21 12:32:08

  Modified:src/main http_core.c
  Log:
  fix typo
  
  Revision  ChangesPath
  1.163 +1 -1  apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.162
  retrieving revision 1.163
  diff -u -r1.162 -r1.163
  --- http_core.c   1998/02/21 01:42:39 1.162
  +++ http_core.c   1998/02/21 20:32:06 1.163
  @@ -1637,7 +1637,7 @@
   set_rlimit(cmd,conf-limit_mem,arg,arg2,RLIMIT_AS);
   #elif defined(RLIMIT_DATA)
   set_rlimit(cmd,conf-limit_mem,arg,arg2,RLIMIT_DATA);
  -#else defined(RLIMIT_VMEM)
  +#elif defined(RLIMIT_VMEM)
   set_rlimit(cmd,conf-limit_mem,arg,arg2,RLIMIT_VMEM);
   #endif
   return NULL;
  
  
  


cvs commit: apache-1.3/src/main Makefile.tmpl

1998-02-23 Thread dgaudet
dgaudet 98/02/22 16:04:44

  Modified:src/main Makefile.tmpl
  Log:
  no explain.c
  
  Revision  ChangesPath
  1.12  +1 -4  apache-1.3/src/main/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/Makefile.tmpl,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Makefile.tmpl 1998/02/22 04:37:10 1.11
  +++ Makefile.tmpl 1998/02/23 00:04:43 1.12
  @@ -11,7 +11,7 @@
   
   OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \
 http_log.o http_protocol.o rfc1413.o util.o util_script.o buff.o \
  -  md5c.o util_md5.o explain.o http_bprintf.o util_date.o \
  +  md5c.o util_md5.o http_bprintf.o util_date.o \
 fnmatch.o http_vhost.o
   
   .c.o:
  @@ -55,9 +55,6 @@
   buff.o: buff.c $(INCDIR)/httpd.h $(INCDIR)/conf.h ../os/unix/os.h \
$(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \
$(INCDIR)/ap.h $(INCDIR)/http_main.h $(INCDIR)/http_log.h
  -explain.o: explain.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
  - ../os/unix/os.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  - $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/explain.h
   fnmatch.o: fnmatch.c $(INCDIR)/fnmatch.h
   http_bprintf.o: http_bprintf.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
../os/unix/os.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  
  
  


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

1998-02-23 Thread dgaudet
dgaudet 98/02/22 16:05:41

  Modified:src/include conf.h
   src/main buff.c http_core.c
   src/modules/experimental mod_mmap_static.c
   src/modules/standard mod_unique_id.c
  Log:
  We have NO_UNISTD_H, but we don't use it in conf.h ... surely this is a
  mistake.  Clean up unistd.h usage elsewhere as well.
  
  Revision  ChangesPath
  1.184 +1 -1  apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.183
  retrieving revision 1.184
  diff -u -r1.183 -r1.184
  --- conf.h1998/02/22 21:14:54 1.183
  +++ conf.h1998/02/23 00:05:36 1.184
  @@ -909,7 +909,7 @@
   #define LOGNAME_MAX 25
   #endif
   
  -#if !defined(NEXT)  !defined(WIN32)
  +#ifndef NO_UNISTD_H
   #include unistd.h
   #endif
   
  
  
  
  1.65  +0 -3  apache-1.3/src/main/buff.c
  
  Index: buff.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/buff.c,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- buff.c1998/02/12 21:13:18 1.64
  +++ buff.c1998/02/23 00:05:37 1.65
  @@ -59,9 +59,6 @@
   #include stdio.h
   #include stdarg.h
   #include string.h
  -#ifndef NO_UNISTD_H
  -#include unistd.h
  -#endif
   #ifndef NO_WRITEV
   #include sys/types.h
   #include sys/uio.h
  
  
  
  1.164 +0 -1  apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.163
  retrieving revision 1.164
  diff -u -r1.163 -r1.164
  --- http_core.c   1998/02/21 20:32:06 1.163
  +++ http_core.c   1998/02/23 00:05:38 1.164
  @@ -67,7 +67,6 @@
   #include fnmatch.h
   
   #ifdef USE_MMAP_FILES
  -#include unistd.h
   #include sys/mman.h
   
   /* mmap support for static files based on ideas from John Heidemann's
  
  
  
  1.2   +0 -1  apache-1.3/src/modules/experimental/mod_mmap_static.c
  
  Index: mod_mmap_static.c
  ===
  RCS file: 
/export/home/cvs/apache-1.3/src/modules/experimental/mod_mmap_static.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_mmap_static.c 1998/02/10 11:00:58 1.1
  +++ mod_mmap_static.c 1998/02/23 00:05:40 1.2
  @@ -107,7 +107,6 @@
   #include fcntl.h
   #include errno.h
   #include string.h
  -#include unistd.h
   #include sys/mman.h
   
   #include httpd.h
  
  
  
  1.13  +0 -1  apache-1.3/src/modules/standard/mod_unique_id.c
  
  Index: mod_unique_id.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_unique_id.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- mod_unique_id.c   1998/02/05 07:52:34 1.12
  +++ mod_unique_id.c   1998/02/23 00:05:41 1.13
  @@ -61,7 +61,6 @@
   #include http_config.h
   #include http_log.h
   #include multithread.h
  -#include unistd.h
   
   #ifdef MULTITHREAD
   #error sorry this module does not support multithreaded servers yet
  
  
  


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

1998-02-23 Thread dgaudet
dgaudet 98/02/22 23:58:46

  Modified:src  CHANGES
   src/main util_script.c
  Log:
  hide Proxy-Authorization just like Authorization is hidden
  
  Submitted by: Alvaro Martinez Echevarria [EMAIL PROTECTED]
  Reviewed by:  Martin Kraemer, Ian Kluft, Dean Gaudet
  
  Revision  ChangesPath
  1.657 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.656
  retrieving revision 1.657
  diff -u -r1.656 -r1.657
  --- CHANGES   1998/02/22 20:52:22 1.656
  +++ CHANGES   1998/02/23 07:58:42 1.657
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) Hide Proxy-Authorization from CGI/SSI/etc just like Authorization is
  + hidden. [Alvaro Martinez Echevarria]
  +
 *) Apache will, when started with the -X (single process) debugging flag,
honor the SIGINT or SIGQUIT signals again now. This capability got lost
a while ago during OS/2 signal handling changes.
  
  
  
  1.97  +2 -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.96
  retrieving revision 1.97
  diff -u -r1.96 -r1.97
  --- util_script.c 1998/02/21 11:05:17 1.96
  +++ util_script.c 1998/02/23 07:58:45 1.97
  @@ -214,7 +214,8 @@
 * in the environment with ps -e.  But, if you must...
 */
   #ifndef SECURITY_HOLE_PASS_AUTHORIZATION
  - else if (!strcasecmp(hdrs[i].key, Authorization))
  + else if (!strcasecmp(hdrs[i].key, Authorization) ||
  + !strcasecmp(hdrs[i].key, Proxy-Authorization))
continue;
   #endif
else
  
  
  


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

1998-02-23 Thread dgaudet
dgaudet 98/02/23 02:53:35

  Modified:src  CHANGES
   src/modules/standard mod_setenvif.c
  Log:
  BrowserMatch didn't handle spaces in the regex properly.  I redid Ronald's
  patch because it would have required proper quoting to work right.
  
  While I was in there I removed the need for the cmd-info cast, and cleaned
  up a few other things.
  
  PR:   1825
  Submitted by: Ronald Tschalaer [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.661 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.660
  retrieving revision 1.661
  diff -u -r1.660 -r1.661
  --- CHANGES   1998/02/23 08:34:56 1.660
  +++ CHANGES   1998/02/23 10:53:27 1.661
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) The mod_setenvif BrowserMatch backwards compatibility command did not
  + work properly with spaces in the regex.  [Ronald Tschalaer] PR#1825
  +
 *) Add new RewriteMap types: First, `rnd' which is equivalent to the `txt'
type but with a special post-processing for the looked-up value: It
parses it into alternatives according to `|' chars and then only one
  
  
  
  1.16  +35 -35apache-1.3/src/modules/standard/mod_setenvif.c
  
  Index: mod_setenvif.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_setenvif.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- mod_setenvif.c1998/01/31 15:34:50 1.15
  +++ mod_setenvif.c1998/02/23 10:53:31 1.16
  @@ -146,35 +146,27 @@
   return a;
   }
   
  -static const char *add_setenvif(cmd_parms *cmd, void *mconfig, const char 
*args)
  +/* any non-NULL magic constant will do... used to indicate if REG_ICASE 
should be
  + * used */
  +#define ICASE_MAGIC  ((void *)(setenvif_module))
  +
  +static const char *add_setenvif_core(cmd_parms *cmd, void *mconfig,
  +char *fname, const char *args)
   {
  -char *fname;
   char *regex;
   const char *feature;
  -const char *cmdline = args;
   sei_cfg_rec *sconf = get_module_config(cmd-server-module_config,
  setenvif_module);
   sei_entry *new, *entries = (sei_entry *) sconf-conditionals-elts;
   char *var;
   int i;
  -int cflags = (int) (long) cmd-info;
  -char *error;
   int beenhere = 0;
   
  -/*
  - * Pull in the invariant pieces from the command line.
  - */
  -fname = getword_conf(cmd-pool, cmdline);
  -if (!*fname) {
  -error = pstrcat(cmd-pool, Missing header-field name for ,
  -cmd-cmd-name, NULL);
  -return error;
  -}
  -regex = getword_conf(cmd-pool, cmdline);
  +/* get regex */
  +regex = getword_conf(cmd-pool, args);
   if (!*regex) {
  -error = pstrcat(cmd-pool, Missing regular expression for ,
  +return pstrcat(cmd-pool, Missing regular expression for ,
   cmd-cmd-name, NULL);
  -return error;
   }
   
   /*
  @@ -195,17 +187,17 @@
   new-name = fname;
   new-regex = regex;
   new-preg = pregcomp(cmd-pool, regex,
  - (REG_EXTENDED | REG_NOSUB | cflags));
  + (REG_EXTENDED | REG_NOSUB
  +  | (cmd-info == ICASE_MAGIC ? REG_ICASE : 0)));
   if (new-preg == NULL) {
  -error = pstrcat(cmd-pool, cmd-cmd-name,
  +return pstrcat(cmd-pool, cmd-cmd-name,
regex could not be compiled., NULL);
  -return error;
   }
   new-features = make_table(cmd-pool, 5);
   
   gotit:
   for( ; ; ) {
  - feature = getword_conf(cmd-pool, cmdline);
  + feature = getword_conf(cmd-pool, args);
if(!*feature)
break;
   beenhere++;
  @@ -223,38 +215,46 @@
   }
   
   if (!beenhere) {
  -error = pstrcat(cmd-pool, Missing envariable expression for ,
  +return pstrcat(cmd-pool, Missing envariable expression for ,
   cmd-cmd-name, NULL);
  -return error;
   }
   
   return NULL;
   }
   
  +static const char *add_setenvif(cmd_parms *cmd, void *mconfig, const char 
*args)
  +{
  +char *fname;
  +
  +/* get header name */
  +fname = getword_conf(cmd-pool, args);
  +if (!*fname) {
  +return pstrcat(cmd-pool, Missing header-field name for ,
  +cmd-cmd-name, NULL);
  +}
  +return add_setenvif_core(cmd, mconfig, fname, args);
  +}
  +
   /*
* This routine handles the BrowserMatch* directives.  It simply turns around
* and feeds them, with the appropriate embellishments, to the 
general-purpose
* command handler.
*/
  -static const char *add_browser(cmd_parms

cvs commit: apache-1.3/src CHANGES

1998-02-24 Thread dgaudet
dgaudet 98/02/23 23:22:23

  Modified:src  CHANGES
  Log:
  this is right isn't it Ralf?  You used some of Jay's code I think
  
  Revision  ChangesPath
  1.663 +2 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.662
  retrieving revision 1.663
  diff -u -r1.662 -r1.663
  --- CHANGES   1998/02/23 15:24:34 1.662
  +++ CHANGES   1998/02/24 07:22:20 1.663
  @@ -17,7 +17,8 @@
`toupper' which can be used to map URL parts to a fixed case (this is an
essential feature to fix the case of server names when doing mass
virtual-hosting with the help of mod_rewrite instead of using
  - VirtualHost sections). [Ralf S. Engelschall]
  + VirtualHost sections). [Ralf S. Engelschall, parts based on code from
  + Jay Soffian [EMAIL PROTECTED], PR#1631]
   
 *) Add a new directive to mod_proxy similar to ProxyPass: 
`ProxyPassReverse'.
This directive lets Apache adjust the URL in Location-headers on HTTP
  
  
  


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

1998-02-25 Thread dgaudet
dgaudet 98/02/25 01:36:13

  Modified:src  CHANGES
   src/main http_config.c
  Log:
  fix binding to port 0
  
  Revision  ChangesPath
  1.667 +3 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.666
  retrieving revision 1.667
  diff -u -r1.666 -r1.667
  --- CHANGES   1998/02/24 13:39:05 1.666
  +++ CHANGES   1998/02/25 09:36:09 1.667
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) Fix bug introduced in 1.3b4-dev, config with no Port setting would cause
  + server to bind to port 0 rather than 80.  [Dean Gaudet]
  +
 *) Fix long-standing problem with RewriteMap _programs_ under Unix 
derivates
(like SunOS and FreeBSD) which don't accept the locking of pipes
directly.  A new directive RewriteLock is introduced which can be used 
to
  
  
  
  1.99  +1 -1  apache-1.3/src/main/http_config.c
  
  Index: http_config.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_config.c,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -u -r1.98 -r1.99
  --- http_config.c 1998/02/21 21:04:33 1.98
  +++ http_config.c 1998/02/25 09:36:12 1.99
  @@ -1303,7 +1303,7 @@
   new = pcalloc(p, sizeof(listen_rec));
   new-local_addr.sin_family = AF_INET;
   new-local_addr.sin_addr = bind_address;
  -new-local_addr.sin_port = htons(s-port);
  +new-local_addr.sin_port = htons(s-port ? s-port : DEFAULT_HTTP_PORT);
   new-fd = -1;
   new-used = 0;
   new-next = NULL;
  
  
  


cvs commit: apache-1.3/htdocs/manual/mod mod_alias.html

1998-02-26 Thread dgaudet
dgaudet 98/02/25 23:01:13

  Modified:htdocs/manual/mod mod_alias.html
  Log:
  what a tangled web we weave... PR: 1874
  
  Revision  ChangesPath
  1.19  +9 -0  apache-1.3/htdocs/manual/mod/mod_alias.html
  
  Index: mod_alias.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_alias.html,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- mod_alias.html1998/02/05 20:04:39 1.18
  +++ mod_alias.html1998/02/26 07:01:12 1.19
  @@ -74,6 +74,15 @@
   if you use CODEAlias /icons/ /usr/local/apache/icons//CODE then
   the url CODE/icons/CODE will not be aliased.
   /P
  +p
  +Note that you may need to specify additional
  +a href=core.html#directorycodelt;Directorygt;/code/a sections
  +which cover the idestination/i of aliases.  Aliasing occurs
  +before codelt;Directorygt;/code sections are checked, so only
  +the destination of aliases are affected.  (Note however
  +a href=core.html#locationcodelt;Locationgt;/code/a
  +sections are run through once before aliases are performed, so they
  +will apply.)
   P
   See also A HREF=#scriptaliasScriptAlias/A.
   /P
  
  
  


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

1998-02-28 Thread dgaudet
dgaudet 98/02/28 02:32:03

  Modified:src  Makefile.tmpl
   src/ap   Makefile.tmpl
   src/include util_uri.h
   src/main Makefile.tmpl http_main.c util_uri.c
   src/modules/proxy Makefile.tmpl proxy_util.c
   src/modules/standard Makefile.tmpl
  Log:
  Some cleanup for uril_uri:
  
  - eliminate a few warnings
  - get rid of the static local in parse_uri_components_regex by
creating util_uri_init() routine called from main()
  - don't use static re.match 'cause it's not thread safe
  - factor some common code from the win32 and unix case into common_init()
  - update dependencies
  
  still hacking.
  
  Revision  ChangesPath
  1.79  +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.78
  retrieving revision 1.79
  diff -u -r1.78 -r1.79
  --- Makefile.tmpl 1998/02/22 04:37:08 1.78
  +++ Makefile.tmpl 1998/02/28 10:31:53 1.79
  @@ -70,4 +70,4 @@
   buildmark.o: buildmark.c
   modules.o: modules.c $(INCDIR)/httpd.h $(INCDIR)/conf.h os/unix/os.h \
$(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \
  - $(INCDIR)/http_config.h
  + $(INCDIR)/util_uri.h $(INCDIR)/http_config.h
  
  
  
  1.14  +6 -5  apache-1.3/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/ap/Makefile.tmpl,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Makefile.tmpl 1998/02/22 04:37:09 1.13
  +++ Makefile.tmpl 1998/02/28 10:31:54 1.14
  @@ -38,18 +38,19 @@
   # DO NOT REMOVE
   ap_cpystrn.o: ap_cpystrn.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
../os/unix/os.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  - $(INCDIR)/buff.h $(INCDIR)/ap.h
  + $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/util_uri.h
   ap_execve.o: ap_execve.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
../os/unix/os.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  - $(INCDIR)/buff.h $(INCDIR)/ap.h
  + $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/util_uri.h
   ap_signal.o: ap_signal.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
../os/unix/os.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  - $(INCDIR)/buff.h $(INCDIR)/ap.h
  + $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/util_uri.h
   ap_slack.o: ap_slack.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
../os/unix/os.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  - $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/http_log.h
  + $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/util_uri.h \
  + $(INCDIR)/http_log.h
   ap_snprintf.o: ap_snprintf.c $(INCDIR)/conf.h ../os/unix/os.h \
$(INCDIR)/hsregex.h
   ap_strings.o: ap_strings.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
../os/unix/os.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
  - $(INCDIR)/buff.h $(INCDIR)/ap.h
  + $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/util_uri.h
  
  
  
  1.3   +10 -7 apache-1.3/src/include/util_uri.h
  
  Index: util_uri.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/util_uri.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- util_uri.h1998/02/27 15:19:54 1.2
  +++ util_uri.h1998/02/28 10:31:55 1.3
  @@ -112,15 +112,18 @@
   } uri_components;
   
   /* util_uri.c */
  -extern unsigned short default_port_for_scheme(const char *scheme_str);
  -extern unsigned short default_port_for_request(const request_rec *r);
  -extern struct hostent *pduphostent(pool *p, struct hostent *hp);
  -extern struct hostent *pgethostbyname(pool *p, const char *hostname);
  -extern char *unparse_uri_components(pool *p, const uri_components *uptr,
  +API_EXPORT(unsigned short) default_port_for_scheme(const char *scheme_str);
  +API_EXPORT(unsigned short) default_port_for_request(const request_rec *r);
  +API_EXPORT(struct hostent *) pduphostent(pool *p, struct hostent *hp);
  +API_EXPORT(struct hostent *) pgethostbyname(pool *p, const char *hostname);
  +API_EXPORT(char *) unparse_uri_components(pool *p, const uri_components 
*uptr,
int *pHostlen, unsigned flags);
  -extern int parse_uri_components(pool *p, const char *uri, uri_components 
*uptr,
  +API_EXPORT(int) parse_uri_components(pool *p, const char *uri, 
uri_components *uptr,
int *pHostlen);
  -extern int parse_uri_components_regex(pool *p, const char *uri,
  +API_EXPORT(int) parse_uri_components_regex(pool *p, const char *uri,
uri_components *uptr);
  +
  +/* called by the core in main() */
  +extern void util_uri_init(void);
   
   #endif /*UTIL_URI_H*/
  
  
  
  1.15  +47 -38apache-1.3/src/main/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs

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

1998-02-28 Thread dgaudet
dgaudet 98/02/28 15:54:57

  Modified:htdocs/manual/misc known_bugs.html
  Log:
  1.3b5 proxy is broken.  No patch supplied.
  
  Revision  ChangesPath
  1.47  +2 -0  apache-1.3/htdocs/manual/misc/known_bugs.html
  
  Index: known_bugs.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/known_bugs.html,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- known_bugs.html   1998/02/21 10:46:01 1.46
  +++ known_bugs.html   1998/02/28 23:54:56 1.47
  @@ -45,6 +45,8 @@
   a 
href=http://www.apache.org/dist/patches/apply_to_1.3b5/PR1850.patch;this
   patch/a to fix the problem.  See
   a href=http://bugs.apache.org/index/full/1850;PR#1850/a for more 
details.
  +liabsoluteURI parsing is broken, so the proxy won't work.  This will be 
fixed
  +in the next beta.
   /ol
   
   H2Apache 1.3b3 Bugs/H2
  
  
  


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

1998-03-01 Thread dgaudet
dgaudet 98/02/28 16:09:48

  Modified:htdocs/manual/misc known_bugs.html
  Log:
  ok I made a patch available.  PR: 1889
  
  Revision  ChangesPath
  1.48  +4 -2  apache-1.3/htdocs/manual/misc/known_bugs.html
  
  Index: known_bugs.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/known_bugs.html,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- known_bugs.html   1998/02/28 23:54:56 1.47
  +++ known_bugs.html   1998/03/01 00:09:47 1.48
  @@ -45,8 +45,10 @@
   a 
href=http://www.apache.org/dist/patches/apply_to_1.3b5/PR1850.patch;this
   patch/a to fix the problem.  See
   a href=http://bugs.apache.org/index/full/1850;PR#1850/a for more 
details.
  -liabsoluteURI parsing is broken, so the proxy won't work.  This will be 
fixed
  -in the next beta.
  +liabsoluteURI parsing is broken, so the proxy won't work.   Apply
  +a 
href=http://www.apache.org/dist/patches/apply_to_1.3b5/PR1889.patch;this
  +patch/a to fix the problem.  See
  +a href=http://bugs.apache.org/index/full/1850;PR#1889/a for more 
details
   /ol
   
   H2Apache 1.3b3 Bugs/H2
  
  
  


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

1998-03-01 Thread dgaudet
dgaudet 98/02/28 16:10:50

  Modified:htdocs/manual/misc known_bugs.html
  Log:
  cutpaste
  
  Revision  ChangesPath
  1.49  +1 -1  apache-1.3/htdocs/manual/misc/known_bugs.html
  
  Index: known_bugs.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/known_bugs.html,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- known_bugs.html   1998/03/01 00:09:47 1.48
  +++ known_bugs.html   1998/03/01 00:10:49 1.49
  @@ -48,7 +48,7 @@
   liabsoluteURI parsing is broken, so the proxy won't work.   Apply
   a 
href=http://www.apache.org/dist/patches/apply_to_1.3b5/PR1889.patch;this
   patch/a to fix the problem.  See
  -a href=http://bugs.apache.org/index/full/1850;PR#1889/a for more 
details
  +a href=http://bugs.apache.org/index/full/1889;PR#1889/a for more 
details
   /ol
   
   H2Apache 1.3b3 Bugs/H2
  
  
  


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

1998-03-01 Thread dgaudet
dgaudet 98/02/28 16:15:43

  Modified:src/main util_uri.c
  Log:
  indentation tweak
  
  Revision  ChangesPath
  1.5   +2 -2  apache-1.3/src/main/util_uri.c
  
  Index: util_uri.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/util_uri.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- util_uri.c1998/02/28 12:22:29 1.4
  +++ util_uri.c1998/03/01 00:15:41 1.5
  @@ -413,8 +413,8 @@
   }
   
   /* This is a sub-RE which will break down the hostinfo part,
  - * i.e., user, password, hostname and port.
  - * $  12   3   4   5 6*/
  + * i.e., user, password, hostname and port.
  + * $  12   3   4   5 6*/
   re_str= ^(([^:]*):(.*)?@)?([^@:]*)(:(.*))?$;
   /* ^^user^ :pw  ^host^   port */
   if ((ret = regcomp(re_hostpart, re_str, REG_EXTENDED|REG_ICASE)) != 0) {
  
  
  


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

1998-03-01 Thread dgaudet
dgaudet 98/02/28 16:19:36

  Modified:src  CHANGES
   src/main util.c
  Log:
  Wow this is an ancient bug... \\ didn't do what it was supposed to do.
  Fixing this means that regexes using \\ will break suddenly because they
  need to become  ... I dunno what to do about that.
  
  Submitted by: [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.674 +2 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.673
  retrieving revision 1.674
  diff -u -r1.673 -r1.674
  --- CHANGES   1998/02/28 15:39:25 1.673
  +++ CHANGES   1998/03/01 00:19:33 1.674
  @@ -1,5 +1,7 @@
   Changes with Apache 1.3b6
   
  +  *) Make \\ behave as expected.  [EMAIL PROTECTED]
  +
 *) Add `Rule HIDE' to Configuration to hide the Apache symbol
namespace from conflicting with third-party libraries some
modules force to be linked with Apache. [Ralf S. Engelschall]
  
  
  
  1.94  +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.93
  retrieving revision 1.94
  diff -u -r1.93 -r1.94
  --- util.c1998/02/02 22:33:34 1.93
  +++ util.c1998/03/01 00:19:35 1.94
  @@ -585,7 +585,7 @@
   int i;
   
   for (i = 0; i  len; ++i) {
  - if (start[i] == '\\'  (start[i + 1] == '/'
  + if (start[i] == '\\'  (start[i + 1] == '\\'
 || (quote  start[i + 1] == quote)))
*resp++ = start[++i];
else
  
  
  


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

1998-03-01 Thread dgaudet
dgaudet 98/02/28 16:31:51

  Modified:src  CHANGES
   src/modules/standard mod_imap.c
  Log:
  fix border processing for polys
  
  PR:   1771
  Submitted by: Konstantin Morshnev [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.675 +4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.674
  retrieving revision 1.675
  diff -u -r1.674 -r1.675
  --- CHANGES   1998/03/01 00:19:33 1.674
  +++ CHANGES   1998/03/01 00:31:47 1.675
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3b6
   
  +  *) The poly directive in image maps did not include the borders of the
  + polygon, whereas the rect directive does.  Fix this inconsistency.
  + [Konstantin Morshnev [EMAIL PROTECTED]] PR#1771
  +
 *) Make \\ behave as expected.  [EMAIL PROTECTED]
   
 *) Add `Rule HIDE' to Configuration to hide the Apache symbol
  
  
  
  1.42  +23 -74apache-1.3/src/modules/standard/mod_imap.c
  
  Index: mod_imap.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_imap.c,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- mod_imap.c1998/02/01 22:05:40 1.41
  +++ mod_imap.c1998/03/01 00:31:50 1.42
  @@ -196,86 +196,35 @@
   return (radius2 = radius1);
   }
   
  +#define fmin(a,b) (((a)(b))?(b):(a))
  +#define fmax(a,b) (((a)(b))?(a):(b))
  +
   static int pointinpoly(const double point[2], double pgon[MAXVERTS][2])
   {
  -int i, numverts, inside_flag, xflag0;
  -int crossings;
  -double *p;
  -const double *stop;
  -double tx, ty, y;
  -
  -for (i = 0; pgon[i][X] != -1  i  MAXVERTS; i++);
  -
  -numverts = i;
  -crossings = 0;
  -
  -tx = point[X];
  -ty = point[Y];
  -y = pgon[numverts - 1][Y];
  +int i, numverts, crossings = 0;
  +double x = point[X], y = point[Y];
   
  -p = (double *) pgon + 1;
  -if ((y = ty) != (*p = ty)) {
  -
  - xflag0 = (pgon[numverts - 1][X] = tx);
  -if (xflag0 == (*(double *) pgon = tx)) {
  -if (xflag0) {
  -crossings++;
  - }
  -}
  -else {
  -crossings += (pgon[numverts - 1][X] - (y - ty) *
  -  (*(double *) pgon - pgon[numverts - 1][X]) /
  -  (*p - y)) = tx;
  -}
  +for (numverts = 0; pgon[numverts][X] != -1  numverts  MAXVERTS;
  + numverts++) {
  + /* just counting the vertexes */
   }
   
  -stop = pgon[numverts];
  -
  -for (y = *p, p += 2; p  stop; y = *p, p += 2) {
  -
  -if (y = ty) {
  -
  -while ((p  stop)  (*p = ty)) {
  -p += 2;
  - }
  -
  -if (p = stop) {
  -break;
  -}
  - if ((xflag0 = (*(p - 3) = tx)) == (*(p - 1) = tx)) {
  -
  -if (xflag0) {
  -crossings++;
  - }
  -}
  -else {
  -crossings += (*(p - 3) - (*(p - 2) - ty) *
  -  (*(p - 1) - *(p - 3)) / (*p - *(p - 2))) = tx;
  -}
  -}
  -else {
  -while ((p  stop)  (*p  ty)) {
  -p += 2;
  - }
  -
  -if (p = stop) {
  -break;
  - }
  -
  -if ((xflag0 = (*(p - 3) = tx)) == (*(p - 1) = tx)) {
  -if (xflag0) {
  -crossings++;
  - }
  -}
  -else {
  -crossings += (*(p - 3) - (*(p - 2) - ty) *
  -  (*(p - 1) - *(p - 3)) / (*p - *(p - 2))) = tx;
  -}
  -}
  +for (i = 0; i  numverts; i++) {
  +double x1=pgon[i][X];
  +double y1=pgon[i][Y];
  +double x2=pgon[(i + 1) % numverts][X];
  +double y2=pgon[(i + 1) % numverts][Y];
  +double d=(y - y1) * (x2 - x1) - (x - x1) * (y2 - y1);
  +
  +if ((y1 = y) != (y2 = y)) {
  + crossings +=y2 - y1 = 0 ? d = 0 : d = 0;
  + }
  +if (!d  fmin(x1,x2) = x  x = fmax(x1,x2)
  +  fmin(y1,y2) = y  y = fmax(y1,y2)) {
  + return 1;
  + }
   }
  -
  -inside_flag = crossings  0x01;
  -return (inside_flag);
  +return crossings  0x01;
   }
   
   
  
  
  


cvs commit: apache-1.3/src Makefile.tmpl

1998-03-02 Thread dgaudet
dgaudet 98/03/01 23:07:17

  Modified:src  Makefile.tmpl
  Log:
  some garbage that crept in
  
  Revision  ChangesPath
  1.82  +0 -2  apache-1.3/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v
  retrieving revision 1.81
  retrieving revision 1.82
  diff -u -r1.81 -r1.82
  --- Makefile.tmpl 1998/03/02 07:05:53 1.81
  +++ Makefile.tmpl 1998/03/02 07:07:16 1.82
  @@ -87,5 +87,3 @@
   modules.o: modules.c $(INCDIR)/httpd.h $(INCDIR)/conf.h os/unix/os.h \
$(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \
$(INCDIR)/util_uri.h $(INCDIR)/http_config.h
  -t.o: t.c
  -tt.o: tt.c
  
  
  


cvs commit: apache-1.3/src/os/unix os.h

1998-03-02 Thread dgaudet
dgaudet 98/03/02 09:51:34

  Modified:src/os/unix os.h
  Log:
  remove a gccism: __const
  
  Revision  ChangesPath
  1.7   +3 -3  apache-1.3/src/os/unix/os.h
  
  Index: os.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/os/unix/os.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- os.h  1998/02/24 10:30:55 1.6
  +++ os.h  1998/03/02 17:51:33 1.7
  @@ -41,9 +41,9 @@
   #ifdef HAS_DLFCN
   # include dlfcn.h
   #else
  -void * dlopen (__const char * __filename, int __flag);
  -__const char * dlerror (void);
  -void * dlsym (void *, __const char *);
  +void * dlopen (const char * __filename, int __flag);
  +const char * dlerror (void);
  +void * dlsym (void *, const char *);
   int dlclose (void *);
   #endif
   
  
  
  


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

1998-03-02 Thread dgaudet
dgaudet 98/03/02 09:53:48

  Modified:src/main http_vhost.c
  Log:
  some systems #define s_addr s_addr_list[0].S_un or something like that, so 
s_addr is offlimits
  
  Revision  ChangesPath
  1.9   +4 -4  apache-1.3/src/main/http_vhost.c
  
  Index: http_vhost.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/main/http_vhost.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- http_vhost.c  1998/03/02 06:51:11 1.8
  +++ http_vhost.c  1998/03/02 17:53:47 1.9
  @@ -373,14 +373,14 @@
   {
   unsigned bucket;
   ipaddr_chain *trav;
  -unsigned s_addr;
  +unsigned addr;
   
   /* scan the hash table for an exact match first */
  -s_addr = server_ip-s_addr;
  -bucket = hash_inaddr(s_addr);
  +addr = server_ip-s_addr;
  +bucket = hash_inaddr(addr);
   for (trav = iphash_table[bucket]; trav; trav = trav-next) {
server_addr_rec *sar = trav-sar;
  - if ((sar-host_addr.s_addr == s_addr)
  + if ((sar-host_addr.s_addr == addr)
 (sar-host_port == 0 || sar-host_port == port
|| port == 0)) {
return trav;
  
  
  


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

1998-03-03 Thread dgaudet
dgaudet 98/03/02 17:22:11

  Modified:htdocs/manual new_features_1_3.html
   htdocs/manual/misc perf-tuning.html
   src  CHANGES Configure
   src/include conf.h
  Log:
  Fall back to USE_FCNTL_SERIALIZED_ACCEPT for Solaris.  It's foolish us
  wasting resources trying to solve what may end up being bugs in solaris.
  
  PR:   1779, 1854, 1904
  
  Revision  ChangesPath
  1.47  +1 -2  apache-1.3/htdocs/manual/new_features_1_3.html
  
  Index: new_features_1_3.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/new_features_1_3.html,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- new_features_1_3.html 1998/02/23 08:27:35 1.46
  +++ new_features_1_3.html 1998/03/03 01:21:55 1.47
  @@ -305,8 +305,7 @@
performed for each hit, now it is performed only once per second.
This should be noticeable on servers running with hundreds of
children and high loads.
  -LINew serialization choices improve performance on Linux, Solaris,
  - and IRIX.
  +LINew serialization choices improve performance on Linux, and IRIX.
   LICODEA HREF=mod/mod_log_config.htmlmod_log_config/A/CODE
can be compile-time configured to buffer writes.
   LIReplaced CODEstrncpy()/CODE with CODEap_cpystrn()/CODE, a
  
  
  
  1.9   +4 -2  apache-1.3/htdocs/manual/misc/perf-tuning.html
  
  Index: perf-tuning.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf-tuning.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- perf-tuning.html  1998/02/05 21:19:57 1.8
  +++ perf-tuning.html  1998/03/03 01:21:56 1.9
  @@ -371,8 +371,10 @@
   DTCODEUSE_PTHREAD_SERIALIZED_ACCEPT/CODE
   DD(1.3 or later) This method uses POSIX mutexes and should work on
   any architecture implementing the full POSIX threads specification,
  -however appears to only work on Solaris (2.5 or later).  This is the
  -default for Solaris 2.5 or later.
  +however appears to only work on Solaris (2.5 or later), and even then
  +only in certain configurations.  If you experiment with this you should
  +watch out for your server hanging and not responding.  Static content
  +only servers may work just fine.
   /DL
   
   PIf your system has another method of serialization which isn't in the
  
  
  
  1.678 +8 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.677
  retrieving revision 1.678
  diff -u -r1.677 -r1.678
  --- CHANGES   1998/03/02 10:57:57 1.677
  +++ CHANGES   1998/03/03 01:22:03 1.678
  @@ -1,5 +1,13 @@
   Changes with Apache 1.3b6
   
  +  *) USE_PTHREAD_SERIALIZED_ACCEPT has proven unreliable depending on
  + the rev of Solaris and what mixture of modules are in use.  So
  + it has been disabled, and Solaris is back to using
  + USE_FCNTL_SERIALIZED_ACCEPT.  Users may experiment with
  + USE_PTHREAD_SERIALIZED_ACCEPT at their own risk, it may speed
  + up static content only servers.  Or it may fail unpredictably.
  + [Dean Gaudet] PR#1779, 1854, 1904
  +
 *) mod_test_util_uri.c created which tests the logic in util_uri.c.
[Dean Gaudet]
   
  
  
  
  1.193 +0 -5  apache-1.3/src/Configure
  
  Index: Configure
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.192
  retrieving revision 1.193
  diff -u -r1.192 -r1.193
  --- Configure 1998/03/01 12:56:02 1.192
  +++ Configure 1998/03/03 01:22:06 1.193
  @@ -425,11 +425,6 @@
OS=Solaris $PLATOSVERS
CFLAGS=$CFLAGS -DSOLARIS2=$PLATOSVERS
LIBS=$LIBS -lsocket -lnsl
  - case $PLATOSVERS in
  - 2[56789]*)
  - LIBS=$LIBS -lpthread
  - ;;
  - esac
DBM_LIB=
case $PLATOSVERS in
2[01234]*)
  
  
  
  1.186 +2 -6  apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.185
  retrieving revision 1.186
  diff -u -r1.185 -r1.186
  --- conf.h1998/02/28 15:39:32 1.185
  +++ conf.h1998/03/03 01:22:10 1.186
  @@ -138,13 +138,9 @@
   #undef NO_SETSID
   #define HAVE_SYS_RESOURCE_H
   #define bzero(a,b) memset(a,0,b)
  -#if SOLARIS2  250
  -#define USE_FCNTL_SERIALIZED_ACCEPT
  -#else
   #if !defined(USE_SYSVSEM_SERIALIZED_ACCEPT)  \
  -!defined(USE_FCNTL_SERIALIZED_ACCEPT)
  -#define USE_PTHREAD_SERIALIZED_ACCEPT
  -#endif
  +!defined(USE_PTHREAD_SERIALIZED_ACCEPT)
  +#define

<    1   2   3   4   5   6   7   >