diff options
author | Yasuo Ohgaki <yohgaki@php.net> | 2014-11-06 13:06:29 +0900 |
---|---|---|
committer | Yasuo Ohgaki <yohgaki@php.net> | 2014-11-06 13:06:29 +0900 |
commit | 4dd3fbfcd28f8a3826361c5c4b7aa4c4da592b22 (patch) | |
tree | 1a5cdb80cecbd393a527f803c74047e81a3fe980 | |
parent | d4050f42fd89e30a4efb2bda5845dae51e7dc87a (diff) | |
download | php-git-4dd3fbfcd28f8a3826361c5c4b7aa4c4da592b22.tar.gz |
Fixed bug #68331 - This was partial patch for https://wiki.php.net/rfc/session-lock-ini
-rw-r--r-- | ext/session/session.c | 17 | ||||
-rw-r--r-- | ext/session/tests/session_set_save_handler_write_short_circuit.phpt | 1 |
2 files changed, 2 insertions, 16 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index d440e6fdd9..edc8f15d5b 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -514,17 +514,8 @@ static void php_session_initialize(TSRMLS_D) /* {{{ */ 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, vallen); - PHP_MD5Final(PS(session_data_hash), &context); - php_session_decode(val, vallen TSRMLS_CC); str_efree(val); - } else { - memset(PS(session_data_hash),'\0', 16); } if (!PS(use_cookies) && PS(send_cookie)) { @@ -554,12 +545,7 @@ static void php_session_save_current_state(TSRMLS_D) /* {{{ */ PHP_MD5Init(&context); 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, vallen TSRMLS_CC); - } else { - ret = SUCCESS; - } + ret = PS(mod)->s_write(&PS(mod_data), PS(id), val, vallen TSRMLS_CC); efree(val); } else { ret = PS(mod)->s_write(&PS(mod_data), PS(id), "", 0 TSRMLS_CC); @@ -1994,7 +1980,6 @@ static PHP_FUNCTION(session_regenerate_id) RETURN_FALSE; } efree(PS(id)); - memset(PS(session_data_hash),'\0', 16); } PS(id) = PS(mod)->s_create_sid(&PS(mod_data), NULL TSRMLS_CC); diff --git a/ext/session/tests/session_set_save_handler_write_short_circuit.phpt b/ext/session/tests/session_set_save_handler_write_short_circuit.phpt index 02ca182ec6..08da29a8fd 100644 --- a/ext/session/tests/session_set_save_handler_write_short_circuit.phpt +++ b/ext/session/tests/session_set_save_handler_write_short_circuit.phpt @@ -5,6 +5,7 @@ session.save_path= session.name=PHPSESSID --SKIPIF-- <?php include('skipif.inc'); ?> +skip - Waiting RFC patch merge --FILE-- <?php |