You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by wr...@apache.org on 2001/01/24 17:54:10 UTC

cvs commit: apache-1.3/src/os/netware os.c

wrowe       01/01/24 08:54:10

  Modified:    src      CHANGES
               src/os/netware os.c
  Log:
    Fixes ap_os_canonical_filename to append a the default volume
    name if the the path is a full path and does not include the
    volume name.  Since NetWare's current working directory always
    defaults to the SYS: volume regardless of where the executible
    started, the default volume will be the volume that is specified
    in ap_server_root.  This corrects mod_userdir/Netware reports.
  
  PR:		5826, 6283.
  Submitted by:	Brad Nicholes <BN...@novell.com>
  
  Revision  Changes    Path
  1.1624    +8 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1623
  retrieving revision 1.1624
  diff -u -r1.1623 -r1.1624
  --- CHANGES	2001/01/23 14:14:04	1.1623
  +++ CHANGES	2001/01/24 16:54:07	1.1624
  @@ -1,5 +1,13 @@
   Changes with Apache 1.3.17
   
  +  *) Fixed ap_os_canonical_filename to append a the default volume 
  +     name if the the path is a full path and does not include the
  +     volume name.  Since NetWare's current working directory always 
  +     defaults to the SYS: volume regardless of where the executible 
  +     started, the default volume will be the volume that is specified 
  +     in ap_server_root.  This corrects mod_userdir/Netware reports
  +     PR5826 & 6283.  [Brad Nicholes <BN...@novell.com>]
  +
     *) Handle port numbers in Host headers properly again after
        the code was broken in 1.3.15. [Tony Finch]
   
  
  
  
  1.9       +13 -4     apache-1.3/src/os/netware/os.c
  
  Index: os.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/os/netware/os.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- os.c	2001/01/15 17:06:16	1.8
  +++ os.c	2001/01/24 16:54:10	1.9
  @@ -60,6 +60,8 @@
   #include "ap_config.h"
   #include <dirent.h>
   
  +extern char ap_server_root[MAX_STRING_LEN];
  +
   void ap_os_dso_init(void)
   {
   }
  @@ -140,11 +142,17 @@
    */
   char *ap_os_canonical_filename(pool *pPool, const char *szFile)
   {
  -    char *pNewName;
  -    
  -    pNewName = ap_pstrdup(pPool, szFile);
  -    strlwr(pNewName);
  +    char *pNewName = ap_pstrdup(pPool, szFile);
  +	
       bslash2slash(pNewName);
  +    if ((pNewName[0] == '/') && (strchr (pNewName, ':') == NULL))
  +    {
  +        char vol[256];
  +
  +        _splitpath (ap_server_root, vol, NULL, NULL, NULL);
  +        pNewName = ap_pstrcat (pPool, vol, pNewName, NULL);
  +    }
  +    strlwr(pNewName);
       return pNewName;
   }
   
  @@ -289,3 +297,4 @@
   
       return 1;
   }
  +