diff --git a/composer.json b/composer.json index 4428d251fb..d18bb55ecf 100644 --- a/composer.json +++ b/composer.json @@ -142,5 +142,5 @@ "echo 'Post-install tasks completed!'" ] }, - "version": "v2.4.4" + "version": "v2.4.5" } diff --git a/composer.lock b/composer.lock index 550fac2a68..81764fdfb6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "def4d8bcc4946f96ceceeac712b060af", + "content-hash": "64966c824c2e1a148ad98479ce8df827", "packages": [ { "name": "gettext/gettext", @@ -82,16 +82,16 @@ }, { "name": "gettext/languages", - "version": "2.12.1", + "version": "2.12.2", "source": { "type": "git", "url": "https://github.com/php-gettext/Languages.git", - "reference": "0b0b0851c55168e1dfb14305735c64019732b5f1" + "reference": "079d6f4842cbcbf5673a70d8e93169a684e7aadd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-gettext/Languages/zipball/0b0b0851c55168e1dfb14305735c64019732b5f1", - "reference": "0b0b0851c55168e1dfb14305735c64019732b5f1", + "url": "https://api.github.com/repos/php-gettext/Languages/zipball/079d6f4842cbcbf5673a70d8e93169a684e7aadd", + "reference": "079d6f4842cbcbf5673a70d8e93169a684e7aadd", "shasum": "" }, "require": { @@ -141,7 +141,7 @@ ], "support": { "issues": "https://github.com/php-gettext/Languages/issues", - "source": "https://github.com/php-gettext/Languages/tree/2.12.1" + "source": "https://github.com/php-gettext/Languages/tree/2.12.2" }, "funding": [ { @@ -153,7 +153,7 @@ "type": "github" } ], - "time": "2025-03-19T11:14:02+00:00" + "time": "2026-02-23T14:05:50+00:00" }, { "name": "gettext/translator", @@ -908,16 +908,16 @@ }, { "name": "robrichards/xmlseclibs", - "version": "3.1.4", + "version": "3.1.5", "source": { "type": "git", "url": "https://github.com/robrichards/xmlseclibs.git", - "reference": "bc87389224c6de95802b505e5265b0ec2c5bcdbd" + "reference": "03062be78178cbb5e8f605cd255dc32a14981f92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/bc87389224c6de95802b505e5265b0ec2c5bcdbd", - "reference": "bc87389224c6de95802b505e5265b0ec2c5bcdbd", + "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/03062be78178cbb5e8f605cd255dc32a14981f92", + "reference": "03062be78178cbb5e8f605cd255dc32a14981f92", "shasum": "" }, "require": { @@ -944,9 +944,9 @@ ], "support": { "issues": "https://github.com/robrichards/xmlseclibs/issues", - "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.4" + "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.5" }, - "time": "2025-12-08T11:57:53+00:00" + "time": "2026-03-13T10:31:56+00:00" }, { "name": "simplesamlphp/assert", @@ -1164,16 +1164,16 @@ }, { "name": "simplesamlphp/saml2-legacy", - "version": "v4.19.1", + "version": "v4.19.2", "source": { "type": "git", "url": "https://github.com/simplesamlphp/saml2-legacy.git", - "reference": "a9812c7fc0bb7cee9ce001e8cc94570c37acdfb2" + "reference": "93df4bffc052939e74ec0c1208e66cbd7eb2a1b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2-legacy/zipball/a9812c7fc0bb7cee9ce001e8cc94570c37acdfb2", - "reference": "a9812c7fc0bb7cee9ce001e8cc94570c37acdfb2", + "url": "https://api.github.com/repos/simplesamlphp/saml2-legacy/zipball/93df4bffc052939e74ec0c1208e66cbd7eb2a1b2", + "reference": "93df4bffc052939e74ec0c1208e66cbd7eb2a1b2", "shasum": "" }, "require": { @@ -1182,7 +1182,7 @@ "ext-zlib": "*", "php": ">=7.1 || ^8.0", "psr/log": "~1.1 || ^2.0 || ^3.0", - "robrichards/xmlseclibs": "^3.1.4", + "robrichards/xmlseclibs": "^3.1.5", "webmozart/assert": "^1.9" }, "conflict": { @@ -1218,22 +1218,22 @@ ], "description": "SAML2 PHP library from SimpleSAMLphp", "support": { - "source": "https://github.com/simplesamlphp/saml2-legacy/tree/v4.19.1" + "source": "https://github.com/simplesamlphp/saml2-legacy/tree/v4.19.2" }, - "time": "2025-12-08T12:05:03+00:00" + "time": "2026-03-13T12:09:45+00:00" }, { "name": "simplesamlphp/simplesamlphp-assets-base", - "version": "v2.4.3", + "version": "v2.4.6", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-assets-base.git", - "reference": "cba14306ee73a4f7f0321d12f20844400d5a9d16" + "reference": "2fa86646a39d85cc5d5a220e017698c84ae2c288" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-assets-base/zipball/cba14306ee73a4f7f0321d12f20844400d5a9d16", - "reference": "cba14306ee73a4f7f0321d12f20844400d5a9d16", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-assets-base/zipball/2fa86646a39d85cc5d5a220e017698c84ae2c288", + "reference": "2fa86646a39d85cc5d5a220e017698c84ae2c288", "shasum": "" }, "require": { @@ -1254,9 +1254,9 @@ "description": "Assets for the SimpleSAMLphp main repository", "support": { "issues": "https://github.com/simplesamlphp/simplesamlphp-assets-base/issues", - "source": "https://github.com/simplesamlphp/simplesamlphp-assets-base/tree/v2.4.3" + "source": "https://github.com/simplesamlphp/simplesamlphp-assets-base/tree/v2.4.6" }, - "time": "2025-09-18T17:05:10+00:00" + "time": "2026-03-04T16:48:26+00:00" }, { "name": "simplesamlphp/xml-common", @@ -1321,16 +1321,16 @@ }, { "name": "simplesamlphp/xml-security", - "version": "v1.13.8", + "version": "v1.13.9", "source": { "type": "git", "url": "https://github.com/simplesamlphp/xml-security.git", - "reference": "5e9c726889676911a499b44e15046227015a4947" + "reference": "cad6d57cf0a5a0b7e0cc4e4a5b18752e56eb1520" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/xml-security/zipball/5e9c726889676911a499b44e15046227015a4947", - "reference": "5e9c726889676911a499b44e15046227015a4947", + "url": "https://api.github.com/repos/simplesamlphp/xml-security/zipball/cad6d57cf0a5a0b7e0cc4e4a5b18752e56eb1520", + "reference": "cad6d57cf0a5a0b7e0cc4e4a5b18752e56eb1520", "shasum": "" }, "require": { @@ -1379,9 +1379,9 @@ ], "support": { "issues": "https://github.com/simplesamlphp/xml-security/issues", - "source": "https://github.com/simplesamlphp/xml-security/tree/v1.13.8" + "source": "https://github.com/simplesamlphp/xml-security/tree/v1.13.9" }, - "time": "2025-12-08T12:08:30+00:00" + "time": "2026-03-13T12:06:16+00:00" }, { "name": "simplesamlphp/xml-soap", @@ -1437,16 +1437,16 @@ }, { "name": "symfony/cache", - "version": "v6.4.30", + "version": "v6.4.35", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "eb3272ed2daed13ed24816e862d73f73d995972a" + "reference": "77f5eca135d1b5471de4301b99496649e4f62878" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/eb3272ed2daed13ed24816e862d73f73d995972a", - "reference": "eb3272ed2daed13ed24816e862d73f73d995972a", + "url": "https://api.github.com/repos/symfony/cache/zipball/77f5eca135d1b5471de4301b99496649e4f62878", + "reference": "77f5eca135d1b5471de4301b99496649e4f62878", "shasum": "" }, "require": { @@ -1513,7 +1513,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.30" + "source": "https://github.com/symfony/cache/tree/v6.4.35" }, "funding": [ { @@ -1533,7 +1533,7 @@ "type": "tidelift" } ], - "time": "2025-12-01T16:41:59+00:00" + "time": "2026-03-05T20:47:12+00:00" }, { "name": "symfony/cache-contracts", @@ -1613,16 +1613,16 @@ }, { "name": "symfony/config", - "version": "v6.4.28", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "15947c18ef3ddb0b2f4ec936b9e90e2520979f62" + "reference": "ce9cb0c0d281aaf188b802d4968e42bfb60701e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/15947c18ef3ddb0b2f4ec936b9e90e2520979f62", - "reference": "15947c18ef3ddb0b2f4ec936b9e90e2520979f62", + "url": "https://api.github.com/repos/symfony/config/zipball/ce9cb0c0d281aaf188b802d4968e42bfb60701e9", + "reference": "ce9cb0c0d281aaf188b802d4968e42bfb60701e9", "shasum": "" }, "require": { @@ -1668,7 +1668,7 @@ "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/v6.4.28" + "source": "https://github.com/symfony/config/tree/v6.4.34" }, "funding": [ { @@ -1688,20 +1688,20 @@ "type": "tidelift" } ], - "time": "2025-11-01T19:52:02+00:00" + "time": "2026-02-24T17:34:50+00:00" }, { "name": "symfony/console", - "version": "v6.4.30", + "version": "v6.4.35", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e" + "reference": "49257c96304c508223815ee965c251e7c79e614e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/1b2813049506b39eb3d7e64aff033fd5ca26c97e", - "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e", + "url": "https://api.github.com/repos/symfony/console/zipball/49257c96304c508223815ee965c251e7c79e614e", + "reference": "49257c96304c508223815ee965c251e7c79e614e", "shasum": "" }, "require": { @@ -1766,7 +1766,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.30" + "source": "https://github.com/symfony/console/tree/v6.4.35" }, "funding": [ { @@ -1786,20 +1786,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T13:47:41+00:00" + "time": "2026-03-06T13:31:08+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.30", + "version": "v6.4.35", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "5328f994cbb0855ba25c3a54f4a31a279511640f" + "reference": "d95712d0e9446b9f244b64811ffb6af7b7434213" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5328f994cbb0855ba25c3a54f4a31a279511640f", - "reference": "5328f994cbb0855ba25c3a54f4a31a279511640f", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d95712d0e9446b9f244b64811ffb6af7b7434213", + "reference": "d95712d0e9446b9f244b64811ffb6af7b7434213", "shasum": "" }, "require": { @@ -1851,7 +1851,7 @@ "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/v6.4.30" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.35" }, "funding": [ { @@ -1871,7 +1871,7 @@ "type": "tidelift" } ], - "time": "2025-12-07T09:29:59+00:00" + "time": "2026-02-26T12:16:01+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1942,16 +1942,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.26", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "41bedcaec5b72640b0ec2096547b75fda72ead6c" + "reference": "8c18400784fcb014dc73c8d5601a9576af7f8ad4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/41bedcaec5b72640b0ec2096547b75fda72ead6c", - "reference": "41bedcaec5b72640b0ec2096547b75fda72ead6c", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8c18400784fcb014dc73c8d5601a9576af7f8ad4", + "reference": "8c18400784fcb014dc73c8d5601a9576af7f8ad4", "shasum": "" }, "require": { @@ -1997,7 +1997,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.26" + "source": "https://github.com/symfony/error-handler/tree/v6.4.32" }, "funding": [ { @@ -2017,20 +2017,20 @@ "type": "tidelift" } ], - "time": "2025-09-11T09:57:09+00:00" + "time": "2026-01-19T19:28:19+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.25", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b0cf3162020603587363f0551cd3be43958611ff" + "reference": "99d7e101826e6610606b9433248f80c1997cd20b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b0cf3162020603587363f0551cd3be43958611ff", - "reference": "b0cf3162020603587363f0551cd3be43958611ff", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99d7e101826e6610606b9433248f80c1997cd20b", + "reference": "99d7e101826e6610606b9433248f80c1997cd20b", "shasum": "" }, "require": { @@ -2081,7 +2081,7 @@ "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/v6.4.25" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.32" }, "funding": [ { @@ -2101,7 +2101,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T09:41:44+00:00" + "time": "2026-01-05T11:13:48+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -2181,16 +2181,16 @@ }, { "name": "symfony/expression-language", - "version": "v6.4.30", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "01906f3b379833b347de9abc8ddc326593e9122b" + "reference": "89c10ef5ca65968ec7ce7ce033c7f36eeb1b0312" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/01906f3b379833b347de9abc8ddc326593e9122b", - "reference": "01906f3b379833b347de9abc8ddc326593e9122b", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/89c10ef5ca65968ec7ce7ce033c7f36eeb1b0312", + "reference": "89c10ef5ca65968ec7ce7ce033c7f36eeb1b0312", "shasum": "" }, "require": { @@ -2225,7 +2225,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v6.4.30" + "source": "https://github.com/symfony/expression-language/tree/v6.4.32" }, "funding": [ { @@ -2245,20 +2245,20 @@ "type": "tidelift" } ], - "time": "2025-11-09T10:02:06+00:00" + "time": "2026-01-04T11:52:13+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.30", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "441c6b69f7222aadae7cbf5df588496d5ee37789" + "reference": "01ffe0411b842f93c571e5c391f289c3fdd498c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/441c6b69f7222aadae7cbf5df588496d5ee37789", - "reference": "441c6b69f7222aadae7cbf5df588496d5ee37789", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/01ffe0411b842f93c571e5c391f289c3fdd498c3", + "reference": "01ffe0411b842f93c571e5c391f289c3fdd498c3", "shasum": "" }, "require": { @@ -2295,7 +2295,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.30" + "source": "https://github.com/symfony/filesystem/tree/v6.4.34" }, "funding": [ { @@ -2315,20 +2315,20 @@ "type": "tidelift" } ], - "time": "2025-11-26T14:43:45+00:00" + "time": "2026-02-24T17:51:06+00:00" }, { "name": "symfony/finder", - "version": "v6.4.27", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "a1b6aa435d2fba50793b994a839c32b6064f063b" + "reference": "9590e86be1d1c57bfbb16d0dd040345378c20896" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a1b6aa435d2fba50793b994a839c32b6064f063b", - "reference": "a1b6aa435d2fba50793b994a839c32b6064f063b", + "url": "https://api.github.com/repos/symfony/finder/zipball/9590e86be1d1c57bfbb16d0dd040345378c20896", + "reference": "9590e86be1d1c57bfbb16d0dd040345378c20896", "shasum": "" }, "require": { @@ -2363,7 +2363,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.27" + "source": "https://github.com/symfony/finder/tree/v6.4.34" }, "funding": [ { @@ -2383,20 +2383,20 @@ "type": "tidelift" } ], - "time": "2025-10-15T18:32:00+00:00" + "time": "2026-01-28T15:16:37+00:00" }, { "name": "symfony/framework-bundle", - "version": "v6.4.30", + "version": "v6.4.35", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "3c212ec5cac588da8357f5c061194363a4e91010" + "reference": "2e065db347ef1c2d1d4b916c860f9782c9060221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3c212ec5cac588da8357f5c061194363a4e91010", - "reference": "3c212ec5cac588da8357f5c061194363a4e91010", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/2e065db347ef1c2d1d4b916c860f9782c9060221", + "reference": "2e065db347ef1c2d1d4b916c860f9782c9060221", "shasum": "" }, "require": { @@ -2516,7 +2516,7 @@ "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/v6.4.30" + "source": "https://github.com/symfony/framework-bundle/tree/v6.4.35" }, "funding": [ { @@ -2536,20 +2536,20 @@ "type": "tidelift" } ], - "time": "2025-11-29T11:31:32+00:00" + "time": "2026-03-06T11:15:58+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.30", + "version": "v6.4.35", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "0384c62b79d96e9b22d77bc1272c9e83342ba3a6" + "reference": "cffffd0a2c037117b742b4f8b379a22a2a33f6d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0384c62b79d96e9b22d77bc1272c9e83342ba3a6", - "reference": "0384c62b79d96e9b22d77bc1272c9e83342ba3a6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cffffd0a2c037117b742b4f8b379a22a2a33f6d2", + "reference": "cffffd0a2c037117b742b4f8b379a22a2a33f6d2", "shasum": "" }, "require": { @@ -2597,7 +2597,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.30" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.35" }, "funding": [ { @@ -2617,20 +2617,20 @@ "type": "tidelift" } ], - "time": "2025-12-01T20:07:31+00:00" + "time": "2026-03-06T11:15:58+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.30", + "version": "v6.4.35", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "ceac681e74e824bbf90468eb231d40988d6d18a5" + "reference": "ece1a0da7745a5243683f178155c0412c92691eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ceac681e74e824bbf90468eb231d40988d6d18a5", - "reference": "ceac681e74e824bbf90468eb231d40988d6d18a5", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ece1a0da7745a5243683f178155c0412c92691eb", + "reference": "ece1a0da7745a5243683f178155c0412c92691eb", "shasum": "" }, "require": { @@ -2671,7 +2671,7 @@ "symfony/config": "^6.1|^7.0", "symfony/console": "^5.4|^6.0|^7.0", "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4.1|^7.0.1", "symfony/dom-crawler": "^5.4|^6.0|^7.0", "symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/finder": "^5.4|^6.0|^7.0", @@ -2715,7 +2715,7 @@ "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/v6.4.30" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.35" }, "funding": [ { @@ -2735,20 +2735,20 @@ "type": "tidelift" } ], - "time": "2025-12-07T15:49:34+00:00" + "time": "2026-03-06T16:28:07+00:00" }, { "name": "symfony/intl", - "version": "v6.4.30", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "5f40c7141be52f7ee86c4a42dce2845e6fbe3c85" + "reference": "ea1b1c555e3f0c6850605307717423ff3a0407ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/5f40c7141be52f7ee86c4a42dce2845e6fbe3c85", - "reference": "5f40c7141be52f7ee86c4a42dce2845e6fbe3c85", + "url": "https://api.github.com/repos/symfony/intl/zipball/ea1b1c555e3f0c6850605307717423ff3a0407ad", + "reference": "ea1b1c555e3f0c6850605307717423ff3a0407ad", "shasum": "" }, "require": { @@ -2802,7 +2802,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v6.4.30" + "source": "https://github.com/symfony/intl/tree/v6.4.34" }, "funding": [ { @@ -2822,20 +2822,20 @@ "type": "tidelift" } ], - "time": "2025-11-24T13:57:00+00:00" + "time": "2026-02-08T20:40:30+00:00" }, { "name": "symfony/password-hasher", - "version": "v6.4.24", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "dcab5ac87450aaed26483ba49c2ce86808da7557" + "reference": "fbdfa5a2ca218ec8bb9029517426df2d780bdba9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/dcab5ac87450aaed26483ba49c2ce86808da7557", - "reference": "dcab5ac87450aaed26483ba49c2ce86808da7557", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/fbdfa5a2ca218ec8bb9029517426df2d780bdba9", + "reference": "fbdfa5a2ca218ec8bb9029517426df2d780bdba9", "shasum": "" }, "require": { @@ -2878,7 +2878,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v6.4.24" + "source": "https://github.com/symfony/password-hasher/tree/v6.4.32" }, "funding": [ { @@ -2898,7 +2898,7 @@ "type": "tidelift" } ], - "time": "2025-07-10T08:14:14+00:00" + "time": "2026-01-01T21:24:53+00:00" }, { "name": "symfony/polyfill-ctype", @@ -3405,16 +3405,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.30", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "ea50a13c2711eebcbb66b38ef6382e62e3262859" + "reference": "5ab3a3e1a03535ec5ca6ce2d39e4369a1096ae47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ea50a13c2711eebcbb66b38ef6382e62e3262859", - "reference": "ea50a13c2711eebcbb66b38ef6382e62e3262859", + "url": "https://api.github.com/repos/symfony/routing/zipball/5ab3a3e1a03535ec5ca6ce2d39e4369a1096ae47", + "reference": "5ab3a3e1a03535ec5ca6ce2d39e4369a1096ae47", "shasum": "" }, "require": { @@ -3468,7 +3468,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.30" + "source": "https://github.com/symfony/routing/tree/v6.4.34" }, "funding": [ { @@ -3488,7 +3488,7 @@ "type": "tidelift" } ], - "time": "2025-11-22T09:51:35+00:00" + "time": "2026-02-24T17:34:50+00:00" }, { "name": "symfony/service-contracts", @@ -3579,16 +3579,16 @@ }, { "name": "symfony/string", - "version": "v6.4.30", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "50590a057841fa6bf69d12eceffce3465b9e32cb" + "reference": "2adaf4106f2ef4c67271971bde6d3fe0a6936432" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/50590a057841fa6bf69d12eceffce3465b9e32cb", - "reference": "50590a057841fa6bf69d12eceffce3465b9e32cb", + "url": "https://api.github.com/repos/symfony/string/zipball/2adaf4106f2ef4c67271971bde6d3fe0a6936432", + "reference": "2adaf4106f2ef4c67271971bde6d3fe0a6936432", "shasum": "" }, "require": { @@ -3644,7 +3644,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.30" + "source": "https://github.com/symfony/string/tree/v6.4.34" }, "funding": [ { @@ -3664,7 +3664,7 @@ "type": "tidelift" } ], - "time": "2025-11-21T18:03:05+00:00" + "time": "2026-02-08T20:44:54+00:00" }, { "name": "symfony/translation-contracts", @@ -3750,16 +3750,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v6.4.30", + "version": "v6.4.35", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "d77a78c7fffaf7cb0158d28db824ba78d89a9f34" + "reference": "352acf608d1c9c00692fc3bba9f445176c14ce0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d77a78c7fffaf7cb0158d28db824ba78d89a9f34", - "reference": "d77a78c7fffaf7cb0158d28db824ba78d89a9f34", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/352acf608d1c9c00692fc3bba9f445176c14ce0f", + "reference": "352acf608d1c9c00692fc3bba9f445176c14ce0f", "shasum": "" }, "require": { @@ -3772,7 +3772,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/console": "<5.4", - "symfony/form": "<6.4", + "symfony/form": "<6.4.32|>7,<7.3.10|>7.4,<7.4.4", "symfony/http-foundation": "<5.4", "symfony/http-kernel": "<6.4", "symfony/mime": "<6.2", @@ -3790,7 +3790,7 @@ "symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/form": "^6.4.30|~7.3.8|^7.4.1", + "symfony/form": "^6.4.32|~7.3.10|^7.4.4", "symfony/html-sanitizer": "^6.1|^7.0", "symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^6.4|^7.0", @@ -3839,7 +3839,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.30" + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.35" }, "funding": [ { @@ -3859,20 +3859,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T13:01:31+00:00" + "time": "2026-03-04T15:30:31+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.26", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "cfae1497a2f1eaad78dbc0590311c599c7178d4a" + "reference": "131fc9915e0343052af5ed5040401b481ca192aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfae1497a2f1eaad78dbc0590311c599c7178d4a", - "reference": "cfae1497a2f1eaad78dbc0590311c599c7178d4a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/131fc9915e0343052af5ed5040401b481ca192aa", + "reference": "131fc9915e0343052af5ed5040401b481ca192aa", "shasum": "" }, "require": { @@ -3927,7 +3927,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.26" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.32" }, "funding": [ { @@ -3947,7 +3947,7 @@ "type": "tidelift" } ], - "time": "2025-09-25T15:37:27+00:00" + "time": "2026-01-01T13:34:06+00:00" }, { "name": "symfony/var-exporter", @@ -4032,16 +4032,16 @@ }, { "name": "symfony/yaml", - "version": "v6.4.30", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "8207ae83da19ee3748d6d4f567b4d9a7c656e331" + "reference": "7bca30dabed7900a08c5ad4f1d6483f881a64d0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/8207ae83da19ee3748d6d4f567b4d9a7c656e331", - "reference": "8207ae83da19ee3748d6d4f567b4d9a7c656e331", + "url": "https://api.github.com/repos/symfony/yaml/zipball/7bca30dabed7900a08c5ad4f1d6483f881a64d0f", + "reference": "7bca30dabed7900a08c5ad4f1d6483f881a64d0f", "shasum": "" }, "require": { @@ -4084,7 +4084,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.30" + "source": "https://github.com/symfony/yaml/tree/v6.4.34" }, "funding": [ { @@ -4104,20 +4104,20 @@ "type": "tidelift" } ], - "time": "2025-12-02T11:50:18+00:00" + "time": "2026-02-06T18:32:11+00:00" }, { "name": "twig/intl-extra", - "version": "v3.22.1", + "version": "v3.23.0", "source": { "type": "git", "url": "https://github.com/twigphp/intl-extra.git", - "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1" + "reference": "32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/93ac31e53cdd3f2e541f42690cd0c54ca8138ab1", - "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f", + "reference": "32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f", "shasum": "" }, "require": { @@ -4156,7 +4156,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.22.1" + "source": "https://github.com/twigphp/intl-extra/tree/v3.23.0" }, "funding": [ { @@ -4168,20 +4168,20 @@ "type": "tidelift" } ], - "time": "2025-11-02T11:00:49+00:00" + "time": "2026-01-17T13:57:47+00:00" }, { "name": "twig/twig", - "version": "v3.22.1", + "version": "v3.23.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3" + "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/1de2ec1fc43ab58a4b7e80b214b96bfc895750f3", - "reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9", + "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9", "shasum": "" }, "require": { @@ -4235,7 +4235,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.22.1" + "source": "https://github.com/twigphp/Twig/tree/v3.23.0" }, "funding": [ { @@ -4247,7 +4247,7 @@ "type": "tidelift" } ], - "time": "2025-11-16T16:01:12+00:00" + "time": "2026-01-23T21:00:41+00:00" }, { "name": "webmozart/assert", @@ -4795,16 +4795,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "2.3.0", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495" + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", "shasum": "" }, "require": { @@ -4836,17 +4836,17 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" }, - "time": "2025-08-30T15:50:23+00:00" + "time": "2026-01-25T14:56:51+00:00" }, { "name": "phpstan/phpstan", - "version": "1.12.32", + "version": "1.12.33", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/2770dcdf5078d0b0d53f94317e06affe88419aa8", - "reference": "2770dcdf5078d0b0d53f94317e06affe88419aa8", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/37982d6fc7cbb746dda7773530cda557cdf119e1", + "reference": "37982d6fc7cbb746dda7773530cda557cdf119e1", "shasum": "" }, "require": { @@ -4891,7 +4891,7 @@ "type": "github" } ], - "time": "2025-09-30T10:16:31+00:00" + "time": "2026-02-28T20:30:03+00:00" }, { "name": "phpstan/phpstan-mockery", @@ -5266,16 +5266,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.60", + "version": "10.5.63", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f2e26f52f80ef77832e359205f216eeac00e320c" + "reference": "33198268dad71e926626b618f3ec3966661e4d90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f2e26f52f80ef77832e359205f216eeac00e320c", - "reference": "f2e26f52f80ef77832e359205f216eeac00e320c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90", + "reference": "33198268dad71e926626b618f3ec3966661e4d90", "shasum": "" }, "require": { @@ -5296,7 +5296,7 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.4", + "sebastian/comparator": "^5.0.5", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.4", @@ -5347,7 +5347,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.60" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63" }, "funding": [ { @@ -5371,7 +5371,7 @@ "type": "tidelift" } ], - "time": "2025-12-06T07:50:42+00:00" + "time": "2026-01-27T05:48:37+00:00" }, { "name": "predis/predis", @@ -5605,16 +5605,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.4", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e" + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e8e53097718d2b53cfb2aa859b06a41abf58c62e", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", "shasum": "" }, "require": { @@ -5670,7 +5670,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.4" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" }, "funding": [ { @@ -5690,7 +5690,7 @@ "type": "tidelift" } ], - "time": "2025-09-07T05:25:07+00:00" + "time": "2026-01-24T09:25:16+00:00" }, { "name": "sebastian/complexity", @@ -6444,32 +6444,32 @@ }, { "name": "slevomat/coding-standard", - "version": "8.25.1", + "version": "8.28.0", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "4caa5ec5a30b84b2305e80159c710d437f40cc40" + "reference": "0cd4b30cc1037eca54091c188d260d570e61770c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/4caa5ec5a30b84b2305e80159c710d437f40cc40", - "reference": "4caa5ec5a30b84b2305e80159c710d437f40cc40", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/0cd4b30cc1037eca54091c188d260d570e61770c", + "reference": "0cd4b30cc1037eca54091c188d260d570e61770c", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.2.0", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || ^1.2.0", "php": "^7.4 || ^8.0", - "phpstan/phpdoc-parser": "^2.3.0", + "phpstan/phpdoc-parser": "^2.3.2", "squizlabs/php_codesniffer": "^4.0.1" }, "require-dev": { - "phing/phing": "3.0.1|3.1.0", + "phing/phing": "3.0.1|3.1.2", "php-parallel-lint/php-parallel-lint": "1.4.0", - "phpstan/phpstan": "2.1.32", - "phpstan/phpstan-deprecation-rules": "2.0.3", - "phpstan/phpstan-phpunit": "2.0.8", - "phpstan/phpstan-strict-rules": "2.0.7", - "phpunit/phpunit": "9.6.8|10.5.48|11.4.4|11.5.36|12.4.4" + "phpstan/phpstan": "2.1.40", + "phpstan/phpstan-deprecation-rules": "2.0.4", + "phpstan/phpstan-phpunit": "2.0.16", + "phpstan/phpstan-strict-rules": "2.0.10", + "phpunit/phpunit": "9.6.34|10.5.63|11.4.4|11.5.50|12.5.14" }, "type": "phpcodesniffer-standard", "extra": { @@ -6493,7 +6493,7 @@ ], "support": { "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/8.25.1" + "source": "https://github.com/slevomat/coding-standard/tree/8.28.0" }, "funding": [ { @@ -6505,7 +6505,7 @@ "type": "tidelift" } ], - "time": "2025-11-25T18:01:43+00:00" + "time": "2026-02-23T21:35:24+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -6588,16 +6588,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v7.4.0", + "version": "v7.4.7", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "059b051b38f2138ef104dd848fa48f0cbbb7d78b" + "reference": "53c5a606cb4ae19c9466a5f8ffe60f61b0c93b5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/059b051b38f2138ef104dd848fa48f0cbbb7d78b", - "reference": "059b051b38f2138ef104dd848fa48f0cbbb7d78b", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/53c5a606cb4ae19c9466a5f8ffe60f61b0c93b5f", + "reference": "53c5a606cb4ae19c9466a5f8ffe60f61b0c93b5f", "shasum": "" }, "require": { @@ -6649,7 +6649,7 @@ "testing" ], "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v7.4.0" + "source": "https://github.com/symfony/phpunit-bridge/tree/v7.4.7" }, "funding": [ { @@ -6669,20 +6669,20 @@ "type": "tidelift" } ], - "time": "2025-10-28T22:44:23+00:00" + "time": "2026-03-04T13:54:41+00:00" }, { "name": "symfony/translation", - "version": "v6.4.30", + "version": "v6.4.34", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "d1fdeefd0707d15eb150c04e8837bf0b15ebea39" + "reference": "d07d117db41341511671b0a1a2be48f2772189ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/d1fdeefd0707d15eb150c04e8837bf0b15ebea39", - "reference": "d1fdeefd0707d15eb150c04e8837bf0b15ebea39", + "url": "https://api.github.com/repos/symfony/translation/zipball/d07d117db41341511671b0a1a2be48f2772189ce", + "reference": "d07d117db41341511671b0a1a2be48f2772189ce", "shasum": "" }, "require": { @@ -6748,7 +6748,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.30" + "source": "https://github.com/symfony/translation/tree/v6.4.34" }, "funding": [ { @@ -6768,7 +6768,7 @@ "type": "tidelift" } ], - "time": "2025-11-24T13:57:00+00:00" + "time": "2026-02-16T20:44:03+00:00" }, { "name": "theseer/tokenizer", diff --git a/docs/simplesamlphp-changelog.md b/docs/simplesamlphp-changelog.md index 646ac06a2b..07c1792fe1 100644 --- a/docs/simplesamlphp-changelog.md +++ b/docs/simplesamlphp-changelog.md @@ -5,10 +5,18 @@ This document lists the changes between versions of SimpleSAMLphp. See the [upgrade notes](https://simplesamlphp.org/docs/stable/simplesamlphp-upgrade-notes.html) for specific information about upgrading. -## Version 2.4.5 +## Version 2.4.6 Released TBD +## Version 2.4.5 + +Released 2026-03-13 + +* Bump robrichards/xmlseclibs (CVE-2026-32313) +* Bump all other dependencies +* Fixed a bug that allowed to set an illegal NameIDPolicy (#2603) + ## Version 2.4.4 Released 2025-12-08 @@ -36,6 +44,7 @@ Released 2025-10-05 * Introduced a new assets.salt to allow cache busting without leaking version information (#2490) * If session.check_function is set and can not be called an error is raised (#2498) * Fix FontAwesome icon names (#2509) +* NameIDType attributes are now JSON-serializable - these objects might appear in the array returned by getAuthDataArray() `authorize` diff --git a/extra/simplesamlphp.spec b/extra/simplesamlphp.spec index c2000c4156..4f7ac8d5a0 100644 --- a/extra/simplesamlphp.spec +++ b/extra/simplesamlphp.spec @@ -1,6 +1,6 @@ %define name simplesamlphp %define summary SAML IDP/SP written in PHP -%define version 2.4.4 +%define version 2.4.5 %define release 1 %define license LGPL 2.1 %define group Networking/WWW diff --git a/modules/debugsp/templates/status.twig b/modules/debugsp/templates/status.twig index d56608be29..f2f516deda 100644 --- a/modules/debugsp/templates/status.twig +++ b/modules/debugsp/templates/status.twig @@ -1,5 +1,4 @@ {% set pagetitle = 'SimpleSAMLphp installation page'|trans %} {% set frontpage_section = 'test' %} -{% set trackid = '' %} {%- include "auth_status.twig" %} diff --git a/modules/saml/src/Auth/Source/SP.php b/modules/saml/src/Auth/Source/SP.php index dc6e513a3a..696308f1d6 100644 --- a/modules/saml/src/Auth/Source/SP.php +++ b/modules/saml/src/Auth/Source/SP.php @@ -594,8 +594,11 @@ private function startSSO2(Configuration $idpMetadata, array $state): void if (!empty($state['saml:NameIDPolicy'])) { $ar->setNameIdPolicy($state['saml:NameIDPolicy']); + } else { + $ar->setNameIdPolicy($this->metadata->getOptionalArray('NameIDPolicy', [])); } + $requesterID = []; /* Only check for real info for Scoping element if we are going to send Scoping element */ diff --git a/src/SimpleSAML/Configuration.php b/src/SimpleSAML/Configuration.php index 704320903d..0c03f6aca1 100644 --- a/src/SimpleSAML/Configuration.php +++ b/src/SimpleSAML/Configuration.php @@ -41,7 +41,7 @@ class Configuration implements Utils\ClearableState /** * The release version of this package */ - public const VERSION = '2.4.4'; + public const VERSION = '2.4.5'; /** * A default value which means that the given option is required. diff --git a/src/SimpleSAML/Locale/Localization.php b/src/SimpleSAML/Locale/Localization.php index c110d49662..8fdf820bf2 100644 --- a/src/SimpleSAML/Locale/Localization.php +++ b/src/SimpleSAML/Locale/Localization.php @@ -80,6 +80,7 @@ public function __construct( $this->language = new Language($configuration); $this->langcode = $this->language->getPosixLanguage($this->language->getLanguage()); $this->setupL10N(); + $this->addAttributeDomains(); } diff --git a/src/SimpleSAML/Locale/Translate.php b/src/SimpleSAML/Locale/Translate.php index cb8db8e0f1..d5d0cbb2f6 100644 --- a/src/SimpleSAML/Locale/Translate.php +++ b/src/SimpleSAML/Locale/Translate.php @@ -105,7 +105,7 @@ public static function translateSingularGettext(?string $original): string // try attributes.po if ($text === $original) { // @TODO: Fix this to be compatible with PHP 8.4 - domain cannot be an empty string - $text = TranslatorFunctions::getTranslator()->dgettext("", $original); + $text = TranslatorFunctions::getTranslator()->dgettext("attributes", $original); } } } diff --git a/src/SimpleSAML/Utils/Config/Metadata.php b/src/SimpleSAML/Utils/Config/Metadata.php index 0aa2e01b52..8ad6245f20 100644 --- a/src/SimpleSAML/Utils/Config/Metadata.php +++ b/src/SimpleSAML/Utils/Config/Metadata.php @@ -250,7 +250,7 @@ public static function parseNameIdPolicy(?array $nameIdPolicy = null): array { if ($nameIdPolicy === null) { // when NameIDPolicy is unset or set to null, default to transient - return ['Format' => Constants::NAMEID_TRANSIENT, 'AllowCreate' => true]; + return ['Format' => Constants::NAMEID_TRANSIENT, 'AllowCreate' => false]; } if ($nameIdPolicy === []) { @@ -260,9 +260,17 @@ public static function parseNameIdPolicy(?array $nameIdPolicy = null): array // handle configurations specifying an array in the NameIDPolicy config option $nameIdPolicy_cf = Configuration::loadFromArray($nameIdPolicy); + $format = $nameIdPolicy_cf->getOptionalString('Format', Constants::NAMEID_TRANSIENT); + $allowCreate = $nameIdPolicy_cf->getOptionalBoolean('AllowCreate', true); + // SAML Version 2.0 Errata 05 lines 252-255 (pg 12) + if ($format === Constants::NAMEID_TRANSIENT) { + if ($allowCreate) { + $allowCreate = false; + } + } $policy = [ - 'Format' => $nameIdPolicy_cf->getOptionalString('Format', Constants::NAMEID_TRANSIENT), - 'AllowCreate' => $nameIdPolicy_cf->getOptionalBoolean('AllowCreate', true), + 'Format' => $format, + 'AllowCreate' => $allowCreate, ]; $spNameQualifier = $nameIdPolicy_cf->getOptionalString('SPNameQualifier', null); if ($spNameQualifier !== null) { diff --git a/templates/_table.twig b/templates/_table.twig index df05e0d43e..763d447260 100644 --- a/templates/_table.twig +++ b/templates/_table.twig @@ -3,21 +3,20 @@ {% for name, values in items %} - {% block namecol -%} + {%~ block namecol -%} {{ name }} {%- endblock %} + + {%- for value in values -%} + {% if loop.length>1 and loop.first %}{% endif %} + {%- endfor -%} + {% endfor %}
diff --git a/templates/auth_status.twig b/templates/auth_status.twig index 731ef1f87c..1d3e3f43dd 100644 --- a/templates/auth_status.twig +++ b/templates/auth_status.twig @@ -18,9 +18,9 @@ {% embed '_table.twig' -%} - {% block namecol -%} + {% block namecol %} {% set translated = name|trans %} - {% if translated != name %} {{ translated }}
{% endif %} {{ name }} + {% if translated != name %} {{ translated }}
{% endif %}{{ name }} {% endblock %} @@ -28,7 +28,7 @@ {% if name =='jpegPhoto'-%} {% else %}{{ value }}{% endif -%} - {% endblock %} + {% endblock -%} {%- endembed %} diff --git a/tests/modules/core/src/Controller/ExceptionTest.php b/tests/modules/core/src/Controller/ExceptionTest.php index 5b56fd56a0..fd8177dc67 100644 --- a/tests/modules/core/src/Controller/ExceptionTest.php +++ b/tests/modules/core/src/Controller/ExceptionTest.php @@ -84,7 +84,7 @@ public function testErrorURL(string $code, string $ts, string $rp, string $tid, Logger::setCaptureLog(false); $log = Logger::getCapturedLog(); - self::assertCount(7, $log); + self::assertCount(9, $log); self::assertStringContainsString( "A Service Provider reported the following error during authentication: " diff --git a/tests/modules/saml/src/Auth/Source/SPTest.php b/tests/modules/saml/src/Auth/Source/SPTest.php index 9e074d669c..c081a1d78e 100644 --- a/tests/modules/saml/src/Auth/Source/SPTest.php +++ b/tests/modules/saml/src/Auth/Source/SPTest.php @@ -173,7 +173,7 @@ private function createLogoutRequest(array $state = []): LogoutRequest */ public function testAuthnRequest(): void { - $ar = $this->createAuthnRequest(); + $ar = $this->createAuthnRequest(['NameIDPolicy' => ['AllowCreate' => false]]); $xml = $ar->toSignedXML(); diff --git a/tests/src/SimpleSAML/Utils/Config/MetadataTest.php b/tests/src/SimpleSAML/Utils/Config/MetadataTest.php index 48967ff7ed..3b366117d0 100644 --- a/tests/src/SimpleSAML/Utils/Config/MetadataTest.php +++ b/tests/src/SimpleSAML/Utils/Config/MetadataTest.php @@ -256,7 +256,7 @@ public function testParseNameIdPolicyDefaults(): void $nameIdPolicy = null; $this->assertEquals([ 'Format' => Constants::NAMEID_TRANSIENT, - 'AllowCreate' => true, + 'AllowCreate' => false, ], Metadata::parseNameIdPolicy($nameIdPolicy)); $nameIdPolicy = [