cvs: php4 /ext/session php_session.h session.c /ext/standard basic_functions.c basic_functions.h
| From: | Zeev Suraski | Date: | Sun, 26 Aug 2001 01:09:20 +0000 |
| Subject: | cvs: php4 /ext/session php_session.h session.c /ext/standard basic_functions.c basic_functions.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-7063@lists.php.net to get a copy of this message | ||
zeev Sat Aug 25 21:09:20 2001 EDT
Modified files:
/php4/ext/session php_session.h session.c
/php4/ext/standard basic_functions.c basic_functions.h
Log:
Make the session module more independent
Index: php4/ext/session/php_session.h
diff -u php4/ext/session/php_session.h:1.54 php4/ext/session/php_session.h:1.55
--- php4/ext/session/php_session.h:1.54 Sat Aug 25 12:09:22 2001
+++ php4/ext/session/php_session.h Sat Aug 25 21:09:19 2001
@@ -90,6 +90,7 @@
zend_bool auto_start;
zend_bool define_sid;
zend_bool use_cookies;
+ zend_bool use_trans_sid;
} php_ps_globals;
extern zend_module_entry session_module_entry;
@@ -148,8 +149,6 @@
void php_set_session_var(char *name, size_t namelen, zval *state_val,HashTable *var_hash
TSRMLS_DC);
int php_get_session_var(char *name, size_t namelen, zval ***state_var TSRMLS_DC);
-void php_session_start_output_handler(INIT_FUNC_ARGS, uint chunk_size);
-void php_session_end_output_handler(SHUTDOWN_FUNC_ARGS);
int php_session_register_module(ps_module *);
Index: php4/ext/session/session.c
diff -u php4/ext/session/session.c:1.240 php4/ext/session/session.c:1.241
--- php4/ext/session/session.c:1.240 Sat Aug 25 12:09:22 2001
+++ php4/ext/session/session.c Sat Aug 25 21:09:19 2001
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: session.c,v 1.240 2001/08/25 16:09:22 zeev Exp $ */
+/* $Id: session.c,v 1.241 2001/08/26 01:09:19 zeev Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -83,6 +83,33 @@
static ps_module *_php_find_ps_module(char *name TSRMLS_DC);
static const ps_serializer *_php_find_ps_serializer(char *name TSRMLS_DC);
+static void php_session_output_handler(char *output, uint output_len, char **handled_output, uint
*handled_output_len, int mode TSRMLS_DC)
+{
+ zend_bool do_flush;
+
+ if (mode&PHP_OUTPUT_HANDLER_END) {
+ do_flush=1;
+ }
+ session_adapt_uris(output, output_len, handled_output, handled_output_len, do_flush TSRMLS_CC);
+}
+
+
+static void php_session_start_output_handler(INIT_FUNC_ARGS, uint chunk_size)
+{
+ PHP_RINIT(url_scanner)(INIT_FUNC_ARGS_PASSTHRU);
+ PHP_RINIT(url_scanner_ex)(INIT_FUNC_ARGS_PASSTHRU);
+ php_start_ob_buffer(NULL, chunk_size TSRMLS_CC);
+ php_ob_set_internal_handler(php_session_output_handler, chunk_size TSRMLS_CC);
+}
+
+
+static void php_session_end_output_handler(SHUTDOWN_FUNC_ARGS)
+{
+ PHP_RSHUTDOWN(url_scanner_ex)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
+ PHP_RSHUTDOWN(url_scanner)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
+}
+
+
static PHP_INI_MH(OnUpdateSaveHandler)
{
PS(mod) = _php_find_ps_module(new_value TSRMLS_CC);
@@ -123,6 +150,7 @@
STD_PHP_INI_ENTRY("session.entropy_length", "0", PHP_INI_ALL,
OnUpdateInt, entropy_length, php_ps_globals, ps_globals)
STD_PHP_INI_ENTRY("session.cache_limiter", "nocache", PHP_INI_ALL,
OnUpdateString, cache_limiter, php_ps_globals, ps_globals)
STD_PHP_INI_ENTRY("session.cache_expire", "180", PHP_INI_ALL,
OnUpdateInt, cache_expire, php_ps_globals, ps_globals)
+ STD_PHP_INI_ENTRY("session.use_trans_sid", "1", PHP_INI_ALL,
OnUpdateBool, use_trans_sid, php_ps_globals, ps_globals)
/* Commented out until future discussion */
/* PHP_INI_ENTRY("session.encode_sources", "globals,track", PHP_INI_ALL, NULL)
*/
PHP_INI_END()
@@ -1360,6 +1388,10 @@
php_session_start(TSRMLS_C);
}
+ if (PS(use_trans_sid)) {
+ php_session_start_output_handler(INIT_FUNC_ARGS_PASSTHRU, 4096);
+ }
+
return SUCCESS;
}
@@ -1378,6 +1410,9 @@
PHP_RSHUTDOWN_FUNCTION(session)
{
+ if (PS(use_trans_sid)) {
+ php_session_end_output_handler(SHUTDOWN_FUNC_ARGS_PASSTHRU);
+ }
php_session_flush(TSRMLS_C);
php_rshutdown_session_globals(TSRMLS_C);
return SUCCESS;
@@ -1417,34 +1452,6 @@
DISPLAY_INI_ENTRIES();
}
-
-static void php_session_output_handler(char *output, uint output_len, char **handled_output, uint
*handled_output_len, int mode TSRMLS_DC)
-{
- zend_bool do_flush;
-
- if (mode&PHP_OUTPUT_HANDLER_END) {
- do_flush=1;
- }
- session_adapt_uris(output, output_len, handled_output, handled_output_len, do_flush TSRMLS_CC);
-}
-
-
-void php_session_start_output_handler(INIT_FUNC_ARGS, uint chunk_size)
-{
- memset(&BG(url_adapt_state), 0, sizeof(BG(url_adapt_state)));
- memset(&BG(url_adapt_state_ex), 0, sizeof(BG(url_adapt_state_ex)));
- PHP_RINIT(url_scanner)(INIT_FUNC_ARGS_PASSTHRU);
- PHP_RINIT(url_scanner_ex)(INIT_FUNC_ARGS_PASSTHRU);
- php_start_ob_buffer(NULL, chunk_size TSRMLS_CC);
- php_ob_set_internal_handler(php_session_output_handler, chunk_size TSRMLS_CC);
-}
-
-
-void php_session_end_output_handler(SHUTDOWN_FUNC_ARGS)
-{
- PHP_RSHUTDOWN(url_scanner_ex)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
- PHP_RSHUTDOWN(url_scanner)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
-}
/*
* Local variables:
Index: php4/ext/standard/basic_functions.c
diff -u php4/ext/standard/basic_functions.c:1.388 php4/ext/standard/basic_functions.c:1.389
--- php4/ext/standard/basic_functions.c:1.388 Sat Aug 25 12:09:22 2001
+++ php4/ext/standard/basic_functions.c Sat Aug 25 21:09:20 2001
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: basic_functions.c,v 1.388 2001/08/25 16:09:22 zeev Exp $ */
+/* $Id: basic_functions.c,v 1.389 2001/08/26 01:09:20 zeev Exp $ */
#include "php.h"
#include "php_main.h"
@@ -662,7 +662,6 @@
PHP_INI_BEGIN()
PHP_INI_ENTRY_EX("safe_mode_protected_env_vars", SAFE_MODE_PROTECTED_ENV_VARS, PHP_INI_SYSTEM, OnUpdateSafeModeProtectedEnvVars, NULL)
PHP_INI_ENTRY_EX("safe_mode_allowed_env_vars", SAFE_MODE_ALLOWED_ENV_VARS, PHP_INI_SYSTEM, OnUpdateSafeModeAllowedEnvVars, NULL)
- STD_PHP_INI_ENTRY("session.use_trans_sid",
"1", PHP_INI_ALL, OnUpdateBool, use_trans_sid, php_basic_globals, basic_globals)
PHP_INI_END()
@@ -713,6 +712,9 @@
zend_hash_init(&BG(sm_protected_env_vars), 5, NULL, NULL, 1);
BG(sm_allowed_env_vars) = NULL;
+ memset(&BG(url_adapt_state), 0, sizeof(BG(url_adapt_state)));
+ memset(&BG(url_adapt_state_ex), 0, sizeof(BG(url_adapt_state_ex)));
+
#ifdef PHP_WIN32
CoInitialize(NULL);
#endif
@@ -871,11 +873,6 @@
PHP_RINIT(filestat)(INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(syslog)(INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(dir)(INIT_FUNC_ARGS_PASSTHRU);
-
- if (BG(use_trans_sid)) {
- php_session_start_output_handler(INIT_FUNC_ARGS_PASSTHRU, 4096);
- }
-
return SUCCESS;
}
@@ -901,10 +898,6 @@
PHP_RSHUTDOWN(filestat)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
PHP_RSHUTDOWN(syslog)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
PHP_RSHUTDOWN(assert)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
-
- if (BG(use_trans_sid)) {
- php_session_end_output_handler(SHUTDOWN_FUNC_ARGS_PASSTHRU);
- }
if (BG(user_tick_functions)) {
zend_llist_destroy(BG(user_tick_functions));
Index: php4/ext/standard/basic_functions.h
diff -u php4/ext/standard/basic_functions.h:1.89 php4/ext/standard/basic_functions.h:1.90
--- php4/ext/standard/basic_functions.h:1.89 Sat Aug 25 12:09:22 2001
+++ php4/ext/standard/basic_functions.h Sat Aug 25 21:09:20 2001
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: basic_functions.h,v 1.89 2001/08/25 16:09:22 zeev Exp $ */
+/* $Id: basic_functions.h,v 1.90 2001/08/26 01:09:20 zeev Exp $ */
#ifndef BASIC_FUNCTIONS_H
#define BASIC_FUNCTIONS_H
@@ -179,7 +179,6 @@
/* var.c */
zend_class_entry *incomplete_class;
- zend_bool use_trans_sid;
/* url_scanner.c */
url_adapt_state_t url_adapt_state;