bfrance Fri Oct 4 18:16:19 2002 EDT Modified files: /php4/main fopen_wrappers.c Log: Fixed a problem where opendir with <path>/ and having <path>/ in open_basedir ini option didn't work. It was removing the trailing slashes and then addeding it back to only one of the string, now it adds it back to to both if needed. Index: php4/main/fopen_wrappers.c diff -u php4/main/fopen_wrappers.c:1.150 php4/main/fopen_wrappers.c:1.151 --- php4/main/fopen_wrappers.c:1.150 Sat Sep 28 12:27:10 2002 +++ php4/main/fopen_wrappers.c Fri Oct 4 18:16:16 2002 @@ -16,7 +16,7 @@ | Jim Winstead <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: fopen_wrappers.c,v 1.150 2002/09/28 16:27:10 rasmus Exp $ */ +/* $Id: fopen_wrappers.c,v 1.151 2002/10/04 22:16:16 bfrance Exp $ */ /* {{{ includes */ @@ -108,6 +108,7 @@ char local_open_basedir[MAXPATHLEN]; int local_open_basedir_pos; int resolved_basedir_len; + int resolved_name_len; /* Special case basedir==".": Use script-directory */ if ((strcmp(basedir, ".") == 0) && @@ -138,6 +139,12 @@ resolved_basedir_len = strlen(resolved_basedir); } + if (path[strlen(path)-1] == PHP_DIR_SEPARATOR) { + resolved_name_len = strlen(resolved_name); + resolved_name[resolved_name_len] = '/'; + resolved_name[++resolved_name_len] = '\0'; + } + /* Check the path */ #ifdef PHP_WIN32 if (strncasecmp(resolved_basedir, resolved_name, resolved_basedir_len) == 0) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php