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/filters mod_include.c
Date Sun, 28 Jan 2001 23:57:25 GMT
wrowe       01/01/28 15:57:25

  Modified:    .        CHANGES
               modules/filters mod_include.c
  Log:
    *) 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.
       WinNT now resolves USER_NAME on NTFS volumes.  [William Rowe]
  
    ** Also fixes yet another stat result, allowing APR_INCOMPLETE
  
  Revision  Changes    Path
  1.65      +5 -0      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- CHANGES	2001/01/28 23:51:52	1.64
  +++ CHANGES	2001/01/28 23:57:24	1.65
  @@ -1,5 +1,10 @@
   Changes with Apache 2.0b1
   
  +  *) 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.
  +     WinNT now resolves USER_NAME on NTFS volumes.  [William Rowe]
  +
     *) Adopt apr features for simplifing mod_userdir, and accept the new
        Win32/OS2 exceptions without hiccuping.  [William Rowe]
   
  
  
  
  1.90      +8 -16     httpd-2.0/modules/filters/mod_include.c
  
  Index: mod_include.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/filters/mod_include.c,v
  retrieving revision 1.89
  retrieving revision 1.90
  diff -u -r1.89 -r1.90
  --- mod_include.c	2001/01/20 21:42:18	1.89
  +++ mod_include.c	2001/01/28 23:57:25	1.90
  @@ -68,6 +68,7 @@
   #include "apr_strings.h"
   #include "apr_thread_proc.h"
   #include "apr_hash.h"
  +#include "apr_user.h"
   
   #define CORE_PRIVATE
   
  @@ -89,9 +90,6 @@
   #ifdef HAVE_STRINGS_H
   #include <strings.h>
   #endif
  -#ifdef HAVE_PWD_H
  -#include <pwd.h>
  -#endif
   #include "util_ebcdic.h"
   
   
  @@ -102,9 +100,7 @@
   /* XXX: could use ap_table_overlap here */
   static void add_include_vars(request_rec *r, char *timefmt)
   {
  -#ifndef WIN32
  -    struct passwd *pw;
  -#endif /* ndef WIN32 */
  +    char *pwname;
       apr_table_t *e = r->subprocess_env;
       char *t;
       apr_time_t date = r->request_time;
  @@ -115,17 +111,12 @@
                 ap_ht_time(r->pool, r->finfo.mtime, timefmt, 0));
       apr_table_setn(e, "DOCUMENT_URI", r->uri);
       apr_table_setn(e, "DOCUMENT_PATH_INFO", r->path_info);
  -#ifndef WIN32
  -    pw = getpwuid(r->finfo.user);
  -    if (pw) {
  -        apr_table_setn(e, "USER_NAME", apr_pstrdup(r->pool, pw->pw_name));
  +    if (apr_get_username(&pwname, r->finfo.user, r->pool) == APR_SUCCESS) {
  +        apr_table_setn(e, "USER_NAME", pwname);
       }
       else {
  -        apr_table_setn(e, "USER_NAME", apr_psprintf(r->pool, "user#%lu",
  -                    (unsigned long) r->finfo.user));
  +        apr_table_setn(e, "USER_NAME", "<unknown>");
       }
  -#endif /* ndef WIN32 */
  -
       if ((t = strrchr(r->filename, '/'))) {
           apr_table_setn(e, "DOCUMENT_NAME", ++t);
       }
  @@ -1285,8 +1276,9 @@
   
               if (rr->status == HTTP_OK && rr->finfo.protection != 0) {
                   to_send = rr->filename;
  -                if (apr_stat(finfo, to_send, 
  -                             APR_FINFO_NORM, rr->pool) != APR_SUCCESS) {
  +                if (rv = apr_stat(finfo, to_send, APR_FINFO_GPROT 
  +                                | APR_FINFO_MIN, rr->pool) != APR_SUCCESS
  +                                                     && rv != APR_INCOMPLETE) {
                       error_fmt = "unable to get information about \"%s\" "
                           "in parsed file %s";
                   }
  
  
  

Mime
View raw message