com php-src: Fixed bug #68331 - This was partial patch for https://wiki.php.net/rfc/session-lock-ini: ext/session/session.c
ext/session/tests/session_set_save_handler_write_shor t_circuit.phpt
| From: | Yasuo Ohgaki | Date: | Thu, 06 Nov 2014 04:06:29 +0000 |
| Subject: | com php-src: Fixed bug #68331 - This was partial patch for https://wiki.php.net/rfc/session-lock-ini: ext/session/session.c ext/session/tests/session_set_save_handler_write_shor t_circuit.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-82950@lists.php.net to get a copy of this message | ||
Commit: 4dd3fbfcd28f8a3826361c5c4b7aa4c4da592b22
Author: Yasuo Ohgaki <yohgaki@php.net> Thu, 6 Nov 2014 13:06:29 +0900
Parents: d4050f42fd89e30a4efb2bda5845dae51e7dc87a
Branches: PHP-5.6
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=4dd3fbfcd28f8a3826361c5c4b7aa4c4da592b22
Log:
Fixed bug #68331 - This was partial patch for https://wiki.php.net/rfc/session-lock-ini
Bugs:
https://bugs.php.net/68331
Changed paths:
M ext/session/session.c
M ext/session/tests/session_set_save_handler_write_short_circuit.phpt
Diff:
diff --git a/ext/session/session.c b/ext/session/session.c
index d440e6f..edc8f15 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 02ca182..08da29a 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