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 
   #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 
   #include 
   #include 
  -#ifndef NO_UNISTD_H
  -#include 
  -#endif
   #ifndef NO_WRITEV
   #include 
   #include 
  
  
  
  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 
   #include 
   
   /* 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 
   #include 
   #include 
  -#include 
   #include 
   
   #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 
   
   #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 STATUS

1998-02-23 Thread Ralf S. Engelschall
rse 98/02/23 00:04:13

  Modified:src  CHANGES
   htdocs/manual new_features_1_3.html
   htdocs/manual/mod mod_proxy.html
   src/modules/proxy mod_proxy.h mod_proxy.c proxy_http.c
   .STATUS
  Log:
  Add the ProxyPassReverse directive which allows Apache to be
  used as a full-featured Reverse Proxy in front of a backend
  webserver cluster.
  
  Submitted by: Ralf S. Engelschall
  Reviewed by: Martin Kraemer, Ralf S. Engelschall
  
  Revision  ChangesPath
  1.658 +7 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.657
  retrieving revision 1.658
  diff -u -r1.657 -r1.658
  --- CHANGES   1998/02/23 07:58:42 1.657
  +++ CHANGES   1998/02/23 08:04:05 1.658
  @@ -1,5 +1,12 @@
   Changes with Apache 1.3b6
   
  +  *) Add a new directive to mod_proxy similar to ProxyPass: 
`ProxyPassReverse'.
  + This directive lets Apache adjust the URL in Location-headers on HTTP
  + redirect responses sent by the remote server. This way the virtually
  + mapped area is no longer left on redirects and thus by-passed which is
  + especially essential when running Apache as a reverse proxy.  
  + [Ralf S. Engelschall]
  +
 *) Hide Proxy-Authorization from CGI/SSI/etc just like Authorization is
hidden. [Alvaro Martinez Echevarria]
   
  
  
  
  1.45  +9 -0  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.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- new_features_1_3.html 1998/02/22 21:10:06 1.44
  +++ new_features_1_3.html 1998/02/23 08:04:08 1.45
  @@ -553,6 +553,15 @@
 off Apache will use the hostname and port supplied by the client,
 if available.

  +
  + New ProxyPassReverse 
directive
  +  
  +  This directive was added in addition to the ProxyPass
  +  directive. It lets Apache adjust the URL in the Location header on
  +  HTTP redirect responses. For instance this is essential when Apache is used
  +  as a reverse proxy to avoid by-passing the reverse proxy because of HTTP
  +  redirects on the backend servers which stay behind the reverse proxy.
  + 
   
   
   
  
  
  
  1.35  +66 -0 apache-1.3/htdocs/manual/mod/mod_proxy.html
  
  Index: mod_proxy.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_proxy.html,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- mod_proxy.html1998/02/05 22:34:05 1.34
  +++ mod_proxy.html1998/02/23 08:04:09 1.35
  @@ -43,6 +43,7 @@
   ProxyRequests
   ProxyRemote
   ProxyPass
  +ProxyPassReverse
   ProxyBlock
   NoProxy
   ProxyDomain
  @@ -197,6 +198,71 @@
    to be
   internally converted into a proxy request to
   .
  +
  +
  +
  +ProxyPassReverse
  +Syntax: ProxyPassReverse  

  +Default: None
  +Context: server config, virtual host
  +Override: Not applicable
  +Status: Base
  +Module: mod_proxy
  +Compatibility: ProxyPassReverse is only available in
  +Apache 1.3b6 and later.
  +
  +This directive lets Apache adjust the URL in the Location header on
  +HTTP redirect responses. For instance this is essential when Apache is used 
as
  +a reverse proxy to avoid by-passing the reverse proxy because of HTTP
  +redirects on the backend servers which stay behind the reverse proxy.
  +
  + is the name of a local virtual path.
  + is a partial URL for the remote server - the same way they are
  +used for the ProxyPass directive.
  +
  +Example:
  +Suppose the local server has address http://wibble.org/; then
  +
  +   ProxyPass /mirror/foo http://foo.com
  +   ProxyPassReverse  /mirror/foo http://foo.com
  +
  +will not only cause a local request for the
  + to be internally
  +converted into a proxy request to  
(the
  +functionality ProxyPass provides here). It also takes care of
  +redirects the server foo.com sends: when http://foo.com/bar is
  +redirected by him to http://foo.com/quux Apache adjusts this to
  +http://wibble.org/mirror/foo/quux before forwarding the HTTP
  +redirect response to the client. 
  +
  +Note that this ProxyPassReverse directive can also by used in
  +conjunction with the proxy pass-through feature ("RewriteRule ...
  +[P]") from
  +mod_rewrite because its doesn't depend on a corresponding
  +ProxyPass directive.
   
   
   
  
  
  
  1.28  +1 -0  apache-1.3/src/modules/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ==

cvs commit: apache-1.3 STATUS

1998-02-23 Thread Ralf S. Engelschall
rse 98/02/23 00:27:41

  Modified:src  CHANGES
   htdocs/manual new_features_1_3.html
   htdocs/manual/mod mod_rewrite.html
   src/modules/standard mod_rewrite.c mod_rewrite.h
   .STATUS
  Log:
  Add the new RewriteMap types `rnd' and `int' to mod_rewrite to allow Apache to
  be used as a Reverse Proxy (where the backend servers are choosen via a `rnd'
  map) and to allow mass virtual hosting without  sections (where
  you have to fix the case of server names when translating the Host-Header to a
  directory structure).
  
  Together with the comitted ProxyPassReverse directive we now have solved
  two things the users have asked in the past:
  
  1. The ability to use Apache as a full-featured Reverse Proxy
  2. The ability to do mass virtual hosting without  sections.
  
  For both topics we should write stand-alone documents (perhaps inside
  htdocs/manual/misc/) because they are not trivial to do, even when we now have
  the functionality ;-)
  
  Submitted by: Ralf S. Engelschall
  Reviewed by: Dean Gaudet, Ralf S. Engelschall
  
  Revision  ChangesPath
  1.659 +12 -0 apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.658
  retrieving revision 1.659
  diff -u -r1.658 -r1.659
  --- CHANGES   1998/02/23 08:04:05 1.658
  +++ CHANGES   1998/02/23 08:27:32 1.659
  @@ -1,5 +1,17 @@
   Changes with Apache 1.3b6
   
  +  *) 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
  + particular alternative is choosen randomly (this is an essential
  + functionality needed for balancing between backend-servers when using
  + Apache as a Reverse Proxy.  The looked up value here is a list of
  + servers). Second, `int' with the built-in maps named `tolower' and
  + `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
  +  sections).
  +
 *) Add a new directive to mod_proxy similar to ProxyPass: 
`ProxyPassReverse'.
This directive lets Apache adjust the URL in Location-headers on HTTP
redirect responses sent by the remote server. This way the virtually
  
  
  
  1.46  +11 -0 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.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- new_features_1_3.html 1998/02/23 08:04:08 1.45
  +++ new_features_1_3.html 1998/02/23 08:27:35 1.46
  @@ -562,6 +562,17 @@
 as a reverse proxy to avoid by-passing the reverse proxy because of HTTP
 redirects on the backend servers which stay behind the reverse proxy.

  +
  + New map types for RewriteMap directive
  +  
  +  The new map types `Randomized Plain Text' and `Internal Function' were 
added
  +  to the RewriteMap directive of mod_rewrite.  They provide two
  +  new features: First, you now can randomly choose a sub-value from a value
  +  which was looked-up in a rewriting map (which is useful when choosing
  +  between backend servers in a Reverse Proxy situation). Second, you now can
  +  translate URL parts to fixed (upper or lower) case (which is useful when
  +  doing mass virtual hosting by the help of mod_rewrite).
  + 
   
   
   
  
  
  
  1.23  +103 -42   apache-1.3/htdocs/manual/mod/mod_rewrite.html
  
  Index: mod_rewrite.html
  ===
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_rewrite.html,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- mod_rewrite.html  1998/02/05 21:20:01 1.22
  +++ mod_rewrite.html  1998/02/23 08:27:36 1.23
  @@ -256,7 +256,7 @@
   Syntax: RewriteMap Mapname 
{txt,dbm,prg}:Filename
  +>Syntax: RewriteMap MapName 
MapType:MapSource
   Context: server config, virtual host
   
   
  -The RewriteMap directive defines an external Rewriting Map
  +The RewriteMap directive defines a Rewriting Map
   which can be used inside rule substitution strings by the mapping-functions
  -to insert/substitute fields through a key lookup.
  +to insert/substitute fields through a key lookup. The source of this
  +lookup can be of various types.
   
   
  -The Mapname is the name of the map and will
  +The MapName is the name of the map and will
   be used to specify a mapping-function for the substitution strings of a
  -rewriting rule via
  +rewriting

cvs commit: apache-devsite how-to-release.html

1998-02-23 Thread Ralf S. Engelschall
rse 98/02/23 00:33:31

  Modified:.how-to-release.html
  Log:
  missing blank
  
  Revision  ChangesPath
  1.27  +1 -1  apache-devsite/how-to-release.html
  
  Index: how-to-release.html
  ===
  RCS file: /export/home/cvs/apache-devsite/how-to-release.html,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- how-to-release.html   1998/02/22 18:30:15 1.26
  +++ how-to-release.html   1998/02/23 08:33:31 1.27
  @@ -155,7 +155,7 @@
$ cp src/Configuration.tmpl 
src/Configuration
   
Remove STATUS, RULES.CVS and
  - src/INDENTfile and various .cvsignore 
files:
  + src/INDENT file and various .cvsignore 
files:
$ rm STATUS RULES.CVS src/INDENT
$ find . -name ".cvsignore" -exec rm {} \;

  
  
  


cvs commit: apache-1.3/src CHANGES

1998-02-23 Thread Ralf S. Engelschall
rse 98/02/23 00:34:58

  Modified:src  CHANGES
  Log:
  Just forgot my name...
  
  Revision  ChangesPath
  1.660 +1 -1  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.659
  retrieving revision 1.660
  diff -u -r1.659 -r1.660
  --- CHANGES   1998/02/23 08:27:32 1.659
  +++ CHANGES   1998/02/23 08:34:56 1.660
  @@ -10,7 +10,7 @@
`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
  -  sections).
  +  sections). [Ralf S. Engelschall]
   
 *) 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/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 

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

1998-02-23 Thread Ralf S. Engelschall
rse 98/02/23 07:18:52

  Modified:src/modules/standard mod_rewrite.c
  Log:
  mod_rewrite shouldn't make any assumptions on which characters a username can
  contain because a lot of Unix derivates allow more then [a-zA-Z0-9]. We now
  treat anything between ^/~ and  the next slash or end of URL as the username
  because this does not hurt us. We always expand only after we have
  successfully resolved the cut out name via /etc/passwd.
  
  Revision  ChangesPath
  1.68  +4 -10 apache-1.3/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- mod_rewrite.c 1998/02/23 08:27:38 1.67
  +++ mod_rewrite.c 1998/02/23 15:18:50 1.68
  @@ -2244,7 +2244,7 @@
   
   /*
   **
  -**  Expand tilde-paths (~user) through
  +**  Expand tilde-paths (/~user) through
   **  Unix /etc/passwd database information
   **
   */
  @@ -2259,15 +2259,9 @@
   newuri = uri;
   if (uri != NULL && strlen(uri) > 2 && uri[0] == '/' && uri[1] == '~') {
   /* cut out the username */
  -for (j = 0, i = 2; j < sizeof(user)-1 && uri[i] != '\0' && 
  -#ifndef CHARSET_EBCDIC
  -   (   (uri[i] >= '0' && uri[i] <= '9')
  -|| (uri[i] >= 'a' && uri[i] <= 'z')
  -|| (uri[i] >= 'A' && uri[i] <= 'Z'))
  -#else
  -   isalnum(uri[i])
  -#endif
  -; )
  +for (j = 0, i = 2; j < sizeof(user)-1
  +   && uri[i] != '\0'
  +   && uri[i] != '/'  ; )
   user[j++] = uri[i++];
   user[j] = '\0';
   
  
  
  


cvs commit: apache-1.3/src CHANGES

1998-02-23 Thread Ralf S. Engelschall
rse 98/02/23 07:24:37

  Modified:src  CHANGES
  Log:
  The expansion change for /~user in mod_rewrite.
  
  Revision  ChangesPath
  1.662 +4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.661
  retrieving revision 1.662
  diff -u -r1.661 -r1.662
  --- CHANGES   1998/02/23 10:53:27 1.661
  +++ CHANGES   1998/02/23 15:24:34 1.662
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3b6
   
  +  *) Now mod_rewrite no longer makes problematic assumptions on the 
characters
  + a username can contain when trying to expand it via /etc/passwd. 
  + [Ralf S. Engelschall]
  +
 *) The mod_setenvif BrowserMatch backwards compatibility command did not
work properly with spaces in the regex.  [Ronald Tschalaer] PR#1825
   
  
  
  


cvs commit: apache-1.3 STATUS

1998-02-23 Thread Ralf S. Engelschall
rse 98/02/23 08:50:23

  Modified:.STATUS
  Log:
  Don't forget the available fix for RewriteMap programs...
  
  Revision  ChangesPath
  1.163 +5 -0  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.162
  retrieving revision 1.163
  diff -u -r1.162 -r1.163
  --- STATUS1998/02/23 08:27:40 1.162
  +++ STATUS1998/02/23 16:50:22 1.163
  @@ -25,6 +25,11 @@
   
   Available Patches:
   
  +* Ralf's [PATCH] Fix RewriteMap programs 
  +  (especially under SunOS and FreeBSD)
  +  <[EMAIL PROTECTED]>
  +  Status: Ralf +1
  +
   * M.D.Parker's [PATCH] mod_status/1448: Status Information have version
<[EMAIL PROTECTED]>
Status: Dean +1, Martin +0 (duplicates /server-info?server),