summaryrefslogtreecommitdiff
path: root/vendor/symfony
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2017-11-12 16:08:46 +0000
committerGreg Roach <fisharebest@gmail.com>2017-11-13 11:24:00 +0000
commit025f16b9ad2e4c24f5dbfe8cc421b96807c3df25 (patch)
tree31c8fd1b04fb15ab1c9d8f6085a3ec04aa0475ca /vendor/symfony
parentb6f3e912ccefb7cbf9669cb885d33550d9423374 (diff)
downloadwebtrees-025f16b9ad2e4c24f5dbfe8cc421b96807c3df25.tar.gz
webtrees-025f16b9ad2e4c24f5dbfe8cc421b96807c3df25.tar.bz2
webtrees-025f16b9ad2e4c24f5dbfe8cc421b96807c3df25.zip
Update dependencies
Diffstat (limited to 'vendor/symfony')
-rw-r--r--vendor/symfony/http-foundation/AcceptHeader.php4
-rw-r--r--vendor/symfony/http-foundation/AcceptHeaderItem.php15
-rw-r--r--vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php2
-rw-r--r--vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php2
-rw-r--r--vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php2
-rw-r--r--vendor/symfony/http-foundation/File/UploadedFile.php36
-rw-r--r--vendor/symfony/http-foundation/FileBag.php7
-rw-r--r--vendor/symfony/http-foundation/HeaderBag.php2
-rw-r--r--vendor/symfony/http-foundation/IpUtils.php4
-rw-r--r--vendor/symfony/http-foundation/ParameterBag.php2
-rw-r--r--vendor/symfony/http-foundation/RedirectResponse.php8
-rw-r--r--vendor/symfony/http-foundation/Request.php15
-rw-r--r--vendor/symfony/http-foundation/RequestMatcherInterface.php2
-rw-r--r--vendor/symfony/http-foundation/Response.php7
-rw-r--r--vendor/symfony/http-foundation/ResponseHeaderBag.php19
-rw-r--r--vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php7
-rw-r--r--vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php5
-rw-r--r--vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php12
-rw-r--r--vendor/symfony/http-foundation/Session/Flash/FlashBag.php12
-rw-r--r--vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php2
-rw-r--r--vendor/symfony/http-foundation/Session/Session.php12
-rw-r--r--vendor/symfony/http-foundation/Session/SessionBagInterface.php2
-rw-r--r--vendor/symfony/http-foundation/Session/SessionInterface.php2
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php3
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php3
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php3
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php2
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php3
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php10
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php3
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php36
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php2
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php3
-rw-r--r--vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php2
-rw-r--r--vendor/symfony/http-foundation/StreamedResponse.php8
-rw-r--r--vendor/symfony/http-foundation/Tests/FileBagTest.php17
-rw-r--r--vendor/symfony/http-foundation/Tests/IpUtilsTest.php17
-rw-r--r--vendor/symfony/http-foundation/Tests/RequestTest.php61
-rw-r--r--vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php11
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php5
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php5
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php3
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php3
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php1
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php3
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php3
-rw-r--r--vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php22
-rw-r--r--vendor/symfony/http-foundation/Tests/StreamedResponseTest.php11
-rw-r--r--vendor/symfony/polyfill-php70/LICENSE19
-rw-r--r--vendor/symfony/polyfill-php70/Php70.php74
-rw-r--r--vendor/symfony/polyfill-php70/README.md28
-rw-r--r--vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php5
-rw-r--r--vendor/symfony/polyfill-php70/Resources/stubs/AssertionError.php5
-rw-r--r--vendor/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php5
-rw-r--r--vendor/symfony/polyfill-php70/Resources/stubs/Error.php5
-rw-r--r--vendor/symfony/polyfill-php70/Resources/stubs/ParseError.php5
-rw-r--r--vendor/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php23
-rw-r--r--vendor/symfony/polyfill-php70/Resources/stubs/TypeError.php5
-rw-r--r--vendor/symfony/polyfill-php70/bootstrap.php27
-rw-r--r--vendor/symfony/polyfill-php70/composer.json33
60 files changed, 204 insertions, 451 deletions
diff --git a/vendor/symfony/http-foundation/AcceptHeader.php b/vendor/symfony/http-foundation/AcceptHeader.php
index 99be6768f9..d1740266b7 100644
--- a/vendor/symfony/http-foundation/AcceptHeader.php
+++ b/vendor/symfony/http-foundation/AcceptHeader.php
@@ -97,8 +97,6 @@ class AcceptHeader
/**
* Adds an item.
*
- * @param AcceptHeaderItem $item
- *
* @return $this
*/
public function add(AcceptHeaderItem $item)
@@ -153,7 +151,7 @@ class AcceptHeader
private function sort()
{
if (!$this->sorted) {
- uasort($this->items, function ($a, $b) {
+ uasort($this->items, function (AcceptHeaderItem $a, AcceptHeaderItem $b) {
$qA = $a->getQuality();
$qB = $b->getQuality();
diff --git a/vendor/symfony/http-foundation/AcceptHeaderItem.php b/vendor/symfony/http-foundation/AcceptHeaderItem.php
index e07a48aa95..c69dbbba35 100644
--- a/vendor/symfony/http-foundation/AcceptHeaderItem.php
+++ b/vendor/symfony/http-foundation/AcceptHeaderItem.php
@@ -18,24 +18,9 @@ namespace Symfony\Component\HttpFoundation;
*/
class AcceptHeaderItem
{
- /**
- * @var string
- */
private $value;
-
- /**
- * @var float
- */
private $quality = 1.0;
-
- /**
- * @var int
- */
private $index = 0;
-
- /**
- * @var array
- */
private $attributes = array();
/**
diff --git a/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php b/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php
index 921751f6b5..263fb321c5 100644
--- a/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php
+++ b/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php
@@ -65,8 +65,6 @@ class ExtensionGuesser implements ExtensionGuesserInterface
* Registers a new extension guesser.
*
* When guessing, this guesser is preferred over previously registered ones.
- *
- * @param ExtensionGuesserInterface $guesser
*/
public function register(ExtensionGuesserInterface $guesser)
{
diff --git a/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php b/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
index e327f834f7..896c135a53 100644
--- a/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
+++ b/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
@@ -23,8 +23,6 @@ class MimeTypeExtensionGuesser implements ExtensionGuesserInterface
* This list has been updated from upstream on 2013-04-23.
*
* @see http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
- *
- * @var array
*/
protected $defaultExtensions = array(
'application/andrew-inset' => 'ez',
diff --git a/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php b/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php
index 69c803b499..e3ef45ef67 100644
--- a/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php
+++ b/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php
@@ -93,8 +93,6 @@ class MimeTypeGuesser implements MimeTypeGuesserInterface
* Registers a new mime type guesser.
*
* When guessing, this guesser is preferred over previously registered ones.
- *
- * @param MimeTypeGuesserInterface $guesser
*/
public function register(MimeTypeGuesserInterface $guesser)
{
diff --git a/vendor/symfony/http-foundation/File/UploadedFile.php b/vendor/symfony/http-foundation/File/UploadedFile.php
index 9a2d28491a..082d8d534e 100644
--- a/vendor/symfony/http-foundation/File/UploadedFile.php
+++ b/vendor/symfony/http-foundation/File/UploadedFile.php
@@ -24,41 +24,10 @@ use Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser;
*/
class UploadedFile extends File
{
- /**
- * Whether the test mode is activated.
- *
- * Local files are used in test mode hence the code should not enforce HTTP uploads.
- *
- * @var bool
- */
private $test = false;
-
- /**
- * The original name of the uploaded file.
- *
- * @var string
- */
private $originalName;
-
- /**
- * The mime type provided by the uploader.
- *
- * @var string
- */
private $mimeType;
-
- /**
- * The file size provided by the uploader.
- *
- * @var int|null
- */
private $size;
-
- /**
- * The UPLOAD_ERR_XXX constant provided by the uploader.
- *
- * @var int
- */
private $error;
/**
@@ -76,11 +45,12 @@ class UploadedFile extends File
* Calling any other method on an non-valid instance will cause an unpredictable result.
*
* @param string $path The full temporary path to the file
- * @param string $originalName The original file name
+ * @param string $originalName The original file name of the uploaded file
* @param string|null $mimeType The type of the file as provided by PHP; null defaults to application/octet-stream
- * @param int|null $size The file size
+ * @param int|null $size The file size provided by the uploader
* @param int|null $error The error constant of the upload (one of PHP's UPLOAD_ERR_XXX constants); null defaults to UPLOAD_ERR_OK
* @param bool $test Whether the test mode is active
+ * Local files are used in test mode hence the code should not enforce HTTP uploads
*
* @throws FileException If file_uploads is disabled
* @throws FileNotFoundException If the file does not exist
diff --git a/vendor/symfony/http-foundation/FileBag.php b/vendor/symfony/http-foundation/FileBag.php
index 722ec2a9c4..5edd0e6210 100644
--- a/vendor/symfony/http-foundation/FileBag.php
+++ b/vendor/symfony/http-foundation/FileBag.php
@@ -87,7 +87,10 @@ class FileBag extends ParameterBag
$file = new UploadedFile($file['tmp_name'], $file['name'], $file['type'], $file['size'], $file['error']);
}
} else {
- $file = array_filter(array_map(array($this, 'convertFileInformation'), $file));
+ $file = array_map(array($this, 'convertFileInformation'), $file);
+ if (array_keys($keys) === $keys) {
+ $file = array_filter($file);
+ }
}
}
@@ -106,8 +109,6 @@ class FileBag extends ParameterBag
* It's safe to pass an already converted array, in which case this method
* just returns the original array unmodified.
*
- * @param array $data
- *
* @return array
*/
protected function fixPhpFilesArray($data)
diff --git a/vendor/symfony/http-foundation/HeaderBag.php b/vendor/symfony/http-foundation/HeaderBag.php
index e0b51ad125..e06713f39e 100644
--- a/vendor/symfony/http-foundation/HeaderBag.php
+++ b/vendor/symfony/http-foundation/HeaderBag.php
@@ -147,7 +147,7 @@ class HeaderBag implements \IteratorAggregate, \Countable
}
if ('cache-control' === $key) {
- $this->cacheControl = $this->parseCacheControl($values[0]);
+ $this->cacheControl = $this->parseCacheControl(implode(', ', $this->headers[$key]));
}
}
diff --git a/vendor/symfony/http-foundation/IpUtils.php b/vendor/symfony/http-foundation/IpUtils.php
index dc6d3ec818..3bb33140f5 100644
--- a/vendor/symfony/http-foundation/IpUtils.php
+++ b/vendor/symfony/http-foundation/IpUtils.php
@@ -87,6 +87,10 @@ class IpUtils
$netmask = 32;
}
+ if (false === ip2long($address)) {
+ return self::$checkedIps[$cacheKey] = false;
+ }
+
return self::$checkedIps[$cacheKey] = 0 === substr_compare(sprintf('%032b', ip2long($requestIp)), sprintf('%032b', ip2long($address)), 0, $netmask);
}
diff --git a/vendor/symfony/http-foundation/ParameterBag.php b/vendor/symfony/http-foundation/ParameterBag.php
index 3d278914e6..257ef8bcea 100644
--- a/vendor/symfony/http-foundation/ParameterBag.php
+++ b/vendor/symfony/http-foundation/ParameterBag.php
@@ -20,8 +20,6 @@ class ParameterBag implements \IteratorAggregate, \Countable
{
/**
* Parameter storage.
- *
- * @var array
*/
protected $parameters;
diff --git a/vendor/symfony/http-foundation/RedirectResponse.php b/vendor/symfony/http-foundation/RedirectResponse.php
index cb1c58e899..01681dcdf7 100644
--- a/vendor/symfony/http-foundation/RedirectResponse.php
+++ b/vendor/symfony/http-foundation/RedirectResponse.php
@@ -48,7 +48,13 @@ class RedirectResponse extends Response
}
/**
- * {@inheritdoc}
+ * Factory method for chainability.
+ *
+ * @param string $url The url to redirect to
+ * @param int $status The response status code
+ * @param array $headers An array of response headers
+ *
+ * @return static
*/
public static function create($url = '', $status = 302, $headers = array())
{
diff --git a/vendor/symfony/http-foundation/Request.php b/vendor/symfony/http-foundation/Request.php
index 28e78c0a20..e8412b50ef 100644
--- a/vendor/symfony/http-foundation/Request.php
+++ b/vendor/symfony/http-foundation/Request.php
@@ -144,7 +144,7 @@ class Request
public $headers;
/**
- * @var string
+ * @var string|resource
*/
protected $content;
@@ -221,7 +221,6 @@ class Request
protected static $requestFactory;
private $isHostValid = true;
- private $isClientIpsValid = true;
private $isForwardedValid = true;
private static $trustedHeaderSet = -1;
@@ -796,8 +795,8 @@ class Request
*
* Order of precedence: PATH (routing placeholders or custom attributes), GET, BODY
*
- * @param string $key the key
- * @param mixed $default the default value if the parameter key does not exist
+ * @param string $key The key
+ * @param mixed $default The default value if the parameter key does not exist
*
* @return mixed
*/
@@ -1863,6 +1862,9 @@ class Request
// Does the baseUrl have anything in common with the request_uri?
$requestUri = $this->getRequestUri();
+ if ($requestUri !== '' && $requestUri[0] !== '/') {
+ $requestUri = '/'.$requestUri;
+ }
if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, $baseUrl)) {
// full $baseUrl matches
@@ -1935,9 +1937,12 @@ class Request
}
// Remove the query string from REQUEST_URI
- if ($pos = strpos($requestUri, '?')) {
+ if (false !== $pos = strpos($requestUri, '?')) {
$requestUri = substr($requestUri, 0, $pos);
}
+ if ($requestUri !== '' && $requestUri[0] !== '/') {
+ $requestUri = '/'.$requestUri;
+ }
$pathInfo = substr($requestUri, strlen($baseUrl));
if (null !== $baseUrl && (false === $pathInfo || '' === $pathInfo)) {
diff --git a/vendor/symfony/http-foundation/RequestMatcherInterface.php b/vendor/symfony/http-foundation/RequestMatcherInterface.php
index 066e7e8bf1..c26db3e6f4 100644
--- a/vendor/symfony/http-foundation/RequestMatcherInterface.php
+++ b/vendor/symfony/http-foundation/RequestMatcherInterface.php
@@ -21,8 +21,6 @@ interface RequestMatcherInterface
/**
* Decides whether the rule(s) implemented by the strategy matches the supplied request.
*
- * @param Request $request The request to check for a match
- *
* @return bool true if the request matches, false otherwise
*/
public function matches(Request $request);
diff --git a/vendor/symfony/http-foundation/Response.php b/vendor/symfony/http-foundation/Response.php
index ced0afa6ca..d7d30f0c26 100644
--- a/vendor/symfony/http-foundation/Response.php
+++ b/vendor/symfony/http-foundation/Response.php
@@ -126,6 +126,7 @@ class Response
100 => 'Continue',
101 => 'Switching Protocols',
102 => 'Processing', // RFC2518
+ 103 => 'Early Hints',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
@@ -259,8 +260,6 @@ class Response
* compliant with RFC 2616. Most of the changes are based on
* the Request that is "associated" with this Response.
*
- * @param Request $request A Request instance
- *
* @return $this
*/
public function prepare(Request $request)
@@ -661,8 +660,6 @@ class Response
/**
* Sets the Date header.
*
- * @param \DateTime $date A \DateTime instance
- *
* @return $this
*
* @final since version 3.2
@@ -1075,8 +1072,6 @@ class Response
* If the Response is not modified, it sets the status code to 304 and
* removes the actual content by calling the setNotModified() method.
*
- * @param Request $request A Request instance
- *
* @return bool true if the Response validators match the Request, false otherwise
*
* @final since version 3.3
diff --git a/vendor/symfony/http-foundation/ResponseHeaderBag.php b/vendor/symfony/http-foundation/ResponseHeaderBag.php
index 7b91e4f136..717cc442f2 100644
--- a/vendor/symfony/http-foundation/ResponseHeaderBag.php
+++ b/vendor/symfony/http-foundation/ResponseHeaderBag.php
@@ -24,24 +24,10 @@ class ResponseHeaderBag extends HeaderBag
const DISPOSITION_ATTACHMENT = 'attachment';
const DISPOSITION_INLINE = 'inline';
- /**
- * @var array
- */
protected $computedCacheControl = array();
-
- /**
- * @var array
- */
protected $cookies = array();
-
- /**
- * @var array
- */
protected $headerNames = array();
- /**
- * @param array $headers An array of HTTP headers
- */
public function __construct(array $headers = array())
{
parent::__construct($headers);
@@ -172,11 +158,6 @@ class ResponseHeaderBag extends HeaderBag
return array_key_exists($key, $this->computedCacheControl) ? $this->computedCacheControl[$key] : null;
}
- /**
- * Sets a cookie.
- *
- * @param Cookie $cookie
- */
public function setCookie(Cookie $cookie)
{
$this->cookies[$cookie->getDomain()][$cookie->getPath()][$cookie->getName()] = $cookie;
diff --git a/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php b/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php
index 57c297197b..ea1fda290f 100644
--- a/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php
+++ b/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php
@@ -17,15 +17,8 @@ namespace Symfony\Component\HttpFoundation\Session\Attribute;
class AttributeBag implements AttributeBagInterface, \IteratorAggregate, \Countable
{
private $name = 'attributes';
-
- /**
- * @var string
- */
private $storageKey;
- /**
- * @var array
- */
protected $attributes = array();
/**
diff --git a/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php b/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php
index e149801aad..abbf37ee7c 100644
--- a/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php
+++ b/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php
@@ -19,11 +19,6 @@ namespace Symfony\Component\HttpFoundation\Session\Attribute;
*/
class NamespacedAttributeBag extends AttributeBag
{
- /**
- * Namespace character.
- *
- * @var string
- */
private $namespaceCharacter;
/**
diff --git a/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php b/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php
index 8110aee0cf..59ba309005 100644
--- a/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php
+++ b/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php
@@ -19,19 +19,7 @@ namespace Symfony\Component\HttpFoundation\Session\Flash;
class AutoExpireFlashBag implements FlashBagInterface
{
private $name = 'flashes';
-
- /**
- * Flash messages.
- *
- * @var array
- */
private $flashes = array('display' => array(), 'new' => array());
-
- /**
- * The storage key for flashes in the session.
- *
- * @var string
- */
private $storageKey;
/**
diff --git a/vendor/symfony/http-foundation/Session/Flash/FlashBag.php b/vendor/symfony/http-foundation/Session/Flash/FlashBag.php
index a86dc6c1a2..9c2e3fe7c8 100644
--- a/vendor/symfony/http-foundation/Session/Flash/FlashBag.php
+++ b/vendor/symfony/http-foundation/Session/Flash/FlashBag.php
@@ -19,19 +19,7 @@ namespace Symfony\Component\HttpFoundation\Session\Flash;
class FlashBag implements FlashBagInterface
{
private $name = 'flashes';
-
- /**
- * Flash messages.
- *
- * @var array
- */
private $flashes = array();
-
- /**
- * The storage key for flashes in the session.
- *
- * @var string
- */
private $storageKey;
/**
diff --git a/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php b/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php
index 25f3d57b54..80e97f17cd 100644
--- a/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php
+++ b/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php
@@ -72,8 +72,6 @@ interface FlashBagInterface extends SessionBagInterface
/**
* Sets all flash messages.
- *
- * @param array $messages
*/
public function setAll(array $messages);
diff --git a/vendor/symfony/http-foundation/Session/Session.php b/vendor/symfony/http-foundation/Session/Session.php
index f063651a18..09caa3442f 100644
--- a/vendor/symfony/http-foundation/Session/Session.php
+++ b/vendor/symfony/http-foundation/Session/Session.php
@@ -24,21 +24,9 @@ use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
*/
class Session implements SessionInterface, \IteratorAggregate, \Countable
{
- /**
- * Storage driver.
- *
- * @var SessionStorageInterface
- */
protected $storage;
- /**
- * @var string
- */
private $flashName;
-
- /**
- * @var string
- */
private $attributeName;
/**
diff --git a/vendor/symfony/http-foundation/Session/SessionBagInterface.php b/vendor/symfony/http-foundation/Session/SessionBagInterface.php
index aca18aacbf..8e37d06d65 100644
--- a/vendor/symfony/http-foundation/Session/SessionBagInterface.php
+++ b/vendor/symfony/http-foundation/Session/SessionBagInterface.php
@@ -27,8 +27,6 @@ interface SessionBagInterface
/**
* Initializes the Bag.
- *
- * @param array $array
*/
public function initialize(array &$array);
diff --git a/vendor/symfony/http-foundation/Session/SessionInterface.php b/vendor/symfony/http-foundation/Session/SessionInterface.php
index 172c9b457f..95fca857e2 100644
--- a/vendor/symfony/http-foundation/Session/SessionInterface.php
+++ b/vendor/symfony/http-foundation/Session/SessionInterface.php
@@ -159,8 +159,6 @@ interface SessionInterface
/**
* Registers a SessionBagInterface with the session.
- *
- * @param SessionBagInterface $bag
*/
public function registerBag(SessionBagInterface $bag);
diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php
index d31aa7667e..89b4dac2c6 100644
--- a/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php
+++ b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php
@@ -16,9 +16,6 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
*/
class MemcacheSessionHandler implements \SessionHandlerInterface
{
- /**
- * @var \Memcache Memcache driver
- */
private $memcache;
/**
diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php
index 3bbde5420d..6e2c2ee306 100644
--- a/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php
+++ b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php
@@ -21,9 +21,6 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
*/
class MemcachedSessionHandler implements \SessionHandlerInterface
{
- /**
- * @var \Memcached Memcached driver
- */
private $memcached;
/**
diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
index f140939dbd..29fc3f529b 100644
--- a/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
+++ b/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
@@ -16,9 +16,6 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
*/
class MongoDbSessionHandler implements \SessionHandlerInterface
{
- /**
- * @var \Mongo|\MongoClient|\MongoDB\Client
- */
private $mongo;
/**
diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php
index 5cdac63939..daabbc21f0 100644
--- a/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php
+++ b/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php
@@ -387,7 +387,7 @@ class PdoSessionHandler implements \SessionHandlerInterface
$this->gcCalled = false;
// delete the session records that have expired
- $sql = "DELETE FROM $this->table WHERE $this->lifetimeCol + $this->timeCol < :time";
+ $sql = "DELETE FROM $this->table WHERE $this->lifetimeCol < :time - $this->timeCol";
$stmt = $this->pdo->prepare($sql);
$stmt->bindValue(':time', time(), \PDO::PARAM_INT);
diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php
index d49c36cae5..7f4b6bc034 100644
--- a/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php
+++ b/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php
@@ -18,9 +18,6 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
*/
class WriteCheckSessionHandler implements \SessionHandlerInterface
{
- /**
- * @var \SessionHandlerInterface
- */
private $wrappedSessionHandler;
/**
diff --git a/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
index 0349a43367..027f4efffc 100644
--- a/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
+++ b/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
@@ -72,11 +72,6 @@ class MockArraySessionStorage implements SessionStorageInterface
$this->setMetadataBag($metaBag);
}
- /**
- * Sets the session data.
- *
- * @param array $array
- */
public function setSessionData(array $array)
{
$this->data = $array;
@@ -213,11 +208,6 @@ class MockArraySessionStorage implements SessionStorageInterface
return $this->started;
}
- /**
- * Sets the MetadataBag.
- *
- * @param MetadataBag $bag
- */
public function setMetadataBag(MetadataBag $bag = null)
{
if (null === $bag) {
diff --git a/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php
index 8c1bf73cae..0a580d6027 100644
--- a/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php
+++ b/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php
@@ -24,9 +24,6 @@ namespace Symfony\Component\HttpFoundation\Session\Storage;
*/
class MockFileSessionStorage extends MockArraySessionStorage
{
- /**
- * @var string
- */
private $savePath;
/**
diff --git a/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
index 8f4ebefaab..b27591ec10 100644
--- a/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
+++ b/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
@@ -76,6 +76,7 @@ class NativeSessionStorage implements SessionStorageInterface
* gc_probability, "1"
* hash_bits_per_character, "4"
* hash_function, "0"
+ * lazy_write, "1"
* name, "PHPSESSID"
* referer_check, ""
* serialize_handler, "php"
@@ -101,12 +102,20 @@ class NativeSessionStorage implements SessionStorageInterface
*/
public function __construct(array $options = array(), $handler = null, MetadataBag $metaBag = null)
{
- session_cache_limiter(''); // disable by default because it's managed by HeaderBag (if used)
- ini_set('session.use_cookies', 1);
+ $this->setMetadataBag($metaBag);
+
+ if (\PHP_SESSION_ACTIVE === session_status()) {
+ return;
+ }
+
+ $options += array(
+ // disable by default because it's managed by HeaderBag (if used)
+ 'cache_limiter' => '',
+ 'use_cookies' => 1,
+ );
session_register_shutdown();
- $this->setMetadataBag($metaBag);
$this->setOptions($options);
$this->setSaveHandler($handler);
}
@@ -190,6 +199,10 @@ class NativeSessionStorage implements SessionStorageInterface
return false;
}
+ if (headers_sent()) {
+ return false;
+ }
+
if (null !== $lifetime) {
ini_set('session.cookie_lifetime', $lifetime);
}
@@ -283,11 +296,6 @@ class NativeSessionStorage implements SessionStorageInterface
return $this->bags[$name];
}
- /**
- * Sets the MetadataBag.
- *
- * @param MetadataBag $metaBag
- */
public function setMetadataBag(MetadataBag $metaBag = null)
{
if (null === $metaBag) {
@@ -327,12 +335,16 @@ class NativeSessionStorage implements SessionStorageInterface
*/
public function setOptions(array $options)
{
+ if (headers_sent()) {
+ return;
+ }
+
$validOptions = array_flip(array(
'cache_limiter', 'cookie_domain', 'cookie_httponly',
'cookie_lifetime', 'cookie_path', 'cookie_secure',
'entropy_file', 'entropy_length', 'gc_divisor',
'gc_maxlifetime', 'gc_probability', 'hash_bits_per_character',
- 'hash_function', 'name', 'referer_check',
+ 'hash_function', 'lazy_write', 'name', 'referer_check',
'serialize_handler', 'use_strict_mode', 'use_cookies',
'use_only_cookies', 'use_trans_sid', 'upload_progress.enabled',
'upload_progress.cleanup', 'upload_progress.prefix', 'upload_progress.name',
@@ -378,6 +390,10 @@ class NativeSessionStorage implements SessionStorageInterface
throw new \InvalidArgumentException('Must be instance of AbstractProxy or NativeSessionHandler; implement \SessionHandlerInterface; or be null.');
}
+ if (headers_sent($file, $line)) {
+ throw new \RuntimeException(sprintf('Failed to set the session handler because headers have already been sent by "%s" at line %d.', $file, $line));
+ }
+
// Wrap $saveHandler in proxy and prevent double wrapping of proxy
if (!$saveHandler instanceof AbstractProxy && $saveHandler instanceof \SessionHandlerInterface) {
$saveHandler = new SessionHandlerProxy($saveHandler);
@@ -398,8 +414,6 @@ class NativeSessionStorage implements SessionStorageInterface
* are set to (either PHP's internal, or a custom save handler set with session_set_save_handler()).
* PHP takes the return value from the read() handler, unserializes it
* and populates $_SESSION with the result automatically.
- *
- * @param array|null $session
*/
protected function loadSession(array &$session = null)
{
diff --git a/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php b/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php
index 21ed1ada04..a0f48c1e27 100644
--- a/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php
+++ b/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php
@@ -12,7 +12,7 @@
namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy;
/**
- * This proxy is built-in session handlers in PHP 5.3.x
+ * This proxy is built-in session handlers in PHP 5.3.x.
*
* @author Drak <drak@zikula.org>
*/
diff --git a/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php b/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php
index be39f6baeb..a96aae265c 100644
--- a/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php
+++ b/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php
@@ -16,9 +16,6 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy;
*/
class SessionHandlerProxy extends AbstractProxy implements \SessionHandlerInterface
{
- /**
- * @var \SessionHandlerInterface
- */
protected $handler;
/**
diff --git a/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php b/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php
index 097583d5a5..66e8b33dd2 100644
--- a/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php
+++ b/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php
@@ -127,8 +127,6 @@ interface SessionStorageInterface
/**
* Registers a SessionBagInterface for use.
- *
- * @param SessionBagInterface $bag
*/
public function registerBag(SessionBagInterface $bag);
diff --git a/vendor/symfony/http-foundation/StreamedResponse.php b/vendor/symfony/http-foundation/StreamedResponse.php
index 3cbbfc5f4f..257deea02f 100644
--- a/vendor/symfony/http-foundation/StreamedResponse.php
+++ b/vendor/symfony/http-foundation/StreamedResponse.php
@@ -78,12 +78,12 @@ class StreamedResponse extends Response
public function sendHeaders()
{
if ($this->headersSent) {
- return;
+ return $this;
}
$this->headersSent = true;
- parent::sendHeaders();
+ return parent::sendHeaders();
}
/**
@@ -94,7 +94,7 @@ class StreamedResponse extends Response
public function sendContent()
{
if ($this->streamed) {
- return;
+ return $this;
}
$this->streamed = true;
@@ -104,6 +104,8 @@ class StreamedResponse extends Response
}
call_user_func($this->callback);
+
+ return $this;
}
/**
diff --git a/vendor/symfony/http-foundation/Tests/FileBagTest.php b/vendor/symfony/http-foundation/Tests/FileBagTest.php
index 7d2902d325..b1bbba0d3f 100644
--- a/vendor/symfony/http-foundation/Tests/FileBagTest.php
+++ b/vendor/symfony/http-foundation/Tests/FileBagTest.php
@@ -62,7 +62,7 @@ class FileBagTest extends TestCase
public function testShouldRemoveEmptyUploadedFilesForMultiUpload()
{
- $bag = new FileBag(array('file' => array(
+ $bag = new FileBag(array('files' => array(
'name' => array(''),
'type' => array(''),
'tmp_name' => array(''),
@@ -70,7 +70,20 @@ class FileBagTest extends TestCase
'size' => array(0),
)));
- $this->assertSame(array(), $bag->get('file'));
+ $this->assertSame(array(), $bag->get('files'));
+ }
+
+ public function testShouldNotRemoveEmptyUploadedFilesForAssociativeArray()
+ {
+ $bag = new FileBag(array('files' => array(
+ 'name' => array('file1' => ''),
+ 'type' => array('file1' => ''),
+ 'tmp_name' => array('file1' => ''),
+ 'error' => array('file1' => UPLOAD_ERR_NO_FILE),
+ 'size' => array('file1' => 0),
+ )));
+
+ $this->assertSame(array('file1' => null), $bag->get('files'));
}
public function testShouldConvertUploadedFilesWithPhpBug()
diff --git a/vendor/symfony/http-foundation/Tests/IpUtilsTest.php b/vendor/symfony/http-foundation/Tests/IpUtilsTest.php
index 297ee3d8d3..54cbb5c206 100644
--- a/vendor/symfony/http-foundation/Tests/IpUtilsTest.php
+++ b/vendor/symfony/http-foundation/Tests/IpUtilsTest.php
@@ -82,4 +82,21 @@ class IpUtilsTest extends TestCase
IpUtils::checkIp('2a01:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65');
}
+
+ /**
+ * @dataProvider invalidIpAddressData
+ */
+ public function testInvalidIpAddressesDoNotMatch($requestIp, $proxyIp)
+ {
+ $this->assertFalse(IpUtils::checkIp4($requestIp, $proxyIp));
+ }
+
+ public function invalidIpAddressData()
+ {
+ return array(
+ 'invalid proxy wildcard' => array('192.168.20.13', '*'),
+ 'invalid proxy missing netmask' => array('192.168.20.13', '0.0.0.0'),
+ 'invalid request IP with invalid proxy wildcard' => array('0.0.0.0', '*'),
+ );
+ }
}
diff --git a/vendor/symfony/http-foundation/Tests/RequestTest.php b/vendor/symfony/http-foundation/Tests/RequestTest.php
index b36fbb7e96..3c123656cc 100644
--- a/vendor/symfony/http-foundation/Tests/RequestTest.php
+++ b/vendor/symfony/http-foundation/Tests/RequestTest.php
@@ -1286,6 +1286,12 @@ class RequestTest extends TestCase
$request->initialize(array(), array(), array(), array(), array(), $server);
$this->assertEquals('/path%20test/info', $request->getPathInfo());
+
+ $server = array();
+ $server['REQUEST_URI'] = '?a=b';
+ $request->initialize(array(), array(), array(), array(), array(), $server);
+
+ $this->assertEquals('/', $request->getPathInfo());
}
public function testGetParameterPrecedence()
@@ -2188,6 +2194,61 @@ class RequestTest extends TestCase
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_FORWARDED_PORT');
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_FORWARDED_PROTO');
}
+
+ public function nonstandardRequestsData()
+ {
+ return array(
+ array('', '', '/', 'http://host:8080/', ''),
+ array('/', '', '/', 'http://host:8080/', ''),
+
+ array('hello/app.php/x', '', '/x', 'http://host:8080/hello/app.php/x', '/hello', '/hello/app.php'),
+ array('/hello/app.php/x', '', '/x', 'http://host:8080/hello/app.php/x', '/hello', '/hello/app.php'),
+
+ array('', 'a=b', '/', 'http://host:8080/?a=b'),
+ array('?a=b', 'a=b', '/', 'http://host:8080/?a=b'),
+ array('/?a=b', 'a=b', '/', 'http://host:8080/?a=b'),
+
+ array('x', 'a=b', '/x', 'http://host:8080/x?a=b'),
+ array('x?a=b', 'a=b', '/x', 'http://host:8080/x?a=b'),
+ array('/x?a=b', 'a=b', '/x', 'http://host:8080/x?a=b'),
+
+ array('hello/x', '', '/x', 'http://host:8080/hello/x', '/hello'),
+ array('/hello/x', '', '/x', 'http://host:8080/hello/x', '/hello'),
+
+ array('hello/app.php/x', 'a=b', '/x', 'http://host:8080/hello/app.php/x?a=b', '/hello', '/hello/app.php'),
+ array('hello/app.php/x?a=b', 'a=b', '/x', 'http://host:8080/hello/app.php/x?a=b', '/hello', '/hello/app.php'),
+ array('/hello/app.php/x?a=b', 'a=b', '/x', 'http://host:8080/hello/app.php/x?a=b', '/hello', '/hello/app.php'),
+ );
+ }
+
+ /**
+ * @dataProvider nonstandardRequestsData
+ */
+ public function testNonstandardRequests($requestUri, $queryString, $expectedPathInfo, $expectedUri, $expectedBasePath = '', $expectedBaseUrl = null)
+ {
+ if (null === $expectedBaseUrl) {
+ $expectedBaseUrl = $expectedBasePath;
+ }
+
+ $server = array(
+ 'HTTP_HOST' => 'host:8080',
+ 'SERVER_PORT' => '8080',
+ 'QUERY_STRING' => $queryString,
+ 'PHP_SELF' => '/hello/app.php',
+ 'SCRIPT_FILENAME' => '/some/path/app.php',
+ 'REQUEST_URI' => $requestUri,
+ );
+
+ $request = new Request(array(), array(), array(), array(), array(), $server);
+
+ $this->assertEquals($expectedPathInfo, $request->getPathInfo());
+ $this->assertEquals($expectedUri, $request->getUri());
+ $this->assertEquals($queryString, $request->getQueryString());
+ $this->assertEquals(8080, $request->getPort());
+ $this->assertEquals('host:8080', $request->getHttpHost());
+ $this->assertEquals($expectedBaseUrl, $request->getBaseUrl());
+ $this->assertEquals($expectedBasePath, $request->getBasePath());
+ }
}
class RequestContentProxy extends Request
diff --git a/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php b/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php
index 4136567214..71a572362f 100644
--- a/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php
+++ b/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php
@@ -110,6 +110,17 @@ class ResponseHeaderBagTest extends TestCase
$bag = new ResponseHeaderBag();
$bag->set('Last-Modified', 'abcde');
$this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
+
+ $bag = new ResponseHeaderBag();
+ $bag->set('Cache-Control', array('public', 'must-revalidate'));
+ $this->assertCount(1, $bag->get('Cache-Control', null, false));
+ $this->assertEquals('must-revalidate, public', $bag->get('Cache-Control'));
+
+ $bag = new ResponseHeaderBag();
+ $bag->set('Cache-Control', 'public');
+ $bag->set('Cache-Control', 'must-revalidate', false);
+ $this->assertCount(1, $bag->get('Cache-Control', null, false));
+ $this->assertEquals('must-revalidate, public', $bag->get('Cache-Control'));
}
public function testCacheControlClone()
diff --git a/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php
index 8c148b58f0..655c26a9c2 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php
@@ -21,10 +21,7 @@ use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
*/
class AttributeBagTest extends TestCase
{
- /**
- * @var array
- */
- private $array;
+ private $array = array();
/**
* @var AttributeBag
diff --git a/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
index d9d9eb7fbe..f074ce1b26 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
@@ -21,10 +21,7 @@ use Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag;
*/
class NamespacedAttributeBagTest extends TestCase
{
- /**
- * @var array
- */
- private $array;
+ private $array = array();
/**
* @var NamespacedAttributeBag
diff --git a/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
index 4eb200afa3..18b71a5021 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
@@ -26,9 +26,6 @@ class AutoExpireFlashBagTest extends TestCase
*/
private $bag;
- /**
- * @var array
- */
protected $array = array();
protected function setUp()
diff --git a/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php
index f0aa6a6157..1370dee68c 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php
@@ -26,9 +26,6 @@ class FlashBagTest extends TestCase
*/
private $bag;
- /**
- * @var array
- */
protected $array = array();
protected function setUp()
diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
index 06193c8bef..75be18beff 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
@@ -22,6 +22,7 @@ class MemcacheSessionHandlerTest extends TestCase
{
const PREFIX = 'prefix_';
const TTL = 1000;
+
/**
* @var MemcacheSessionHandler
*/
diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
index a47120f180..a9884c1c92 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
@@ -269,6 +269,9 @@ class PdoSessionHandlerTest extends TestCase
$this->assertSame('', $data, 'Destroyed session returns empty string');
}
+ /**
+ * @runInSeparateProcess
+ */
public function testSessionGC()
{
$previousLifeTime = ini_set('session.gc_maxlifetime', 1000);
diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php
index 159e62114e..69cf6163c1 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php
@@ -26,9 +26,6 @@ class MetadataBagTest extends TestCase
*/
protected $bag;
- /**
- * @var array
- */
protected $array = array();
protected function setUp()
diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php
index 818c63a9d2..72490f0417 100644
--- a/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php
@@ -54,8 +54,6 @@ class NativeSessionStorageTest extends TestCase
}
/**
- * @param array $options
- *
* @return NativeSessionStorage
*/
protected function getStorage(array $options = array())
@@ -244,4 +242,24 @@ class NativeSessionStorageTest extends TestCase
$this->assertSame($id, $storage->getId(), 'Same session ID after restarting');
$this->assertSame(7, $storage->getBag('attributes')->get('lucky'), 'Data still available');
}
+
+ public function testCanCreateNativeSessionStorageWhenSessionAlreadyStarted()
+ {
+ session_start();
+ $this->getStorage();
+
+ // Assert no exception has been thrown by `getStorage()`
+ $this->addToAssertionCount(1);
+ }
+
+ public function testSetSessionOptionsOnceSessionStartedIsIgnored()
+ {
+ session_start();
+ $this->getStorage(array(
+ 'name' => 'something-else',
+ ));
+
+ // Assert no exception has been thrown by `getStorage()`
+ $this->addToAssertionCount(1);
+ }
}
diff --git a/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php b/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php
index 1e35eb88b9..c2ded996fa 100644
--- a/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php
+++ b/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php
@@ -112,4 +112,15 @@ class StreamedResponseTest extends TestCase
$this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response);
$this->assertEquals(204, $response->getStatusCode());
}
+
+ public function testReturnThis()
+ {
+ $response = new StreamedResponse(function () {});
+ $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response->sendContent());
+ $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response->sendContent());
+
+ $response = new StreamedResponse(function () {});
+ $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response->sendHeaders());
+ $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response->sendHeaders());
+ }
}
diff --git a/vendor/symfony/polyfill-php70/LICENSE b/vendor/symfony/polyfill-php70/LICENSE
deleted file mode 100644
index 39fa189d2b..0000000000
--- a/vendor/symfony/polyfill-php70/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2014-2016 Fabien Potencier
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/vendor/symfony/polyfill-php70/Php70.php b/vendor/symfony/polyfill-php70/Php70.php
deleted file mode 100644
index e7ff0b26d8..0000000000
--- a/vendor/symfony/polyfill-php70/Php70.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Php70;
-
-/**
- * @author Nicolas Grekas <p@tchwork.com>
- *
- * @internal
- */
-final class Php70
-{
- public static function intdiv($dividend, $divisor)
- {
- $dividend = self::intArg($dividend, __FUNCTION__, 1);
- $divisor = self::intArg($divisor, __FUNCTION__, 2);
-
- if (0 === $divisor) {
- throw new \DivisionByZeroError('Division by zero');
- }
- if (-1 === $divisor && ~PHP_INT_MAX === $dividend) {
- throw new \ArithmeticError('Division of PHP_INT_MIN by -1 is not an integer');
- }
-
- return ($dividend - ($dividend % $divisor)) / $divisor;
- }
-
- public static function preg_replace_callback_array(array $patterns, $subject, $limit = -1, &$count = 0)
- {
- $count = 0;
- $result = ''.$subject;
- if (0 === $limit = self::intArg($limit, __FUNCTION__, 3)) {
- return $result;
- }
-
- foreach ($patterns as $pattern => $callback) {
- $result = preg_replace_callback($pattern, $callback, $result, $limit, $c);
- $count += $c;
- }
-
- return $result;
- }
-
- public static function error_clear_last()
- {
- static $handler;
- if (!$handler) {
- $handler = function() { return false; };
- }
- set_error_handler($handler);
- @trigger_error('');
- restore_error_handler();
- }
-
- public static function intArg($value, $caller, $pos)
- {
- if (is_int($value)) {
- return $value;
- }
- if (!is_numeric($value) || PHP_INT_MAX <= ($value += 0) || ~PHP_INT_MAX >= $value) {
- throw new \TypeError(sprintf('%s() expects parameter %d to be integer, %s given', $caller, $pos, gettype($value)));
- }
-
- return (int) $value;
- }
-}
diff --git a/vendor/symfony/polyfill-php70/README.md b/vendor/symfony/polyfill-php70/README.md
deleted file mode 100644
index 04988c6f93..0000000000
--- a/vendor/symfony/polyfill-php70/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-Symfony Polyfill / Php70
-========================
-
-This component provides features unavailable in releases prior to PHP 7.0:
-
-- [`intdiv`](http://php.net/intdiv)
-- [`preg_replace_callback_array`](http://php.net/preg_replace_callback_array)
-- [`error_clear_last`](http://php.net/error_clear_last)
-- `random_bytes` and `random_int` (from [paragonie/random_compat](https://github.com/paragonie/random_compat))
-- [`*Error` throwable classes](http://php.net/Error)
-- [`PHP_INT_MIN`](http://php.net/manual/en/reserved.constants.php#constant.php-int-min)
-- `SessionUpdateTimestampHandlerInterface`
-
-More information can be found in the
-[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
-
-Compatibility notes
-===================
-
-To write portable code between PHP5 and PHP7, some care must be taken:
-- `\*Error` exceptions must be caught before `\Exception`;
-- after calling `error_clear_last()`, the result of `$e = error_get_last()` must be
- verified using `isset($e['message'][0])` instead of `null !== $e`.
-
-License
-=======
-
-This library is released under the [MIT license](LICENSE).
diff --git a/vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php b/vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php
deleted file mode 100644
index 6819124462..0000000000
--- a/vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class ArithmeticError extends Error
-{
-}
diff --git a/vendor/symfony/polyfill-php70/Resources/stubs/AssertionError.php b/vendor/symfony/polyfill-php70/Resources/stubs/AssertionError.php
deleted file mode 100644
index acb125080f..0000000000
--- a/vendor/symfony/polyfill-php70/Resources/stubs/AssertionError.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class AssertionError extends Error
-{
-}
diff --git a/vendor/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php b/vendor/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php
deleted file mode 100644
index c99278b31d..0000000000
--- a/vendor/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class DivisionByZeroError extends Error
-{
-}
diff --git a/vendor/symfony/polyfill-php70/Resources/stubs/Error.php b/vendor/symfony/polyfill-php70/Resources/stubs/Error.php
deleted file mode 100644
index 405847fb89..0000000000
--- a/vendor/symfony/polyfill-php70/Resources/stubs/Error.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class Error extends Exception
-{
-}
diff --git a/vendor/symfony/polyfill-php70/Resources/stubs/ParseError.php b/vendor/symfony/polyfill-php70/Resources/stubs/ParseError.php
deleted file mode 100644
index 2dd447dd43..0000000000
--- a/vendor/symfony/polyfill-php70/Resources/stubs/ParseError.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class ParseError extends Error
-{
-}
diff --git a/vendor/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php b/vendor/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php
deleted file mode 100644
index 0cc02c8f92..0000000000
--- a/vendor/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-interface SessionUpdateTimestampHandlerInterface
-{
- /**
- * Checks if a session identifier already exists or not.
- *
- * @param string $key
- *
- * @return bool
- */
- public function validateId($key);
-
- /**
- * Updates the timestamp of a session when its data didn't change.
- *
- * @param string $key
- * @param string $val
- *
- * @return bool
- */
- public function updateTimestamp($key, $val);
-}
diff --git a/vendor/symfony/polyfill-php70/Resources/stubs/TypeError.php b/vendor/symfony/polyfill-php70/Resources/stubs/TypeError.php
deleted file mode 100644
index 2bed1b4831..0000000000
--- a/vendor/symfony/polyfill-php70/Resources/stubs/TypeError.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class TypeError extends Error
-{
-}
diff --git a/vendor/symfony/polyfill-php70/bootstrap.php b/vendor/symfony/polyfill-php70/bootstrap.php
deleted file mode 100644
index 445c39839c..0000000000
--- a/vendor/symfony/polyfill-php70/bootstrap.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Php70 as p;
-
-if (PHP_VERSION_ID < 70000) {
- if (!defined('PHP_INT_MIN')) {
- define('PHP_INT_MIN', ~PHP_INT_MAX);
- }
- if (!function_exists('intdiv')) {
- function intdiv($dividend, $divisor) { return p\Php70::intdiv($dividend, $divisor); }
- }
- if (!function_exists('preg_replace_callback_array')) {
- function preg_replace_callback_array(array $patterns, $subject, $limit = -1, &$count = 0) { return p\Php70::preg_replace_callback_array($patterns, $subject, $limit, $count); }
- }
- if (!function_exists('error_clear_last')) {
- function error_clear_last() { return p\Php70::error_clear_last(); }
- }
-}
diff --git a/vendor/symfony/polyfill-php70/composer.json b/vendor/symfony/polyfill-php70/composer.json
deleted file mode 100644
index 1d0b8fe208..0000000000
--- a/vendor/symfony/polyfill-php70/composer.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "symfony/polyfill-php70",
- "type": "library",
- "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
- "keywords": ["polyfill", "shim", "compatibility", "portable"],
- "homepage": "https://symfony.com",
- "license": "MIT",
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "require": {
- "php": ">=5.3.3",
- "paragonie/random_compat": "~1.0|~2.0"
- },
- "autoload": {
- "psr-4": { "Symfony\\Polyfill\\Php70\\": "" },
- "files": [ "bootstrap.php" ],
- "classmap": [ "Resources/stubs" ]
- },
- "minimum-stability": "dev",
- "extra": {
- "branch-alias": {
- "dev-master": "1.6-dev"
- }
- }
-}