diff --git a/composer.lock b/composer.lock index 58972d180591639c44c469770a2428135b34972b..5845dc15b68a00a8e9d37c2fc6a4d51014f6e68c 100644 --- a/composer.lock +++ b/composer.lock @@ -66,11 +66,6 @@ "po", "translation" ], - "support": { - "email": "oom@oscarotero.com", - "issues": "https://github.com/oscarotero/Gettext/issues", - "source": "https://github.com/php-gettext/Gettext/tree/v4.8.4" - }, "funding": [ { "url": "https://paypal.me/oscarotero", @@ -146,10 +141,6 @@ "translations", "unicode" ], - "support": { - "issues": "https://github.com/php-gettext/Languages/issues", - "source": "https://github.com/php-gettext/Languages/tree/2.6.0" - }, "time": "2019-11-13T10:30:21+00:00" }, { @@ -216,10 +207,6 @@ } ], "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.4.1" - }, "funding": [ { "url": "https://github.com/Synchro", @@ -272,9 +259,6 @@ "psr", "psr-6" ], - "support": { - "source": "https://github.com/php-fig/cache/tree/master" - }, "time": "2016-08-06T20:24:11+00:00" }, { @@ -319,10 +303,6 @@ "container-interop", "psr" ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" - }, "time": "2021-03-05T17:36:06+00:00" }, { @@ -369,24 +349,20 @@ "psr", "psr-14" ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, "time": "2019-01-08T18:20:26+00:00" }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -410,7 +386,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -420,10 +396,7 @@ "psr", "psr-3" ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" - }, - "time": "2020-03-23T09:12:05+00:00" + "time": "2021-05-03T11:20:27+00:00" }, { "name": "robrichards/xmlseclibs", @@ -461,10 +434,6 @@ "xml", "xmldsig" ], - "support": { - "issues": "https://github.com/robrichards/xmlseclibs/issues", - "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1" - }, "time": "2020-09-05T13:00:25+00:00" }, { @@ -519,24 +488,20 @@ } ], "description": "A wrapper around webmozart/assert to make it useful beyond checking method arguments", - "support": { - "issues": "https://github.com/simplesamlphp/assert/issues", - "source": "https://github.com/simplesamlphp/assert/tree/v0.1.0" - }, "time": "2020-09-10T19:35:42+00:00" }, { "name": "simplesamlphp/saml2", - "version": "v4.2.0", + "version": "v4.2.1", "source": { "type": "git", "url": "https://github.com/simplesamlphp/saml2.git", - "reference": "d4038b83be50ccd64ecdc0b7c68e66d63c899d2c" + "reference": "3bc980feb96ecf57898014c1bb5b26f0859f1316" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/d4038b83be50ccd64ecdc0b7c68e66d63c899d2c", - "reference": "d4038b83be50ccd64ecdc0b7c68e66d63c899d2c", + "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/3bc980feb96ecf57898014c1bb5b26f0859f1316", + "reference": "3bc980feb96ecf57898014c1bb5b26f0859f1316", "shasum": "" }, "require": { @@ -578,11 +543,7 @@ } ], "description": "SAML2 PHP library from SimpleSAMLphp", - "support": { - "issues": "https://github.com/simplesamlphp/saml2/issues", - "source": "https://github.com/simplesamlphp/saml2/tree/v4.2.0" - }, - "time": "2021-01-28T21:35:22+00:00" + "time": "2021-04-26T14:40:29+00:00" }, { "name": "simplesamlphp/twig-configurable-i18n", @@ -634,24 +595,20 @@ "translation", "twig" ], - "support": { - "issues": "https://github.com/simplesamlphp/twig-configurable-i18n/issues", - "source": "https://github.com/simplesamlphp/twig-configurable-i18n" - }, "time": "2020-08-27T12:51:10+00:00" }, { "name": "symfony/cache", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "d15fb2576cdbe2c40d7c851e62f85b0faff3dd3d" + "reference": "1d801d1dc5e3840e832568db6b35a954cfb435a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/d15fb2576cdbe2c40d7c851e62f85b0faff3dd3d", - "reference": "d15fb2576cdbe2c40d7c851e62f85b0faff3dd3d", + "url": "https://api.github.com/repos/symfony/cache/zipball/1d801d1dc5e3840e832568db6b35a954cfb435a8", + "reference": "1d801d1dc5e3840e832568db6b35a954cfb435a8", "shasum": "" }, "require": { @@ -716,9 +673,6 @@ "caching", "psr6" ], - "support": { - "source": "https://github.com/symfony/cache/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -733,25 +687,25 @@ "type": "tidelift" } ], - "time": "2021-02-25T23:54:56+00:00" + "time": "2021-04-23T16:56:33+00:00" }, { "name": "symfony/cache-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb" + "reference": "c0446463729b89dd4fa62e9aeecc80287323615d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/8034ca0b61d4dd967f3698aaa1da2507b631d0cb", - "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/c0446463729b89dd4fa62e9aeecc80287323615d", + "reference": "c0446463729b89dd4fa62e9aeecc80287323615d", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/cache": "^1.0" + "psr/cache": "^1.0|^2.0|^3.0" }, "suggest": { "symfony/cache-implementation": "" @@ -759,7 +713,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -795,9 +749,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v2.2.0" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -812,20 +763,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/config", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263" + "reference": "3817662ada105c8c4d1afdb4ec003003efd1d8d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/212d54675bf203ff8aef7d8cee8eecfb72f4a263", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263", + "url": "https://api.github.com/repos/symfony/config/zipball/3817662ada105c8c4d1afdb4ec003003efd1d8d8", + "reference": "3817662ada105c8c4d1afdb4ec003003efd1d8d8", "shasum": "" }, "require": { @@ -873,9 +824,6 @@ ], "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/config/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -890,20 +838,20 @@ "type": "tidelift" } ], - "time": "2021-02-23T23:58:19+00:00" + "time": "2021-04-07T16:07:52+00:00" }, { "name": "symfony/console", - "version": "v5.2.5", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79" + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/938ebbadae1b0a9c9d1ec313f87f9708609f1b79", - "reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79", + "url": "https://api.github.com/repos/symfony/console/zipball/90374b8ed059325b49a29b55b3f8bb4062c87629", + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629", "shasum": "" }, "require": { @@ -970,9 +918,6 @@ "console", "terminal" ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.2.5" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -987,20 +932,20 @@ "type": "tidelift" } ], - "time": "2021-03-06T13:42:15+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.2.5", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "be0c7926f5729b15e4e79fd2bf917cac584b1970" + "reference": "6ca378b99e3c9ba6127eb43b68389fb2b7348577" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/be0c7926f5729b15e4e79fd2bf917cac584b1970", - "reference": "be0c7926f5729b15e4e79fd2bf917cac584b1970", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6ca378b99e3c9ba6127eb43b68389fb2b7348577", + "reference": "6ca378b99e3c9ba6127eb43b68389fb2b7348577", "shasum": "" }, "require": { @@ -1057,9 +1002,6 @@ ], "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.2.5" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1074,20 +1016,20 @@ "type": "tidelift" } ], - "time": "2021-03-05T20:13:41+00:00" + "time": "2021-04-24T14:32:26+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", "shasum": "" }, "require": { @@ -1096,7 +1038,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -1124,9 +1066,6 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/master" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1141,20 +1080,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/error-handler", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "b547d3babcab5c31e01de59ee33e9d9c1421d7d0" + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/b547d3babcab5c31e01de59ee33e9d9c1421d7d0", - "reference": "b547d3babcab5c31e01de59ee33e9d9c1421d7d0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782", + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782", "shasum": "" }, "require": { @@ -1193,9 +1132,6 @@ ], "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1210,7 +1146,7 @@ "type": "tidelift" } ], - "time": "2021-02-11T08:21:20+00:00" + "time": "2021-04-07T15:57:33+00:00" }, { "name": "symfony/event-dispatcher", @@ -1278,9 +1214,6 @@ ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1299,16 +1232,16 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", "shasum": "" }, "require": { @@ -1321,7 +1254,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -1357,9 +1290,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.0" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1374,20 +1304,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/filesystem", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "710d364200997a5afde34d9fe57bd52f3cc1e108" + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/710d364200997a5afde34d9fe57bd52f3cc1e108", - "reference": "710d364200997a5afde34d9fe57bd52f3cc1e108", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/056e92acc21d977c37e6ea8e97374b2a6c8551b0", + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0", "shasum": "" }, "require": { @@ -1419,9 +1349,6 @@ ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1436,7 +1363,7 @@ "type": "tidelift" } ], - "time": "2021-02-12T10:38:38+00:00" + "time": "2021-04-01T10:42:13+00:00" }, { "name": "symfony/finder", @@ -1480,9 +1407,6 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1501,16 +1425,16 @@ }, { "name": "symfony/framework-bundle", - "version": "v5.2.5", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "4dae531503072a57cf26f7f4beb4c3ef8a061f8f" + "reference": "af652965c2a598e192200c6932ab9edd283ffe42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/4dae531503072a57cf26f7f4beb4c3ef8a061f8f", - "reference": "4dae531503072a57cf26f7f4beb4c3ef8a061f8f", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/af652965c2a598e192200c6932ab9edd283ffe42", + "reference": "af652965c2a598e192200c6932ab9edd283ffe42", "shasum": "" }, "require": { @@ -1629,9 +1553,6 @@ ], "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v5.2.5" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1646,20 +1567,20 @@ "type": "tidelift" } ], - "time": "2021-03-09T08:47:49+00:00" + "time": "2021-04-16T17:21:25+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.3.1", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33" + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", "shasum": "" }, "require": { @@ -1670,9 +1591,8 @@ }, "type": "library", "extra": { - "branch-version": "2.3", "branch-alias": { - "dev-main": "2.3-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -1708,9 +1628,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1725,20 +1642,20 @@ "type": "tidelift" } ], - "time": "2020-10-14T17:08:19+00:00" + "time": "2021-04-11T23:07:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf" + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", "shasum": "" }, "require": { @@ -1781,9 +1698,6 @@ ], "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1798,20 +1712,20 @@ "type": "tidelift" } ], - "time": "2021-02-25T17:16:57+00:00" + "time": "2021-05-01T13:46:24+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.2.5", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b8c63ef63c2364e174c3b3e0ba0bf83455f97f73" + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b8c63ef63c2364e174c3b3e0ba0bf83455f97f73", - "reference": "b8c63ef63c2364e174c3b3e0ba0bf83455f97f73", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd", + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd", "shasum": "" }, "require": { @@ -1893,9 +1807,6 @@ ], "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.2.5" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1910,7 +1821,7 @@ "type": "tidelift" } ], - "time": "2021-03-10T17:07:35+00:00" + "time": "2021-05-01T14:53:15+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1972,9 +1883,6 @@ "polyfill", "portable" ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2053,9 +1961,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2137,9 +2042,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2217,9 +2119,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2296,9 +2195,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2379,9 +2275,6 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2400,16 +2293,16 @@ }, { "name": "symfony/routing", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "cafa138128dfd6ab6be1abf6279169957b34f662" + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/cafa138128dfd6ab6be1abf6279169957b34f662", - "reference": "cafa138128dfd6ab6be1abf6279169957b34f662", + "url": "https://api.github.com/repos/symfony/routing/zipball/3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", "shasum": "" }, "require": { @@ -2432,7 +2325,6 @@ "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", "symfony/config": "For using the all-in-one router or any loader", "symfony/expression-language": "For using expression matching", "symfony/http-foundation": "For using a Symfony Request object", @@ -2469,9 +2361,6 @@ "uri", "url" ], - "support": { - "source": "https://github.com/symfony/routing/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2486,25 +2375,25 @@ "type": "tidelift" } ], - "time": "2021-02-22T15:48:39+00:00" + "time": "2021-04-11T22:55:21+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.0" + "psr/container": "^1.1" }, "suggest": { "symfony/service-implementation": "" @@ -2512,7 +2401,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -2548,9 +2437,6 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/master" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2565,20 +2451,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-04-01T10:43:52+00:00" }, { "name": "symfony/string", - "version": "v5.2.4", + "version": "v5.2.6", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4e78d7d47061fa183639927ec40d607973699609" + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4e78d7d47061fa183639927ec40d607973699609", - "reference": "4e78d7d47061fa183639927ec40d607973699609", + "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", "shasum": "" }, "require": { @@ -2631,9 +2517,6 @@ "utf-8", "utf8" ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2648,20 +2531,20 @@ "type": "tidelift" } ], - "time": "2021-02-16T10:20:28+00:00" + "time": "2021-03-17T17:12:15+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.2.5", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "002ab5a36702adf0c9a11e6d8836623253e9045e" + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/002ab5a36702adf0c9a11e6d8836623253e9045e", - "reference": "002ab5a36702adf0c9a11e6d8836623253e9045e", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636", + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636", "shasum": "" }, "require": { @@ -2719,9 +2602,6 @@ "debug", "dump" ], - "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.2.5" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2736,20 +2616,20 @@ "type": "tidelift" } ], - "time": "2021-03-06T07:59:01+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "5aed4875ab514c8cb9b6ff4772baa25fa4c10307" + "reference": "01184a5ab95eb9500b9b0ef3e525979e003d9c81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/5aed4875ab514c8cb9b6ff4772baa25fa4c10307", - "reference": "5aed4875ab514c8cb9b6ff4772baa25fa4c10307", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/01184a5ab95eb9500b9b0ef3e525979e003d9c81", + "reference": "01184a5ab95eb9500b9b0ef3e525979e003d9c81", "shasum": "" }, "require": { @@ -2792,9 +2672,6 @@ "instantiate", "serialize" ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.2.4" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2809,20 +2686,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-04-01T10:42:13+00:00" }, { "name": "symfony/yaml", - "version": "v5.2.5", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "298a08ddda623485208506fcee08817807a251dd" + "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", - "reference": "298a08ddda623485208506fcee08817807a251dd", + "url": "https://api.github.com/repos/symfony/yaml/zipball/76546cbeddd0a9540b4e4e57eddeec3e9bb444a5", + "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5", "shasum": "" }, "require": { @@ -2867,9 +2744,6 @@ ], "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v5.2.5" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2884,7 +2758,7 @@ "type": "tidelift" } ], - "time": "2021-03-06T07:59:01+00:00" + "time": "2021-04-29T20:47:09+00:00" }, { "name": "twig/extensions", @@ -2939,10 +2813,6 @@ "i18n", "text" ], - "support": { - "issues": "https://github.com/twigphp/Twig-extensions/issues", - "source": "https://github.com/twigphp/Twig-extensions/tree/master" - }, "abandoned": true, "time": "2018-12-05T18:34:18+00:00" }, @@ -3009,10 +2879,6 @@ "keywords": [ "templating" ], - "support": { - "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.14.4" - }, "funding": [ { "url": "https://github.com/fabpot", @@ -3077,10 +2943,6 @@ "check", "validate" ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.10.0" - }, "time": "2021-03-09T10:59:23+00:00" } ], @@ -3161,11 +3023,6 @@ "non-blocking", "promise" ], - "support": { - "irc": "irc://irc.freenode.org/amphp", - "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.5.2" - }, "funding": [ { "url": "https://github.com/amphp", @@ -3176,16 +3033,16 @@ }, { "name": "amphp/byte-stream", - "version": "v1.8.0", + "version": "v1.8.1", "source": { "type": "git", "url": "https://github.com/amphp/byte-stream.git", - "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088" + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/f0c20cf598a958ba2aa8c6e5a71c697d652c7088", - "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd", + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd", "shasum": "" }, "require": { @@ -3238,12 +3095,13 @@ "non-blocking", "stream" ], - "support": { - "irc": "irc://irc.freenode.org/amphp", - "issues": "https://github.com/amphp/byte-stream/issues", - "source": "https://github.com/amphp/byte-stream/tree/master" - }, - "time": "2020-06-29T18:35:05+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2021-03-30T17:13:30+00:00" }, { "name": "composer/package-versions-deprecated", @@ -3298,10 +3156,6 @@ } ], "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "support": { - "issues": "https://github.com/composer/package-versions-deprecated/issues", - "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" - }, "funding": [ { "url": "https://packagist.com", @@ -3378,11 +3232,6 @@ "validation", "versioning" ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.2.4" - }, "funding": [ { "url": "https://packagist.com", @@ -3401,16 +3250,16 @@ }, { "name": "composer/xdebug-handler", - "version": "1.4.5", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "f28d44c286812c714741478d968104c5e604a1d4" + "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4", - "reference": "f28d44c286812c714741478d968104c5e604a1d4", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", + "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", "shasum": "" }, "require": { @@ -3418,7 +3267,8 @@ "psr/log": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", "autoload": { @@ -3441,11 +3291,6 @@ "Xdebug", "performance" ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/1.4.5" - }, "funding": [ { "url": "https://packagist.com", @@ -3460,7 +3305,7 @@ "type": "tidelift" } ], - "time": "2020-11-13T08:04:11+00:00" + "time": "2021-05-05T19:37:51+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -3493,10 +3338,6 @@ "MIT" ], "description": "implementation of xdg base directory specification for php", - "support": { - "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", - "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" - }, "time": "2019-12-04T15:06:13+00:00" }, { @@ -3548,10 +3389,6 @@ "constructor", "instantiate" ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.0" - }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -3607,10 +3444,6 @@ } ], "description": "A more advanced JSONRPC implementation", - "support": { - "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", - "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.0" - }, "time": "2021-01-10T17:48:47+00:00" }, { @@ -3663,10 +3496,6 @@ "php", "server" ], - "support": { - "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", - "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/1.5.1" - }, "time": "2021-02-22T14:02:09+00:00" }, { @@ -3713,11 +3542,6 @@ ], "description": "Virtual file system to mock the real file system in unit tests.", "homepage": "http://vfs.bovigo.org/", - "support": { - "issues": "https://github.com/bovigo/vfsStream/issues", - "source": "https://github.com/bovigo/vfsStream/tree/master", - "wiki": "https://github.com/bovigo/vfsStream/wiki" - }, "time": "2019-10-30T15:31:00+00:00" }, { @@ -3766,10 +3590,6 @@ "object", "object graph" ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" - }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", @@ -3822,25 +3642,20 @@ } ], "description": "Map nested JSON structures onto PHP classes", - "support": { - "email": "cweiske@cweiske.de", - "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/master" - }, "time": "2020-04-16T18:48:43+00:00" }, { "name": "nikic/php-parser", - "version": "v4.10.4", + "version": "v4.10.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f", + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f", "shasum": "" }, "require": { @@ -3879,11 +3694,7 @@ "parser", "php" ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" - }, - "time": "2020-12-20T10:01:03+00:00" + "time": "2021-05-03T19:11:20+00:00" }, { "name": "openlss/lib-array2xml", @@ -3932,10 +3743,6 @@ "xml", "xml conversion" ], - "support": { - "issues": "https://github.com/nullivex/lib-array2xml/issues", - "source": "https://github.com/nullivex/lib-array2xml/tree/master" - }, "time": "2019-03-29T20:06:56+00:00" }, { @@ -3992,10 +3799,6 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" - }, "time": "2020-06-27T14:33:11+00:00" }, { @@ -4043,10 +3846,6 @@ } ], "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.1.0" - }, "time": "2021-02-23T14:00:09+00:00" }, { @@ -4096,10 +3895,6 @@ "reflection", "static analysis" ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, "time": "2020-06-27T09:03:43+00:00" }, { @@ -4152,10 +3947,6 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" - }, "time": "2020-09-03T19:13:55+00:00" }, { @@ -4201,24 +3992,20 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" - }, "time": "2020-09-17T18:55:26+00:00" }, { "name": "phpspec/prophecy", - "version": "1.12.2", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "245710e971a030f42e08f4912863805570f23d39" + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", - "reference": "245710e971a030f42e08f4912863805570f23d39", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", "shasum": "" }, "require": { @@ -4268,24 +4055,20 @@ "spy", "stub" ], - "support": { - "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/1.12.2" - }, - "time": "2020-12-19T10:15:11+00:00" + "time": "2021-03-17T13:42:18+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.5", + "version": "9.2.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" + "reference": "f6293e1b30a2354e8428e004689671b83871edde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", - "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", + "reference": "f6293e1b30a2354e8428e004689671b83871edde", "shasum": "" }, "require": { @@ -4339,17 +4122,13 @@ "testing", "xunit" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-11-28T06:44:49+00:00" + "time": "2021-03-28T07:26:59+00:00" }, { "name": "phpunit/php-file-iterator", @@ -4399,10 +4178,6 @@ "filesystem", "iterator" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4462,10 +4237,6 @@ "keywords": [ "process" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4521,10 +4292,6 @@ "keywords": [ "template" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4580,10 +4347,6 @@ "keywords": [ "timer" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4594,16 +4357,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.2", + "version": "9.5.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4" + "reference": "c73c6737305e779771147af66c96ca6a7ed8a741" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4", - "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741", + "reference": "c73c6737305e779771147af66c96ca6a7ed8a741", "shasum": "" }, "require": { @@ -4679,10 +4442,6 @@ "testing", "xunit" ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.2" - }, "funding": [ { "url": "https://phpunit.de/donate.html", @@ -4693,7 +4452,7 @@ "type": "github" } ], - "time": "2021-02-02T14:45:58+00:00" + "time": "2021-03-23T07:16:29+00:00" }, { "name": "sebastian/cli-parser", @@ -4739,10 +4498,6 @@ ], "description": "Library for parsing CLI options", "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4795,10 +4550,6 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4850,10 +4601,6 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4924,10 +4671,6 @@ "compare", "equality" ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4981,10 +4724,6 @@ ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5047,10 +4786,6 @@ "unidiff", "unified diff" ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5110,10 +4845,6 @@ "environment", "hhvm" ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5187,10 +4918,6 @@ "export", "exporter" ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5251,10 +4978,6 @@ "keywords": [ "global state" ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5308,10 +5031,6 @@ ], "description": "Library for counting the lines of code in PHP source code", "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5365,10 +5084,6 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5420,10 +5135,6 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5483,10 +5194,6 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5538,10 +5245,6 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5594,10 +5297,6 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5647,10 +5346,6 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -5691,10 +5386,6 @@ "LGPL-2.1-only" ], "description": "A Composer plugin that allows installing SimpleSAMLphp modules through Composer.", - "support": { - "issues": "https://github.com/simplesamlphp/composer-module-installer/issues", - "source": "https://github.com/simplesamlphp/composer-module-installer/tree/v1.1.8" - }, "time": "2020-08-25T19:04:33+00:00" }, { @@ -5703,12 +5394,12 @@ "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-adfs.git", - "reference": "d11fafd22d6dfe6edecb4bd2505138452da05967" + "reference": "30c4f0d0a87b2e46ba8b36a9ef05e988160b350e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-adfs/zipball/d11fafd22d6dfe6edecb4bd2505138452da05967", - "reference": "d11fafd22d6dfe6edecb4bd2505138452da05967", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-adfs/zipball/30c4f0d0a87b2e46ba8b36a9ef05e988160b350e", + "reference": "30c4f0d0a87b2e46ba8b36a9ef05e988160b350e", "shasum": "" }, "require": { @@ -5718,9 +5409,8 @@ }, "require-dev": { "simplesamlphp/simplesamlphp": "dev-master", - "simplesamlphp/simplesamlphp-test-framework": "^1.0.4" + "simplesamlphp/simplesamlphp-test-framework": "^1.1.0" }, - "default-branch": true, "type": "simplesamlphp-module", "autoload": { "psr-4": { @@ -5742,11 +5432,7 @@ "adfs", "simplesamlphp" ], - "support": { - "issues": "https://github.com/simplesamlphp/simplesamlphp-module-adfs/issues", - "source": "https://github.com/simplesamlphp/simplesamlphp-module-adfs" - }, - "time": "2021-01-24T20:36:57+00:00" + "time": "2021-03-27T11:25:45+00:00" }, { "name": "simplesamlphp/simplesamlphp-test-framework", @@ -5798,10 +5484,6 @@ "keywords": [ "test-framework" ], - "support": { - "issues": "https://github.com/simplesamlphp/simplesamlphp-test-framework/issues", - "source": "https://github.com/simplesamlphp/simplesamlphp-test-framework" - }, "time": "2021-03-14T00:30:00+00:00" }, { @@ -5852,10 +5534,6 @@ "saml", "xml" ], - "support": { - "issues": "https://github.com/simplesamlphp/xml-common/issues", - "source": "https://github.com/simplesamlphp/xml-common" - }, "time": "2020-12-18T09:00:39+00:00" }, { @@ -5913,24 +5591,20 @@ "xml", "xmldsig" ], - "support": { - "issues": "https://github.com/simplesamlphp/xml-security/issues", - "source": "https://github.com/simplesamlphp/xml-security/tree/v0.0.10" - }, "time": "2021-01-15T21:38:05+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.5.8", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "9d583721a7157ee997f235f327de038e7ea6dac4" + "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4", - "reference": "9d583721a7157ee997f235f327de038e7ea6dac4", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625", + "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625", "shasum": "" }, "require": { @@ -5968,12 +5642,7 @@ "phpcs", "standards" ], - "support": { - "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", - "source": "https://github.com/squizlabs/PHP_CodeSniffer", - "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" - }, - "time": "2020-10-23T02:01:07+00:00" + "time": "2021-04-09T00:54:41+00:00" }, { "name": "theseer/tokenizer", @@ -6013,10 +5682,6 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/master" - }, "funding": [ { "url": "https://github.com/theseer", @@ -6027,24 +5692,24 @@ }, { "name": "vimeo/psalm", - "version": "4.6.1", + "version": "4.7.2", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "e93e532e4eaad6d68c4d7b606853800eaceccc72" + "reference": "83a0325c0a95c0ab531d6b90c877068b464377b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/e93e532e4eaad6d68c4d7b606853800eaceccc72", - "reference": "e93e532e4eaad6d68c4d7b606853800eaceccc72", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/83a0325c0a95c0ab531d6b90c877068b464377b5", + "reference": "83a0325c0a95c0ab531d6b90c877068b464377b5", "shasum": "" }, "require": { - "amphp/amp": "^2.1", + "amphp/amp": "^2.4.2", "amphp/byte-stream": "^1.5", "composer/package-versions-deprecated": "^1.8.0", "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^1.1", + "composer/xdebug-handler": "^1.1 || ^2.0", "dnoegel/php-xdg-base-dir": "^0.1.1", "ext-dom": "*", "ext-json": "*", @@ -6053,7 +5718,7 @@ "ext-simplexml": "*", "ext-tokenizer": "*", "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.4", + "felixfbecker/language-server-protocol": "^1.5", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.10.1", "openlss/lib-array2xml": "^1.0", @@ -6066,7 +5731,6 @@ "psalm/psalm": "self.version" }, "require-dev": { - "amphp/amp": "^2.4.2", "bamarni/composer-bin-plugin": "^1.2", "brianium/paratest": "^4.0||^6.0", "ext-curl": "*", @@ -6079,6 +5743,7 @@ "slevomat/coding-standard": "^6.3.11", "squizlabs/php_codesniffer": "^3.5", "symfony/process": "^4.3", + "weirdan/phpunit-appveyor-reporter": "^1.0.0", "weirdan/prophecy-shim": "^1.0 || ^2.0" }, "suggest": { @@ -6124,11 +5789,7 @@ "inspection", "php" ], - "support": { - "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.6.1" - }, - "time": "2021-02-17T21:54:11+00:00" + "time": "2021-05-01T20:56:25+00:00" }, { "name": "webmozart/path-util", @@ -6174,10 +5835,6 @@ } ], "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "support": { - "issues": "https://github.com/webmozart/path-util/issues", - "source": "https://github.com/webmozart/path-util/tree/2.3.0" - }, "time": "2015-12-17T08:42:14+00:00" } ], @@ -6203,5 +5860,5 @@ "platform-dev": { "ext-curl": "*" }, - "plugin-api-version": "2.0.0" + "plugin-api-version": "1.1.0" } diff --git a/docs/simplesamlphp-changelog.md b/docs/simplesamlphp-changelog.md index 3e1f8ec3a8debf367b5e22bca99f60c8f3763d87..1e61d5b537a394d890b89bc004e5b163f6b1b958 100644 --- a/docs/simplesamlphp-changelog.md +++ b/docs/simplesamlphp-changelog.md @@ -12,6 +12,8 @@ See the upgrade notes for specific information about upgrading. * Support for SAML 1.1 was removed * Old-style PHP templates were removed * Old-style dictionaries were removed + * core:PairwiseID and core:SubjectID authprocs no longer support the 'scope' config-setting. + Use 'scopeAttribute' instead to identify the attribute holding the scope. ## Version 1.19.1 diff --git a/modules/core/docs/authproc_pairwiseid.md b/modules/core/docs/authproc_pairwiseid.md index 254aa85bdddb00be48e02597217f92e771ee6f05..0fe15914c3ee2264af95614d6d42bb3ebbfd8041 100644 --- a/modules/core/docs/authproc_pairwiseid.md +++ b/modules/core/docs/authproc_pairwiseid.md @@ -14,6 +14,6 @@ Examples 50 => [ 'class' => 'core:PairwiseID', 'identifyingAttribute' => 'uid', - 'scope' => 'example.org', + 'scopeAttribute' => 'scope', ], ], diff --git a/modules/core/docs/authproc_subjectid.md b/modules/core/docs/authproc_subjectid.md index 21852fb45e2842bf1a8a4d5ad1bbc174f22b2db2..b29446f3b268ad351b28f80bf71e81938f3461ce 100644 --- a/modules/core/docs/authproc_subjectid.md +++ b/modules/core/docs/authproc_subjectid.md @@ -17,6 +17,6 @@ Examples 50 => [ 'class' => 'core:SubjectID', 'identifyingAttribute' => 'uid', - 'scope' => 'example.org', + 'scopeAttribute' => 'scope', ], ], diff --git a/modules/core/lib/Auth/Process/PairwiseID.php b/modules/core/lib/Auth/Process/PairwiseID.php index 1f31045caff94f3f8a3f2791896b9a6a325cb1dd..caf281e9c2a6003dd5768e76c70ebefdfad563f9 100644 --- a/modules/core/lib/Auth/Process/PairwiseID.php +++ b/modules/core/lib/Auth/Process/PairwiseID.php @@ -26,7 +26,7 @@ use SimpleSAML\Utils; * 50 => [ * 'core:PairwiseID', * 'identifyingAttribute' => 'uid', - * 'scope' => 'example.org', + * 'scopeAttribute' => 'example.org', * ] * ] * </code> @@ -68,6 +68,7 @@ class PairwiseID extends SubjectID public function process(array &$state): void { $userID = $this->getIdentifyingAttribute($state); + $scope = $this->getScopeAttribute($state); if (!empty($state['saml:RequesterID'])) { // Proxied request - use actual SP entity ID @@ -80,7 +81,7 @@ class PairwiseID extends SubjectID $salt = $this->configUtils->getSecretSalt(); $hash = hash('sha256', $salt . '|' . $userID . '|' . $sp_entityid, false); - $value = strtolower($hash . '@' . $this->scope); + $value = strtolower($hash . '@' . $scope); $this->validateGeneratedIdentifier($value); $state['Attributes'][Constants::ATTR_PAIRWISE_ID] = [$value]; diff --git a/modules/core/lib/Auth/Process/SubjectID.php b/modules/core/lib/Auth/Process/SubjectID.php index edaaf2d4cfeedeb1e2794941cb00e8ec36d6679b..45233a09626e1d130da091f9d201504660d619ee 100644 --- a/modules/core/lib/Auth/Process/SubjectID.php +++ b/modules/core/lib/Auth/Process/SubjectID.php @@ -27,7 +27,7 @@ use SimpleSAML\Logger; * 50 => [ * 'core:SubjectID', * 'identifyingAttribute' => 'uid', - * 'scope' => 'example.org', + * 'scopeAttribute' => 'scope', * ] * ] * </code> @@ -70,11 +70,11 @@ class SubjectID extends Auth\ProcessingFilter protected string $identifyingAttribute; /** - * The scope to use for this attribute. + * The attribute we should use for the scope of the subject id. * * @var string */ - protected string $scope; + protected string $scopeAttribute; /** * @var \SimpleSAML\Logger|string @@ -94,17 +94,12 @@ class SubjectID extends Auth\ProcessingFilter parent::__construct($config, $reserved); Assert::keyExists($config, 'identifyingAttribute', "Missing mandatory 'identifyingAttribute' config setting."); - Assert::keyExists($config, 'scope', "Missing mandatory 'scope' config setting."); + Assert::keyExists($config, 'scopeAttribute', "Missing mandatory 'scope' config setting."); Assert::stringNotEmpty($config['identifyingAttribute']); - Assert::regex( - $config['scope'], - self::SCOPE_PATTERN, - 'core:' . static::NAME . ': \'scope\' contains illegal characters.' -// ProtocolViolationException::class - ); + Assert::stringNotEmpty($config['scopeAttribute']); $this->identifyingAttribute = $config['identifyingAttribute']; - $this->scope = $config['scope']; + $this->scopeAttribute = $config['scopeAttribute']; } @@ -116,8 +111,9 @@ class SubjectID extends Auth\ProcessingFilter public function process(array &$state): void { $userID = $this->getIdentifyingAttribute($state); + $scope = $this->getScopeAttribute($state); - $value = strtolower($userID . '@' . $this->scope); + $value = strtolower($userID . '@' . $scope); $this->validateGeneratedIdentifier($value); $state['Attributes'][Constants::ATTR_SUBJECT_ID] = [$value]; @@ -150,6 +146,38 @@ class SubjectID extends Auth\ProcessingFilter } + /** + * Retrieve the scope attribute from the state and test it for erroneous conditions + * + * @param array $state + * @return string + * @throws \SimpleSAML\Assert\AssertionFailedException if the pre-conditions are not met + */ + protected function getScopeAttribute(array $state): string + { + Assert::keyExists($state, 'Attributes'); + Assert::keyExists( + $state['Attributes'], + $this->scopeAttribute, + sprintf( + "core:" . static::NAME . ": Missing attribute '%s', which is needed to generate the ID.", + $this->scopeAttribute + ) + ); + + $scope = $state['Attributes'][$this->scopeAttribute][0]; + Assert::stringNotEmpty($scope, 'core' . static::NAME . ': \'scopeAttribute\' cannot be an empty string.'); + Assert::regex( + $scope, + self::SCOPE_PATTERN, + 'core:' . static::NAME . ': \'scopeAttribute\' contains illegal characters.' +// ProtocolViolationException::class + ); + + return $scope; + } + + /** * Test the generated identifier to ensure compliancy with the specifications. * Log a warning when the generated value is considered to be weak diff --git a/tests/modules/core/lib/Auth/Process/PairwiseIDTest.php b/tests/modules/core/lib/Auth/Process/PairwiseIDTest.php index 5ebe33c53cb088b4ed47aa02b78065f7380617b1..0ba2919417cf4cd591ff8b9f83f17e2bcaa23a48 100644 --- a/tests/modules/core/lib/Auth/Process/PairwiseIDTest.php +++ b/tests/modules/core/lib/Auth/Process/PairwiseIDTest.php @@ -78,9 +78,9 @@ class PairwiseIDTest extends TestCase */ public function testBasic(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'ex-ample.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['u=se-r2']], + 'Attributes' => ['uid' => ['u=se-r2'], 'scope' => ['ex-ample.org']], 'core:SP' => 'urn:sp', ]; $result = self::processFilter($config, $request); @@ -102,9 +102,9 @@ class PairwiseIDTest extends TestCase */ public function testBasicProxiedRequest(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'ex-ample.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['u=se-r2']], + 'Attributes' => ['uid' => ['u=se-r2'], 'scope' => ['ex-ample.org']], 'saml:RequesterID' => [0 => 'urn:sp'], ]; $result = self::processFilter($config, $request); @@ -126,9 +126,9 @@ class PairwiseIDTest extends TestCase */ public function testProxiedRequestMultipleHops(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'ex-ample.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['u=se-r2']], + 'Attributes' => ['uid' => ['u=se-r2'], 'scope' => ['ex-ample.org']], 'saml:RequesterID' => [0 => 'urn:sp', 1 => 'urn:some:sp', 2 => 'urn:some:other:sp'], ]; $result = self::processFilter($config, $request); @@ -150,9 +150,9 @@ class PairwiseIDTest extends TestCase */ public function testScopeIllegalCharacterThrowsException(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'ex%ample.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user2']], + 'Attributes' => ['uid' => ['user2'], 'scope' => ['ex%ample.org']], 'core:SP' => 'urn:sp', ]; @@ -166,9 +166,9 @@ class PairwiseIDTest extends TestCase */ public function testUniqueIdentifierPerSPSameUser(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'example.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user1']], + 'Attributes' => ['uid' => ['user1'], 'scope' => ['example.org']], 'core:SP' => 'urn:sp', ]; @@ -196,9 +196,9 @@ class PairwiseIDTest extends TestCase */ public function testUniqueIdentifierPerUserSameSP(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'example.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user1']], + 'Attributes' => ['uid' => ['user1'], 'scope' => ['example.org']], 'core:SP' => 'urn:sp', ]; @@ -209,7 +209,7 @@ class PairwiseIDTest extends TestCase $value1 = $attributes[Constants::ATTR_PAIRWISE_ID][0]; // Switch user - $request['Attributes'] = ['uid' => ['user2']]; + $request['Attributes']['uid'] = ['user2']; // Generate second ID $result = self::processFilter($config, $request); @@ -226,9 +226,9 @@ class PairwiseIDTest extends TestCase */ public function testUniqueIdentifierDifferentSalts(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'example.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user1']], + 'Attributes' => ['uid' => ['user1'], 'scope' => ['example.org']], 'core:SP' => 'urn:sp', ]; @@ -262,9 +262,9 @@ class PairwiseIDTest extends TestCase */ public function testUniqueIdentifierDifferentScopes(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'example.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user1']], + 'Attributes' => ['uid' => ['user1'], 'scope' => ['example.org']], 'core:SP' => 'urn:sp', ]; @@ -275,7 +275,7 @@ class PairwiseIDTest extends TestCase $value1 = $attributes[Constants::ATTR_PAIRWISE_ID][0]; // Change the scope - $config['scope'] = 'example.edu'; + $request['Attributes']['scope'] = ['example.edu']; // Generate second ID $result = self::processFilter($config, $request); @@ -301,9 +301,9 @@ class PairwiseIDTest extends TestCase */ public function testWeakIdentifierLogsWarning(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'b']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['a']], + 'Attributes' => ['uid' => ['a'], 'scope' => ['b']], 'core:SP' => 'urn:sp', ]; diff --git a/tests/modules/core/lib/Auth/Process/SubjectIDTest.php b/tests/modules/core/lib/Auth/Process/SubjectIDTest.php index 81313a6a891f6a4b6da8fb7a59f7521ff65b17dc..62769234d756b7cbcf6d57d69b2693b4d80b68ff 100644 --- a/tests/modules/core/lib/Auth/Process/SubjectIDTest.php +++ b/tests/modules/core/lib/Auth/Process/SubjectIDTest.php @@ -66,9 +66,9 @@ class SubjectIDTest extends TestCase */ public function testBasic(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'ex-ample.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['u=se-r2']], + 'Attributes' => ['uid' => ['u=se-r2'], 'scope' => ['ex-ample.org']], ]; $result = self::processFilter($config, $request); $attributes = $result['Attributes']; @@ -86,9 +86,9 @@ class SubjectIDTest extends TestCase */ public function testUserIDIllegalCharacterThrowsException(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'example.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['u=se+r2']], + 'Attributes' => ['uid' => ['u=se+r2'], 'scope' => ['example.org']], ]; $this->expectException(AssertionFailedException::class); @@ -101,9 +101,9 @@ class SubjectIDTest extends TestCase */ public function testScopeIllegalCharacterThrowsException(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'ex%ample.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user2']], + 'Attributes' => ['uid' => ['user2'], 'scope' => ['ex%ample.org']], ]; $this->expectException(AssertionFailedException::class); @@ -116,9 +116,9 @@ class SubjectIDTest extends TestCase */ public function testUniqueIdentifierPerUserSameSP(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'example.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user1']], + 'Attributes' => ['uid' => ['user1'], 'scope' => ['example.org']], ]; // Generate first ID @@ -128,7 +128,7 @@ class SubjectIDTest extends TestCase $value1 = $attributes[Constants::ATTR_SUBJECT_ID][0]; // Switch user - $request['Attributes'] = ['uid' => ['user2']]; + $request['Attributes']['uid'] = ['user2']; // Generate second ID $result = self::processFilter($config, $request); @@ -145,9 +145,9 @@ class SubjectIDTest extends TestCase */ public function testUniqueIdentifierDifferentScopes(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'example.org']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['user1']], + 'Attributes' => ['uid' => ['user1'], 'scope' => ['example.org']], ]; // Generate first ID @@ -157,7 +157,7 @@ class SubjectIDTest extends TestCase $value1 = $attributes[Constants::ATTR_SUBJECT_ID][0]; // Change the scope - $config['scope'] = 'example.edu'; + $request['Attributes']['scope'] = ['example.edu']; // Generate second ID $result = self::processFilter($config, $request); @@ -183,9 +183,9 @@ class SubjectIDTest extends TestCase */ public function testWeakIdentifierLogsWarning(): void { - $config = ['identifyingAttribute' => 'uid', 'scope' => 'b']; + $config = ['identifyingAttribute' => 'uid', 'scopeAttribute' => 'scope']; $request = [ - 'Attributes' => ['uid' => ['a']], + 'Attributes' => ['uid' => ['a'], 'scope' => ['b']], ]; $this->expectException(RuntimeException::class);