diff options
author | Dmitry Stogov <dmitry@php.net> | 2008-07-21 08:43:36 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2008-07-21 08:43:36 +0000 |
commit | baab204436f1e8dd92347468a79b6c0342eeea81 (patch) | |
tree | 91dd1ad9ed153e317c6dcfe9601a08171cbaa4ec | |
parent | 2b5e4d45537b3156b6ca318f588f21eaefa7f180 (diff) | |
download | php-git-baab204436f1e8dd92347468a79b6c0342eeea81.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 4acc47e4f2..21a6a59950 100644 --- a/main/fopen_wrappers.c +++ b/main/fopen_wrappers.c @@ -425,9 +425,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 2e083712a5..ea7ed5d837 100644 --- a/main/main.c +++ b/main/main.c @@ -2027,7 +2027,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); @@ -2117,7 +2117,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; |