summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/session/session.c24
-rw-r--r--ext/session/tests/session_set_save_handler_iface_003.phpt3
-rw-r--r--ext/session/tests/session_set_save_handler_sid_001.phpt3
-rw-r--r--ext/session/tests/session_set_save_handler_write_short_circuit.phpt1
4 files changed, 6 insertions, 25 deletions
diff --git a/ext/session/session.c b/ext/session/session.c
index dae965b048..8d112c3a18 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -506,17 +506,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->val, val->len);
- PHP_MD5Final(PS(session_data_hash), &context);
-
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)) {
@@ -538,19 +529,7 @@ static void php_session_save_current_state(TSRMLS_D) /* {{{ */
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_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 TSRMLS_CC);
zend_string_release(val);
} else {
ret = PS(mod)->s_write(&PS(mod_data), PS(id), STR_EMPTY_ALLOC() TSRMLS_CC);
@@ -1971,7 +1950,6 @@ static PHP_FUNCTION(session_regenerate_id)
RETURN_FALSE;
}
zend_string_release(PS(id));
- memset(PS(session_data_hash),'\0', 16);
}
PS(id) = PS(mod)->s_create_sid(&PS(mod_data) TSRMLS_CC);
diff --git a/ext/session/tests/session_set_save_handler_iface_003.phpt b/ext/session/tests/session_set_save_handler_iface_003.phpt
index bd757dce63..4d7ed3b7ee 100644
--- 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,8 @@ class MySession2 implements SessionHandlerInterface, SessionIdInterface {
}
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 --git a/ext/session/tests/session_set_save_handler_sid_001.phpt b/ext/session/tests/session_set_save_handler_sid_001.phpt
index 0dc4fc11cf..24ba5d7489 100644
--- 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,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) {
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