com php-src: Merge branch 'PHP-5.6': ext/session/session.c ext/session/tests/session_set_save_handler_iface_0 03.phpt
ext/session/tests/session_set_save_handle r_sid_001.phpt

From: Date: Thu, 06 Nov 2014 04:49:43 +0000
Subject: com php-src: Merge branch 'PHP-5.6': ext/session/session.c ext/session/tests/session_set_save_handler_iface_0 03.phpt
ext/session/tests/session_set_save_handle r_sid_001.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-82951@lists.php.net to get a copy of this message
Commit: 6b8328de740ce0bc116f322be5193b6b7b83927f Author: Yasuo Ohgaki <yohgaki@php.net> Thu, 6 Nov 2014 13:49:43 +0900 Parents: 4b8cc567cd6a0c8717bf24f5f1abc2a34b711462 4dd3fbfcd28f8a3826361c5c4b7aa4c4da592b22 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=6b8328de740ce0bc116f322be5193b6b7b83927f Log: Merge branch 'PHP-5.6' * PHP-5.6: Fixed bug #68331 - This was partial patch for https://wiki.php.net/rfc/session-lock-ini Fixed 2 tests that expects bool retrun value from save handler. Conflicts: ext/session/session.c Bugs: https://bugs.php.net/68331 Changed paths: MM ext/session/session.c MM ext/session/tests/session_set_save_handler_iface_003.phpt MM ext/session/tests/session_set_save_handler_sid_001.phpt Diff: diff --cc ext/session/session.c index dae965b,edc8f15..8d112c3 --- a/ext/session/session.c +++ b/ext/session/session..c @@@ -506,17 -514,8 +506,8 @@@ static void php_session_initialize(TSRM PS(session_status) = php_session_active; } if (val) { - PHP_MD5_CTX context; - - /* Store read data's MD5 hash */ - PHP_MD5Init(&context); - PHP_MD5Update(&context, val->val, val->len); - PHP_MD5Final(PS(session_data_hash), &context); - - php_session_decode(val, vallen TSRMLS_CC); - str_efree(val); + php_session_decode(val->val, val->len TSRMLS_CC); + zend_string_release(val); - } else { - memset(PS(session_data_hash),'\0', 16); } if (!PS(use_cookies) && PS(send_cookie)) { @@@ -534,26 -533,22 +525,14 @@@ static void php_session_save_current_st IF_SESSION_VARS() { if (PS(mod_data) || PS(mod_user_implemented)) { - char *val; - int vallen; + zend_string *val; - val = php_session_encode(&vallen TSRMLS_CC); + val = php_session_encode(TSRMLS_C); if (val) { -- PHP_MD5_CTX context; -- unsigned char digest[16]; -- -- /* Generate data's MD5 hash */ -- PHP_MD5Init(&context); - PHP_MD5Update(&context, val->val, val->len); - PHP_MD5Update(&context, val, vallen); -- PHP_MD5Final(digest, &context); - /* Write only when save is required */ - if (memcmp(digest, PS(session_data_hash), 16)) { - ret = PS(mod)->s_write(&PS(mod_data), PS(id), val TSRMLS_CC); - } else { - ret = SUCCESS; - } - ret = PS(mod)->s_write(&PS(mod_data), PS(id), val, vallen TSRMLS_CC); - efree(val); ++ ret = PS(mod)->s_write(&PS(mod_data), PS(id), val TSRMLS_CC); + zend_string_release(val); } else { - ret = PS(mod)->s_write(&PS(mod_data), PS(id), "", 0 TSRMLS_CC); + ret = PS(mod)->s_write(&PS(mod_data), PS(id), STR_EMPTY_ALLOC() TSRMLS_CC); } } @@@ -1970,11 -1979,10 +1949,10 @@@ static PHP_FUNCTION(session_regenerate_ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Session object destruction failed"); RETURN_FALSE; } - efree(PS(id)); + zend_string_release(PS(id)); - memset(PS(session_data_hash),'\0', 16); } - PS(id) = PS(mod)->s_create_sid(&PS(mod_data), NULL TSRMLS_CC); + PS(id) = PS(mod)->s_create_sid(&PS(mod_data) TSRMLS_CC); if (PS(id)) { PS(send_cookie) = 1; php_session_reset_id(TSRMLS_C); diff --cc ext/session/tests/session_set_save_handler_iface_003.phpt index bd757dc,bd757dc..4d7ed3b --- a/ext/session/tests/session_set_save_handler_iface_003.phpt +++ b/ext/session/tests/session_set_save_handler_iface_003.phpt @@@ -38,7 -38,7 +38,8 @@@ class MySession2 implements SessionHand } public function write($id, $data) { -- return file_put_contents($this->path . $id, $data); ++ // Empty $data = 0 = false ++ return (bool)file_put_contents($this->path . $id, $data); } public function destroy($id) { diff --cc ext/session/tests/session_set_save_handler_sid_001.phpt index 0dc4fc1,0dc4fc1..24ba5d7 --- a/ext/session/tests/session_set_save_handler_sid_001.phpt +++ b/ext/session/tests/session_set_save_handler_sid_001.phpt @@@ -32,7 -32,7 +32,8 @@@ class MySession2 } public function write($id, $data) { -- return file_put_contents($this->path . $id, $data); ++ // Empty $data = 0 = false ++ return (bool)file_put_contents($this->path . $id, $data); } public function destroy($id) {

« previous php.cvs (#82951) next »