diff options
| author | Ondřej Surý <ondrej@sury.org> | 2013-01-16 09:02:55 +0100 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2013-01-16 09:02:55 +0100 |
| commit | 8572aeb0703107705fc7dde35961cd6a5f89c0c8 (patch) | |
| tree | 833d2a593591ac362a7dfe90971bef61d155bfaa /ext/session | |
| parent | 0b82e05fe264306004119e30119e665365331e17 (diff) | |
| download | php-8572aeb0703107705fc7dde35961cd6a5f89c0c8.tar.gz | |
Imported Upstream version 5.5.0~alpha3upstream/5.5.0_alpha3
Diffstat (limited to 'ext/session')
| -rw-r--r-- | ext/session/mod_files.c | 2 | ||||
| -rw-r--r-- | ext/session/mod_files.h | 2 | ||||
| -rw-r--r-- | ext/session/mod_mm.c | 2 | ||||
| -rw-r--r-- | ext/session/mod_mm.h | 2 | ||||
| -rw-r--r-- | ext/session/mod_user.c | 2 | ||||
| -rw-r--r-- | ext/session/mod_user.h | 2 | ||||
| -rw-r--r-- | ext/session/mod_user_class.c | 3 | ||||
| -rw-r--r-- | ext/session/php_session.h | 2 | ||||
| -rw-r--r-- | ext/session/session.c | 6 | ||||
| -rw-r--r-- | ext/session/tests/bug60860.phpt | 2 | ||||
| -rw-r--r-- | ext/session/tests/bug63379.phpt | 57 | ||||
| -rw-r--r-- | ext/session/tests/bug63379_nodestroy.phpt | 57 |
12 files changed, 128 insertions, 11 deletions
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c index 621c4e1db..1665ba53a 100644 --- a/ext/session/mod_files.c +++ b/ext/session/mod_files.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | diff --git a/ext/session/mod_files.h b/ext/session/mod_files.h index 43ac47f1a..c97d168b1 100644 --- a/ext/session/mod_files.h +++ b/ext/session/mod_files.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | diff --git a/ext/session/mod_mm.c b/ext/session/mod_mm.c index b99dd8219..e5406d0bc 100644 --- a/ext/session/mod_mm.c +++ b/ext/session/mod_mm.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | diff --git a/ext/session/mod_mm.h b/ext/session/mod_mm.h index adec50457..3ddadced4 100644 --- a/ext/session/mod_mm.h +++ b/ext/session/mod_mm.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c index 84a28d342..57d7bd0ed 100644 --- a/ext/session/mod_user.c +++ b/ext/session/mod_user.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | diff --git a/ext/session/mod_user.h b/ext/session/mod_user.h index ea1980ab4..fd149ccff 100644 --- a/ext/session/mod_user.h +++ b/ext/session/mod_user.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | diff --git a/ext/session/mod_user_class.c b/ext/session/mod_user_class.c index 70d2f40df..1ed1e7bbd 100644 --- a/ext/session/mod_user_class.c +++ b/ext/session/mod_user_class.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -121,7 +121,6 @@ PHP_METHOD(SessionHandler, destroy) return; } - PS(mod_user_is_open) = 0; RETVAL_BOOL(SUCCESS == PS(default_mod)->s_destroy(&PS(mod_data), key TSRMLS_CC)); } /* }}} */ diff --git a/ext/session/php_session.h b/ext/session/php_session.h index ba0195bec..adc5e7040 100644 --- a/ext/session/php_session.h +++ b/ext/session/php_session.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | diff --git a/ext/session/session.c b/ext/session/session.c index 0c08d4968..54bc6436a 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2013 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -1154,6 +1154,7 @@ static int php_session_cache_limiter(TSRMLS_D) /* {{{ */ #define COOKIE_SET_COOKIE "Set-Cookie: " #define COOKIE_EXPIRES "; expires=" +#define COOKIE_MAX_AGE "; Max-Age=" #define COOKIE_PATH "; path=" #define COOKIE_DOMAIN "; domain=" #define COOKIE_SECURE "; secure" @@ -1201,6 +1202,9 @@ static void php_session_send_cookie(TSRMLS_D) /* {{{ */ smart_str_appends(&ncookie, COOKIE_EXPIRES); smart_str_appends(&ncookie, date_fmt); efree(date_fmt); + + smart_str_appends(&ncookie, COOKIE_MAX_AGE); + smart_str_append_long(&ncookie, PS(cookie_lifetime)); } } diff --git a/ext/session/tests/bug60860.phpt b/ext/session/tests/bug60860.phpt index 12310205a..83185862f 100644 --- a/ext/session/tests/bug60860.phpt +++ b/ext/session/tests/bug60860.phpt @@ -14,4 +14,4 @@ echo "ok\n"; --EXPECTF-- Warning: session_start(): user session functions not defined in %s on line 3 -Fatal error: session_start(): Failed to initialize storage module: user (path: ) in %s on line 3 +Fatal error: session_start(): Failed to initialize storage module: user (path:%s) in %s on line 3 diff --git a/ext/session/tests/bug63379.phpt b/ext/session/tests/bug63379.phpt new file mode 100644 index 000000000..80941828c --- /dev/null +++ b/ext/session/tests/bug63379.phpt @@ -0,0 +1,57 @@ +--TEST-- +Bug #63379: Warning when using session_regenerate_id(TRUE) with a SessionHandler +--INI-- +session.save_handler=files +session.name=PHPSESSID +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php + +ob_start(); + +$handler = new SessionHandler; +session_set_save_handler($handler); + +session_start(); + +$_SESSION['foo'] = 'hello'; +var_dump($_SESSION); + +session_regenerate_id(true); + +echo "*** Regenerated ***\n"; +var_dump($_SESSION); + +$_SESSION['bar'] = 'world'; + +var_dump($_SESSION); + +session_write_close(); +session_unset(); + +session_start(); +var_dump($_SESSION); + +--EXPECTF-- +array(1) { + ["foo"]=> + string(5) "hello" +} +*** Regenerated *** +array(1) { + ["foo"]=> + string(5) "hello" +} +array(2) { + ["foo"]=> + string(5) "hello" + ["bar"]=> + string(5) "world" +} +array(2) { + ["foo"]=> + string(5) "hello" + ["bar"]=> + string(5) "world" +} diff --git a/ext/session/tests/bug63379_nodestroy.phpt b/ext/session/tests/bug63379_nodestroy.phpt new file mode 100644 index 000000000..03a9ae74d --- /dev/null +++ b/ext/session/tests/bug63379_nodestroy.phpt @@ -0,0 +1,57 @@ +--TEST-- +Bug #63379: Warning when using session_regenerate_id(TRUE) with a SessionHandler +--INI-- +session.save_handler=files +session.name=PHPSESSID +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php + +ob_start(); + +$handler = new SessionHandler; +session_set_save_handler($handler); + +session_start(); + +$_SESSION['foo'] = 'hello'; +var_dump($_SESSION); + +session_regenerate_id(false); + +echo "*** Regenerated ***\n"; +var_dump($_SESSION); + +$_SESSION['bar'] = 'world'; + +var_dump($_SESSION); + +session_write_close(); +session_unset(); + +session_start(); +var_dump($_SESSION); + +--EXPECTF-- +array(1) { + ["foo"]=> + string(5) "hello" +} +*** Regenerated *** +array(1) { + ["foo"]=> + string(5) "hello" +} +array(2) { + ["foo"]=> + string(5) "hello" + ["bar"]=> + string(5) "world" +} +array(2) { + ["foo"]=> + string(5) "hello" + ["bar"]=> + string(5) "world" +} |
