httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wr...@apache.org
Subject cvs commit: httpd-2.0/modules/mappers mod_rewrite.c
Date Mon, 29 Jan 2001 00:03:11 GMT
wrowe       01/01/28 16:03:11

  Modified:    .        CHANGES
               modules/mappers mod_rewrite.c
  Log:
    *) Adopt apr user/group name features for mod_rewrite.  Eliminates some
       'extra' stat's for user/group since they should never occur, and now
       resolves the SCRIPT_USER and SCRIPT_GROUP, including on WinNT NTFS
       volumes.
  
    No-one commented on loosing the 'stat' calls, can anyone invent a scenario
    where they could be required?  Also, I don't like the casts either, so if
    you have a better solution, don't whine, just fix it :)
  
  Revision  Changes    Path
  1.66      +5 -0      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -u -r1.65 -r1.66
  --- CHANGES	2001/01/28 23:57:24	1.65
  +++ CHANGES	2001/01/29 00:03:11	1.66
  @@ -1,5 +1,10 @@
   Changes with Apache 2.0b1
   
  +  *) Adopt apr user/group name features for mod_rewrite.  Eliminates some
  +     'extra' stat's for user/group since they should never occur, and now
  +     resolves the SCRIPT_USER and SCRIPT_GROUP, including on WinNT NTFS
  +     volumes.  [William Rowe]
  +
     *) Adopt apr features to simplify mod_includes.  This changes the
        behavior of the USER_NAME variable, unknown uid's are now reported
        as USER_NAME="<unknown>" rather than the old user#000 result.
  
  
  
  1.63      +4 -40     httpd-2.0/modules/mappers/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/mappers/mod_rewrite.c,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- mod_rewrite.c	2001/01/20 21:42:19	1.62
  +++ mod_rewrite.c	2001/01/29 00:03:11	1.63
  @@ -113,12 +113,6 @@
   #include <sys/uio.h>
   #endif
   #endif
  -#ifdef HAVE_PWD_H
  -#include <pwd.h>
  -#endif
  -#ifdef HAVE_GRP_H
  -#include <grp.h>
  -#endif
   #ifdef HAVE_UNISTD_H
   #include <unistd.h>
   #endif
  @@ -3395,11 +3389,6 @@
       char resultbuf[LONG_STRING_LEN];
       apr_exploded_time_t tm;
       request_rec *rsub;
  -#ifndef WIN32
  -    struct passwd *pw;
  -    struct group *gr;
  -    apr_finfo_t finfo;
  -#endif
   
       result = NULL;
   
  @@ -3588,44 +3577,19 @@
           LOOKAHEAD(ap_sub_req_lookup_file)
       }
   
  -#if !defined(WIN32) && !defined(NETWARE)
  -    /* Win32 has a rather different view of file ownerships.
  -       For now, just forget it */
  -
       /* file stuff */
       else if (strcasecmp(var, "SCRIPT_USER") == 0) {
           result = "<unknown>";
  -        if (r->finfo.protection != 0) {
  -            if ((pw = getpwuid(r->finfo.user)) != NULL) {
  -                result = pw->pw_name;
  -            }
  +        if (r->finfo.valid & APR_FINFO_USER) {
  +            apr_get_username(&(char*)result, r->finfo.user, r->pool);
           }
  -        else {
  -            if (apr_stat(&finfo, r->filename,
  -                         APR_FINFO_NORM, r->pool) == APR_SUCCESS) {
  -                if ((pw = getpwuid(finfo.user)) != NULL) {
  -                    result = pw->pw_name;
  -                }
  -            }
  -        }
       }
       else if (strcasecmp(var, "SCRIPT_GROUP") == 0) {
           result = "<unknown>";
  -        if (r->finfo.protection != 0) {
  -            if ((gr = getgrgid(r->finfo.group)) != NULL) {
  -                result = gr->gr_name;
  -            }
  -        }
  -        else {
  -            if (apr_stat(&finfo, r->filename,
  -                         APR_FINFO_NORM, r->pool) == 0) {
  -                if ((gr = getgrgid(finfo.group)) != NULL) {
  -                    result = gr->gr_name;
  -                }
  -            }
  +        if (r->finfo.valid & APR_FINFO_GROUP) {
  +            apr_get_groupname(&(char*)result, r->finfo.group, r->pool);
           }
       }
  -#endif /* ndef WIN32 && NETWARE*/
   
       if (result == NULL) {
           return apr_pstrdup(r->pool, "");
  
  
  

Mime
View raw message