diff options
author | Dmitry Stogov <dmitry@php.net> | 2008-07-21 08:42:35 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2008-07-21 08:42:35 +0000 |
commit | 637e591a3dd30cb35e60a85217981bae4a43691d (patch) | |
tree | 11a2ef1d7fe3ac189587d8df53192cdfd3617716 | |
parent | 79e592831fb832d154856272a492da7ba94be1c4 (diff) | |
download | php-git-637e591a3dd30cb35e60a85217981bae4a43691d.tar.gz |
Fixed chdir() into requested file directory inconsistencies
-rw-r--r-- | main/fopen_wrappers.c | 3 | ||||
-rw-r--r-- | main/main.c | 4 | ||||
-rw-r--r-- | sapi/caudium/caudium.c | 9 |
3 files changed, 2 insertions, 14 deletions
diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c index 2efba4d85f..10e78b66e1 100644 --- a/main/fopen_wrappers.c +++ b/main/fopen_wrappers.c @@ -433,9 +433,6 @@ PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle TSRMLS_DC) file_handle->opened_path = expand_filepath(filename, NULL TSRMLS_CC); - if (!(SG(options) & SAPI_OPTION_NO_CHDIR)) { - VCWD_CHDIR_FILE(filename); - } SG(request_info).path_translated = filename; file_handle->filename = SG(request_info).path_translated; diff --git a/main/main.c b/main/main.c index 3582d41a50..aec22b3cb4 100644 --- a/main/main.c +++ b/main/main.c @@ -2168,7 +2168,7 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC) PG(during_request_startup) = 0; - if ((primary_file->type == ZEND_HANDLE_FILENAME || primary_file->type == ZEND_HANDLE_STREAM) && primary_file->filename) { + if (primary_file->filename && !(SG(options) & SAPI_OPTION_NO_CHDIR)) { #if HAVE_BROKEN_GETCWD /* this looks nasty to me */ old_cwd_fd = open(".", 0); @@ -2257,7 +2257,7 @@ PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval **ret PG(during_request_startup) = 0; - if (primary_file->type == ZEND_HANDLE_FILENAME && primary_file->filename) { + if (primary_file->filename && !(SG(options) & SAPI_OPTION_NO_CHDIR)) { VCWD_GETCWD(old_cwd, OLD_CWD_SIZE-1); VCWD_CHDIR_FILE(primary_file->filename); } diff --git a/sapi/caudium/caudium.c b/sapi/caudium/caudium.c index 9bbd419050..fb77c7d3dd 100644 --- a/sapi/caudium/caudium.c +++ b/sapi/caudium/caudium.c @@ -639,15 +639,6 @@ static void php_caudium_module_main(php_caudium_request *ureq) THREADS_ALLOW(); #endif -#ifdef VIRTUAL_DIR - /* Change virtual directory, if the feature is enabled, which is - * (almost) a requirement for PHP in Caudium. Might want to fail if it - * isn't. Not a problem though, since it's on by default when using ZTS - * which we require. - */ - VCWD_CHDIR_FILE(THIS->filename->str); -#endif - file_handle.type = ZEND_HANDLE_FILENAME; file_handle.filename = THIS->filename->str; file_handle.opened_path = NULL; |