mirror of
https://github.com/linuxserver/Heimdall.git
synced 2025-12-02 04:59:49 +09:00
Update dependencies
This commit is contained in:
2
vendor/symfony/http-kernel/CHANGELOG.md
vendored
2
vendor/symfony/http-kernel/CHANGELOG.md
vendored
@@ -5,7 +5,7 @@ CHANGELOG
|
||||
---
|
||||
|
||||
* Add the ability to enable the profiler using a request query parameter, body parameter or attribute
|
||||
* Deprecate `AbstractTestSessionListener::getSession` inject a session in the request instead
|
||||
* Deprecate `AbstractTestSessionListener` and `TestSessionListener`, use `AbstractSessionListener` and `SessionListener` instead
|
||||
* Deprecate the `fileLinkFormat` parameter of `DebugHandlersListener`
|
||||
* Add support for configuring log level, and status code by exception class
|
||||
* Allow ignoring "kernel.reset" methods that don't exist with "on_invalid" attribute
|
||||
|
||||
@@ -100,11 +100,8 @@ class MemoryDataCollector extends DataCollector implements LateDataCollectorInte
|
||||
|
||||
switch (substr($memoryLimit, -1)) {
|
||||
case 't': $max *= 1024;
|
||||
// no break
|
||||
case 'g': $max *= 1024;
|
||||
// no break
|
||||
case 'm': $max *= 1024;
|
||||
// no break
|
||||
case 'k': $max *= 1024;
|
||||
}
|
||||
|
||||
|
||||
@@ -192,7 +192,7 @@ class RegisterControllerArgumentLocatorsPass implements CompilerPassInterface
|
||||
$args[$p->name] = new Reference($erroredId, ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE);
|
||||
} else {
|
||||
$target = ltrim($target, '\\');
|
||||
$args[$p->name] = $type ? new TypedReference($target, $type, $invalidBehavior, $p->name) : new Reference($target, $invalidBehavior);
|
||||
$args[$p->name] = $type ? new TypedReference($target, $type, $invalidBehavior, Target::parseName($p)) : new Reference($target, $invalidBehavior);
|
||||
}
|
||||
}
|
||||
// register the maps as a per-method service-locators
|
||||
|
||||
@@ -72,17 +72,17 @@ abstract class AbstractSessionListener implements EventSubscriberInterface, Rese
|
||||
$request->setSessionFactory(function () use (&$sess, $request) {
|
||||
if (!$sess) {
|
||||
$sess = $this->getSession();
|
||||
}
|
||||
|
||||
/*
|
||||
* For supporting sessions in php runtime with runners like roadrunner or swoole, the session
|
||||
* cookie needs to be read from the cookie bag and set on the session storage.
|
||||
*
|
||||
* Do not set it when a native php session is active.
|
||||
*/
|
||||
if ($sess && !$sess->isStarted() && \PHP_SESSION_ACTIVE !== session_status()) {
|
||||
$sessionId = $request->cookies->get($sess->getName(), '');
|
||||
$sess->setId($sessionId);
|
||||
/*
|
||||
* For supporting sessions in php runtime with runners like roadrunner or swoole, the session
|
||||
* cookie needs to be read from the cookie bag and set on the session storage.
|
||||
*
|
||||
* Do not set it when a native php session is active.
|
||||
*/
|
||||
if ($sess && !$sess->isStarted() && \PHP_SESSION_ACTIVE !== session_status()) {
|
||||
$sessionId = $sess->getId() ?: $request->cookies->get($sess->getName(), '');
|
||||
$sess->setId($sessionId);
|
||||
}
|
||||
}
|
||||
|
||||
return $sess;
|
||||
@@ -104,7 +104,7 @@ abstract class AbstractSessionListener implements EventSubscriberInterface, Rese
|
||||
// Always remove the internal header if present
|
||||
$response->headers->remove(self::NO_AUTO_CACHE_CONTROL_HEADER);
|
||||
|
||||
if (!$session = $this->container && $this->container->has('initialized_session') ? $this->container->get('initialized_session') : $event->getRequest()->getSession()) {
|
||||
if (!$session = $this->container && $this->container->has('initialized_session') ? $this->container->get('initialized_session') : ($event->getRequest()->hasSession() ? $event->getRequest()->getSession() : null)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -148,42 +148,45 @@ abstract class AbstractSessionListener implements EventSubscriberInterface, Rese
|
||||
$sessionCookieSecure = $sessionOptions['cookie_secure'] ?? false;
|
||||
$sessionCookieHttpOnly = $sessionOptions['cookie_httponly'] ?? true;
|
||||
$sessionCookieSameSite = $sessionOptions['cookie_samesite'] ?? Cookie::SAMESITE_LAX;
|
||||
$sessionUseCookies = $sessionOptions['use_cookies'] ?? true;
|
||||
|
||||
SessionUtils::popSessionCookie($sessionName, $sessionId);
|
||||
|
||||
$request = $event->getRequest();
|
||||
$requestSessionCookieId = $request->cookies->get($sessionName);
|
||||
if ($sessionUseCookies) {
|
||||
$request = $event->getRequest();
|
||||
$requestSessionCookieId = $request->cookies->get($sessionName);
|
||||
|
||||
$isSessionEmpty = $session->isEmpty() && empty($_SESSION); // checking $_SESSION to keep compatibility with native sessions
|
||||
if ($requestSessionCookieId && $isSessionEmpty) {
|
||||
$response->headers->clearCookie(
|
||||
$sessionName,
|
||||
$sessionCookiePath,
|
||||
$sessionCookieDomain,
|
||||
$sessionCookieSecure,
|
||||
$sessionCookieHttpOnly,
|
||||
$sessionCookieSameSite
|
||||
);
|
||||
} elseif ($sessionId !== $requestSessionCookieId && !$isSessionEmpty) {
|
||||
$expire = 0;
|
||||
$lifetime = $sessionOptions['cookie_lifetime'] ?? null;
|
||||
if ($lifetime) {
|
||||
$expire = time() + $lifetime;
|
||||
}
|
||||
|
||||
$response->headers->setCookie(
|
||||
Cookie::create(
|
||||
$isSessionEmpty = $session->isEmpty() && empty($_SESSION); // checking $_SESSION to keep compatibility with native sessions
|
||||
if ($requestSessionCookieId && $isSessionEmpty) {
|
||||
$response->headers->clearCookie(
|
||||
$sessionName,
|
||||
$sessionId,
|
||||
$expire,
|
||||
$sessionCookiePath,
|
||||
$sessionCookieDomain,
|
||||
$sessionCookieSecure,
|
||||
$sessionCookieHttpOnly,
|
||||
false,
|
||||
$sessionCookieSameSite
|
||||
)
|
||||
);
|
||||
);
|
||||
} elseif ($sessionId !== $requestSessionCookieId && !$isSessionEmpty) {
|
||||
$expire = 0;
|
||||
$lifetime = $sessionOptions['cookie_lifetime'] ?? null;
|
||||
if ($lifetime) {
|
||||
$expire = time() + $lifetime;
|
||||
}
|
||||
|
||||
$response->headers->setCookie(
|
||||
Cookie::create(
|
||||
$sessionName,
|
||||
$sessionId,
|
||||
$expire,
|
||||
$sessionCookiePath,
|
||||
$sessionCookieDomain,
|
||||
$sessionCookieSecure,
|
||||
$sessionCookieHttpOnly,
|
||||
false,
|
||||
$sessionCookieSameSite
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ use Symfony\Component\HttpKernel\Event\RequestEvent;
|
||||
use Symfony\Component\HttpKernel\Event\ResponseEvent;
|
||||
use Symfony\Component\HttpKernel\KernelEvents;
|
||||
|
||||
trigger_deprecation('symfony/http-kernel', '5.4', '"%s" is deprecated use "%s" instead.', AbstractTestSessionListener::class, AbstractSessionListener::class);
|
||||
|
||||
/**
|
||||
* TestSessionListener.
|
||||
*
|
||||
@@ -29,7 +31,7 @@ use Symfony\Component\HttpKernel\KernelEvents;
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @deprecated the TestSessionListener use the default SessionListener instead
|
||||
* @deprecated since Symfony 5.4, use AbstractSessionListener instead
|
||||
*/
|
||||
abstract class AbstractTestSessionListener implements EventSubscriberInterface
|
||||
{
|
||||
@@ -39,8 +41,6 @@ abstract class AbstractTestSessionListener implements EventSubscriberInterface
|
||||
public function __construct(array $sessionOptions = [])
|
||||
{
|
||||
$this->sessionOptions = $sessionOptions;
|
||||
|
||||
trigger_deprecation('symfony/http-kernel', '5.4', 'The %s is deprecated use the %s instead.', __CLASS__, AbstractSessionListener::class);
|
||||
}
|
||||
|
||||
public function onKernelRequest(RequestEvent $event)
|
||||
@@ -114,8 +114,6 @@ abstract class AbstractTestSessionListener implements EventSubscriberInterface
|
||||
/**
|
||||
* Gets the session object.
|
||||
*
|
||||
* @deprecated since Symfony 5.4, will be removed in 6.0.
|
||||
*
|
||||
* @return SessionInterface|null
|
||||
*/
|
||||
abstract protected function getSession();
|
||||
|
||||
@@ -15,6 +15,7 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\RequestMatcherInterface;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Symfony\Component\HttpFoundation\Session\Session;
|
||||
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
|
||||
use Symfony\Component\HttpKernel\Event\ResponseEvent;
|
||||
use Symfony\Component\HttpKernel\Event\TerminateEvent;
|
||||
@@ -96,8 +97,21 @@ class ProfilerListener implements EventSubscriberInterface
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$profile = $this->profiler->collect($request, $event->getResponse(), $exception)) {
|
||||
return;
|
||||
$session = $request->hasPreviousSession() && $request->hasSession() ? $request->getSession() : null;
|
||||
|
||||
if ($session instanceof Session) {
|
||||
$usageIndexValue = $usageIndexReference = &$session->getUsageIndex();
|
||||
$usageIndexReference = \PHP_INT_MIN;
|
||||
}
|
||||
|
||||
try {
|
||||
if (!$profile = $this->profiler->collect($request, $event->getResponse(), $exception)) {
|
||||
return;
|
||||
}
|
||||
} finally {
|
||||
if ($session instanceof Session) {
|
||||
$usageIndexReference = $usageIndexValue;
|
||||
}
|
||||
}
|
||||
|
||||
$this->profiles[$request] = $profile;
|
||||
|
||||
@@ -14,6 +14,8 @@ namespace Symfony\Component\HttpKernel\EventListener;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
|
||||
trigger_deprecation('symfony/http-kernel', '5.4', '"%s" is deprecated, use "%s" instead.', TestSessionListener::class, SessionListener::class);
|
||||
|
||||
/**
|
||||
* Sets the session in the request.
|
||||
*
|
||||
@@ -21,7 +23,7 @@ use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
*
|
||||
* @final
|
||||
*
|
||||
* @deprecated the TestSessionListener use the default SessionListener instead
|
||||
* @deprecated since Symfony 5.4, use SessionListener instead
|
||||
*/
|
||||
class TestSessionListener extends AbstractTestSessionListener
|
||||
{
|
||||
@@ -33,13 +35,8 @@ class TestSessionListener extends AbstractTestSessionListener
|
||||
parent::__construct($sessionOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since Symfony 5.4, will be removed in 6.0.
|
||||
*/
|
||||
protected function getSession(): ?SessionInterface
|
||||
{
|
||||
trigger_deprecation('symfony/http-kernel', '5.4', '"%s" is deprecated and will be removed in 6.0, inject a session in the request instead.', __METHOD__);
|
||||
|
||||
if ($this->container->has('session')) {
|
||||
return $this->container->get('session');
|
||||
}
|
||||
|
||||
@@ -718,7 +718,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
||||
$timeout = $this->options['stale_while_revalidate'];
|
||||
}
|
||||
|
||||
return abs($entry->getTtl()) < $timeout;
|
||||
return abs($entry->getTtl() ?? 0) < $timeout;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
10
vendor/symfony/http-kernel/Kernel.php
vendored
10
vendor/symfony/http-kernel/Kernel.php
vendored
@@ -78,11 +78,11 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
|
||||
*/
|
||||
private static $freshCache = [];
|
||||
|
||||
public const VERSION = '5.4.6';
|
||||
public const VERSION_ID = 50406;
|
||||
public const VERSION = '5.4.10';
|
||||
public const VERSION_ID = 50410;
|
||||
public const MAJOR_VERSION = 5;
|
||||
public const MINOR_VERSION = 4;
|
||||
public const RELEASE_VERSION = 6;
|
||||
public const RELEASE_VERSION = 10;
|
||||
public const EXTRA_VERSION = '';
|
||||
|
||||
public const END_OF_MAINTENANCE = '11/2024';
|
||||
@@ -468,9 +468,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
|
||||
is_dir($buildDir) ?: mkdir($buildDir, 0777, true);
|
||||
|
||||
if ($lock = fopen($cachePath.'.lock', 'w')) {
|
||||
flock($lock, \LOCK_EX | \LOCK_NB, $wouldBlock);
|
||||
|
||||
if (!flock($lock, $wouldBlock ? \LOCK_SH : \LOCK_EX)) {
|
||||
if (!flock($lock, \LOCK_EX | \LOCK_NB, $wouldBlock) && !flock($lock, $wouldBlock ? \LOCK_SH : \LOCK_EX)) {
|
||||
fclose($lock);
|
||||
$lock = null;
|
||||
} elseif (!is_file($cachePath) || !\is_object($this->container = include $cachePath)) {
|
||||
|
||||
Reference in New Issue
Block a user