rse         98/07/11 03:56:09

  Modified:    src      CHANGES
               src/modules/standard mod_rewrite.c mod_rewrite.h
  Log:
  mod_rewrite created RewriteLock files under the uid of the parent process,
  thus the child processes had no write access to the files.  Now a chown() is
  done to the uid of the childs if applicable.
  
  Submitted by: Lars Eilebrecht
  Reviewed and fixed by: Ralf S. Engelschall
  PR: 2341
  
  PS: Lars, I've changed s->server_uid to ap_user_id because s->server_uid
      can be different inside virtual hosts for the suEXEC mechanism. But
      we need the uid of the process, so ap_user_id is correct IMHO.
      And I've searched for the PR in the bugdb for you and noted it above.
  
  Revision  Changes    Path
  1.960     +5 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.959
  retrieving revision 1.960
  diff -u -r1.959 -r1.960
  --- CHANGES   1998/07/11 10:24:05     1.959
  +++ CHANGES   1998/07/11 10:56:03     1.960
  @@ -1,5 +1,10 @@
   Changes with Apache 1.3.1
   
  +  *) mod_rewrite created RewriteLock files under the uid of the parent
  +     process, thus the child processes had no write access to the files.
  +     Now a chown() is done to the uid of the childs if applicable.
  +     [Lars Eilebrecht, Ralf S. Engelschall] PR#2341
  +
     *) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
        TestCompile) instead of defining them manually in conf.h based on less
        accurate platform definitions. This way we no longer have to fiddle with
  
  
  
  1.123     +4 -0      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.122
  retrieving revision 1.123
  diff -u -r1.122 -r1.123
  --- mod_rewrite.c     1998/07/09 17:13:56     1.122
  +++ mod_rewrite.c     1998/07/11 10:56:07     1.123
  @@ -3213,6 +3213,10 @@
                        "file %s", conf->rewritelockfile);
           exit(1);
       }
  +    /* make sure the childs have access to this file */
  +    if (geteuid() == 0 /* is superuser */)
  +        chown(conf->rewritelockfile, ap_user_id, -1 /* no gid change */);
  +
       return;
   }
   
  
  
  
  1.54      +1 -0      apache-1.3/src/modules/standard/mod_rewrite.h
  
  Index: mod_rewrite.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_rewrite.h,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- mod_rewrite.h     1998/05/29 08:32:40     1.53
  +++ mod_rewrite.h     1998/07/11 10:56:08     1.54
  @@ -107,6 +107,7 @@
       /* Include from the Apache server ... */
   #include "httpd.h"
   #include "http_config.h"
  +#include "http_conf_globals.h"
   #include "http_request.h"
   #include "http_core.h"
   #include "http_log.h"
  
  
  

Reply via email to