cvs: php4 /ext/db db.c /ext/dbase dbase.c /ext/filepro filepro.c /ext/pgsql pgsql.c /ext/posix posix.c /ext/standard file.c filestat.c link.c
/main fopen-wrappers.c
| From: | Andi Gutmans | Date: | Thu, 02 Nov 2000 23:08:07 +0000 |
| Subject: | cvs: php4 /ext/db db.c /ext/dbase dbase.c /ext/filepro filepro.c /ext/pgsql pgsql.c /ext/posix posix.c /ext/standard file.c filestat.c link.c /main fopen-wrappers.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-2433@lists.php.net to get a copy of this message | ||
andi Thu Nov 2 15:08:07 2000 EDT
Modified files:
/php4/ext/db db.c
/php4/ext/dbase dbase.c
/php4/ext/filepro filepro.c
/php4/ext/pgsql pgsql.c
/php4/ext/posix posix.c
/php4/ext/standard file.c filestat.c link.c
/php4/main fopen-wrappers.c
Log:
- Use CHECKUID_* #define's instead of cryptic numbers in php_checkuid()
- I did not test for validity of the actual php_checkuid() calls and there
- might be mistakes in the previous code.
Index: php4/ext/db/db.c diff -u php4/ext/db/db.c:1.45 php4/ext/db/db.c:1.46 --- php4/ext/db/db.c:1.45 Wed Oct 25 10:43:49 2000 +++ php4/ext/db/db.c Thu Nov 2 15:08:04 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: db.c,v 1.45 2000/10/25 17:43:49 andrei Exp $ */ +/* $Id: db.c,v 1.46 2000/11/02 23:08:04 andi Exp $ */ #define IS_EXT_MODULE #if 1 @@ -289,7 +289,7 @@ return NULL; } - if (PG(safe_mode) && (!php_checkuid(filename, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { return NULL; } Index: php4/ext/dbase/dbase.c diff -u php4/ext/dbase/dbase.c:1.33 php4/ext/dbase/dbase.c:1.34 --- php4/ext/dbase/dbase.c:1.33 Wed Oct 25 10:43:50 2000 +++ php4/ext/dbase/dbase.c Thu Nov 2 15:08:04 2000 @@ -122,7 +122,7 @@ convert_to_string(dbf_name); convert_to_long(options); - if (PG(safe_mode) && (!php_checkuid(dbf_name->value.str.val, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(dbf_name->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } @@ -590,7 +590,7 @@ RETURN_FALSE; } - if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_P(filename), NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_P(filename), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/filepro/filepro.c diff -u php4/ext/filepro/filepro.c:1.27 php4/ext/filepro/filepro.c:1.28 --- php4/ext/filepro/filepro.c:1.27 Sun Jul 23 18:39:45 2000 +++ php4/ext/filepro/filepro.c Thu Nov 2 15:08:05 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: filepro.c,v 1.27 2000/07/24 01:39:45 david Exp $ */ +/* $Id: filepro.c,v 1.28 2000/11/02 23:08:05 andi Exp $ */ /* filePro 4.x support developed by Chad Robinson, chadr@brttech.com @@ -206,7 +206,7 @@ sprintf(workbuf, "%s/map", dir->value.str.val); - if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } @@ -305,7 +305,7 @@ /* Now read the records in, moving forward recsize-1 bytes each time */ sprintf(workbuf, "%s/key", FP_GLOBAL(fp_database)); - if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } @@ -530,7 +530,7 @@ /* Now read the record in */ sprintf(workbuf, "%s/key", FP_GLOBAL(fp_database)); - if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/pgsql/pgsql.c diff -u php4/ext/pgsql/pgsql.c:1.77 php4/ext/pgsql/pgsql.c:1.78 --- php4/ext/pgsql/pgsql.c:1.77 Wed Oct 25 10:43:59 2000 +++ php4/ext/pgsql/pgsql.c Thu Nov 2 15:08:05 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.77 2000/10/25 17:43:59 andrei Exp $ */ +/* $Id: pgsql.c,v 1.78 2000/11/02 23:08:05 andi Exp $ */ #include <stdlib.h> @@ -1663,7 +1663,7 @@ break; } - if (PG(safe_mode) &&(!php_checkuid(Z_STRVAL_PP(file_in), NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid(Z_STRVAL_PP(file_in), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/posix/posix.c diff -u php4/ext/posix/posix.c:1.26 php4/ext/posix/posix.c:1.27 --- php4/ext/posix/posix.c:1.26 Mon Oct 9 08:24:26 2000 +++ php4/ext/posix/posix.c Thu Nov 2 15:08:05 2000 @@ -27,7 +27,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: posix.c,v 1.26 2000/10/09 15:24:26 hholzgra Exp $ */ +/* $Id: posix.c,v 1.27 2000/11/02 23:08:05 andi Exp $ */ #include "php.h" @@ -138,7 +138,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, "Revision", "$Revision: 1.26 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.27 $"); php_info_print_table_end(); } @@ -665,7 +665,7 @@ convert_to_string(path); convert_to_long(mode); - if (PG(safe_mode) && (!php_checkuid(path->value.str.val, NULL, 3))) { + if (PG(safe_mode) && (!php_checkuid(path->value.str.val, NULL, CHECKUID_ALLOW_ONLY_DIR))) { RETURN_FALSE; } result = mkfifo(path->value.str.val, mode->value.lval); Index: php4/ext/standard/file.c diff -u php4/ext/standard/file.c:1.122 php4/ext/standard/file.c:1.123 --- php4/ext/standard/file.c:1.122 Wed Nov 1 06:48:00 2000 +++ php4/ext/standard/file.c Thu Nov 2 15:08:05 2000 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: file.c,v 1.122 2000/11/01 14:48:00 andi Exp $ */ +/* $Id: file.c,v 1.123 2000/11/02 23:08:05 andi Exp $ */ /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */ @@ -1287,7 +1287,7 @@ convert_to_string_ex(arg1); convert_to_long_ex(arg2); mode = (mode_t) (*arg2)->value.lval; - if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, 3))) { + if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, CHECKUID_ALLOW_ONLY_DIR))) { RETURN_FALSE; } ret = V_MKDIR((*arg1)->value.str.val, mode); @@ -1312,7 +1312,7 @@ WRONG_PARAM_COUNT; } convert_to_string_ex(arg1); - if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } ret = V_RMDIR((*arg1)->value.str.val); @@ -1505,7 +1505,7 @@ old_name = (*old_arg)->value.str.val; new_name = (*new_arg)->value.str.val; - if (PG(safe_mode) &&(!php_checkuid(old_name, NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid(old_name, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } ret = V_RENAME(old_name, new_name); @@ -1533,7 +1533,7 @@ } convert_to_string_ex(filename); - if (PG(safe_mode) && !php_checkuid((*filename)->value.str.val, NULL, 2)) { + if (PG(safe_mode) && !php_checkuid((*filename)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR)) { RETURN_FALSE; } @@ -1639,7 +1639,7 @@ convert_to_string_ex(source); convert_to_string_ex(target); - if (PG(safe_mode) &&(!php_checkuid((*source)->value.str.val, NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid((*source)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/standard/filestat.c diff -u php4/ext/standard/filestat.c:1.48 php4/ext/standard/filestat.c:1.49 --- php4/ext/standard/filestat.c:1.48 Tue Oct 31 10:05:19 2000 +++ php4/ext/standard/filestat.c Thu Nov 2 15:08:05 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: filestat.c,v 1.48 2000/10/31 18:05:19 zeev Exp $ */ +/* $Id: filestat.c,v 1.49 2000/11/02 23:08:05 andi Exp $ */ #include "php.h" #include "safe_mode.h" @@ -252,7 +252,7 @@ gid = (*group)->value.lval; } - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } @@ -300,7 +300,7 @@ uid = (*user)->value.lval; } - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } @@ -334,7 +334,7 @@ convert_to_string_ex(filename); convert_to_long_ex(mode); - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } @@ -397,7 +397,7 @@ } convert_to_string_ex(filename); - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { if (newtime) efree(newtime); RETURN_FALSE; } Index: php4/ext/standard/link.c diff -u php4/ext/standard/link.c:1.26 php4/ext/standard/link.c:1.27 --- php4/ext/standard/link.c:1.26 Sun Jul 2 08:12:34 2000 +++ php4/ext/standard/link.c Thu Nov 2 15:08:06 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: link.c,v 1.26 2000/07/02 15:12:34 andi Exp $ */ +/* $Id: link.c,v 1.27 2000/11/02 23:08:06 andi Exp $ */ #include "php.h" #include "php_filestat.h" @@ -110,7 +110,7 @@ convert_to_string_ex(topath); convert_to_string_ex(frompath); - if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, 2)) { + if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR)) { RETURN_FALSE; } if (!strncasecmp((*topath)->value.str.val,"http://",7) || !strncasecmp((*topath)->value.str.val,"ftp://",6)) { @@ -141,7 +141,7 @@ convert_to_string_ex(topath); convert_to_string_ex(frompath); - if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, 2)) { + if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR)) { RETURN_FALSE; } if (!strncasecmp((*topath)->value.str.val,"http://",7) || !strncasecmp((*topath)->value.str.val,"ftp://",6)) { Index: php4/main/fopen-wrappers.c diff -u php4/main/fopen-wrappers.c:1.103 php4/main/fopen-wrappers.c:1.104 --- php4/main/fopen-wrappers.c:1.103 Tue Oct 31 03:32:05 2000 +++ php4/main/fopen-wrappers.c Thu Nov 2 15:08:06 2000 @@ -16,7 +16,7 @@ | Jim Winstead <jimw@php.net> | +----------------------------------------------------------------------+ */ -/* $Id: fopen-wrappers.c,v 1.103 2000/10/31 11:32:05 hholzgra Exp $ */ +/* $Id: fopen-wrappers.c,v 1.104 2000/11/02 23:08:06 andi Exp $ */ #include "php.h" #include "php_globals.h" @@ -373,14 +373,14 @@ /* Absolute & relative path open */ if ((*filename == '.') || (IS_ABSOLUTE_PATH(filename, filename_length))) { - if (PG(safe_mode) && (!php_checkuid(filename, mode, 0))) { + if (PG(safe_mode) && (!php_checkuid(filename, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { return NULL; } return php_fopen_and_set_opened_path(filename, mode, opened_path); } if (!path || (path && !*path)) { - if (PG(safe_mode) && (!php_checkuid(filename, mode, 0))) { + if (PG(safe_mode) && (!php_checkuid(filename, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { return NULL; } return php_fopen_and_set_opened_path(filename, mode, opened_path); @@ -401,7 +401,7 @@ } snprintf(trypath, MAXPATHLEN, "%s/%s", ptr, filename); if (PG(safe_mode)) { - if (V_STAT(trypath, &sb) == 0 && (!php_checkuid(trypath, mode, 0))) { + if (V_STAT(trypath, &sb) == 0 && (!php_checkuid(trypath, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { efree(pathbuf); return NULL; } @@ -464,7 +464,7 @@ if (options & USE_PATH) { fp = php_fopen_with_path((char *) path, mode, PG(include_path), opened_path); } else { - if (options & ENFORCE_SAFE_MODE && PG(safe_mode) && (!php_checkuid(path, mode, 0))) { + if (options & ENFORCE_SAFE_MODE && PG(safe_mode) && (!php_checkuid(path, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { fp = NULL; } else { fp = php_fopen_and_set_opened_path(path, mode, opened_path);
Index: php4/ext/db/db.c diff -u php4/ext/db/db.c:1.45 php4/ext/db/db.c:1.46 --- php4/ext/db/db.c:1.45 Wed Oct 25 10:43:49 2000 +++ php4/ext/db/db.c Thu Nov 2 15:08:04 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: db.c,v 1.45 2000/10/25 17:43:49 andrei Exp $ */ +/* $Id: db.c,v 1.46 2000/11/02 23:08:04 andi Exp $ */ #define IS_EXT_MODULE #if 1 @@ -289,7 +289,7 @@ return NULL; } - if (PG(safe_mode) && (!php_checkuid(filename, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { return NULL; } Index: php4/ext/dbase/dbase.c diff -u php4/ext/dbase/dbase.c:1.33 php4/ext/dbase/dbase.c:1.34 --- php4/ext/dbase/dbase.c:1.33 Wed Oct 25 10:43:50 2000 +++ php4/ext/dbase/dbase.c Thu Nov 2 15:08:04 2000 @@ -122,7 +122,7 @@ convert_to_string(dbf_name); convert_to_long(options); - if (PG(safe_mode) && (!php_checkuid(dbf_name->value.str.val, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(dbf_name->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } @@ -590,7 +590,7 @@ RETURN_FALSE; } - if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_P(filename), NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_P(filename), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/filepro/filepro.c diff -u php4/ext/filepro/filepro.c:1.27 php4/ext/filepro/filepro.c:1.28 --- php4/ext/filepro/filepro.c:1.27 Sun Jul 23 18:39:45 2000 +++ php4/ext/filepro/filepro.c Thu Nov 2 15:08:05 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: filepro.c,v 1.27 2000/07/24 01:39:45 david Exp $ */ +/* $Id: filepro.c,v 1.28 2000/11/02 23:08:05 andi Exp $ */ /* filePro 4.x support developed by Chad Robinson, chadr@brttech.com @@ -206,7 +206,7 @@ sprintf(workbuf, "%s/map", dir->value.str.val); - if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } @@ -305,7 +305,7 @@ /* Now read the records in, moving forward recsize-1 bytes each time */ sprintf(workbuf, "%s/key", FP_GLOBAL(fp_database)); - if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } @@ -530,7 +530,7 @@ /* Now read the record in */ sprintf(workbuf, "%s/key", FP_GLOBAL(fp_database)); - if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, 2))) { + if (PG(safe_mode) && (!php_checkuid(workbuf, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/pgsql/pgsql.c diff -u php4/ext/pgsql/pgsql.c:1.77 php4/ext/pgsql/pgsql.c:1.78 --- php4/ext/pgsql/pgsql.c:1.77 Wed Oct 25 10:43:59 2000 +++ php4/ext/pgsql/pgsql.c Thu Nov 2 15:08:05 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.77 2000/10/25 17:43:59 andrei Exp $ */ +/* $Id: pgsql.c,v 1.78 2000/11/02 23:08:05 andi Exp $ */ #include <stdlib.h> @@ -1663,7 +1663,7 @@ break; } - if (PG(safe_mode) &&(!php_checkuid(Z_STRVAL_PP(file_in), NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid(Z_STRVAL_PP(file_in), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/posix/posix.c diff -u php4/ext/posix/posix.c:1.26 php4/ext/posix/posix.c:1.27 --- php4/ext/posix/posix.c:1.26 Mon Oct 9 08:24:26 2000 +++ php4/ext/posix/posix.c Thu Nov 2 15:08:05 2000 @@ -27,7 +27,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: posix.c,v 1.26 2000/10/09 15:24:26 hholzgra Exp $ */ +/* $Id: posix.c,v 1.27 2000/11/02 23:08:05 andi Exp $ */ #include "php.h" @@ -138,7 +138,7 @@ static PHP_MINFO_FUNCTION(posix) { php_info_print_table_start(); - php_info_print_table_row(2, "Revision", "$Revision: 1.26 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.27 $"); php_info_print_table_end(); } @@ -665,7 +665,7 @@ convert_to_string(path); convert_to_long(mode); - if (PG(safe_mode) && (!php_checkuid(path->value.str.val, NULL, 3))) { + if (PG(safe_mode) && (!php_checkuid(path->value.str.val, NULL, CHECKUID_ALLOW_ONLY_DIR))) { RETURN_FALSE; } result = mkfifo(path->value.str.val, mode->value.lval); Index: php4/ext/standard/file.c diff -u php4/ext/standard/file.c:1.122 php4/ext/standard/file.c:1.123 --- php4/ext/standard/file.c:1.122 Wed Nov 1 06:48:00 2000 +++ php4/ext/standard/file.c Thu Nov 2 15:08:05 2000 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: file.c,v 1.122 2000/11/01 14:48:00 andi Exp $ */ +/* $Id: file.c,v 1.123 2000/11/02 23:08:05 andi Exp $ */ /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */ @@ -1287,7 +1287,7 @@ convert_to_string_ex(arg1); convert_to_long_ex(arg2); mode = (mode_t) (*arg2)->value.lval; - if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, 3))) { + if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, CHECKUID_ALLOW_ONLY_DIR))) { RETURN_FALSE; } ret = V_MKDIR((*arg1)->value.str.val, mode); @@ -1312,7 +1312,7 @@ WRONG_PARAM_COUNT; } convert_to_string_ex(arg1); - if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*arg1)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } ret = V_RMDIR((*arg1)->value.str.val); @@ -1505,7 +1505,7 @@ old_name = (*old_arg)->value.str.val; new_name = (*new_arg)->value.str.val; - if (PG(safe_mode) &&(!php_checkuid(old_name, NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid(old_name, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } ret = V_RENAME(old_name, new_name); @@ -1533,7 +1533,7 @@ } convert_to_string_ex(filename); - if (PG(safe_mode) && !php_checkuid((*filename)->value.str.val, NULL, 2)) { + if (PG(safe_mode) && !php_checkuid((*filename)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR)) { RETURN_FALSE; } @@ -1639,7 +1639,7 @@ convert_to_string_ex(source); convert_to_string_ex(target); - if (PG(safe_mode) &&(!php_checkuid((*source)->value.str.val, NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid((*source)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } Index: php4/ext/standard/filestat.c diff -u php4/ext/standard/filestat.c:1.48 php4/ext/standard/filestat.c:1.49 --- php4/ext/standard/filestat.c:1.48 Tue Oct 31 10:05:19 2000 +++ php4/ext/standard/filestat.c Thu Nov 2 15:08:05 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: filestat.c,v 1.48 2000/10/31 18:05:19 zeev Exp $ */ +/* $Id: filestat.c,v 1.49 2000/11/02 23:08:05 andi Exp $ */ #include "php.h" #include "safe_mode.h" @@ -252,7 +252,7 @@ gid = (*group)->value.lval; } - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } @@ -300,7 +300,7 @@ uid = (*user)->value.lval; } - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } @@ -334,7 +334,7 @@ convert_to_string_ex(filename); convert_to_long_ex(mode); - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 1))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { RETURN_FALSE; } @@ -397,7 +397,7 @@ } convert_to_string_ex(filename); - if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, 2))) { + if (PG(safe_mode) &&(!php_checkuid((*filename)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { if (newtime) efree(newtime); RETURN_FALSE; } Index: php4/ext/standard/link.c diff -u php4/ext/standard/link.c:1.26 php4/ext/standard/link.c:1.27 --- php4/ext/standard/link.c:1.26 Sun Jul 2 08:12:34 2000 +++ php4/ext/standard/link.c Thu Nov 2 15:08:06 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: link.c,v 1.26 2000/07/02 15:12:34 andi Exp $ */ +/* $Id: link.c,v 1.27 2000/11/02 23:08:06 andi Exp $ */ #include "php.h" #include "php_filestat.h" @@ -110,7 +110,7 @@ convert_to_string_ex(topath); convert_to_string_ex(frompath); - if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, 2)) { + if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR)) { RETURN_FALSE; } if (!strncasecmp((*topath)->value.str.val,"http://",7) || !strncasecmp((*topath)->value.str.val,"ftp://",6)) { @@ -141,7 +141,7 @@ convert_to_string_ex(topath); convert_to_string_ex(frompath); - if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, 2)) { + if (PG(safe_mode) && !php_checkuid((*topath)->value.str.val, NULL, CHECKUID_CHECK_FILE_AND_DIR)) { RETURN_FALSE; } if (!strncasecmp((*topath)->value.str.val,"http://",7) || !strncasecmp((*topath)->value.str.val,"ftp://",6)) { Index: php4/main/fopen-wrappers.c diff -u php4/main/fopen-wrappers.c:1.103 php4/main/fopen-wrappers.c:1.104 --- php4/main/fopen-wrappers.c:1.103 Tue Oct 31 03:32:05 2000 +++ php4/main/fopen-wrappers.c Thu Nov 2 15:08:06 2000 @@ -16,7 +16,7 @@ | Jim Winstead <jimw@php.net> | +----------------------------------------------------------------------+ */ -/* $Id: fopen-wrappers.c,v 1.103 2000/10/31 11:32:05 hholzgra Exp $ */ +/* $Id: fopen-wrappers.c,v 1.104 2000/11/02 23:08:06 andi Exp $ */ #include "php.h" #include "php_globals.h" @@ -373,14 +373,14 @@ /* Absolute & relative path open */ if ((*filename == '.') || (IS_ABSOLUTE_PATH(filename, filename_length))) { - if (PG(safe_mode) && (!php_checkuid(filename, mode, 0))) { + if (PG(safe_mode) && (!php_checkuid(filename, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { return NULL; } return php_fopen_and_set_opened_path(filename, mode, opened_path); } if (!path || (path && !*path)) { - if (PG(safe_mode) && (!php_checkuid(filename, mode, 0))) { + if (PG(safe_mode) && (!php_checkuid(filename, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { return NULL; } return php_fopen_and_set_opened_path(filename, mode, opened_path); @@ -401,7 +401,7 @@ } snprintf(trypath, MAXPATHLEN, "%s/%s", ptr, filename); if (PG(safe_mode)) { - if (V_STAT(trypath, &sb) == 0 && (!php_checkuid(trypath, mode, 0))) { + if (V_STAT(trypath, &sb) == 0 && (!php_checkuid(trypath, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { efree(pathbuf); return NULL; } @@ -464,7 +464,7 @@ if (options & USE_PATH) { fp = php_fopen_with_path((char *) path, mode, PG(include_path), opened_path); } else { - if (options & ENFORCE_SAFE_MODE && PG(safe_mode) && (!php_checkuid(path, mode, 0))) { + if (options & ENFORCE_SAFE_MODE && PG(safe_mode) && (!php_checkuid(path, mode, CHECKUID_DISALLOW_FILE_NOT_EXISTS))) { fp = NULL; } else { fp = php_fopen_and_set_opened_path(path, mode, opened_path);