Tim Düsterhus
b825756317
Update expires format for session cookie ( #9304 )
...
* Update expires format for session cookie
see GH-9200
see 15e3fcb468
* Add ext/session/tests/gh9200.phpt
2022-08-12 19:52:04 +02:00
Eric Norris
09237f6126
Update request startup error messages
2022-07-18 23:19:59 +01:00
Ilija Tovilo
9a90bd7054
Deprecate ${} string interpolation
...
https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation
2022-05-05 10:14:56 +02:00
Ilija Tovilo
0db03c4110
Improve sesson write failure message for user error handlers
...
Closes GH-7787
Closes GH-8186
2022-03-11 15:08:16 +01:00
Nikita Popov
902d64390e
Deprecate implicit dynamic properties
...
Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/__set().
RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties
2021-11-26 14:10:11 +01:00
Nikita Popov
8be10fb48d
Remove redundant test
...
This test is the same as 001.phpt, apart from some formatting
differences.
2021-11-26 11:24:22 +01:00
Nikita Popov
98d004c9bc
Fix CLEAN sections
2021-09-03 12:36:02 +02:00
Nikita Popov
2ab4482d34
Fix some broken or unnecessary CLEAN sections
2021-09-03 10:52:30 +02:00
Nikita Popov
185212109c
Fix session + Serializable tests
...
These were broken when the deprecation warning was added, as the
extra output prevented the session from being started.
2021-07-30 16:13:05 +02:00
Patrick Allaert
ac18dd0dc7
Prefer EXPECT over EXPECTF
2021-06-29 17:13:02 +02:00
Nikita Popov
6600ad6067
Add some missing EXTENSIONS sections to misc tests
2021-06-14 14:52:44 +02:00
Nikita Popov
b5a14e6c04
Port skipif.inc files to EXTENSIONS
2021-06-11 16:27:50 +02:00
Nikita Popov
7485978339
Migrate SKIPIF -> EXTENSIONS ( #7138 )
...
This is an automated migration of most SKIPIF extension_loaded checks.
2021-06-11 11:57:42 +02:00
George Peter Banyard
b6958bb847
Implement "Deprecate implicit non-integer-compatible float to int conversions" RFC. ( #6661 )
...
RFC: https://wiki.php.net/rfc/implicit-float-int-deprecate
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com >
2021-05-31 15:48:45 +01:00
Máté Kocsis
787db3af48
Declare tentative return types for ext/session ( #7005 )
2021-05-28 10:29:08 +02:00
Máté Kocsis
29642623fd
Promote "Session is not active" warning to exception
...
In normal circumstances, the session handler methods are not invoked when the session is not active.
Closes GH-7006
2021-05-27 23:26:15 +02:00
Máté Kocsis
53b5105edd
Merge branch 'PHP-8.0'
...
* Fix session cleanup
* Fix the return type of SessionHandler::gc()
2021-05-27 23:08:27 +02:00
Máté Kocsis
b165197f0f
Fix session cleanup
2021-05-27 23:03:19 +02:00
Björn Tantau
d764f1dc12
Fix #77372 : Retain full path of files for directory uploads ( #6917 )
...
To fix https://bugs.php.net/bug.php?id=77372 and improve support of `<input type="file" name="files" multiple webkitdirectory>` I introduced another item to the `$_FILES` array called `full_path`, containing the full filename, as supplied by the user-agent.
Co-authored-by: Björn Tantau <bjoern@bjoern-tantau.de >
2021-05-14 11:43:55 +02:00
Nikita Popov
3e6b447979
Partially deprecate Serializable
...
If Serializable is implemented, require that __serialize() and
__unserialize() are implemented as well, else issue a deprecation
warning.
Also deprecate use of PDO::FETCH_SERIALIZE.
RFC: https://wiki.php.net/rfc/phase_out_serializable
Closes GH-6494.
2021-04-28 16:55:14 +02:00
Christoph M. Becker
fd62917730
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #80889 : amendment
2021-03-22 22:51:12 +01:00
Christoph M. Becker
90be86fc91
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #80889 : amendment
2021-03-22 22:49:46 +01:00
Christoph M. Becker
838951c2d6
Fix #80889 : amendment
...
`session_set_save_handler()` may be called with callables instead of an
object; we need to cater to that as well.
We also extract a set_user_save_handler_ini() function to avoid code
duplication.
Closes GH-6796.
2021-03-22 22:17:35 +01:00
Christoph M. Becker
64e589cab6
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #80889 : Cannot set save handler when save_handler is invalid
2021-03-19 17:05:32 +01:00
Christoph M. Becker
2a1ed81ffc
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #80889 : Cannot set save handler when save_handler is invalid
2021-03-19 17:03:54 +01:00
Christoph M. Becker
06bfada99b
Fix #80889 : Cannot set save handler when save_handler is invalid
...
There is no need to require a (valid) save_handler to be set, when a
user handler is supposed to be set. We just have to make sure, that
no user handler is already set in this case.
Closes GH-6788.
2021-03-19 16:59:54 +01:00
Christoph M. Becker
59d030c55b
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #80774 : session_name() problem with backslash
2021-02-22 12:36:43 +01:00
Christoph M. Becker
6dcd640f35
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #80774 : session_name() problem with backslash
2021-02-22 12:35:23 +01:00
Christoph M. Becker
d7c98ca1ac
Fix #80774 : session_name() problem with backslash
...
Since we do no longer URL decode cookie names[1], we must not URL
encode the session name. We need to prevent broken Set-Cookie headers,
by rejecting names which contain invalid characters.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=6559fe912661ca5ce5f0eeeb591d928451428ed0 >
Closes GH-6711.
2021-02-22 12:32:56 +01:00
Nikita Popov
b10416a652
Deprecate passing null to non-nullable arg of internal function
...
This deprecates passing null to non-nullable scale arguments of
internal functions, with the eventual goal of making the behavior
consistent with userland functions, where null is never accepted
for non-nullable arguments.
This change is expected to cause quite a lot of fallout. In most
cases, calling code should be adjusted to avoid passing null. In
some cases, PHP should be adjusted to make some function arguments
nullable. I have already fixed a number of functions before landing
this, but feel free to file a bug if you encounter a function that
doesn't accept null, but probably should. (The rule of thumb for
this to be applicable is that the function must have special behavior
for 0 or "", which is distinct from the natural behavior of the
parameter.)
RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg
Closes GH-6475.
2021-02-11 21:46:13 +01:00
Nikita Popov
3c68f38fda
Restrict allowed usages of $GLOBALS
...
This restricts allowed usage of $GLOBALS, with the effect that
plain PHP arrays can no longer contain INDIRECT elements.
RFC: https://wiki.php.net/rfc/restrict_globals_usage
Closes GH-6487.
2021-01-06 12:46:24 +01:00
Nikita Popov
8f17d48b69
Allow running session tests in parallel
...
Use unique session IDs and/or save paths. Also removes the annoying
order-dependence of session tests.
2020-10-23 16:55:11 +02:00
George Peter Banyard
82e14ff8e7
Drop usage of E_RECOVERABLE_ERROR in Session extension
2020-09-22 19:11:30 +01:00
Nikita Popov
c5401854fc
Run tidy
...
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
2020-09-18 14:28:32 +02:00
Máté Kocsis
46c0c82a0f
Declare array|int and object-of-class|int types in stubs
...
Closes GH-6081
Co-Authored-By: Nikita Popov <nikic@php.net >
2020-09-14 11:59:32 +02:00
Christoph M. Becker
853b7945bc
Unmark tests as XFAIL on Windows
...
This issue has been resolved[1], so the tests are expected to pass on
Windows again.
[1] <https://github.com/php/php-src/commit/0a03291b51e7cf199c06ba4ae914277ce0ac4202 >
2020-09-14 10:14:21 +02:00
Christoph M. Becker
873c087398
Mark tests as XFAIL on Windows
...
These tests segfault with tracing JIT on Windows as of a recent
commit[1]. A link to a backtrace is available in a comment[2]. For
now, we mark these tests as XFAIL, to keep AppVeyor CI helpful.
[1] <https://github.com/php/php-src/commit/817ae414962480d133ed76618b88b3e7ba482718 >
[2] <https://github.com/php/php-src/commit/817ae414962480d133ed76618b88b3e7ba482718#commitcomment-42227420 >
2020-09-13 15:38:57 +02:00
Máté Kocsis
f293e6b920
Clean up ext/session errors
...
Closes GH-6111
2020-09-11 11:59:04 +02:00
Máté Kocsis
9975986b7e
Improve error messages mentioning parameters instead of arguments
...
Closes GH-5999
2020-09-09 10:47:43 +02:00
Máté Kocsis
7aacc705d0
Add many missing closing PHP tags to tests
...
Closes GH-5958
2020-08-09 22:03:36 +02:00
Nikita Popov
52047addc7
Only force log startup errors if display_startup_errors disabled
...
Otherwise this results in duplicate errors.
Closes GH-5941.
2020-08-05 18:17:00 +02:00
Nikita Popov
c48b745f00
Promote "undefined array key" notice to warning
...
This implements the last remaining part of the
https://wiki.php.net/rfc/engine_warnings RFC.
Closes GH-5927.
2020-08-03 14:40:50 +02:00
Nikita Popov
b891adea8d
Don't suppress notices in rfc1867 tests
...
The references notices in debug builds don't seem to be present
anymore.
2020-08-03 11:58:59 +02:00
Christoph M. Becker
dd30a3d8ce
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix brittle test
2020-07-22 20:47:16 +02:00
Christoph M. Becker
0a59a71947
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix brittle test
2020-07-22 20:46:28 +02:00
Christoph M. Becker
6b99a8be4d
Fix brittle test
...
This test fails occasionally due to timing issues, because the session
file may have been unlinked by the first `session_start()`'s GC. We
adapt the test expectation to this reality.
2020-07-22 20:45:56 +02:00
Máté Kocsis
d30cd7d7e7
Review the usage of apostrophes in error messages
...
Closes GH-5590
2020-07-10 21:05:28 +02:00
Nikita Popov
75a04eac97
Make exit() unwind properly
...
exit() is now internally implemented by throwing an exception,
performing a normal stack unwind and a clean shutdown. This ensures
that no persistent resource leaks occur.
The exception is internal, cannot be caught and does not result in
the execution of finally blocks. This may be relaxed in the future.
Closes GH-5768.
2020-06-29 15:50:12 +02:00
Máté Kocsis
b5c7a83dca
Remove unnecessary PHPDoc-alike blocks from tests
...
Closes GH-5759
2020-06-24 13:13:44 +02:00
Máté Kocsis
b981662855
Fix a couple of UNKNOWN default values in ext/session
...
Closes GH-5752
2020-06-23 15:42:59 +02:00