[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-cvs
Subject:    [PHP-CVS] cvs: php4 /ext/session php_session.h session.c
From:       "Zeev Suraski" <zeev () zend ! com>
Date:       2001-08-31 18:32:13
[Download RAW message or body]

zeev		Fri Aug 31 16:03:10 2001 EDT

  Modified files:              
    /php4/ext/session	php_session.h session.c 
  Log:
  Restore session_adapt_url()
  
  
Index: php4/ext/session/php_session.h
diff -u php4/ext/session/php_session.h:1.58 php4/ext/session/php_session.h:1.59
--- php4/ext/session/php_session.h:1.58	Fri Aug 31 15:26:12 2001
+++ php4/ext/session/php_session.h	Fri Aug 31 16:03:09 2001
@@ -89,7 +89,8 @@
 	zval *http_session_vars;
 	zend_bool auto_start;
 	zend_bool use_cookies;
-	zend_bool use_trans_sid;
+	zend_bool use_trans_sid;	/* contains the INI value of whether to use trans-sid */
+	zend_bool apply_trans_sid;	/* whether or not to enable trans-sid for the current request */
 	zend_bool output_handler_registered;
 } php_ps_globals;
 
@@ -144,7 +145,7 @@
 #define PS_SERIALIZER_ENTRY(x) \
 	{ #x, PS_SERIALIZER_ENCODE_NAME(x), PS_SERIALIZER_DECODE_NAME(x) }
 
-void session_adapt_url(const char *, size_t, char **, size_t * TSRMLS_DC);
+PHPAPI void session_adapt_url(const char *, size_t, char **, size_t * TSRMLS_DC);
 
 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);
Index: php4/ext/session/session.c
diff -u php4/ext/session/session.c:1.248 php4/ext/session/session.c:1.249
--- php4/ext/session/session.c:1.248	Fri Aug 31 15:26:12 2001
+++ php4/ext/session/session.c	Fri Aug 31 16:03:09 2001
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: session.c,v 1.248 2001/08/31 19:26:12 zeev Exp $ */
+/* $Id: session.c,v 1.249 2001/08/31 20:03:09 zeev Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -809,7 +809,8 @@
 	int module_number = PS(module_number);
 	int nrand;
 	int lensess;
-	int register_trans_sid_handler = PS(use_trans_sid);
+
+	PS(apply_trans_sid) = PS(use_trans_sid);
 
 	if (PS(session_status) != php_session_none) 
 		return;
@@ -829,7 +830,7 @@
 				zend_hash_find(Z_ARRVAL_PP(data), PS(session_name),
 					lensess + 1, (void **) &ppid) == SUCCESS) {
 			PPID2SID;
-			register_trans_sid_handler = 0;
+			PS(apply_trans_sid) = 0;
 			send_cookie = 0;
 		}
 
@@ -884,14 +885,14 @@
 		efree(PS(id));
 		PS(id) = NULL;
 		send_cookie = 1;
-		register_trans_sid_handler = 1;
+		PS(apply_trans_sid) = 1;
 	}
 	
 	if (!PS(id))
 		PS(id) = _php_create_id(NULL TSRMLS_CC);
 	
 	if (!PS(use_cookies) && send_cookie) {
-		register_trans_sid_handler = 1;
+		PS(apply_trans_sid) = 1;
 		send_cookie = 0;
 	}
 	
@@ -900,7 +901,7 @@
 	}
 
 
-	if (register_trans_sid_handler) {
+	if (PS(apply_trans_sid)) {
 		smart_str var = {0};
 
 		smart_str_appends(&var, PS(session_name));
@@ -913,7 +914,7 @@
 	}
 
 	PS(session_status) = php_session_active;
-	if (register_trans_sid_handler) {
+	if (PS(apply_trans_sid)) {
 		php_session_start_output_handler(4096 TSRMLS_CC);
 	}
 
@@ -1337,6 +1338,15 @@
 	zend_hash_clean(Z_ARRVAL_P(PS(http_session_vars)));
 }
 /* }}} */
+
+
+PHPAPI void session_adapt_url(const char *url, size_t urllen, char **new, size_t *newlen TSRMLS_DC)
+{
+	if (PS(apply_trans_sid) && (PS(session_status) == php_session_active)) {
+		*new = url_adapt_single_url(url, urllen, PS(session_name), PS(id), newlen TSRMLS_CC);
+	}
+}
+
 
 static void php_rinit_session_globals(TSRMLS_D)
 {		



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: php-cvs-unsubscribe@lists.php.net
For additional commands, e-mail: php-cvs-help@lists.php.net
To contact the list administrators, e-mail: php-list-admin@lists.php.net

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic