wez Mon Mar 29 16:28:48 2004 EDT Modified files: (Branch: PHP_4_3) /php-src php.ini-dist php.ini-recommended /php-src/ext/session mod_files.c session.c /php-src/main php_open_temporary_file.c php_open_temporary_file.h Log: Fix for Bug #26757: session.save_path default is bogus for win32 Based on a patch found in the bug report. Concept approved by Ilia. http://cvs.php.net/diff.php/php-src/php.ini-dist?r1=1.171.2.19&r2=1.171.2.20&ty=u Index: php-src/php.ini-dist diff -u php-src/php.ini-dist:1.171.2.19 php-src/php.ini-dist:1.171.2.20 --- php-src/php.ini-dist:1.171.2.19 Mon Feb 9 19:03:43 2004 +++ php-src/php.ini-dist Mon Mar 29 16:28:47 2004 @@ -819,7 +819,7 @@ ; You can use the script in the ext/session dir for that purpose. ; NOTE 2: See the section on garbage collection below if you choose to ; use subdirectories for session storage -session.save_path = /tmp +;session.save_path = /tmp ; Whether to use cookies. session.use_cookies = 1 http://cvs.php.net/diff.php/php-src/php.ini-recommended?r1=1.119.2.17&r2=1.119.2.18&ty=u Index: php-src/php.ini-recommended diff -u php-src/php.ini-recommended:1.119.2.17 php-src/php.ini-recommended:1.119.2.18 --- php-src/php.ini-recommended:1.119.2.17 Mon Feb 9 19:03:43 2004 +++ php-src/php.ini-recommended Mon Mar 29 16:28:47 2004 @@ -825,7 +825,7 @@ ; Argument passed to save_handler. In the case of files, this is the path ; where data files are stored. Note: Windows users have to change this ; variable in order to use PHP's session functions. -session.save_path = /tmp +;session.save_path = /tmp ; Whether to use cookies. session.use_cookies = 1 http://cvs.php.net/diff.php/php-src/ext/session/mod_files.c?r1=1.83.2.7&r2=1.83.2.8&ty=u Index: php-src/ext/session/mod_files.c diff -u php-src/ext/session/mod_files.c:1.83.2.7 php-src/ext/session/mod_files.c:1.83.2.8 --- php-src/ext/session/mod_files.c:1.83.2.7 Thu Sep 25 10:53:58 2003 +++ php-src/ext/session/mod_files.c Mon Mar 29 16:28:47 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mod_files.c,v 1.83.2.7 2003/09/25 14:53:58 sniper Exp $ */ +/* $Id: mod_files.c,v 1.83.2.8 2004/03/29 21:28:47 wez Exp $ */ #include "php.h" @@ -46,6 +46,7 @@ #include "php_session.h" #include "mod_files.h" #include "ext/standard/flock_compat.h" +#include "php_open_temporary_file.h" #define FILE_PREFIX "sess_" @@ -234,6 +235,10 @@ data = ecalloc(sizeof(*data), 1); PS_SET_MOD_DATA(data); + if (*save_path == '\0') { + save_path = php_get_temporary_directory(); + } + data->fd = -1; if ((p = strchr(save_path, ';'))) { errno = 0; http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.336.2.36&r2=1.336.2.37&ty=u Index: php-src/ext/session/session.c diff -u php-src/ext/session/session.c:1.336.2.36 php-src/ext/session/session.c:1.336.2.37 --- php-src/ext/session/session.c:1.336.2.36 Sun Mar 28 09:57:31 2004 +++ php-src/ext/session/session.c Mon Mar 29 16:28:47 2004 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: session.c,v 1.336.2.36 2004/03/28 14:57:31 rasmus Exp $ */ +/* $Id: session.c,v 1.336.2.37 2004/03/29 21:28:47 wez Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -120,7 +120,11 @@ PHP_INI_BEGIN() STD_PHP_INI_BOOLEAN("session.bug_compat_42", "1", PHP_INI_ALL, OnUpdateBool, bug_compat, php_ps_globals, ps_globals) STD_PHP_INI_BOOLEAN("session.bug_compat_warn", "1", PHP_INI_ALL, OnUpdateBool, bug_compat_warn, php_ps_globals, ps_globals) +#ifdef PHP_WIN32 + STD_PHP_INI_ENTRY("session.save_path", "", PHP_INI_ALL, OnUpdateString, save_path, php_ps_globals, ps_globals) +#else STD_PHP_INI_ENTRY("session.save_path", "/tmp", PHP_INI_ALL, OnUpdateString, save_path, php_ps_globals, ps_globals) +#endif STD_PHP_INI_ENTRY("session.name", "PHPSESSID", PHP_INI_ALL, OnUpdateString, session_name, php_ps_globals, ps_globals) PHP_INI_ENTRY("session.save_handler", "files", PHP_INI_ALL, OnUpdateSaveHandler) STD_PHP_INI_BOOLEAN("session.auto_start", "0", PHP_INI_ALL, OnUpdateBool, auto_start, php_ps_globals, ps_globals) http://cvs.php.net/diff.php/php-src/main/php_open_temporary_file.c?r1=1.18.2.8&r2=1.18.2.9&ty=u Index: php-src/main/php_open_temporary_file.c diff -u php-src/main/php_open_temporary_file.c:1.18.2.8 php-src/main/php_open_temporary_file.c:1.18.2.9 --- php-src/main/php_open_temporary_file.c:1.18.2.8 Fri Apr 25 14:11:42 2003 +++ php-src/main/php_open_temporary_file.c Mon Mar 29 16:28:47 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_open_temporary_file.c,v 1.18.2.8 2003/04/25 18:11:42 sniper Exp $ */ +/* $Id: php_open_temporary_file.c,v 1.18.2.9 2004/03/29 21:28:47 wez Exp $ */ #include "php.h" @@ -166,7 +166,7 @@ /* * Determine where to place temporary files. */ -const char* get_temporary_directory() +PHPAPI const char* php_get_temporary_directory(void) { /* Cache the chosen temporary directory. */ static char* temporary_directory; @@ -233,7 +233,7 @@ fd = php_do_open_temporary_file(dir, pfx, opened_path_p TSRMLS_CC); if (fd == -1) { /* Use default temporary directory. */ - fd = php_do_open_temporary_file(get_temporary_directory(), pfx, opened_path_p TSRMLS_CC); + fd = php_do_open_temporary_file(php_get_temporary_directory(), pfx, opened_path_p TSRMLS_CC); } return fd; } http://cvs.php.net/diff.php/php-src/main/php_open_temporary_file.h?r1=1.5.8.2&r2=1.5.8.3&ty=u Index: php-src/main/php_open_temporary_file.h diff -u php-src/main/php_open_temporary_file.h:1.5.8.2 php-src/main/php_open_temporary_file.h:1.5.8.3 --- php-src/main/php_open_temporary_file.h:1.5.8.2 Tue Mar 18 11:39:06 2003 +++ php-src/main/php_open_temporary_file.h Mon Mar 29 16:28:47 2004 @@ -21,5 +21,6 @@ PHPAPI FILE *php_open_temporary_file(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC); PHPAPI int php_open_temporary_fd(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC); +PHPAPI const char* php_get_temporary_directory(void); #endif /* PHP_OPEN_TEMPORARY_FILE_H */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php