diff --git a/.travis.yml b/.travis.yml index 675675ab02068cb25fe0b50e53309c0006740465..5a923f648446b07a02b9498fba20f1e4e3d54ef7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: php php: - - 5.5 - 5.6 - 7.0 - 7.1 @@ -13,7 +12,7 @@ env: before_script: - composer ${COMMAND} - - if [[ "$TRAVIS_PHP_VERSION" == "7.3" ]]; then composer require --dev vimeo/psalm:0.3.92; fi + - if [[ "$TRAVIS_PHP_VERSION" == "7.3" ]]; then composer require --dev vimeo/psalm:1.1.9; fi - if [[ "$TRAVIS_PHP_VERSION" == "5.6" ]]; then composer require --dev php-coveralls/php-coveralls; fi script: diff --git a/composer.json b/composer.json index 35d41d3a80e8829d72ea4c9147ca27a99b6bcab7..2b69f60677b1f370157064d68010738b6ccece98 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,7 @@ "files": ["lib/_autoload_modules.php"] }, "require": { - "php": ">=5.5", + "php": ">=5.6", "ext-SPL": "*", "ext-zlib": "*", "ext-pcre": "*", @@ -62,7 +62,7 @@ "require-dev": { "ext-curl": "*", "mikey179/vfsstream": "~1.6", - "phpunit/phpunit": "~4.8" + "phpunit/phpunit": "~5.7" }, "suggest": { "predis/predis": "Needed if a Redis server is used to store session information", diff --git a/composer.lock b/composer.lock index 07f1831d7dc071d4ac9a6f64892449d03505019a..78b2bf3c728aa672a3c7cd344f13b8dbb041274a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b8847137c81850b370dc6f05691d31db", + "content-hash": "4c6f368f5eb94ed5024ce013e375ee2e", "packages": [ { "name": "gettext/gettext", - "version": "v4.6.1", + "version": "v4.6.2", "source": { "type": "git", "url": "https://github.com/oscarotero/Gettext.git", - "reference": "854ff5f5aaf92d2af7080ba8fc15718b27b5c89a" + "reference": "93176b272d61fb58a9767be71c50d19149cb1e48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/oscarotero/Gettext/zipball/854ff5f5aaf92d2af7080ba8fc15718b27b5c89a", - "reference": "854ff5f5aaf92d2af7080ba8fc15718b27b5c89a", + "url": "https://api.github.com/repos/oscarotero/Gettext/zipball/93176b272d61fb58a9767be71c50d19149cb1e48", + "reference": "93176b272d61fb58a9767be71c50d19149cb1e48", "shasum": "" }, "require": { @@ -66,7 +66,7 @@ "po", "translation" ], - "time": "2018-08-27T15:40:19+00:00" + "time": "2019-01-12T18:40:56+00:00" }, { "name": "gettext/languages", @@ -222,6 +222,78 @@ ], "time": "2019-01-03T20:59:08+00:00" }, + { + "name": "phpfastcache/riak-client", + "version": "3.4.3", + "source": { + "type": "git", + "url": "https://github.com/PHPSocialNetwork/riak-php-client.git", + "reference": "d771f75d16196006604a30bb15adc1c6a9b0fcc9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPSocialNetwork/riak-php-client/zipball/d771f75d16196006604a30bb15adc1c6a9b0fcc9", + "reference": "d771f75d16196006604a30bb15adc1c6a9b0fcc9", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "php": ">=5.4" + }, + "conflict": { + "basho/riak": "*" + }, + "require-dev": { + "apigen/apigen": "4.1.*", + "phpunit/phpunit": "4.8.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Basho\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Georges.L", + "email": "contact@geolim4.com", + "homepage": "https://github.com/Geolim4", + "role": "Maintainer" + }, + { + "name": "Christopher Mancini", + "email": "cmancini@basho.com", + "homepage": "https://github.com/christophermancini", + "role": "Former Lead Developer" + }, + { + "name": "Alex Moore", + "email": "amoore@basho.com", + "homepage": "https://github.com/alexmoore", + "role": "Former Developer" + } + ], + "description": "Riak client for PHP (Fork of the official basho/riak due to maintainer significant inactivity)", + "homepage": "https://github.com/PHPSocialNetwork/riak-php-client", + "keywords": [ + "basho", + "client", + "crdt", + "data", + "database", + "datatype", + "driver", + "kv", + "nosql", + "riak" + ], + "time": "2017-11-23T21:33:15+00:00" + }, { "name": "phpmailer/phpmailer", "version": "v6.0.7", @@ -420,77 +492,549 @@ "xml", "xmldsig" ], - "time": "2018-11-15T11:59:02+00:00" + "time": "2018-11-15T11:59:02+00:00" + }, + { + "name": "simplesamlphp/composer-module-installer", + "version": "v1.1.6", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/composer-module-installer.git", + "reference": "b70414a2112fe49e97a7eddd747657bd8bc38ef0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/composer-module-installer/zipball/b70414a2112fe49e97a7eddd747657bd8bc38ef0", + "reference": "b70414a2112fe49e97a7eddd747657bd8bc38ef0", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "simplesamlphp/simplesamlphp": "*" + }, + "type": "composer-plugin", + "extra": { + "class": "SimpleSamlPhp\\Composer\\ModuleInstallerPlugin" + }, + "autoload": { + "psr-0": { + "SimpleSamlPhp\\Composer": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "description": "A Composer plugin that allows installing SimpleSAMLphp modules through Composer.", + "time": "2017-04-24T07:12:50+00:00" + }, + { + "name": "simplesamlphp/saml2", + "version": "v3.3.11", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/saml2.git", + "reference": "a04f09e3b82829bc1efbfe0e6b95b9f8c5e7adc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/a04f09e3b82829bc1efbfe0e6b95b9f8c5e7adc6", + "reference": "a04f09e3b82829bc1efbfe0e6b95b9f8c5e7adc6", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-openssl": "*", + "ext-zlib": "*", + "php": ">=5.4", + "psr/log": "~1.0", + "robrichards/xmlseclibs": "^3.0", + "webmozart/assert": "^1.4" + }, + "require-dev": { + "mockery/mockery": "~0.9", + "phpmd/phpmd": "~2.6", + "phpunit/phpunit": "~4", + "sebastian/phpcpd": "~2.0", + "sensiolabs/security-checker": "~4.1", + "squizlabs/php_codesniffer": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "v3.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "SAML2\\": "src/" + }, + "files": [ + "src/_autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Andreas Ă…kre Solberg", + "email": "andreas.solberg@uninett.no" + } + ], + "description": "SAML2 PHP library from SimpleSAMLphp", + "time": "2019-03-13T20:18:30+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-authfacebook", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-authfacebook.git", + "reference": "7e204d5f8c19a6f0c480e0b1f1c02d1649bade60" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-authfacebook/zipball/7e204d5f8c19a6f0c480e0b1f1c02d1649bade60", + "reference": "7e204d5f8c19a6f0c480e0b1f1c02d1649bade60", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "simplesamlphp/composer-module-installer": "~1.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36", + "simplesamlphp/simplesamlphp": "^1.17", + "webmozart/assert": "^1.4" + }, + "type": "simplesamlphp-module", + "autoload": { + "psr-4": { + "SimpleSAML\\modules\\authfacebook\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Andjelko Horvat", + "email": "comel@vingd.com" + }, + { + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" + } + ], + "description": "A module that is able to authenticate against Facebook", + "keywords": [ + "facebook", + "simplesamlphp" + ], + "time": "2019-03-09T13:28:42+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-authlinkedin", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-authlinkedin.git", + "reference": "93721983492e3a0bf8f19dce8e3f48a529416cfe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-authlinkedin/zipball/93721983492e3a0bf8f19dce8e3f48a529416cfe", + "reference": "93721983492e3a0bf8f19dce8e3f48a529416cfe", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "simplesamlphp/composer-module-installer": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.35", + "simplesamlphp/simplesamlphp": "^1.17", + "webmozart/assert": "^1.4" + }, + "type": "simplesamlphp-module", + "autoload": { + "psr-4": { + "SimpleSAML\\modules\\authlinkedin\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" + }, + { + "name": "Olav Morken", + "email": "olavmrk@gmail.com" + } + ], + "description": "A module that is able to authenticate against LinkedIn", + "keywords": [ + "linkedin", + "simplesamlphp" + ], + "time": "2019-03-08T21:40:39+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-authtwitter", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-authtwitter.git", + "reference": "d7161f1d11b35b0cc371a9506a8d879cd66745da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-authtwitter/zipball/d7161f1d11b35b0cc371a9506a8d879cd66745da", + "reference": "d7161f1d11b35b0cc371a9506a8d879cd66745da", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "simplesamlphp/composer-module-installer": "~1.0", + "simplesamlphp/simplesamlphp-module-oauth": "~1.0", + "webmozart/assert": "^1.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.35", + "simplesamlphp/simplesamlphp": "^1.17" + }, + "type": "simplesamlphp-module", + "autoload": { + "psr-4": { + "SimpleSAML\\modules\\authtwitter\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" + }, + { + "name": "Olav Morken", + "email": "olavmrk@gmail.com" + } + ], + "description": "A module that is able to perform authentication against Twitter", + "keywords": [ + "simplesamlphp", + "twitter" + ], + "time": "2019-03-08T20:14:36+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-authwindowslive", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-authwindowslive.git", + "reference": "d98d400021dbfb214cbe1de30589b708945aaaec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-authwindowslive/zipball/d98d400021dbfb214cbe1de30589b708945aaaec", + "reference": "d98d400021dbfb214cbe1de30589b708945aaaec", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "simplesamlphp/composer-module-installer": "~1.1", + "webmozart/assert": "^1.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36", + "simplesamlphp/simplesamlphp": "^1.17" + }, + "type": "simplesamlphp-module", + "autoload": { + "psr-4": { + "SimpleSAML\\modules\\authwindowslive\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" + }, + { + "name": "Olav Morken", + "email": "olavmrk@gmail.com" + } + ], + "description": "A module that is able to perform authentication against Windows Live", + "keywords": [ + "live", + "simplesamlphp", + "windows", + "windowslive" + ], + "time": "2019-03-09T13:38:59+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-authx509", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-authX509.git", + "reference": "9ce76a31f2f3899ed8798eabfc1877fe445a315a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-authX509/zipball/9ce76a31f2f3899ed8798eabfc1877fe445a315a", + "reference": "9ce76a31f2f3899ed8798eabfc1877fe445a315a", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "simplesamlphp/composer-module-installer": "~1.1", + "webmozart/assert": "~1.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36", + "simplesamlphp/simplesamlphp": "^1.17" + }, + "type": "simplesamlphp-module", + "autoload": { + "psr-4": { + "SimpleSAML\\modules\\authX509\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" + }, + { + "name": "Joost van Dijk", + "email": "Joost.vanDijk@surfnet.nl" + } + ], + "description": "A module that is able to authenticate users based on X509 client certificates", + "keywords": [ + "simplesamlphp", + "x509" + ], + "time": "2019-03-11T14:43:32+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-cdc", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-cdc.git", + "reference": "51707b052cfc70695f45c6665b15fec07f72746f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-cdc/zipball/51707b052cfc70695f45c6665b15fec07f72746f", + "reference": "51707b052cfc70695f45c6665b15fec07f72746f", + "shasum": "" + }, + "require": { + "simplesamlphp/composer-module-installer": ">=1.1.6" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36", + "simplesamlphp/simplesamlphp": "^1.17" + }, + "type": "simplesamlphp-module", + "autoload": { + "psr-4": { + "SimpleSAML\\modules\\cdc\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Olav Morken", + "email": "olav.morken@uninett.no" + }, + { + "name": "Jaime Perez Crespo", + "email": "jaime.perez@uninett.no" + } + ], + "description": "A SimpleSAMLphp module that allows integration with CDC", + "homepage": "https://simplesamlphp.org/", + "keywords": [ + "cdc", + "simplesamlphp" + ], + "time": "2019-03-09T10:39:59+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-memcookie", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-memcookie.git", + "reference": "f21e70948b020952a4786d6afa56686a5500d6fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-memcookie/zipball/f21e70948b020952a4786d6afa56686a5500d6fd", + "reference": "f21e70948b020952a4786d6afa56686a5500d6fd", + "shasum": "" + }, + "require": { + "simplesamlphp/composer-module-installer": ">=1.1.6" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36", + "simplesamlphp/simplesamlphp": "^1.17" + }, + "type": "simplesamlphp-module", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Olav Morken", + "email": "olav.morken@uninett.no" + }, + { + "name": "Jaime Perez Crespo", + "email": "jaime.perez@uninett.no" + } + ], + "description": "A SimpleSAMLphp module that allows integration with Auth MemCookie, allowing web applications written in other languages than PHP to integrate with SimpleSAMLphp.", + "homepage": "https://simplesamlphp.org/", + "keywords": [ + "Auth MemCookie", + "apache", + "cookies", + "simplesamlphp" + ], + "time": "2019-03-09T14:04:06+00:00" + }, + { + "name": "simplesamlphp/simplesamlphp-module-oauth", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/simplesamlphp/simplesamlphp-module-oauth.git", + "reference": "2510d280a1a6d1244cb6e099e9d07d8369dbe7b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-oauth/zipball/2510d280a1a6d1244cb6e099e9d07d8369dbe7b5", + "reference": "2510d280a1a6d1244cb6e099e9d07d8369dbe7b5", + "shasum": "" + }, + "require": { + "simplesamlphp/composer-module-installer": ">=1.1.6" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36", + "simplesamlphp/simplesamlphp": "^1.17", + "webmozart/assert": "1.4" + }, + "type": "simplesamlphp-module", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Olav Morken", + "email": "olav.morken@uninett.no" + }, + { + "name": "Jaime Perez Crespo", + "email": "jaime.perez@uninett.no" + } + ], + "description": "A SimpleSAMLphp module that allows integration with OAuth1,", + "homepage": "https://simplesamlphp.org/", + "keywords": [ + "oauth1", + "simplesamlphp" + ], + "time": "2019-03-09T12:51:42+00:00" }, { - "name": "simplesamlphp/saml2", - "version": "v3.3.6", + "name": "simplesamlphp/simplesamlphp-module-riak", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/simplesamlphp/saml2.git", - "reference": "513970e78c527d87a3358829d7c0f417267a582b" + "url": "https://github.com/simplesamlphp/simplesamlphp-module-riak.git", + "reference": "2d0ba73548ed2cfb2012922dda78d043336fca6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/513970e78c527d87a3358829d7c0f417267a582b", - "reference": "513970e78c527d87a3358829d7c0f417267a582b", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-riak/zipball/2d0ba73548ed2cfb2012922dda78d043336fca6f", + "reference": "2d0ba73548ed2cfb2012922dda78d043336fca6f", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-openssl": "*", - "ext-zlib": "*", - "php": ">=5.4", - "psr/log": "~1.0", - "robrichards/xmlseclibs": "^3.0" + "php": ">=5.5", + "phpfastcache/riak-client": "^3.4", + "simplesamlphp/composer-module-installer": "~1.1", + "webmozart/assert": "~1.4" }, "require-dev": { - "mockery/mockery": "~0.9", - "phpmd/phpmd": "~2.6", - "phpunit/phpunit": "~4", - "sebastian/phpcpd": "~2.0", - "sensiolabs/security-checker": "~4.1", - "squizlabs/php_codesniffer": "~3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "v3.1.x-dev" - } + "phpunit/phpunit": "~4.8.36", + "simplesamlphp/simplesamlphp": "^1.17" }, + "type": "simplesamlphp-module", "autoload": { - "psr-0": { - "SAML2\\": "src/" - }, - "files": [ - "src/_autoload.php" - ] + "psr-4": { + "SimpleSAML\\modules\\riak\\": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "LGPL-3.0-or-later" ], "authors": [ { - "name": "Andreas Ă…kre Solberg", - "email": "andreas.solberg@uninett.no" + "name": "Tim van Dijen", + "email": "tvdijen@gmail.com" } ], - "description": "SAML2 PHP library from SimpleSAMLphp", - "time": "2019-01-04T13:42:36+00:00" + "description": "A module that is able to store key/value pairs in a Riak store", + "keywords": [ + "riak", + "simplesamlphp" + ], + "time": "2019-03-09T10:26:49+00:00" }, { "name": "symfony/config", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "17c5d8941eb75a03d19bc76a43757738632d87b3" + "reference": "177a276c01575253c95cefe0866e3d1b57637fe0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/17c5d8941eb75a03d19bc76a43757738632d87b3", - "reference": "17c5d8941eb75a03d19bc76a43757738632d87b3", + "url": "https://api.github.com/repos/symfony/config/zipball/177a276c01575253c95cefe0866e3d1b57637fe0", + "reference": "177a276c01575253c95cefe0866e3d1b57637fe0", "shasum": "" }, "require": { @@ -541,20 +1085,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-02-23T15:06:07+00:00" }, { "name": "symfony/debug", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186" + "reference": "8d8a9e877b3fcdc50ddecf8dcea146059753f782" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186", - "reference": "26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186", + "url": "https://api.github.com/repos/symfony/debug/zipball/8d8a9e877b3fcdc50ddecf8dcea146059753f782", + "reference": "8d8a9e877b3fcdc50ddecf8dcea146059753f782", "shasum": "" }, "require": { @@ -597,20 +1141,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-02-24T15:45:11+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "928a38b18bd632d67acbca74d0b2eed09915e83e" + "reference": "c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/928a38b18bd632d67acbca74d0b2eed09915e83e", - "reference": "928a38b18bd632d67acbca74d0b2eed09915e83e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11", + "reference": "c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11", "shasum": "" }, "require": { @@ -668,20 +1212,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2019-01-05T12:26:58+00:00" + "time": "2019-02-23T15:06:07+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2" + "reference": "ec625e2fff7f584eeb91754821807317b2e79236" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2", - "reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ec625e2fff7f584eeb91754821807317b2e79236", + "reference": "ec625e2fff7f584eeb91754821807317b2e79236", "shasum": "" }, "require": { @@ -731,20 +1275,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-01-01T18:08:36+00:00" + "time": "2019-02-23T15:06:07+00:00" }, { "name": "symfony/filesystem", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde" + "reference": "acf99758b1df8e9295e6b85aa69f294565c9fedb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde", - "reference": "c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/acf99758b1df8e9295e6b85aa69f294565c9fedb", + "reference": "acf99758b1df8e9295e6b85aa69f294565c9fedb", "shasum": "" }, "require": { @@ -781,20 +1325,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-02-04T21:34:32+00:00" }, { "name": "symfony/http-foundation", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "2b97319e68816d2120eee7f13f4b76da12e04d03" + "reference": "9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/2b97319e68816d2120eee7f13f4b76da12e04d03", - "reference": "2b97319e68816d2120eee7f13f4b76da12e04d03", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a", + "reference": "9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a", "shasum": "" }, "require": { @@ -835,26 +1379,26 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-01-05T08:05:37+00:00" + "time": "2019-02-23T15:06:07+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "60bd9d7444ca436e131c347d78ec039dd99a34b4" + "reference": "0362368c761cb8d9c79e56ab0db61d2c692db594" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60bd9d7444ca436e131c347d78ec039dd99a34b4", - "reference": "60bd9d7444ca436e131c347d78ec039dd99a34b4", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0362368c761cb8d9c79e56ab0db61d2c692db594", + "reference": "0362368c761cb8d9c79e56ab0db61d2c692db594", "shasum": "" }, "require": { "php": "^5.5.9|>=7.0.8", "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/debug": "^3.3.3|~4.0", "symfony/event-dispatcher": "~2.8|~3.0|~4.0", "symfony/http-foundation": "~3.4.12|~4.0.12|^4.1.1", "symfony/polyfill-ctype": "~1.8" @@ -924,20 +1468,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-01-06T15:53:59+00:00" + "time": "2019-03-03T18:52:34+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + "reference": "82ebae02209c21113908c229e9883c419720738a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", "shasum": "" }, "require": { @@ -949,7 +1493,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -982,20 +1526,20 @@ "polyfill", "portable" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", "shasum": "" }, "require": { @@ -1007,7 +1551,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -1041,20 +1585,20 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" + "reference": "bc4858fb611bda58719124ca079baff854149c89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89", + "reference": "bc4858fb611bda58719124ca079baff854149c89", "shasum": "" }, "require": { @@ -1064,7 +1608,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -1100,20 +1644,20 @@ "portable", "shim" ], - "time": "2018-09-21T06:26:08+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/routing", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "445d3629a26930158347a50d1a5f2456c49e0ae6" + "reference": "6b25a86df5860461ff1990946168c0ef944f83db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/445d3629a26930158347a50d1a5f2456c49e0ae6", - "reference": "445d3629a26930158347a50d1a5f2456c49e0ae6", + "url": "https://api.github.com/repos/symfony/routing/zipball/6b25a86df5860461ff1990946168c0ef944f83db", + "reference": "6b25a86df5860461ff1990946168c0ef944f83db", "shasum": "" }, "require": { @@ -1177,20 +1721,20 @@ "uri", "url" ], - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-02-23T15:06:07+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.21", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "554a59a1ccbaac238a89b19c8e551a556fd0e2ea" + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/554a59a1ccbaac238a89b19c8e551a556fd0e2ea", - "reference": "554a59a1ccbaac238a89b19c8e551a556fd0e2ea", + "url": "https://api.github.com/repos/symfony/yaml/zipball/57f1ce82c997f5a8701b89ef970e36bb657fd09c", + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c", "shasum": "" }, "require": { @@ -1236,7 +1780,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-02-23T15:06:07+00:00" }, { "name": "twig/extensions", @@ -1295,20 +1839,20 @@ }, { "name": "twig/twig", - "version": "v1.36.0", + "version": "v1.38.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "730c9c4471b5152d23061feb02b03382264c8a15" + "reference": "5df0ef0ca2d08a6f087384c7f31530fb84889f28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/730c9c4471b5152d23061feb02b03382264c8a15", - "reference": "730c9c4471b5152d23061feb02b03382264c8a15", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/5df0ef0ca2d08a6f087384c7f31530fb84889f28", + "reference": "5df0ef0ca2d08a6f087384c7f31530fb84889f28", "shasum": "" }, "require": { - "php": ">=5.3.3", + "php": ">=5.4.0", "symfony/polyfill-ctype": "^1.8" }, "require-dev": { @@ -1319,7 +1863,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.36-dev" + "dev-master": "1.38-dev" } }, "autoload": { @@ -1357,7 +1901,58 @@ "keywords": [ "templating" ], - "time": "2018-12-16T10:34:11+00:00" + "time": "2019-03-21T14:50:13+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-12-25T11:19:39+00:00" }, { "name": "whitehat101/apr1-md5", @@ -1505,6 +2100,51 @@ "homepage": "http://vfs.bovigo.org/", "time": "2017-08-01T08:02:14+00:00" }, + { + "name": "myclabs/deep-copy", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^4.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2017-10-19T19:58:43+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "1.0.1", @@ -1561,22 +2201,22 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "3.2.2", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157" + "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/4aada1f93c72c35e22fb1383b47fee43b8f1d157", - "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2", + "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2", "shasum": "" }, "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.3.0", + "php": "^5.6 || ^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", "webmozart/assert": "^1.0" }, "require-dev": { @@ -1602,20 +2242,20 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-08-08T06:39:58+00:00" + "time": "2017-11-10T14:09:06+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.3.0", + "version": "0.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773" + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fb3933512008d8162b3cdf9e18dba9309b7c3773", - "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", "shasum": "" }, "require": { @@ -1649,7 +2289,7 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-06-03T08:32:36+00:00" + "time": "2017-07-14T14:27:02+00:00" }, { "name": "phpspec/prophecy", @@ -1716,39 +2356,40 @@ }, { "name": "phpunit/php-code-coverage", - "version": "2.2.4", + "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^5.6 || ^7.0", + "phpunit/php-file-iterator": "^1.3", + "phpunit/php-text-template": "^1.2", + "phpunit/php-token-stream": "^1.4.2 || ^2.0", + "sebastian/code-unit-reverse-lookup": "^1.0", + "sebastian/environment": "^1.3.2 || ^2.0", + "sebastian/version": "^1.0 || ^2.0" }, "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" + "ext-xdebug": "^2.1.4", + "phpunit/phpunit": "^5.7" }, "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "ext-xdebug": "^2.5.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -1774,7 +2415,7 @@ "testing", "xunit" ], - "time": "2015-10-06T15:47:00+00:00" + "time": "2017-04-02T07:44:40+00:00" }, { "name": "phpunit/php-file-iterator", @@ -1964,40 +2605,50 @@ }, { "name": "phpunit/phpunit", - "version": "4.8.36", + "version": "5.7.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "~1.3", + "php": "^5.6 || ^7.0", + "phpspec/prophecy": "^1.6.2", + "phpunit/php-code-coverage": "^4.0.4", "phpunit/php-file-iterator": "~1.4", "phpunit/php-text-template": "~1.2", "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.2.2", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" + "phpunit/phpunit-mock-objects": "^3.2", + "sebastian/comparator": "^1.2.4", + "sebastian/diff": "^1.4.3", + "sebastian/environment": "^1.3.4 || ^2.0", + "sebastian/exporter": "~2.0", + "sebastian/global-state": "^1.1", + "sebastian/object-enumerator": "~2.0", + "sebastian/resource-operations": "~1.0", + "sebastian/version": "^1.0.6|^2.0.1", + "symfony/yaml": "~2.1|~3.0|~4.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2" + }, + "require-dev": { + "ext-pdo": "*" }, "suggest": { + "ext-xdebug": "*", "phpunit/php-invoker": "~1.1" }, "bin": [ @@ -2006,7 +2657,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.8.x-dev" + "dev-master": "5.7.x-dev" } }, "autoload": { @@ -2032,30 +2683,33 @@ "testing", "xunit" ], - "time": "2017-06-21T08:07:12+00:00" + "time": "2018-02-01T05:50:59+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" + "php": "^5.6 || ^7.0", + "phpunit/php-text-template": "^1.2", + "sebastian/exporter": "^1.2 || ^2.0" + }, + "conflict": { + "phpunit/phpunit": "<5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^5.4" }, "suggest": { "ext-soap": "*" @@ -2063,7 +2717,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "3.2.x-dev" } }, "autoload": { @@ -2088,7 +2742,53 @@ "mock", "xunit" ], - "time": "2015-10-02T06:51:40+00:00" + "abandoned": true, + "time": "2017-06-30T09:13:00+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" }, { "name": "sebastian/comparator", @@ -2208,28 +2908,28 @@ }, { "name": "sebastian/environment", - "version": "1.3.8", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^5.6 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" + "phpunit/phpunit": "^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2254,25 +2954,25 @@ "environment", "hhvm" ], - "time": "2016-08-18T05:49:44+00:00" + "time": "2016-11-26T07:53:53+00:00" }, { "name": "sebastian/exporter", - "version": "1.2.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", "shasum": "" }, "require": { "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "sebastian/recursion-context": "~2.0" }, "require-dev": { "ext-mbstring": "*", @@ -2281,7 +2981,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2321,7 +3021,7 @@ "export", "exporter" ], - "time": "2016-06-17T09:04:28+00:00" + "time": "2016-11-19T08:54:04+00:00" }, { "name": "sebastian/global-state", @@ -2374,18 +3074,64 @@ ], "time": "2015-10-12T03:26:01+00:00" }, + { + "name": "sebastian/object-enumerator", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-02-18T15:18:39+00:00" + }, { "name": "sebastian/recursion-context", - "version": "1.0.5", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", "shasum": "" }, "require": { @@ -2397,7 +3143,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2425,23 +3171,31 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" + "time": "2016-11-19T07:33:16+00:00" }, { - "name": "sebastian/version", - "version": "1.0.6", + "name": "sebastian/resource-operations", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "shasum": "" }, + "require": { + "php": ">=5.6.0" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -2454,64 +3208,55 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21T13:59:46+00:00" + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" }, { - "name": "webmozart/assert", - "version": "1.4.0", + "name": "sebastian/version", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "php": ">=5.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2018-12-25T11:19:39+00:00" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" } ], "aliases": [], @@ -2520,7 +3265,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.5", + "php": ">=5.6", "ext-spl": "*", "ext-zlib": "*", "ext-pcre": "*", @@ -2535,6 +3280,6 @@ "ext-curl": "*" }, "platform-overrides": { - "php": "5.5.38" + "php": "5.6.40" } } diff --git a/docs/simplesamlphp-changelog.md b/docs/simplesamlphp-changelog.md index 1a5be31397de16f8db05ee051aa5dff9a5d6d448..c79e2a902f35f94ca2fe7dcec205f451680d2fcf 100644 --- a/docs/simplesamlphp-changelog.md +++ b/docs/simplesamlphp-changelog.md @@ -21,6 +21,9 @@ Released TBD * Make the id of the generated signed metadata only change when metadata content changes. +### Interoperability + * The minimum PHP version required is now 5.6. + ## Version 1.17.1 Released 2019-03-07 diff --git a/lib/SimpleSAML/Utils/Crypto.php b/lib/SimpleSAML/Utils/Crypto.php index 9c22461d969c47a48e349a2247bf84c0e740f009..c5578055d99049ee086da84a338e9d1c3fa61354 100644 --- a/lib/SimpleSAML/Utils/Crypto.php +++ b/lib/SimpleSAML/Utils/Crypto.php @@ -396,9 +396,10 @@ class Crypto } else { if (!is_string($password)) { throw new \InvalidArgumentException('Invalid input parameter.'); + } elseif (!is_string($hash = password_hash($password, PASSWORD_DEFAULT))) { + throw new \InvalidArgumentException('Error while hashing password.'); } - - return password_hash($password, PASSWORD_DEFAULT); + return $hash; } } diff --git a/lib/SimpleSAML/Utils/EMail.php b/lib/SimpleSAML/Utils/EMail.php index 777729702c16aa2c383e1224e164d509b65a7b5b..44871505a30a8378d00d2f371e045709346c421c 100644 --- a/lib/SimpleSAML/Utils/EMail.php +++ b/lib/SimpleSAML/Utils/EMail.php @@ -20,10 +20,10 @@ use SimpleSAML\XHTML\Template; class EMail { /** @var array Dictionary with multivalues */ - private $data; + private $data = []; /** @var string Introduction text */ - private $text; + private $text = ''; /** @var PHPMailer The mailer instance */ private $mail; @@ -75,6 +75,7 @@ class EMail * Set the data that should be embedded in the e-mail body * * @param array $data The data that should be embedded in the e-mail body + * @return void */ public function setData(array $data) { @@ -83,7 +84,16 @@ class EMail * as its only element. This guarantees that every value of $data * can be iterated over. */ - $this->data = array_map(function($v){return is_array($v) ? $v : [$v];}, $data); + $this->data = array_map( + /** + * @param mixed $v + * @return array + */ + function($v) { + return is_array($v) ? $v : [$v]; + }, + $data + ); } @@ -91,6 +101,7 @@ class EMail * Set an introduction text for the e-mail * * @param string $text Introduction text + * @return void */ public function setText($text) { @@ -102,6 +113,7 @@ class EMail * Add a Reply-To address to the mail * * @param string $address Reply-To e-mail address + * @return void */ public function addReplyTo($address) { @@ -113,6 +125,7 @@ class EMail * Send the mail * * @param bool $plainTextOnly Do not send HTML payload + * @return void * * @throws \PHPMailer\PHPMailer\Exception */ diff --git a/lib/SimpleSAML/Utils/HTTP.php b/lib/SimpleSAML/Utils/HTTP.php index 4600821ba70d0b49e44a384a85a7b7a8f65c2178..2dc9e7ad2411f7191721c84323ffbc3eb7614b61 100644 --- a/lib/SimpleSAML/Utils/HTTP.php +++ b/lib/SimpleSAML/Utils/HTTP.php @@ -339,7 +339,6 @@ class HTTP // validates the URL's host is among those allowed if (is_array($trustedSites)) { - assert(is_array($trustedSites)); $components = parse_url($url); $hostname = $components['host']; @@ -463,10 +462,16 @@ class HTTP // data and headers if ($getHeaders) { - /** @psalm-suppress UndefinedVariable */ - if (isset($http_response_header)) { + /** + * Remove for Psalm >=3.0.17 + * @psalm-suppress UndefinedVariable + */ + if (!empty($http_response_header)) { $headers = []; - /** @psalm-suppress UndefinedVariable */ + /** + * Remove for Psalm >=3.0.17 + * @psalm-suppress UndefinedVariable + */ foreach ($http_response_header as $h) { if (preg_match('@^HTTP/1\.[01]\s+\d{3}\s+@', $h)) { $headers = []; // reset @@ -1149,17 +1154,17 @@ class HTTP if ($value === null) { $expire = time() - 365 * 24 * 60 * 60; } elseif (isset($params['expire'])) { - $expire = $params['expire']; + $expire = intval($params['expire']); } elseif ($params['lifetime'] === 0) { $expire = 0; } else { - $expire = time() + $params['lifetime']; + $expire = time() + intval($params['lifetime']); } if ($params['raw']) { $success = @setrawcookie( $name, - $value, + strval($value), $expire, $params['path'], $params['domain'], @@ -1169,7 +1174,7 @@ class HTTP } else { $success = @setcookie( $name, - $value, + strval($value), $expire, $params['path'], $params['domain'], diff --git a/modules/admin/lib/ConfigController.php b/modules/admin/lib/ConfigController.php index 81746e88c743b42210b924c95e244295ed8f9a9e..a7844be3cac84d4bb2e40fbb22fe301409b4d939 100644 --- a/modules/admin/lib/ConfigController.php +++ b/modules/admin/lib/ConfigController.php @@ -148,11 +148,11 @@ class ConfigController 'descr' => [ Translate::noop('PHP %minimum% or newer is needed. You are running: %current%'), [ - '%minimum%' => '5.5', + '%minimum%' => '5.6', '%current%' => explode('-', phpversion())[0] ] ], - 'enabled' => version_compare(phpversion(), '5.5', '>=') + 'enabled' => version_compare(phpversion(), '5.6', '>=') ] ]; $store = $this->config->getString('store.type', ''); diff --git a/modules/core/hooks/hook_sanitycheck.php b/modules/core/hooks/hook_sanitycheck.php index b7701d862cc462e09cdc5adfb281465793a6b4a1..b71dd1912881bd90d4e8a0ad7f5d62d5d7cf2f87 100644 --- a/modules/core/hooks/hook_sanitycheck.php +++ b/modules/core/hooks/hook_sanitycheck.php @@ -26,7 +26,7 @@ function core_hook_sanitycheck(&$hookinfo) $hookinfo['info'][] = '[core] In config.php technicalcontact_email is set properly'; } - if (version_compare(phpversion(), '5.5', '>=')) { + if (version_compare(phpversion(), '5.6', '>=')) { $hookinfo['info'][] = '[core] You are running a PHP version suitable for SimpleSAMLphp.'; } else { $hookinfo['errors'][] = '[core] You are running an old PHP installation. '. diff --git a/modules/core/www/frontpage_config.php b/modules/core/www/frontpage_config.php index 172b75c4cb5693bd57eec370b3b2c4c1289ddc42..bb6e6ae5a347977b3bd6b35de51fa5ad7dc877b8 100644 --- a/modules/core/www/frontpage_config.php +++ b/modules/core/www/frontpage_config.php @@ -122,8 +122,8 @@ if (\SimpleSAML\Module::isModuleEnabled('radius')) { $funcmatrix = []; $funcmatrix[] = [ 'required' => 'required', - 'descr' => 'PHP Version >= 5.5. You run: '.phpversion(), - 'enabled' => version_compare(phpversion(), '5.5', '>=') + 'descr' => 'PHP Version >= 5.6. You run: '.phpversion(), + 'enabled' => version_compare(phpversion(), '5.6', '>=') ]; foreach ($functionchecks as $func => $descr) { $funcmatrix[] = ['descr' => $descr[1], 'required' => $descr[0], 'enabled' => function_exists($func)]; diff --git a/phpunit.xml b/phpunit.xml index 12a0823fbb56ce0e4e0e176fa785acba632b6bb0..bd3d874071e68e19a3de4e03ee666232c6ad8bd0 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -16,7 +16,6 @@ <filter> <whitelist processUncoveredFilesFromWhitelist="true"> <directory suffix=".php">./lib/</directory> - <directory suffix=".php">./modules/consent/lib/</directory> <directory suffix=".php">./modules/core/lib/</directory> <directory suffix=".php">./modules/saml/lib/</directory> <exclude> diff --git a/psalm.xml b/psalm.xml index a9ed2d69e3e9d1fa1a3f355e4357b41657fd94ae..9bbf51e493e66b94f981012bdda9794d4e864ec8 100644 --- a/psalm.xml +++ b/psalm.xml @@ -26,6 +26,10 @@ <MissingParamType errorLevel="info" /> <UnusedClass errorLevel="info" /> <PossiblyUnusedMethod errorLevel="info" /> + + <!-- Ignore these errors until we are fully typehinted --> + <DocblockTypeContradiction errorLevel="suppress" /> + <RedundantConditionGivenDocblockType errorLevel="suppress" /> </issueHandlers> <stubs> diff --git a/tests/lib/SimpleSAML/XML/ValidatorTest.php b/tests/lib/SimpleSAML/XML/ValidatorTest.php index 61d89bd258e7a59bc971f91b9c97cf9b341c063a..c38cc05b48f7ff9e5804db8913b43f92785d502b 100644 --- a/tests/lib/SimpleSAML/XML/ValidatorTest.php +++ b/tests/lib/SimpleSAML/XML/ValidatorTest.php @@ -73,8 +73,7 @@ class ValidatorTest extends SigningTestCase ['certFingerprint' => [$fingerprint]] ); - // Avoiding Validator::class because it's >= PHP 5.5 only - $this->assertInstanceOf('\SimpleSAML\XML\Validator', $validator); + $this->assertInstanceOf(Validator::class, $validator); } public function testCertFingerprintFailure() @@ -116,8 +115,7 @@ class ValidatorTest extends SigningTestCase $validator = new Validator($doc, 'node'); $validator->validateFingerprint($fingerprint); - // Avoiding Validator::class because it's >= PHP 5.5 only - $this->assertInstanceOf('\SimpleSAML\XML\Validator', $validator); + $this->assertInstanceOf(Validator::class, $validator); } public function testValidateFingerprintFailure()