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;
}
+