diff options
author | Rasmus Lerdorf <rasmus@php.net> | 2006-02-10 07:39:13 +0000 |
---|---|---|
committer | Rasmus Lerdorf <rasmus@php.net> | 2006-02-10 07:39:13 +0000 |
commit | 6cc9f92d161b84ff62d0ab6284ca47eafca2996f (patch) | |
tree | f09ba86c8a8f9d27b2bba2ee51a8c8ea9ab9339d /ext | |
parent | 8fe545aab73e2baeb85e05a68df6600d9b3ae883 (diff) | |
download | php-git-6cc9f92d161b84ff62d0ab6284ca47eafca2996f.tar.gz |
(Missing patch from the PHP 4 tree that got lost in the shuffle)
See: http://cvs.php.net/viewcvs.cgi/php-src/ext/session/session.c?r1=1.336.2.39&r2=1.336.2.40
- fix logic. if the client already sent us the cookie, we don't
need to send it again. if the id has been changed, we need to
update the client side.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/session/session.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index d546fed0b1..a15549c433 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1088,8 +1088,9 @@ static void php_session_reset_id(TSRMLS_D) { int module_number = PS(module_number); - if (PS(use_cookies)) { + if (PS(use_cookies) && PS(send_cookie)) { php_session_send_cookie(TSRMLS_C); + PS(send_cookie) = 0; } /* if the SID constant exists, destroy it. */ @@ -1485,6 +1486,7 @@ PHP_FUNCTION(session_regenerate_id) PS(id) = PS(mod)->s_create_sid(&PS(mod_data), NULL TSRMLS_CC); + PS(send_cookie) = 1; php_session_reset_id(TSRMLS_C); RETURN_TRUE; |