cvs: php4 /ext/session php_session.h session.c /ext/standard basic_functions.c basic_functions.h

From: 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;

« previous php.cvs (#7063) next »