From 3bd2d0707b290da264e9c2acbda02e8c8a69cfc4 Mon Sep 17 00:00:00 2001 From: JeromeB Date: Sun, 10 Nov 2024 17:19:06 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20des=20librairies=20PHP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.lock | 255 ++++++++------- vendor/composer/InstalledVersions.php | 136 ++++---- vendor/composer/autoload_files.php | 8 +- vendor/composer/autoload_static.php | 8 +- vendor/composer/installed.json | 309 +++++++++--------- vendor/composer/installed.php | 136 ++++---- vendor/phpmailer/phpmailer/README.md | 12 +- vendor/phpmailer/phpmailer/SECURITY.md | 4 +- vendor/phpmailer/phpmailer/VERSION | 2 +- vendor/phpmailer/phpmailer/composer.json | 3 +- .../phpmailer/phpmailer/get_oauth_token.php | 6 +- .../phpmailer/language/phpmailer.lang-es.php | 13 +- .../phpmailer/language/phpmailer.lang-fr.php | 3 +- .../phpmailer/language/phpmailer.lang-ja.php | 14 +- .../phpmailer/language/phpmailer.lang-ku.php | 27 ++ .../phpmailer/language/phpmailer.lang-ru.php | 22 +- .../phpmailer/language/phpmailer.lang-tr.php | 9 +- .../phpmailer/language/phpmailer.lang-ur.php | 30 ++ .../phpmailer/src/DSNConfigurator.php | 2 +- vendor/phpmailer/phpmailer/src/Exception.php | 2 +- vendor/phpmailer/phpmailer/src/OAuth.php | 4 +- .../phpmailer/src/OAuthTokenProvider.php | 2 +- vendor/phpmailer/phpmailer/src/PHPMailer.php | 48 ++- vendor/phpmailer/phpmailer/src/POP3.php | 8 +- vendor/phpmailer/phpmailer/src/SMTP.php | 44 ++- vendor/symfony/cache/Traits/RedisTrait.php | 2 +- vendor/symfony/config/FileLocator.php | 3 +- .../Compiler/AbstractRecursivePass.php | 4 + .../Compiler/ResolveBindingsPass.php | 9 +- .../dependency-injection/EnvVarProcessor.php | 2 +- .../Loader/XmlFileLoader.php | 10 +- vendor/symfony/error-handler/ErrorHandler.php | 2 +- .../Exception/FlattenException.php | 2 +- vendor/symfony/filesystem/Filesystem.php | 4 +- .../NumberToLocalizedStringTransformer.php | 10 +- .../PercentToLocalizedStringTransformer.php | 10 +- .../form/Test/FormPerformanceTestCase.php | 2 + .../Controller/RedirectController.php | 2 +- .../FrameworkExtension.php | 1 - .../framework-bundle/FrameworkBundle.php | 12 +- .../Resources/config/session.php | 1 + vendor/symfony/framework-bundle/composer.json | 1 + vendor/symfony/http-foundation/Request.php | 19 +- .../EventListener/DebugHandlersListener.php | 4 +- .../HttpCache/ResponseCacheStrategy.php | 58 ++-- vendor/symfony/http-kernel/Kernel.php | 8 +- .../symfony/var-dumper/Caster/ClassStub.php | 2 +- .../var-dumper/Caster/ExceptionCaster.php | 2 +- vendor/tecnickcom/tcpdf/CHANGELOG.TXT | 18 + vendor/tecnickcom/tcpdf/VERSION | 2 +- vendor/tecnickcom/tcpdf/composer.json | 2 +- .../tecnickcom/tcpdf/include/tcpdf_static.php | 10 +- vendor/tecnickcom/tcpdf/tcpdf.php | 88 ++--- vendor/twig/twig/CHANGELOG | 11 + vendor/twig/twig/src/Environment.php | 6 +- .../twig/twig/src/Extension/CoreExtension.php | 64 +++- .../twig/src/Extension/SandboxExtension.php | 47 +++ .../src/Node/Expression/GetAttrExpression.php | 33 +- .../src/NodeVisitor/SandboxNodeVisitor.php | 15 +- 59 files changed, 940 insertions(+), 633 deletions(-) create mode 100644 vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php create mode 100644 vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php diff --git a/composer.lock b/composer.lock index 76e1c1e57..ad8b1a914 100644 --- a/composer.lock +++ b/composer.lock @@ -245,16 +245,16 @@ }, { "name": "phpmailer/phpmailer", - "version": "v6.9.1", + "version": "v6.9.2", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" + "reference": "a7b17b42fa4887c92146243f3d2f4ccb962af17c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/a7b17b42fa4887c92146243f3d2f4ccb962af17c", + "reference": "a7b17b42fa4887c92146243f3d2f4ccb962af17c", "shasum": "" }, "require": { @@ -314,7 +314,7 @@ "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.9.1" + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.2" }, "funding": [ { @@ -322,7 +322,7 @@ "type": "github" } ], - "time": "2023-11-25T22:23:28+00:00" + "time": "2024-10-09T10:07:50+00:00" }, { "name": "psr/cache", @@ -523,16 +523,16 @@ }, { "name": "symfony/cache", - "version": "v5.4.44", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8" + "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/4b3e7bf157b8b5a010865701d9106b5f0a9c99a8", - "reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8", + "url": "https://api.github.com/repos/symfony/cache/zipball/0fe08ee32cec2748fbfea10c52d3ee02049e0f6b", + "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b", "shasum": "" }, "require": { @@ -600,7 +600,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.44" + "source": "https://github.com/symfony/cache/tree/v5.4.46" }, "funding": [ { @@ -616,7 +616,7 @@ "type": "tidelift" } ], - "time": "2024-09-13T16:57:39+00:00" + "time": "2024-11-04T11:43:55+00:00" }, { "name": "symfony/cache-contracts", @@ -699,16 +699,16 @@ }, { "name": "symfony/config", - "version": "v5.4.40", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e" + "reference": "977c88a02d7d3f16904a81907531b19666a08e78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e", - "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e", + "url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78", + "reference": "977c88a02d7d3f16904a81907531b19666a08e78", "shasum": "" }, "require": { @@ -758,7 +758,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/v5.4.40" + "source": "https://github.com/symfony/config/tree/v5.4.46" }, "funding": [ { @@ -774,20 +774,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-10-30T07:58:02+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.44", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374" + "reference": "0c199da64bb27e4216ccccb83f451e2ec66b3c4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/23eb9f3803a931aef16a65f362a9aeb0640a1374", - "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0c199da64bb27e4216ccccb83f451e2ec66b3c4b", + "reference": "0c199da64bb27e4216ccccb83f451e2ec66b3c4b", "shasum": "" }, "require": { @@ -847,7 +847,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/v5.4.44" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.45" }, "funding": [ { @@ -863,7 +863,7 @@ "type": "tidelift" } ], - "time": "2024-09-12T20:01:35+00:00" + "time": "2024-10-22T18:49:16+00:00" }, { "name": "symfony/deprecation-contracts", @@ -934,16 +934,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.4.42", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76" + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/db15ba0fd50890156ed40087ccedc7851a1f5b76", - "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/d19ede7a2cafb386be9486c580649d0f9e3d0363", + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363", "shasum": "" }, "require": { @@ -985,7 +985,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/v5.4.42" + "source": "https://github.com/symfony/error-handler/tree/v5.4.46" }, "funding": [ { @@ -1001,20 +1001,20 @@ "type": "tidelift" } ], - "time": "2024-07-23T12:34:05+00:00" + "time": "2024-11-05T14:17:06+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" + "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9", + "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9", "shasum": "" }, "require": { @@ -1070,7 +1070,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/v5.4.40" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.45" }, "funding": [ { @@ -1086,7 +1086,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -1169,16 +1169,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.44", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc" + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/76c3818964e9d32be3862c9318ae3ba9aa280ddc", - "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54", + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54", "shasum": "" }, "require": { @@ -1216,7 +1216,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.44" + "source": "https://github.com/symfony/filesystem/tree/v5.4.45" }, "funding": [ { @@ -1232,20 +1232,20 @@ "type": "tidelift" } ], - "time": "2024-09-16T14:52:48+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/finder", - "version": "v5.4.43", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ae25a9145a900764158d439653d5630191155ca0" + "reference": "63741784cd7b9967975eec610b256eed3ede022b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0", - "reference": "ae25a9145a900764158d439653d5630191155ca0", + "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b", + "reference": "63741784cd7b9967975eec610b256eed3ede022b", "shasum": "" }, "require": { @@ -1279,7 +1279,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.43" + "source": "https://github.com/symfony/finder/tree/v5.4.45" }, "funding": [ { @@ -1295,20 +1295,20 @@ "type": "tidelift" } ], - "time": "2024-08-13T14:03:51+00:00" + "time": "2024-09-28T13:32:08+00:00" }, { "name": "symfony/form", - "version": "v5.4.44", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb" + "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/4f3d91f8a7626e3cab9e3d2952321df10013a6eb", - "reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb", + "url": "https://api.github.com/repos/symfony/form/zipball/c1974a723cdee8a273cb49ce13fada5c1667706a", + "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a", "shasum": "" }, "require": { @@ -1381,7 +1381,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v5.4.44" + "source": "https://github.com/symfony/form/tree/v5.4.45" }, "funding": [ { @@ -1397,20 +1397,20 @@ "type": "tidelift" } ], - "time": "2024-09-20T07:56:40+00:00" + "time": "2024-10-08T07:27:17+00:00" }, { "name": "symfony/framework-bundle", - "version": "v5.4.44", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "9ae1957fb817c0fec6d171931f675895a434d988" + "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/9ae1957fb817c0fec6d171931f675895a434d988", - "reference": "9ae1957fb817c0fec6d171931f675895a434d988", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3d70f14176422d4d8ee400b6acae4e21f7c25ca2", + "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2", "shasum": "" }, "require": { @@ -1449,6 +1449,7 @@ "symfony/mime": "<4.4", "symfony/property-access": "<5.3", "symfony/property-info": "<4.4", + "symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6", "symfony/security-csrf": "<5.3", "symfony/serializer": "<5.2", "symfony/service-contracts": ">=3.0", @@ -1531,7 +1532,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/v5.4.44" + "source": "https://github.com/symfony/framework-bundle/tree/v5.4.45" }, "funding": [ { @@ -1547,7 +1548,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:11:35+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/http-foundation", @@ -1627,16 +1628,16 @@ }, { "name": "symfony/http-kernel", - "version": "v5.4.44", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13" + "reference": "492ce57430d44e28b30b2c76724bef31dcb73b3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/788dcf72d9af7432a886aa3b0c5904d68087ba13", - "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/492ce57430d44e28b30b2c76724bef31dcb73b3e", + "reference": "492ce57430d44e28b30b2c76724bef31dcb73b3e", "shasum": "" }, "require": { @@ -1720,7 +1721,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/v5.4.44" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.46" }, "funding": [ { @@ -1736,20 +1737,20 @@ "type": "tidelift" } ], - "time": "2024-09-21T05:47:58+00:00" + "time": "2024-11-06T09:26:57+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4" + "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6", + "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6", "shasum": "" }, "require": { @@ -1789,7 +1790,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.40" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.45" }, "funding": [ { @@ -1805,7 +1806,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2443,16 +2444,16 @@ }, { "name": "symfony/property-access", - "version": "v5.4.43", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "2d751866b976a02e22743359733edc55cd20e9fd" + "reference": "111e7ed617509f1a9139686055d234aad6e388e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/2d751866b976a02e22743359733edc55cd20e9fd", - "reference": "2d751866b976a02e22743359733edc55cd20e9fd", + "url": "https://api.github.com/repos/symfony/property-access/zipball/111e7ed617509f1a9139686055d234aad6e388e0", + "reference": "111e7ed617509f1a9139686055d234aad6e388e0", "shasum": "" }, "require": { @@ -2504,7 +2505,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.43" + "source": "https://github.com/symfony/property-access/tree/v5.4.45" }, "funding": [ { @@ -2520,20 +2521,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:50:14+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/property-info", - "version": "v5.4.42", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4" + "reference": "cec75362b20263758c9c7af4c2f9af82614195ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/825aa937f6e8cd63dcc118d0af84d7d4979cddf4", - "reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4", + "url": "https://api.github.com/repos/symfony/property-info/zipball/cec75362b20263758c9c7af4c2f9af82614195ae", + "reference": "cec75362b20263758c9c7af4c2f9af82614195ae", "shasum": "" }, "require": { @@ -2595,7 +2596,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v5.4.42" + "source": "https://github.com/symfony/property-info/tree/v5.4.45" }, "funding": [ { @@ -2611,20 +2612,20 @@ "type": "tidelift" } ], - "time": "2024-07-22T18:03:36+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/routing", - "version": "v5.4.43", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8" + "reference": "986597b3d1c86ecefe094c0c236a9e9ad22756f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8", - "reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8", + "url": "https://api.github.com/repos/symfony/routing/zipball/986597b3d1c86ecefe094c0c236a9e9ad22756f2", + "reference": "986597b3d1c86ecefe094c0c236a9e9ad22756f2", "shasum": "" }, "require": { @@ -2685,7 +2686,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.43" + "source": "https://github.com/symfony/routing/tree/v5.4.45" }, "funding": [ { @@ -2701,7 +2702,7 @@ "type": "tidelift" } ], - "time": "2024-08-27T06:36:52+00:00" + "time": "2024-09-30T08:44:06+00:00" }, { "name": "symfony/service-contracts", @@ -2788,16 +2789,16 @@ }, { "name": "symfony/string", - "version": "v5.4.44", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "832caa16b6d9aac6bf11747315225f5aba384c24" + "reference": "7f6807add88b1e2635f3c6de5e1ace631ed7cad2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/832caa16b6d9aac6bf11747315225f5aba384c24", - "reference": "832caa16b6d9aac6bf11747315225f5aba384c24", + "url": "https://api.github.com/repos/symfony/string/zipball/7f6807add88b1e2635f3c6de5e1ace631ed7cad2", + "reference": "7f6807add88b1e2635f3c6de5e1ace631ed7cad2", "shasum": "" }, "require": { @@ -2854,7 +2855,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.44" + "source": "https://github.com/symfony/string/tree/v5.4.45" }, "funding": [ { @@ -2870,20 +2871,20 @@ "type": "tidelift" } ], - "time": "2024-09-20T07:56:40+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/translation", - "version": "v5.4.44", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921" + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/6fed3a20b5b87ee9cdd9dacf545922b8fd475921", - "reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921", + "url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed", + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed", "shasum": "" }, "require": { @@ -2951,7 +2952,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.44" + "source": "https://github.com/symfony/translation/tree/v5.4.45" }, "funding": [ { @@ -2967,7 +2968,7 @@ "type": "tidelift" } ], - "time": "2024-09-15T08:12:35+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/translation-contracts", @@ -3049,16 +3050,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.43", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef" + "reference": "f51f11e4fc5ca24fa0defcdf4df027078950b9e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6be6a6a8af4818564e3726fc65cf936f34743cef", - "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/f51f11e4fc5ca24fa0defcdf4df027078950b9e0", + "reference": "f51f11e4fc5ca24fa0defcdf4df027078950b9e0", "shasum": "" }, "require": { @@ -3118,7 +3119,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.43" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.46" }, "funding": [ { @@ -3134,20 +3135,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:01:46+00:00" + "time": "2024-11-05T14:17:06+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "6a13d37336d512927986e09f19a4bed24178baa6" + "reference": "862700068db0ddfd8c5b850671e029a90246ec75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/6a13d37336d512927986e09f19a4bed24178baa6", - "reference": "6a13d37336d512927986e09f19a4bed24178baa6", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/862700068db0ddfd8c5b850671e029a90246ec75", + "reference": "862700068db0ddfd8c5b850671e029a90246ec75", "shasum": "" }, "require": { @@ -3191,7 +3192,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.40" + "source": "https://github.com/symfony/var-exporter/tree/v5.4.45" }, "funding": [ { @@ -3207,20 +3208,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "tecnickcom/tcpdf", - "version": "6.7.5", + "version": "6.7.7", "source": { "type": "git", "url": "https://github.com/tecnickcom/TCPDF.git", - "reference": "951eabf0338ec2522bd0d5d9c79b08a3a3d36b36" + "reference": "cfbc0028cc23f057f2baf9e73bdc238153c22086" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/951eabf0338ec2522bd0d5d9c79b08a3a3d36b36", - "reference": "951eabf0338ec2522bd0d5d9c79b08a3a3d36b36", + "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/cfbc0028cc23f057f2baf9e73bdc238153c22086", + "reference": "cfbc0028cc23f057f2baf9e73bdc238153c22086", "shasum": "" }, "require": { @@ -3271,7 +3272,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/TCPDF/issues", - "source": "https://github.com/tecnickcom/TCPDF/tree/6.7.5" + "source": "https://github.com/tecnickcom/TCPDF/tree/6.7.7" }, "funding": [ { @@ -3279,20 +3280,20 @@ "type": "custom" } ], - "time": "2024-04-20T17:25:10+00:00" + "time": "2024-10-26T12:15:02+00:00" }, { "name": "twig/twig", - "version": "v3.11.2", + "version": "v3.11.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "5b580ec1882b54c98cbd8c0f8a3ca5d1904db6b1" + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/5b580ec1882b54c98cbd8c0f8a3ca5d1904db6b1", - "reference": "5b580ec1882b54c98cbd8c0f8a3ca5d1904db6b1", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", "shasum": "" }, "require": { @@ -3347,7 +3348,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.11.2" + "source": "https://github.com/twigphp/Twig/tree/v3.11.3" }, "funding": [ { @@ -3359,7 +3360,7 @@ "type": "tidelift" } ], - "time": "2024-11-06T18:50:16+00:00" + "time": "2024-11-07T12:34:41+00:00" } ], "packages-dev": [], @@ -3370,5 +3371,5 @@ "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.0.0" } diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index b9fea964a..3b1d06a2e 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -30,7 +30,7 @@ class InstalledVersions 'aliases' => array ( ), - 'reference' => '234137f0dbdcdd71144ede99543a36e2858bd59e', + 'reference' => '1e445ce3c06dd7ecd552e39097792a641b3ef82a', 'name' => 'devome/twig', ), 'versions' => @@ -60,7 +60,7 @@ class InstalledVersions 'aliases' => array ( ), - 'reference' => '234137f0dbdcdd71144ede99543a36e2858bd59e', + 'reference' => '1e445ce3c06dd7ecd552e39097792a641b3ef82a', ), 'gregwar/captcha' => array ( @@ -82,12 +82,12 @@ class InstalledVersions ), 'phpmailer/phpmailer' => array ( - 'pretty_version' => 'v6.9.1', - 'version' => '6.9.1.0', + 'pretty_version' => 'v6.9.2', + 'version' => '6.9.2.0', 'aliases' => array ( ), - 'reference' => '039de174cd9c17a8389754d3b877a2ed22743e18', + 'reference' => 'a7b17b42fa4887c92146243f3d2f4ccb962af17c', ), 'psr/cache' => array ( @@ -162,12 +162,12 @@ class InstalledVersions ), 'symfony/cache' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => '4b3e7bf157b8b5a010865701d9106b5f0a9c99a8', + 'reference' => '0fe08ee32cec2748fbfea10c52d3ee02049e0f6b', ), 'symfony/cache-contracts' => array ( @@ -187,21 +187,21 @@ class InstalledVersions ), 'symfony/config' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => 'd4e1db78421163b98dd9971d247fd0df4a57ee5e', + 'reference' => '977c88a02d7d3f16904a81907531b19666a08e78', ), 'symfony/dependency-injection' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '23eb9f3803a931aef16a65f362a9aeb0640a1374', + 'reference' => '0c199da64bb27e4216ccccb83f451e2ec66b3c4b', ), 'symfony/deprecation-contracts' => array ( @@ -214,21 +214,21 @@ class InstalledVersions ), 'symfony/error-handler' => array ( - 'pretty_version' => 'v5.4.42', - 'version' => '5.4.42.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => 'db15ba0fd50890156ed40087ccedc7851a1f5b76', + 'reference' => 'd19ede7a2cafb386be9486c580649d0f9e3d0363', ), 'symfony/event-dispatcher' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'a54e2a8a114065f31020d6a89ede83e34c3b27a4', + 'reference' => '72982eb416f61003e9bb6e91f8b3213600dcf9e9', ), 'symfony/event-dispatcher-contracts' => array ( @@ -248,66 +248,66 @@ class InstalledVersions ), 'symfony/filesystem' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '76c3818964e9d32be3862c9318ae3ba9aa280ddc', + 'reference' => '57c8294ed37d4a055b77057827c67f9558c95c54', ), 'symfony/finder' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'ae25a9145a900764158d439653d5630191155ca0', + 'reference' => '63741784cd7b9967975eec610b256eed3ede022b', ), 'symfony/form' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '4f3d91f8a7626e3cab9e3d2952321df10013a6eb', + 'reference' => 'c1974a723cdee8a273cb49ce13fada5c1667706a', ), 'symfony/framework-bundle' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '9ae1957fb817c0fec6d171931f675895a434d988', + 'reference' => '3d70f14176422d4d8ee400b6acae4e21f7c25ca2', ), 'symfony/http-foundation' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => 'ae0d217e5932aa0b70ddb4cf7822cc76d48aee53', + 'reference' => '168b77c71e6f02d8fc479db78beaf742a37d3cab', ), 'symfony/http-kernel' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => '788dcf72d9af7432a886aa3b0c5904d68087ba13', + 'reference' => '492ce57430d44e28b30b2c76724bef31dcb73b3e', ), 'symfony/options-resolver' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'bd1afbde6613a8d6b956115e0e14b196191fd0c4', + 'reference' => '74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6', ), 'symfony/polyfill-ctype' => array ( @@ -383,30 +383,30 @@ class InstalledVersions ), 'symfony/property-access' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '2d751866b976a02e22743359733edc55cd20e9fd', + 'reference' => '111e7ed617509f1a9139686055d234aad6e388e0', ), 'symfony/property-info' => array ( - 'pretty_version' => 'v5.4.42', - 'version' => '5.4.42.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '825aa937f6e8cd63dcc118d0af84d7d4979cddf4', + 'reference' => 'cec75362b20263758c9c7af4c2f9af82614195ae', ), 'symfony/routing' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8', + 'reference' => '986597b3d1c86ecefe094c0c236a9e9ad22756f2', ), 'symfony/service-contracts' => array ( @@ -426,21 +426,21 @@ class InstalledVersions ), 'symfony/string' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '832caa16b6d9aac6bf11747315225f5aba384c24', + 'reference' => '7f6807add88b1e2635f3c6de5e1ace631ed7cad2', ), 'symfony/translation' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '6fed3a20b5b87ee9cdd9dacf545922b8fd475921', + 'reference' => '98f26acc99341ca4bab345fb14d7b1d7cb825bed', ), 'symfony/translation-contracts' => array ( @@ -460,39 +460,39 @@ class InstalledVersions ), 'symfony/var-dumper' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => '6be6a6a8af4818564e3726fc65cf936f34743cef', + 'reference' => 'f51f11e4fc5ca24fa0defcdf4df027078950b9e0', ), 'symfony/var-exporter' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '6a13d37336d512927986e09f19a4bed24178baa6', + 'reference' => '862700068db0ddfd8c5b850671e029a90246ec75', ), 'tecnickcom/tcpdf' => array ( - 'pretty_version' => '6.7.5', - 'version' => '6.7.5.0', + 'pretty_version' => '6.7.7', + 'version' => '6.7.7.0', 'aliases' => array ( ), - 'reference' => '951eabf0338ec2522bd0d5d9c79b08a3a3d36b36', + 'reference' => 'cfbc0028cc23f057f2baf9e73bdc238153c22086', ), 'twig/twig' => array ( - 'pretty_version' => 'v3.11.1', - 'version' => '3.11.1.0', + 'pretty_version' => 'v3.11.3', + 'version' => '3.11.3.0', 'aliases' => array ( ), - 'reference' => 'ff063afc691e1cfda6714f1915ed766cb108d188', + 'reference' => '3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e', ), ), ); diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 29a722864..b43c54b22 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -10,17 +10,17 @@ 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', - '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', + '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php', '89efb1254ef2d1c5d80096acd12c4098' => $vendorDir . '/twig/twig/src/Resources/core.php', 'ffecb95d45175fd40f75be8a23b34f90' => $vendorDir . '/twig/twig/src/Resources/debug.php', 'c7baa00073ee9c61edf148c51917cfb4' => $vendorDir . '/twig/twig/src/Resources/escaper.php', 'f844ccf1d25df8663951193c3fc307c8' => $vendorDir . '/twig/twig/src/Resources/string_loader.php', - '6a47392539ca2329373e0d33e1dba053' => $vendorDir . '/symfony/polyfill-intl-icu/bootstrap.php', - 'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php', '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', - 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', + '6a47392539ca2329373e0d33e1dba053' => $vendorDir . '/symfony/polyfill-intl-icu/bootstrap.php', '8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php', + 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php', + 'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php', '344f11dc3484aaed5cbde58e23513be4' => $vendorDir . '/apereo/phpcas/source/CAS.php', ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 87e79f554..739f0a5e8 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -11,18 +11,18 @@ class ComposerStaticInit0040f82be54654d33854a41fc4560ac1 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', - '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', + '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php', '89efb1254ef2d1c5d80096acd12c4098' => __DIR__ . '/..' . '/twig/twig/src/Resources/core.php', 'ffecb95d45175fd40f75be8a23b34f90' => __DIR__ . '/..' . '/twig/twig/src/Resources/debug.php', 'c7baa00073ee9c61edf148c51917cfb4' => __DIR__ . '/..' . '/twig/twig/src/Resources/escaper.php', 'f844ccf1d25df8663951193c3fc307c8' => __DIR__ . '/..' . '/twig/twig/src/Resources/string_loader.php', - '6a47392539ca2329373e0d33e1dba053' => __DIR__ . '/..' . '/symfony/polyfill-intl-icu/bootstrap.php', - 'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php', '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', - 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', + '6a47392539ca2329373e0d33e1dba053' => __DIR__ . '/..' . '/symfony/polyfill-intl-icu/bootstrap.php', '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php', + 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', + 'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php', '344f11dc3484aaed5cbde58e23513be4' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS.php', ); diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 3f57600bf..268310f1e 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -251,17 +251,17 @@ }, { "name": "phpmailer/phpmailer", - "version": "v6.9.1", - "version_normalized": "6.9.1.0", + "version": "v6.9.2", + "version_normalized": "6.9.2.0", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" + "reference": "a7b17b42fa4887c92146243f3d2f4ccb962af17c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/a7b17b42fa4887c92146243f3d2f4ccb962af17c", + "reference": "a7b17b42fa4887c92146243f3d2f4ccb962af17c", "shasum": "" }, "require": { @@ -291,7 +291,7 @@ "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" }, - "time": "2023-11-25T22:23:28+00:00", + "time": "2024-10-09T10:07:50+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -323,7 +323,7 @@ "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.9.1" + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.2" }, "funding": [ { @@ -544,17 +544,17 @@ }, { "name": "symfony/cache", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.46", + "version_normalized": "5.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8" + "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/4b3e7bf157b8b5a010865701d9106b5f0a9c99a8", - "reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8", + "url": "https://api.github.com/repos/symfony/cache/zipball/0fe08ee32cec2748fbfea10c52d3ee02049e0f6b", + "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b", "shasum": "" }, "require": { @@ -592,7 +592,7 @@ "symfony/messenger": "^4.4|^5.0|^6.0", "symfony/var-dumper": "^4.4|^5.0|^6.0" }, - "time": "2024-09-13T16:57:39+00:00", + "time": "2024-11-04T11:43:55+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -624,7 +624,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.44" + "source": "https://github.com/symfony/cache/tree/v5.4.46" }, "funding": [ { @@ -726,17 +726,17 @@ }, { "name": "symfony/config", - "version": "v5.4.40", - "version_normalized": "5.4.40.0", + "version": "v5.4.46", + "version_normalized": "5.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e" + "reference": "977c88a02d7d3f16904a81907531b19666a08e78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e", - "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e", + "url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78", + "reference": "977c88a02d7d3f16904a81907531b19666a08e78", "shasum": "" }, "require": { @@ -760,7 +760,7 @@ "suggest": { "symfony/yaml": "To use the yaml reference dumper" }, - "time": "2024-05-31T14:33:22+00:00", + "time": "2024-10-30T07:58:02+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -788,7 +788,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/v5.4.40" + "source": "https://github.com/symfony/config/tree/v5.4.46" }, "funding": [ { @@ -808,17 +808,17 @@ }, { "name": "symfony/dependency-injection", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374" + "reference": "0c199da64bb27e4216ccccb83f451e2ec66b3c4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/23eb9f3803a931aef16a65f362a9aeb0640a1374", - "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0c199da64bb27e4216ccccb83f451e2ec66b3c4b", + "reference": "0c199da64bb27e4216ccccb83f451e2ec66b3c4b", "shasum": "" }, "require": { @@ -852,7 +852,7 @@ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", "symfony/yaml": "" }, - "time": "2024-09-12T20:01:35+00:00", + "time": "2024-10-22T18:49:16+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -880,7 +880,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/v5.4.44" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.45" }, "funding": [ { @@ -970,17 +970,17 @@ }, { "name": "symfony/error-handler", - "version": "v5.4.42", - "version_normalized": "5.4.42.0", + "version": "v5.4.46", + "version_normalized": "5.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76" + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/db15ba0fd50890156ed40087ccedc7851a1f5b76", - "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/d19ede7a2cafb386be9486c580649d0f9e3d0363", + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363", "shasum": "" }, "require": { @@ -993,7 +993,7 @@ "symfony/http-kernel": "^4.4|^5.0|^6.0", "symfony/serializer": "^4.4|^5.0|^6.0" }, - "time": "2024-07-23T12:34:05+00:00", + "time": "2024-11-05T14:17:06+00:00", "bin": [ "Resources/bin/patch-type-declarations" ], @@ -1024,7 +1024,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/v5.4.42" + "source": "https://github.com/symfony/error-handler/tree/v5.4.46" }, "funding": [ { @@ -1044,17 +1044,17 @@ }, { "name": "symfony/event-dispatcher", - "version": "v5.4.40", - "version_normalized": "5.4.40.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" + "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9", + "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9", "shasum": "" }, "require": { @@ -1084,7 +1084,7 @@ "symfony/dependency-injection": "", "symfony/http-kernel": "" }, - "time": "2024-05-31T14:33:22+00:00", + "time": "2024-09-25T14:11:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1112,7 +1112,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/v5.4.40" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.45" }, "funding": [ { @@ -1214,17 +1214,17 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc" + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/76c3818964e9d32be3862c9318ae3ba9aa280ddc", - "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54", + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54", "shasum": "" }, "require": { @@ -1236,7 +1236,7 @@ "require-dev": { "symfony/process": "^5.4|^6.4" }, - "time": "2024-09-16T14:52:48+00:00", + "time": "2024-10-22T13:05:35+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1264,7 +1264,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.44" + "source": "https://github.com/symfony/filesystem/tree/v5.4.45" }, "funding": [ { @@ -1284,17 +1284,17 @@ }, { "name": "symfony/finder", - "version": "v5.4.43", - "version_normalized": "5.4.43.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ae25a9145a900764158d439653d5630191155ca0" + "reference": "63741784cd7b9967975eec610b256eed3ede022b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0", - "reference": "ae25a9145a900764158d439653d5630191155ca0", + "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b", + "reference": "63741784cd7b9967975eec610b256eed3ede022b", "shasum": "" }, "require": { @@ -1302,7 +1302,7 @@ "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.16" }, - "time": "2024-08-13T14:03:51+00:00", + "time": "2024-09-28T13:32:08+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1330,7 +1330,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.43" + "source": "https://github.com/symfony/finder/tree/v5.4.45" }, "funding": [ { @@ -1350,17 +1350,17 @@ }, { "name": "symfony/form", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb" + "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/4f3d91f8a7626e3cab9e3d2952321df10013a6eb", - "reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb", + "url": "https://api.github.com/repos/symfony/form/zipball/c1974a723cdee8a273cb49ce13fada5c1667706a", + "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a", "shasum": "" }, "require": { @@ -1407,7 +1407,7 @@ "symfony/twig-bridge": "For templating with Twig.", "symfony/validator": "For form validation." }, - "time": "2024-09-20T07:56:40+00:00", + "time": "2024-10-08T07:27:17+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1435,7 +1435,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v5.4.44" + "source": "https://github.com/symfony/form/tree/v5.4.45" }, "funding": [ { @@ -1455,17 +1455,17 @@ }, { "name": "symfony/framework-bundle", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "9ae1957fb817c0fec6d171931f675895a434d988" + "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/9ae1957fb817c0fec6d171931f675895a434d988", - "reference": "9ae1957fb817c0fec6d171931f675895a434d988", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3d70f14176422d4d8ee400b6acae4e21f7c25ca2", + "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2", "shasum": "" }, "require": { @@ -1504,6 +1504,7 @@ "symfony/mime": "<4.4", "symfony/property-access": "<5.3", "symfony/property-info": "<4.4", + "symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6", "symfony/security-csrf": "<5.3", "symfony/serializer": "<5.2", "symfony/service-contracts": ">=3.0", @@ -1560,7 +1561,7 @@ "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", "symfony/yaml": "For using the debug:config and lint:yaml commands" }, - "time": "2024-09-20T08:11:35+00:00", + "time": "2024-10-22T13:05:35+00:00", "type": "symfony-bundle", "installation-source": "dist", "autoload": { @@ -1588,7 +1589,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/v5.4.44" + "source": "https://github.com/symfony/framework-bundle/tree/v5.4.45" }, "funding": [ { @@ -1608,17 +1609,17 @@ }, { "name": "symfony/http-foundation", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.46", + "version_normalized": "5.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53" + "reference": "168b77c71e6f02d8fc479db78beaf742a37d3cab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ae0d217e5932aa0b70ddb4cf7822cc76d48aee53", - "reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/168b77c71e6f02d8fc479db78beaf742a37d3cab", + "reference": "168b77c71e6f02d8fc479db78beaf742a37d3cab", "shasum": "" }, "require": { @@ -1639,7 +1640,7 @@ "suggest": { "symfony/mime": "To use the file extension guesser" }, - "time": "2024-09-15T07:55:06+00:00", + "time": "2024-11-05T15:52:21+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1667,7 +1668,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.44" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.46" }, "funding": [ { @@ -1687,17 +1688,17 @@ }, { "name": "symfony/http-kernel", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.46", + "version_normalized": "5.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13" + "reference": "492ce57430d44e28b30b2c76724bef31dcb73b3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/788dcf72d9af7432a886aa3b0c5904d68087ba13", - "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/492ce57430d44e28b30b2c76724bef31dcb73b3e", + "reference": "492ce57430d44e28b30b2c76724bef31dcb73b3e", "shasum": "" }, "require": { @@ -1755,7 +1756,7 @@ "symfony/console": "", "symfony/dependency-injection": "" }, - "time": "2024-09-21T05:47:58+00:00", + "time": "2024-11-06T09:26:57+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1783,7 +1784,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/v5.4.44" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.46" }, "funding": [ { @@ -1803,17 +1804,17 @@ }, { "name": "symfony/options-resolver", - "version": "v5.4.40", - "version_normalized": "5.4.40.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4" + "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6", + "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6", "shasum": "" }, "require": { @@ -1822,7 +1823,7 @@ "symfony/polyfill-php73": "~1.0", "symfony/polyfill-php80": "^1.16" }, - "time": "2024-05-31T14:33:22+00:00", + "time": "2024-09-25T14:11:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1855,7 +1856,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.40" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.45" }, "funding": [ { @@ -2533,17 +2534,17 @@ }, { "name": "symfony/property-access", - "version": "v5.4.43", - "version_normalized": "5.4.43.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "2d751866b976a02e22743359733edc55cd20e9fd" + "reference": "111e7ed617509f1a9139686055d234aad6e388e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/2d751866b976a02e22743359733edc55cd20e9fd", - "reference": "2d751866b976a02e22743359733edc55cd20e9fd", + "url": "https://api.github.com/repos/symfony/property-access/zipball/111e7ed617509f1a9139686055d234aad6e388e0", + "reference": "111e7ed617509f1a9139686055d234aad6e388e0", "shasum": "" }, "require": { @@ -2558,7 +2559,7 @@ "suggest": { "psr/cache-implementation": "To cache access methods." }, - "time": "2024-08-29T08:50:14+00:00", + "time": "2024-09-25T14:11:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2597,7 +2598,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.43" + "source": "https://github.com/symfony/property-access/tree/v5.4.45" }, "funding": [ { @@ -2617,17 +2618,17 @@ }, { "name": "symfony/property-info", - "version": "v5.4.42", - "version_normalized": "5.4.42.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4" + "reference": "cec75362b20263758c9c7af4c2f9af82614195ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/825aa937f6e8cd63dcc118d0af84d7d4979cddf4", - "reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4", + "url": "https://api.github.com/repos/symfony/property-info/zipball/cec75362b20263758c9c7af4c2f9af82614195ae", + "reference": "cec75362b20263758c9c7af4c2f9af82614195ae", "shasum": "" }, "require": { @@ -2655,7 +2656,7 @@ "symfony/doctrine-bridge": "To use Doctrine metadata", "symfony/serializer": "To use Serializer metadata" }, - "time": "2024-07-22T18:03:36+00:00", + "time": "2024-09-25T14:11:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2691,7 +2692,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v5.4.42" + "source": "https://github.com/symfony/property-info/tree/v5.4.45" }, "funding": [ { @@ -2711,17 +2712,17 @@ }, { "name": "symfony/routing", - "version": "v5.4.43", - "version_normalized": "5.4.43.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8" + "reference": "986597b3d1c86ecefe094c0c236a9e9ad22756f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8", - "reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8", + "url": "https://api.github.com/repos/symfony/routing/zipball/986597b3d1c86ecefe094c0c236a9e9ad22756f2", + "reference": "986597b3d1c86ecefe094c0c236a9e9ad22756f2", "shasum": "" }, "require": { @@ -2750,7 +2751,7 @@ "symfony/http-foundation": "For using a Symfony Request object", "symfony/yaml": "For using the YAML loader" }, - "time": "2024-08-27T06:36:52+00:00", + "time": "2024-09-30T08:44:06+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2784,7 +2785,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.43" + "source": "https://github.com/symfony/routing/tree/v5.4.45" }, "funding": [ { @@ -2890,17 +2891,17 @@ }, { "name": "symfony/string", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "832caa16b6d9aac6bf11747315225f5aba384c24" + "reference": "7f6807add88b1e2635f3c6de5e1ace631ed7cad2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/832caa16b6d9aac6bf11747315225f5aba384c24", - "reference": "832caa16b6d9aac6bf11747315225f5aba384c24", + "url": "https://api.github.com/repos/symfony/string/zipball/7f6807add88b1e2635f3c6de5e1ace631ed7cad2", + "reference": "7f6807add88b1e2635f3c6de5e1ace631ed7cad2", "shasum": "" }, "require": { @@ -2920,7 +2921,7 @@ "symfony/translation-contracts": "^1.1|^2", "symfony/var-exporter": "^4.4|^5.0|^6.0" }, - "time": "2024-09-20T07:56:40+00:00", + "time": "2024-09-25T14:11:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2959,7 +2960,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.44" + "source": "https://github.com/symfony/string/tree/v5.4.45" }, "funding": [ { @@ -2979,17 +2980,17 @@ }, { "name": "symfony/translation", - "version": "v5.4.44", - "version_normalized": "5.4.44.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921" + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/6fed3a20b5b87ee9cdd9dacf545922b8fd475921", - "reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921", + "url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed", + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed", "shasum": "" }, "require": { @@ -3028,7 +3029,7 @@ "symfony/config": "", "symfony/yaml": "" }, - "time": "2024-09-15T08:12:35+00:00", + "time": "2024-09-25T14:11:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3059,7 +3060,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.44" + "source": "https://github.com/symfony/translation/tree/v5.4.45" }, "funding": [ { @@ -3160,17 +3161,17 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.43", - "version_normalized": "5.4.43.0", + "version": "v5.4.46", + "version_normalized": "5.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef" + "reference": "f51f11e4fc5ca24fa0defcdf4df027078950b9e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6be6a6a8af4818564e3726fc65cf936f34743cef", - "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/f51f11e4fc5ca24fa0defcdf4df027078950b9e0", + "reference": "f51f11e4fc5ca24fa0defcdf4df027078950b9e0", "shasum": "" }, "require": { @@ -3194,7 +3195,7 @@ "ext-intl": "To show region name in time zone dump", "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" }, - "time": "2024-08-30T16:01:46+00:00", + "time": "2024-11-05T14:17:06+00:00", "bin": [ "Resources/bin/var-dump-server" ], @@ -3232,7 +3233,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.43" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.46" }, "funding": [ { @@ -3252,17 +3253,17 @@ }, { "name": "symfony/var-exporter", - "version": "v5.4.40", - "version_normalized": "5.4.40.0", + "version": "v5.4.45", + "version_normalized": "5.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "6a13d37336d512927986e09f19a4bed24178baa6" + "reference": "862700068db0ddfd8c5b850671e029a90246ec75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/6a13d37336d512927986e09f19a4bed24178baa6", - "reference": "6a13d37336d512927986e09f19a4bed24178baa6", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/862700068db0ddfd8c5b850671e029a90246ec75", + "reference": "862700068db0ddfd8c5b850671e029a90246ec75", "shasum": "" }, "require": { @@ -3272,7 +3273,7 @@ "require-dev": { "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0" }, - "time": "2024-05-31T14:33:22+00:00", + "time": "2024-09-25T14:11:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3308,7 +3309,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.40" + "source": "https://github.com/symfony/var-exporter/tree/v5.4.45" }, "funding": [ { @@ -3328,23 +3329,23 @@ }, { "name": "tecnickcom/tcpdf", - "version": "6.7.5", - "version_normalized": "6.7.5.0", + "version": "6.7.7", + "version_normalized": "6.7.7.0", "source": { "type": "git", "url": "https://github.com/tecnickcom/TCPDF.git", - "reference": "951eabf0338ec2522bd0d5d9c79b08a3a3d36b36" + "reference": "cfbc0028cc23f057f2baf9e73bdc238153c22086" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/951eabf0338ec2522bd0d5d9c79b08a3a3d36b36", - "reference": "951eabf0338ec2522bd0d5d9c79b08a3a3d36b36", + "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/cfbc0028cc23f057f2baf9e73bdc238153c22086", + "reference": "cfbc0028cc23f057f2baf9e73bdc238153c22086", "shasum": "" }, "require": { "php": ">=5.5.0" }, - "time": "2024-04-20T17:25:10+00:00", + "time": "2024-10-26T12:15:02+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3391,7 +3392,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/TCPDF/issues", - "source": "https://github.com/tecnickcom/TCPDF/tree/6.7.5" + "source": "https://github.com/tecnickcom/TCPDF/tree/6.7.7" }, "funding": [ { @@ -3403,17 +3404,17 @@ }, { "name": "twig/twig", - "version": "v3.11.1", - "version_normalized": "3.11.1.0", + "version": "v3.11.3", + "version_normalized": "3.11.3.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "ff063afc691e1cfda6714f1915ed766cb108d188" + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/ff063afc691e1cfda6714f1915ed766cb108d188", - "reference": "ff063afc691e1cfda6714f1915ed766cb108d188", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", "shasum": "" }, "require": { @@ -3428,7 +3429,7 @@ "psr/container": "^1.0|^2.0", "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, - "time": "2024-09-10T10:40:14+00:00", + "time": "2024-11-07T12:34:41+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3470,7 +3471,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.11.1" + "source": "https://github.com/twigphp/Twig/tree/v3.11.3" }, "funding": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index c5ae65581..0e6124b7d 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -6,7 +6,7 @@ 'aliases' => array ( ), - 'reference' => '234137f0dbdcdd71144ede99543a36e2858bd59e', + 'reference' => '1e445ce3c06dd7ecd552e39097792a641b3ef82a', 'name' => 'devome/twig', ), 'versions' => @@ -36,7 +36,7 @@ 'aliases' => array ( ), - 'reference' => '234137f0dbdcdd71144ede99543a36e2858bd59e', + 'reference' => '1e445ce3c06dd7ecd552e39097792a641b3ef82a', ), 'gregwar/captcha' => array ( @@ -58,12 +58,12 @@ ), 'phpmailer/phpmailer' => array ( - 'pretty_version' => 'v6.9.1', - 'version' => '6.9.1.0', + 'pretty_version' => 'v6.9.2', + 'version' => '6.9.2.0', 'aliases' => array ( ), - 'reference' => '039de174cd9c17a8389754d3b877a2ed22743e18', + 'reference' => 'a7b17b42fa4887c92146243f3d2f4ccb962af17c', ), 'psr/cache' => array ( @@ -138,12 +138,12 @@ ), 'symfony/cache' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => '4b3e7bf157b8b5a010865701d9106b5f0a9c99a8', + 'reference' => '0fe08ee32cec2748fbfea10c52d3ee02049e0f6b', ), 'symfony/cache-contracts' => array ( @@ -163,21 +163,21 @@ ), 'symfony/config' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => 'd4e1db78421163b98dd9971d247fd0df4a57ee5e', + 'reference' => '977c88a02d7d3f16904a81907531b19666a08e78', ), 'symfony/dependency-injection' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '23eb9f3803a931aef16a65f362a9aeb0640a1374', + 'reference' => '0c199da64bb27e4216ccccb83f451e2ec66b3c4b', ), 'symfony/deprecation-contracts' => array ( @@ -190,21 +190,21 @@ ), 'symfony/error-handler' => array ( - 'pretty_version' => 'v5.4.42', - 'version' => '5.4.42.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => 'db15ba0fd50890156ed40087ccedc7851a1f5b76', + 'reference' => 'd19ede7a2cafb386be9486c580649d0f9e3d0363', ), 'symfony/event-dispatcher' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'a54e2a8a114065f31020d6a89ede83e34c3b27a4', + 'reference' => '72982eb416f61003e9bb6e91f8b3213600dcf9e9', ), 'symfony/event-dispatcher-contracts' => array ( @@ -224,66 +224,66 @@ ), 'symfony/filesystem' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '76c3818964e9d32be3862c9318ae3ba9aa280ddc', + 'reference' => '57c8294ed37d4a055b77057827c67f9558c95c54', ), 'symfony/finder' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'ae25a9145a900764158d439653d5630191155ca0', + 'reference' => '63741784cd7b9967975eec610b256eed3ede022b', ), 'symfony/form' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '4f3d91f8a7626e3cab9e3d2952321df10013a6eb', + 'reference' => 'c1974a723cdee8a273cb49ce13fada5c1667706a', ), 'symfony/framework-bundle' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '9ae1957fb817c0fec6d171931f675895a434d988', + 'reference' => '3d70f14176422d4d8ee400b6acae4e21f7c25ca2', ), 'symfony/http-foundation' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => 'ae0d217e5932aa0b70ddb4cf7822cc76d48aee53', + 'reference' => '168b77c71e6f02d8fc479db78beaf742a37d3cab', ), 'symfony/http-kernel' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => '788dcf72d9af7432a886aa3b0c5904d68087ba13', + 'reference' => '492ce57430d44e28b30b2c76724bef31dcb73b3e', ), 'symfony/options-resolver' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'bd1afbde6613a8d6b956115e0e14b196191fd0c4', + 'reference' => '74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6', ), 'symfony/polyfill-ctype' => array ( @@ -359,30 +359,30 @@ ), 'symfony/property-access' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '2d751866b976a02e22743359733edc55cd20e9fd', + 'reference' => '111e7ed617509f1a9139686055d234aad6e388e0', ), 'symfony/property-info' => array ( - 'pretty_version' => 'v5.4.42', - 'version' => '5.4.42.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '825aa937f6e8cd63dcc118d0af84d7d4979cddf4', + 'reference' => 'cec75362b20263758c9c7af4c2f9af82614195ae', ), 'symfony/routing' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => 'b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8', + 'reference' => '986597b3d1c86ecefe094c0c236a9e9ad22756f2', ), 'symfony/service-contracts' => array ( @@ -402,21 +402,21 @@ ), 'symfony/string' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '832caa16b6d9aac6bf11747315225f5aba384c24', + 'reference' => '7f6807add88b1e2635f3c6de5e1ace631ed7cad2', ), 'symfony/translation' => array ( - 'pretty_version' => 'v5.4.44', - 'version' => '5.4.44.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '6fed3a20b5b87ee9cdd9dacf545922b8fd475921', + 'reference' => '98f26acc99341ca4bab345fb14d7b1d7cb825bed', ), 'symfony/translation-contracts' => array ( @@ -436,39 +436,39 @@ ), 'symfony/var-dumper' => array ( - 'pretty_version' => 'v5.4.43', - 'version' => '5.4.43.0', + 'pretty_version' => 'v5.4.46', + 'version' => '5.4.46.0', 'aliases' => array ( ), - 'reference' => '6be6a6a8af4818564e3726fc65cf936f34743cef', + 'reference' => 'f51f11e4fc5ca24fa0defcdf4df027078950b9e0', ), 'symfony/var-exporter' => array ( - 'pretty_version' => 'v5.4.40', - 'version' => '5.4.40.0', + 'pretty_version' => 'v5.4.45', + 'version' => '5.4.45.0', 'aliases' => array ( ), - 'reference' => '6a13d37336d512927986e09f19a4bed24178baa6', + 'reference' => '862700068db0ddfd8c5b850671e029a90246ec75', ), 'tecnickcom/tcpdf' => array ( - 'pretty_version' => '6.7.5', - 'version' => '6.7.5.0', + 'pretty_version' => '6.7.7', + 'version' => '6.7.7.0', 'aliases' => array ( ), - 'reference' => '951eabf0338ec2522bd0d5d9c79b08a3a3d36b36', + 'reference' => 'cfbc0028cc23f057f2baf9e73bdc238153c22086', ), 'twig/twig' => array ( - 'pretty_version' => 'v3.11.1', - 'version' => '3.11.1.0', + 'pretty_version' => 'v3.11.3', + 'version' => '3.11.3.0', 'aliases' => array ( ), - 'reference' => 'ff063afc691e1cfda6714f1915ed766cb108d188', + 'reference' => '3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e', ), ), ); diff --git a/vendor/phpmailer/phpmailer/README.md b/vendor/phpmailer/phpmailer/README.md index e3e4ecff3..8c2ec4543 100644 --- a/vendor/phpmailer/phpmailer/README.md +++ b/vendor/phpmailer/phpmailer/README.md @@ -41,13 +41,13 @@ you should look at before rolling your own. Try [SwiftMailer](https://swiftmaile , [Laminas/Mail](https://docs.laminas.dev/laminas-mail/), [ZetaComponents](https://github.com/zetacomponents/Mail), etc. ## License -This software is distributed under the [LGPL 2.1](http://www.gnu.org/licenses/lgpl-2.1.html) license, along with the [GPL Cooperation Commitment](https://gplcc.github.io/gplcc/). Please read [LICENSE](https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE) for information on the software availability and distribution. +This software is distributed under the [LGPL 2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) license, along with the [GPL Cooperation Commitment](https://gplcc.github.io/gplcc/). Please read [LICENSE](https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE) for information on the software availability and distribution. ## Installation & loading PHPMailer is available on [Packagist](https://packagist.org/packages/phpmailer/phpmailer) (using semantic versioning), and installation via [Composer](https://getcomposer.org) is the recommended way to install PHPMailer. Just add this line to your `composer.json` file: ```json -"phpmailer/phpmailer": "^6.9.1" +"phpmailer/phpmailer": "^6.9.2" ``` or run @@ -144,7 +144,7 @@ If you are re-using the instance (e.g. when sending to a mailing list), you may That's it. You should now be ready to use PHPMailer! ## Localization -PHPMailer defaults to English, but in the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder, you'll find many translations for PHPMailer error messages that you may encounter. Their filenames contain [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the translations, for example `fr` for French. To specify a language, you need to tell PHPMailer which one to use, like this: +PHPMailer defaults to English, but in the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder, you'll find many translations for PHPMailer error messages that you may encounter. Their filenames contain [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code for the translations, for example `fr` for French. To specify a language, you need to tell PHPMailer which one to use, like this: ```php //To load the French version @@ -162,9 +162,9 @@ To reduce PHPMailer's deployed code footprint, examples are not included if you Complete generated API documentation is [available online](https://phpmailer.github.io/PHPMailer/). -You can generate complete API-level documentation by running `phpdoc` in the top-level folder, and documentation will appear in the `docs` folder, though you'll need to have [PHPDocumentor](http://www.phpdoc.org) installed. You may find [the unit tests](https://github.com/PHPMailer/PHPMailer/blob/master/test/PHPMailerTest.php) a good reference for how to do various operations such as encryption. +You can generate complete API-level documentation by running `phpdoc` in the top-level folder, and documentation will appear in the `docs` folder, though you'll need to have [PHPDocumentor](https://www.phpdoc.org) installed. You may find [the unit tests](https://github.com/PHPMailer/PHPMailer/blob/master/test/PHPMailerTest.php) a good reference for how to do various operations such as encryption. -If the documentation doesn't cover what you need, search the [many questions on Stack Overflow](http://stackoverflow.com/questions/tagged/phpmailer), and before you ask a question about "SMTP Error: Could not connect to SMTP host.", [read the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). +If the documentation doesn't cover what you need, search the [many questions on Stack Overflow](https://stackoverflow.com/questions/tagged/phpmailer), and before you ask a question about "SMTP Error: Could not connect to SMTP host.", [read the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). ## Tests [PHPMailer tests](https://github.com/PHPMailer/PHPMailer/tree/master/test/) use PHPUnit 9, with [a polyfill](https://github.com/Yoast/PHPUnit-Polyfills) to let 9-style tests run on older PHPUnit and PHP versions. @@ -213,7 +213,7 @@ use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-phpmailer-php See [changelog](changelog.md). ## History -- PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](http://sourceforge.net/projects/phpmailer/). +- PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](https://sourceforge.net/projects/phpmailer/). - [Marcus Bointon](https://github.com/Synchro) (`coolbru` on SF) and Andy Prevost (`codeworxtech`) took over the project in 2004. - Became an Apache incubator project on Google Code in 2010, managed by Jim Jagielski. - Marcus created [his fork on GitHub](https://github.com/Synchro/PHPMailer) in 2008. diff --git a/vendor/phpmailer/phpmailer/SECURITY.md b/vendor/phpmailer/phpmailer/SECURITY.md index 035a87f7b..4f34026df 100644 --- a/vendor/phpmailer/phpmailer/SECURITY.md +++ b/vendor/phpmailer/phpmailer/SECURITY.md @@ -13,13 +13,13 @@ PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs PHPMailer versions prior to 6.0.6 and 5.2.27 are vulnerable to an object injection attack by passing `phar://` paths into `addAttachment()` and other functions that may receive unfiltered local paths, possibly leading to RCE. Recorded as [CVE-2018-19296](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-19296). See [this article](https://knasmueller.net/5-answers-about-php-phar-exploitation) for more info on this type of vulnerability. Mitigated by blocking the use of paths containing URL-protocol style prefixes such as `phar://`. Reported by Sehun Oh of cyberone.kr. -PHPMailer versions prior to 5.2.24 (released July 26th 2017) have an XSS vulnerability in one of the code examples, [CVE-2017-11503](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-11503). The `code_generator.phps` example did not filter user input prior to output. This file is distributed with a `.phps` extension, so it it not normally executable unless it is explicitly renamed, and the file is not included when PHPMailer is loaded through composer, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project. +PHPMailer versions prior to 5.2.24 (released July 26th 2017) have an XSS vulnerability in one of the code examples, [CVE-2017-11503](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-11503). The `code_generator.phps` example did not filter user input prior to output. This file is distributed with a `.phps` extension, so it is not normally executable unless it is explicitly renamed, and the file is not included when PHPMailer is loaded through composer, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project. PHPMailer versions prior to 5.2.22 (released January 9th 2017) have a local file disclosure vulnerability, [CVE-2017-5223](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-5223). If content passed into `msgHTML()` is sourced from unfiltered user input, relative paths can map to absolute local file paths and added as attachments. Also note that `addAttachment` (just like `file_get_contents`, `passthru`, `unlink`, etc) should not be passed user-sourced params either! Reported by Yongxiang Li of Asiasecurity. PHPMailer versions prior to 5.2.20 (released December 28th 2016) are vulnerable to [CVE-2016-10045](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10045) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10045-Vuln-Patch-Bypass.html), and patched by Paul Buonopane (@Zenexer). -PHPMailer versions prior to 5.2.18 (released December 2016) are vulnerable to [CVE-2016-10033](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10033) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](http://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html). +PHPMailer versions prior to 5.2.18 (released December 2016) are vulnerable to [CVE-2016-10033](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10033) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html). PHPMailer versions prior to 5.2.14 (released November 2015) are vulnerable to [CVE-2015-8476](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8476) an SMTP CRLF injection bug permitting arbitrary message sending. diff --git a/vendor/phpmailer/phpmailer/VERSION b/vendor/phpmailer/phpmailer/VERSION index dc3829f5e..6b9255cf0 100644 --- a/vendor/phpmailer/phpmailer/VERSION +++ b/vendor/phpmailer/phpmailer/VERSION @@ -1 +1 @@ -6.9.1 +6.9.2 diff --git a/vendor/phpmailer/phpmailer/composer.json b/vendor/phpmailer/phpmailer/composer.json index fa170a0bb..7b008b7c5 100644 --- a/vendor/phpmailer/phpmailer/composer.json +++ b/vendor/phpmailer/phpmailer/composer.json @@ -28,7 +28,8 @@ "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true - } + }, + "lock": false }, "require": { "php": ">=5.5.0", diff --git a/vendor/phpmailer/phpmailer/get_oauth_token.php b/vendor/phpmailer/phpmailer/get_oauth_token.php index cda0445c6..0e54a00b6 100644 --- a/vendor/phpmailer/phpmailer/get_oauth_token.php +++ b/vendor/phpmailer/phpmailer/get_oauth_token.php @@ -12,7 +12,7 @@ * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. @@ -36,7 +36,7 @@ * Aliases for League Provider Classes * Make sure you have added these to your composer.json and run `composer install` * Plenty to choose from here: - * @see http://oauth2-client.thephpleague.com/providers/thirdparty/ + * @see https://oauth2-client.thephpleague.com/providers/thirdparty/ */ //@see https://github.com/thephpleague/oauth2-google use League\OAuth2\Client\Provider\Google; @@ -178,5 +178,5 @@ ); //Use this to interact with an API on the users behalf //Use this to get a new access token if the old one expires - echo 'Refresh Token: ', $token->getRefreshToken(); + echo 'Refresh Token: ', htmlspecialchars($token->getRefreshToken()); } diff --git a/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php b/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php index 699204187..4e74bfb7b 100644 --- a/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +++ b/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php @@ -5,27 +5,32 @@ * @package PHPMailer * @author Matt Sturdy * @author Crystopher Glodzienski Cardoso + * @author Daniel Cruz */ $PHPMAILER_LANG['authenticate'] = 'Error SMTP: Imposible autentificar.'; +$PHPMAILER_LANG['buggy_php'] = 'Tu versión de PHP está afectada por un bug que puede resultar en mensajes corruptos. Para arreglarlo, cambia a enviar usando SMTP, deshabilita la opción mail.add_x_header en tu php.ini, cambia a MacOS o Linux, o actualiza tu PHP a la versión 7.0.17+ o 7.1.3+.'; $PHPMAILER_LANG['connect_host'] = 'Error SMTP: Imposible conectar al servidor SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Error SMTP: Datos no aceptados.'; $PHPMAILER_LANG['empty_message'] = 'El cuerpo del mensaje está vacío.'; $PHPMAILER_LANG['encoding'] = 'Codificación desconocida: '; $PHPMAILER_LANG['execute'] = 'Imposible ejecutar: '; +$PHPMAILER_LANG['extension_missing'] = 'Extensión faltante: '; $PHPMAILER_LANG['file_access'] = 'Imposible acceder al archivo: '; $PHPMAILER_LANG['file_open'] = 'Error de Archivo: Imposible abrir el archivo: '; $PHPMAILER_LANG['from_failed'] = 'La(s) siguiente(s) direcciones de remitente fallaron: '; $PHPMAILER_LANG['instantiate'] = 'Imposible crear una instancia de la función Mail.'; $PHPMAILER_LANG['invalid_address'] = 'Imposible enviar: dirección de email inválido: '; +$PHPMAILER_LANG['invalid_header'] = 'Nombre o valor de encabezado no válido'; +$PHPMAILER_LANG['invalid_hostentry'] = 'Hostentry inválido: '; +$PHPMAILER_LANG['invalid_host'] = 'Host inválido: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer no está soportado.'; $PHPMAILER_LANG['provide_address'] = 'Debe proporcionar al menos una dirección de email de destino.'; $PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Los siguientes destinos fallaron: '; $PHPMAILER_LANG['signing'] = 'Error al firmar: '; +$PHPMAILER_LANG['smtp_code'] = 'Código del servidor SMTP: '; +$PHPMAILER_LANG['smtp_code_ex'] = 'Información adicional del servidor SMTP: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() falló.'; +$PHPMAILER_LANG['smtp_detail'] = 'Detalle: '; $PHPMAILER_LANG['smtp_error'] = 'Error del servidor SMTP: '; $PHPMAILER_LANG['variable_set'] = 'No se pudo configurar la variable: '; -$PHPMAILER_LANG['extension_missing'] = 'Extensión faltante: '; -$PHPMAILER_LANG['smtp_code'] = 'Código del servidor SMTP: '; -$PHPMAILER_LANG['smtp_code_ex'] = 'Información adicional del servidor SMTP: '; -$PHPMAILER_LANG['invalid_header'] = 'Nombre o valor de encabezado no válido'; diff --git a/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php b/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php index 0d367fcf8..a6d582d83 100644 --- a/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +++ b/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php @@ -6,7 +6,6 @@ * Some French punctuation requires a thin non-breaking space (U+202F) character before it, * for example before a colon or exclamation mark. * There is one of these characters between these quotes: " " - * @see http://unicode.org/udhr/n/notes_fra.html */ $PHPMAILER_LANG['authenticate'] = 'Erreur SMTP : échec de l’authentification.'; @@ -31,7 +30,7 @@ $PHPMAILER_LANG['signing'] = 'Erreur de signature : '; $PHPMAILER_LANG['smtp_code'] = 'Code SMTP : '; $PHPMAILER_LANG['smtp_code_ex'] = 'Informations supplémentaires SMTP : '; -$PHPMAILER_LANG['smtp_connect_failed'] = 'La fonction SMTP connect() a échouée.'; +$PHPMAILER_LANG['smtp_connect_failed'] = 'La fonction SMTP connect() a échoué.'; $PHPMAILER_LANG['smtp_detail'] = 'Détails : '; $PHPMAILER_LANG['smtp_error'] = 'Erreur du serveur SMTP : '; $PHPMAILER_LANG['variable_set'] = 'Impossible d’initialiser ou de réinitialiser une variable : '; diff --git a/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php index c76f5264c..d01869cec 100644 --- a/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +++ b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php @@ -3,27 +3,35 @@ /** * Japanese PHPMailer language file: refer to English translation for definitive list * @package PHPMailer - * @author Mitsuhiro Yoshida + * @author Mitsuhiro Yoshida * @author Yoshi Sakai * @author Arisophy + * @author ARAKI Musashi */ $PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。'; +$PHPMAILER_LANG['buggy_php'] = 'ご利用のバージョンのPHPには不具合があり、メッセージが破損するおそれがあります。問題の解決は以下のいずれかを行ってください。SMTPでの送信に切り替える。php.iniのmail.add_x_headerをoffにする。MacOSまたはLinuxに切り替える。PHPバージョン7.0.17以降または7.1.3以降にアップグレードする。'; $PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。'; $PHPMAILER_LANG['empty_message'] = 'メール本文が空です。'; $PHPMAILER_LANG['encoding'] = '不明なエンコーディング: '; $PHPMAILER_LANG['execute'] = '実行できませんでした: '; +$PHPMAILER_LANG['extension_missing'] = '拡張機能が見つかりません: '; $PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: '; $PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: '; $PHPMAILER_LANG['from_failed'] = 'Fromアドレスを登録する際にエラーが発生しました: '; $PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。'; $PHPMAILER_LANG['invalid_address'] = '不正なメールアドレス: '; -$PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。'; +$PHPMAILER_LANG['invalid_header'] = '不正なヘッダー名またはその内容'; +$PHPMAILER_LANG['invalid_hostentry'] = '不正なホストエントリー: '; +$PHPMAILER_LANG['invalid_host'] = '不正なホスト: '; $PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。'; +$PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。'; $PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: '; $PHPMAILER_LANG['signing'] = '署名エラー: '; +$PHPMAILER_LANG['smtp_code'] = 'SMTPコード: '; +$PHPMAILER_LANG['smtp_code_ex'] = 'SMTP追加情報: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP接続に失敗しました。'; +$PHPMAILER_LANG['smtp_detail'] = '詳細: '; $PHPMAILER_LANG['smtp_error'] = 'SMTPサーバーエラー: '; $PHPMAILER_LANG['variable_set'] = '変数が存在しません: '; -$PHPMAILER_LANG['extension_missing'] = '拡張機能が見つかりません: '; diff --git a/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php new file mode 100644 index 000000000..cf3bda69f --- /dev/null +++ b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php @@ -0,0 +1,27 @@ + + */ + +$PHPMAILER_LANG['authenticate'] = 'هەڵەی SMTP : نەتوانرا کۆدەکە پشتڕاست بکرێتەوە '; +$PHPMAILER_LANG['connect_host'] = 'هەڵەی SMTP: نەتوانرا پەیوەندی بە سێرڤەرەوە بکات SMTP.'; +$PHPMAILER_LANG['data_not_accepted'] = 'هەڵەی SMTP: ئەو زانیاریانە قبوڵ نەکرا.'; +$PHPMAILER_LANG['empty_message'] = 'پەیامەکە بەتاڵە'; +$PHPMAILER_LANG['encoding'] = 'کۆدکردنی نەزانراو : '; +$PHPMAILER_LANG['execute'] = 'ناتوانرێت جێبەجێ بکرێت: '; +$PHPMAILER_LANG['file_access'] = 'ناتوانرێت دەستت بگات بە فایلەکە: '; +$PHPMAILER_LANG['file_open'] = 'هەڵەی پەڕگە(فایل): ناتوانرێت بکرێتەوە: '; +$PHPMAILER_LANG['from_failed'] = 'هەڵە لە ئاستی ناونیشانی نێرەر: '; +$PHPMAILER_LANG['instantiate'] = 'ناتوانرێت خزمەتگوزاری پۆستە پێشکەش بکرێت.'; +$PHPMAILER_LANG['invalid_address'] = 'نەتوانرا بنێردرێت ، چونکە ناونیشانی ئیمەیڵەکە نادروستە: '; +$PHPMAILER_LANG['mailer_not_supported'] = ' مەیلەر پشتگیری ناکات'; +$PHPMAILER_LANG['provide_address'] = 'دەبێت ناونیشانی ئیمەیڵی لانیکەم یەک وەرگر دابین بکرێت.'; +$PHPMAILER_LANG['recipients_failed'] = ' هەڵەی SMTP: ئەم هەڵانەی خوارەوەشکستی هێنا لە ناردن بۆ هەردووکیان: '; +$PHPMAILER_LANG['signing'] = 'هەڵەی واژۆ: '; +$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect()پەیوەندی شکستی هێنا .'; +$PHPMAILER_LANG['smtp_error'] = 'هەڵەی ئاستی سێرڤەری SMTP: '; +$PHPMAILER_LANG['variable_set'] = 'ناتوانرێت بیگۆڕیت یان دوبارە بینێریتەوە: '; +$PHPMAILER_LANG['extension_missing'] = 'درێژکراوە نەماوە: '; diff --git a/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php index 8c8c5e817..8013f37c4 100644 --- a/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +++ b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php @@ -5,24 +5,32 @@ * @package PHPMailer * @author Alexey Chumakov * @author Foster Snowhill + * @author ProjectSoft */ -$PHPMAILER_LANG['authenticate'] = 'Ошибка SMTP: ошибка авторизации.'; +$PHPMAILER_LANG['authenticate'] = 'Ошибка SMTP: не удалось пройти аутентификацию.'; +$PHPMAILER_LANG['buggy_php'] = 'В вашей версии PHP есть ошибка, которая может привести к повреждению сообщений. Чтобы исправить, переключитесь на отправку по SMTP, отключите опцию mail.add_x_header в ваш php.ini, переключитесь на MacOS или Linux или обновите PHP до версии 7.0.17+ или 7.1.3+.'; $PHPMAILER_LANG['connect_host'] = 'Ошибка SMTP: не удается подключиться к SMTP-серверу.'; $PHPMAILER_LANG['data_not_accepted'] = 'Ошибка SMTP: данные не приняты.'; +$PHPMAILER_LANG['empty_message'] = 'Пустое сообщение'; $PHPMAILER_LANG['encoding'] = 'Неизвестная кодировка: '; $PHPMAILER_LANG['execute'] = 'Невозможно выполнить команду: '; +$PHPMAILER_LANG['extension_missing'] = 'Расширение отсутствует: '; $PHPMAILER_LANG['file_access'] = 'Нет доступа к файлу: '; $PHPMAILER_LANG['file_open'] = 'Файловая ошибка: не удаётся открыть файл: '; $PHPMAILER_LANG['from_failed'] = 'Неверный адрес отправителя: '; $PHPMAILER_LANG['instantiate'] = 'Невозможно запустить функцию mail().'; -$PHPMAILER_LANG['provide_address'] = 'Пожалуйста, введите хотя бы один email-адрес получателя.'; -$PHPMAILER_LANG['mailer_not_supported'] = ' — почтовый сервер не поддерживается.'; -$PHPMAILER_LANG['recipients_failed'] = 'Ошибка SMTP: не удалась отправка таким адресатам: '; -$PHPMAILER_LANG['empty_message'] = 'Пустое сообщение'; $PHPMAILER_LANG['invalid_address'] = 'Не отправлено из-за неправильного формата email-адреса: '; +$PHPMAILER_LANG['invalid_header'] = 'Неверное имя или значение заголовка'; +$PHPMAILER_LANG['invalid_hostentry'] = 'Неверная запись хоста: '; +$PHPMAILER_LANG['invalid_host'] = 'Неверный хост: '; +$PHPMAILER_LANG['mailer_not_supported'] = ' — почтовый сервер не поддерживается.'; +$PHPMAILER_LANG['provide_address'] = 'Вы должны указать хотя бы один адрес электронной почты получателя.'; +$PHPMAILER_LANG['recipients_failed'] = 'Ошибка SMTP: Ошибка следующих получателей: '; $PHPMAILER_LANG['signing'] = 'Ошибка подписи: '; -$PHPMAILER_LANG['smtp_connect_failed'] = 'Ошибка соединения с SMTP-сервером'; +$PHPMAILER_LANG['smtp_code'] = 'Код SMTP: '; +$PHPMAILER_LANG['smtp_code_ex'] = 'Дополнительная информация SMTP: '; +$PHPMAILER_LANG['smtp_connect_failed'] = 'Ошибка соединения с SMTP-сервером.'; +$PHPMAILER_LANG['smtp_detail'] = 'Детали: '; $PHPMAILER_LANG['smtp_error'] = 'Ошибка SMTP-сервера: '; $PHPMAILER_LANG['variable_set'] = 'Невозможно установить или сбросить переменную: '; -$PHPMAILER_LANG['extension_missing'] = 'Расширение отсутствует: '; diff --git a/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php b/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php index f938f8020..3c45bc1c3 100644 --- a/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +++ b/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php @@ -11,21 +11,28 @@ */ $PHPMAILER_LANG['authenticate'] = 'SMTP Hatası: Oturum açılamadı.'; +$PHPMAILER_LANG['buggy_php'] = 'PHP sürümünüz iletilerin bozulmasına neden olabilecek bir hatadan etkileniyor. Bunu düzeltmek için, SMTP kullanarak göndermeye geçin, mail.add_x_header seçeneğini devre dışı bırakın php.ini dosyanızdaki mail.add_x_header seçeneğini devre dışı bırakın, MacOS veya Linux geçin veya PHP sürümünü 7.0.17+ veya 7.1.3+ sürümüne yükseltin,'; $PHPMAILER_LANG['connect_host'] = 'SMTP Hatası: SMTP sunucusuna bağlanılamadı.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Hatası: Veri kabul edilmedi.'; $PHPMAILER_LANG['empty_message'] = 'Mesajın içeriği boş'; $PHPMAILER_LANG['encoding'] = 'Bilinmeyen karakter kodlama: '; $PHPMAILER_LANG['execute'] = 'Çalıştırılamadı: '; +$PHPMAILER_LANG['extension_missing'] = 'Eklenti bulunamadı: '; $PHPMAILER_LANG['file_access'] = 'Dosyaya erişilemedi: '; $PHPMAILER_LANG['file_open'] = 'Dosya Hatası: Dosya açılamadı: '; $PHPMAILER_LANG['from_failed'] = 'Belirtilen adreslere gönderme başarısız: '; $PHPMAILER_LANG['instantiate'] = 'Örnek e-posta fonksiyonu oluşturulamadı.'; $PHPMAILER_LANG['invalid_address'] = 'Geçersiz e-posta adresi: '; +$PHPMAILER_LANG['invalid_header'] = 'Geçersiz başlık adı veya değeri: '; +$PHPMAILER_LANG['invalid_hostentry'] = 'Geçersiz ana bilgisayar girişi: '; +$PHPMAILER_LANG['invalid_host'] = 'Geçersiz ana bilgisayar: '; $PHPMAILER_LANG['mailer_not_supported'] = ' e-posta kütüphanesi desteklenmiyor.'; $PHPMAILER_LANG['provide_address'] = 'En az bir alıcı e-posta adresi belirtmelisiniz.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Hatası: Belirtilen alıcılara ulaşılamadı: '; $PHPMAILER_LANG['signing'] = 'İmzalama hatası: '; +$PHPMAILER_LANG['smtp_code'] = 'SMTP kodu: '; +$PHPMAILER_LANG['smtp_code_ex'] = 'ek SMTP bilgileri: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP connect() fonksiyonu başarısız.'; +$PHPMAILER_LANG['smtp_detail'] = 'SMTP SMTP Detayı: '; $PHPMAILER_LANG['smtp_error'] = 'SMTP sunucu hatası: '; $PHPMAILER_LANG['variable_set'] = 'Değişken ayarlanamadı ya da sıfırlanamadı: '; -$PHPMAILER_LANG['extension_missing'] = 'Eklenti bulunamadı: '; diff --git a/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php new file mode 100644 index 000000000..0b9de0f12 --- /dev/null +++ b/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php @@ -0,0 +1,30 @@ + + */ + +$PHPMAILER_LANG['authenticate'] = 'SMTP خرابی: تصدیق کرنے سے قاصر۔'; +$PHPMAILER_LANG['connect_host'] = 'SMTP خرابی: سرور سے منسلک ہونے سے قاصر۔'; +$PHPMAILER_LANG['data_not_accepted'] = 'SMTP خرابی: ڈیٹا قبول نہیں کیا گیا۔'; +$PHPMAILER_LANG['empty_message'] = 'پیغام کی باڈی خالی ہے۔'; +$PHPMAILER_LANG['encoding'] = 'نامعلوم انکوڈنگ: '; +$PHPMAILER_LANG['execute'] = 'عمل کرنے کے قابل نہیں '; +$PHPMAILER_LANG['file_access'] = 'فائل تک رسائی سے قاصر:'; +$PHPMAILER_LANG['file_open'] = 'فائل کی خرابی: فائل کو کھولنے سے قاصر:'; +$PHPMAILER_LANG['from_failed'] = 'درج ذیل بھیجنے والے کا پتہ ناکام ہو گیا:'; +$PHPMAILER_LANG['instantiate'] = 'میل فنکشن کی مثال بنانے سے قاصر۔'; +$PHPMAILER_LANG['invalid_address'] = 'بھیجنے سے قاصر: غلط ای میل پتہ:'; +$PHPMAILER_LANG['mailer_not_supported'] = ' میلر تعاون یافتہ نہیں ہے۔'; +$PHPMAILER_LANG['provide_address'] = 'آپ کو کم از کم ایک منزل کا ای میل پتہ فراہم کرنا چاہیے۔'; +$PHPMAILER_LANG['recipients_failed'] = 'SMTP خرابی: درج ذیل پتہ پر نہیں بھیجا جاسکا: '; +$PHPMAILER_LANG['signing'] = 'دستخط کی خرابی: '; +$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP ملنا ناکام ہوا'; +$PHPMAILER_LANG['smtp_error'] = 'SMTP سرور کی خرابی: '; +$PHPMAILER_LANG['variable_set'] = 'متغیر سیٹ نہیں کیا جا سکا: '; +$PHPMAILER_LANG['extension_missing'] = 'ایکٹینشن موجود نہیں ہے۔ '; +$PHPMAILER_LANG['smtp_code'] = 'SMTP سرور کوڈ: '; +$PHPMAILER_LANG['smtp_code_ex'] = 'اضافی SMTP سرور کی معلومات:'; +$PHPMAILER_LANG['invalid_header'] = 'غلط ہیڈر کا نام یا قدر'; diff --git a/vendor/phpmailer/phpmailer/src/DSNConfigurator.php b/vendor/phpmailer/phpmailer/src/DSNConfigurator.php index 566c9618f..7058c1f05 100644 --- a/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +++ b/vendor/phpmailer/phpmailer/src/DSNConfigurator.php @@ -13,7 +13,7 @@ * @copyright 2012 - 2023 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. diff --git a/vendor/phpmailer/phpmailer/src/Exception.php b/vendor/phpmailer/phpmailer/src/Exception.php index 52eaf9515..09c1a2cfe 100644 --- a/vendor/phpmailer/phpmailer/src/Exception.php +++ b/vendor/phpmailer/phpmailer/src/Exception.php @@ -13,7 +13,7 @@ * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. diff --git a/vendor/phpmailer/phpmailer/src/OAuth.php b/vendor/phpmailer/phpmailer/src/OAuth.php index c1d5b7762..a7e958860 100644 --- a/vendor/phpmailer/phpmailer/src/OAuth.php +++ b/vendor/phpmailer/phpmailer/src/OAuth.php @@ -13,7 +13,7 @@ * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. @@ -29,7 +29,7 @@ * OAuth - OAuth2 authentication wrapper class. * Uses the oauth2-client package from the League of Extraordinary Packages. * - * @see http://oauth2-client.thephpleague.com + * @see https://oauth2-client.thephpleague.com * * @author Marcus Bointon (Synchro/coolbru) */ diff --git a/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php b/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php index 115550743..cbda1a129 100644 --- a/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +++ b/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php @@ -13,7 +13,7 @@ * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. diff --git a/vendor/phpmailer/phpmailer/src/PHPMailer.php b/vendor/phpmailer/phpmailer/src/PHPMailer.php index ba4bcd472..12da10354 100644 --- a/vendor/phpmailer/phpmailer/src/PHPMailer.php +++ b/vendor/phpmailer/phpmailer/src/PHPMailer.php @@ -13,7 +13,7 @@ * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. @@ -152,8 +152,7 @@ class PHPMailer * Only supported in simple alt or alt_inline message types * To generate iCal event structures, use classes like EasyPeasyICS or iCalcreator. * - * @see http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/ - * @see http://kigkonsult.se/iCalcreator/ + * @see https://kigkonsult.se/iCalcreator/ * * @var string */ @@ -358,7 +357,7 @@ class PHPMailer public $AuthType = ''; /** - * SMTP SMTPXClient command attibutes + * SMTP SMTPXClient command attributes * * @var array */ @@ -468,7 +467,7 @@ class PHPMailer * Only applicable when sending via SMTP. * * @see https://en.wikipedia.org/wiki/Variable_envelope_return_path - * @see http://www.postfix.org/VERP_README.html Postfix VERP info + * @see https://www.postfix.org/VERP_README.html Postfix VERP info * * @var bool */ @@ -551,10 +550,10 @@ class PHPMailer * The function that handles the result of the send email action. * It is called out by send() for each email sent. * - * Value can be any php callable: http://www.php.net/is_callable + * Value can be any php callable: https://www.php.net/is_callable * * Parameters: - * bool $result result of the send action + * bool $result result of the send action * array $to email addresses of the recipients * array $cc cc email addresses * array $bcc bcc email addresses @@ -757,7 +756,7 @@ class PHPMailer * * @var string */ - const VERSION = '6.9.1'; + const VERSION = '6.9.2'; /** * Error severity: message only, continue processing. @@ -903,7 +902,7 @@ protected function edebug($str) } //Is this a PSR-3 logger? if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) { - $this->Debugoutput->debug($str); + $this->Debugoutput->debug(rtrim($str, "\r\n")); return; } @@ -1072,7 +1071,7 @@ public function addReplyTo($address, $name = '') * be modified after calling this function), addition of such addresses is delayed until send(). * Addresses that have been added already return false, but do not throw exceptions. * - * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo' + * @param string $kind One of 'to', 'cc', 'bcc', or 'Reply-To' * @param string $address The email address * @param string $name An optional username associated with the address * @@ -1212,7 +1211,7 @@ protected function addAnAddress($kind, $address, $name = '') * Uses the imap_rfc822_parse_adrlist function if the IMAP extension is available. * Note that quotes in the name part are removed. * - * @see http://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation + * @see https://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation * * @param string $addrstr The address list string * @param bool $useimap Whether to use the IMAP extension to parse the list @@ -1407,7 +1406,6 @@ public static function validateAddress($address, $patternselect = null) * * IPv6 literals: 'first.last@[IPv6:a1::]' * Not all of these will necessarily work for sending! * - * @see http://squiloople.com/2009/12/20/email-address-validation/ * @copyright 2009-2010 Michael Rushton * Feel free to use and redistribute this code. But please keep this copyright notice. */ @@ -1734,9 +1732,8 @@ protected function sendmailSend($header, $body) //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver //A space after `-f` is optional, but there is a long history of its presence //causing problems, so we don't use one - //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html - //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html - //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html + //Exim docs: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html + //Sendmail docs: https://www.sendmail.org/~ca/email/man/sendmail.html //Example problem: https://www.drupal.org/node/1057954 //PHP 5.6 workaround @@ -1901,7 +1898,7 @@ protected static function fileIsAccessible($path) /** * Send mail using the PHP mail() function. * - * @see http://www.php.net/manual/en/book.mail.php + * @see https://www.php.net/manual/en/book.mail.php * * @param string $header The message headers * @param string $body The message body @@ -1931,9 +1928,8 @@ protected function mailSend($header, $body) //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver //A space after `-f` is optional, but there is a long history of its presence //causing problems, so we don't use one - //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html - //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html - //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html + //Exim docs: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html + //Sendmail docs: https://www.sendmail.org/~ca/email/man/sendmail.html //Example problem: https://www.drupal.org/node/1057954 //CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped. @@ -3634,7 +3630,7 @@ public function has8bitChars($text) * without breaking lines within a character. * Adapted from a function by paravoid. * - * @see http://www.php.net/manual/en/function.mb-encode-mimeheader.php#60283 + * @see https://www.php.net/manual/en/function.mb-encode-mimeheader.php#60283 * * @param string $str multi-byte text to wrap encode * @param string $linebreak string to use as linefeed/end-of-line @@ -3690,7 +3686,7 @@ public function encodeQP($string) /** * Encode a string using Q encoding. * - * @see http://tools.ietf.org/html/rfc2047#section-4.2 + * @see https://www.rfc-editor.org/rfc/rfc2047#section-4.2 * * @param string $str the text to encode * @param string $position Where the text is going to be used, see the RFC for what that means @@ -4228,7 +4224,7 @@ protected function serverHostname() $result = $_SERVER['SERVER_NAME']; } elseif (function_exists('gethostname') && gethostname() !== false) { $result = gethostname(); - } elseif (php_uname('n') !== false) { + } elseif (php_uname('n') !== '') { $result = php_uname('n'); } if (!static::isValidHost($result)) { @@ -4253,7 +4249,7 @@ public static function isValidHost($host) empty($host) || !is_string($host) || strlen($host) > 256 - || !preg_match('/^([a-zA-Z\d.-]*|\[[a-fA-F\d:]+\])$/', $host) + || !preg_match('/^([a-z\d.-]*|\[[a-f\d:]+\])$/i', $host) ) { return false; } @@ -4267,8 +4263,8 @@ public static function isValidHost($host) //Is it a valid IPv4 address? return filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false; } - //Is it a syntactically valid hostname (when embeded in a URL)? - return filter_var('http://' . $host, FILTER_VALIDATE_URL) !== false; + //Is it a syntactically valid hostname (when embedded in a URL)? + return filter_var('https://' . $host, FILTER_VALIDATE_URL) !== false; } /** @@ -4679,7 +4675,7 @@ public static function filenameToType($filename) * Multi-byte-safe pathinfo replacement. * Drop-in replacement for pathinfo(), but multibyte- and cross-platform-safe. * - * @see http://www.php.net/manual/en/function.pathinfo.php#107461 + * @see https://www.php.net/manual/en/function.pathinfo.php#107461 * * @param string $path A filename or path, does not need to exist as a file * @param int|string $options Either a PATHINFO_* constant, diff --git a/vendor/phpmailer/phpmailer/src/POP3.php b/vendor/phpmailer/phpmailer/src/POP3.php index 7b25fdd7e..697c96126 100644 --- a/vendor/phpmailer/phpmailer/src/POP3.php +++ b/vendor/phpmailer/phpmailer/src/POP3.php @@ -13,7 +13,7 @@ * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. @@ -46,7 +46,7 @@ class POP3 * * @var string */ - const VERSION = '6.9.1'; + const VERSION = '6.9.2'; /** * Default POP3 port number. @@ -250,7 +250,9 @@ public function connect($host, $port = false, $tval = 30) //On Windows this will raise a PHP Warning error if the hostname doesn't exist. //Rather than suppress it with @fsockopen, capture it cleanly instead - set_error_handler([$this, 'catchWarning']); + set_error_handler(function () { + call_user_func_array([$this, 'catchWarning'], func_get_args()); + }); if (false === $port) { $port = static::DEFAULT_PORT; diff --git a/vendor/phpmailer/phpmailer/src/SMTP.php b/vendor/phpmailer/phpmailer/src/SMTP.php index 1b5b00771..5b238b527 100644 --- a/vendor/phpmailer/phpmailer/src/SMTP.php +++ b/vendor/phpmailer/phpmailer/src/SMTP.php @@ -13,7 +13,7 @@ * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost - * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. @@ -35,7 +35,7 @@ class SMTP * * @var string */ - const VERSION = '6.9.1'; + const VERSION = '6.9.2'; /** * SMTP line break constant. @@ -152,8 +152,8 @@ class SMTP /** * Whether to use VERP. * - * @see http://en.wikipedia.org/wiki/Variable_envelope_return_path - * @see http://www.postfix.org/VERP_README.html Info on VERP + * @see https://en.wikipedia.org/wiki/Variable_envelope_return_path + * @see https://www.postfix.org/VERP_README.html Info on VERP * * @var bool */ @@ -164,7 +164,7 @@ class SMTP * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2. * This needs to be quite high to function correctly with hosts using greetdelay as an anti-spam measure. * - * @see http://tools.ietf.org/html/rfc2821#section-4.5.3.2 + * @see https://www.rfc-editor.org/rfc/rfc2821#section-4.5.3.2 * * @var int */ @@ -187,12 +187,12 @@ class SMTP */ protected $smtp_transaction_id_patterns = [ 'exim' => '/[\d]{3} OK id=(.*)/', - 'sendmail' => '/[\d]{3} 2.0.0 (.*) Message/', - 'postfix' => '/[\d]{3} 2.0.0 Ok: queued as (.*)/', - 'Microsoft_ESMTP' => '/[0-9]{3} 2.[\d].0 (.*)@(?:.*) Queued mail for delivery/', + 'sendmail' => '/[\d]{3} 2\.0\.0 (.*) Message/', + 'postfix' => '/[\d]{3} 2\.0\.0 Ok: queued as (.*)/', + 'Microsoft_ESMTP' => '/[0-9]{3} 2\.[\d]\.0 (.*)@(?:.*) Queued mail for delivery/', 'Amazon_SES' => '/[\d]{3} Ok (.*)/', 'SendGrid' => '/[\d]{3} Ok: queued as (.*)/', - 'CampaignMonitor' => '/[\d]{3} 2.0.0 OK:([a-zA-Z\d]{48})/', + 'CampaignMonitor' => '/[\d]{3} 2\.0\.0 OK:([a-zA-Z\d]{48})/', 'Haraka' => '/[\d]{3} Message Queued \((.*)\)/', 'ZoneMTA' => '/[\d]{3} Message queued as (.*)/', 'Mailjet' => '/[\d]{3} OK queued as (.*)/', @@ -280,7 +280,8 @@ protected function edebug($str, $level = 0) } //Is this a PSR-3 logger? if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) { - $this->Debugoutput->debug($str); + //Remove trailing line breaks potentially added by calls to SMTP::client_send() + $this->Debugoutput->debug(rtrim($str, "\r\n")); return; } @@ -293,6 +294,7 @@ protected function edebug($str, $level = 0) switch ($this->Debugoutput) { case 'error_log': //Don't output, just log + /** @noinspection ForgottenDebugOutputInspection */ error_log($str); break; case 'html': @@ -404,7 +406,9 @@ protected function getSMTPConnection($host, $port = null, $timeout = 30, $option $errstr = ''; if ($streamok) { $socket_context = stream_context_create($options); - set_error_handler([$this, 'errorHandler']); + set_error_handler(function () { + call_user_func_array([$this, 'errorHandler'], func_get_args()); + }); $connection = stream_socket_client( $host . ':' . $port, $errno, @@ -419,7 +423,9 @@ protected function getSMTPConnection($host, $port = null, $timeout = 30, $option 'Connection: stream_socket_client not available, falling back to fsockopen', self::DEBUG_CONNECTION ); - set_error_handler([$this, 'errorHandler']); + set_error_handler(function () { + call_user_func_array([$this, 'errorHandler'], func_get_args()); + }); $connection = fsockopen( $host, $port, @@ -483,7 +489,9 @@ public function startTLS() } //Begin encrypted connection - set_error_handler([$this, 'errorHandler']); + set_error_handler(function () { + call_user_func_array([$this, 'errorHandler'], func_get_args()); + }); $crypto_ok = stream_socket_enable_crypto( $this->smtp_conn, true, @@ -648,7 +656,7 @@ protected function hmac($data, $key) } //The following borrowed from - //http://php.net/manual/en/function.mhash.php#27225 + //https://www.php.net/manual/en/function.mhash.php#27225 //RFC 2104 HMAC implementation for php. //Creates an md5 HMAC. @@ -1162,7 +1170,9 @@ public function client_send($data, $command = '') } else { $this->edebug('CLIENT -> SERVER: ' . $data, self::DEBUG_CLIENT); } - set_error_handler([$this, 'errorHandler']); + set_error_handler(function () { + call_user_func_array([$this, 'errorHandler'], func_get_args()); + }); $result = fwrite($this->smtp_conn, $data); restore_error_handler(); @@ -1265,7 +1275,9 @@ protected function get_lines() while (is_resource($this->smtp_conn) && !feof($this->smtp_conn)) { //Must pass vars in here as params are by reference //solution for signals inspired by https://github.com/symfony/symfony/pull/6540 - set_error_handler([$this, 'errorHandler']); + set_error_handler(function () { + call_user_func_array([$this, 'errorHandler'], func_get_args()); + }); $n = stream_select($selR, $selW, $selW, $this->Timelimit); restore_error_handler(); diff --git a/vendor/symfony/cache/Traits/RedisTrait.php b/vendor/symfony/cache/Traits/RedisTrait.php index 126f56811..35695d5b1 100644 --- a/vendor/symfony/cache/Traits/RedisTrait.php +++ b/vendor/symfony/cache/Traits/RedisTrait.php @@ -492,7 +492,7 @@ protected function doClear(string $namespace) $cursor = null; do { - $keys = $host instanceof \Predis\ClientInterface ? $host->scan($cursor, 'MATCH', $pattern, 'COUNT', 1000) : $host->scan($cursor, $pattern, 1000); + $keys = $host instanceof \Predis\ClientInterface ? $host->scan($cursor ?? 0, 'MATCH', $pattern, 'COUNT', 1000) : $host->scan($cursor, $pattern, 1000); if (isset($keys[1]) && \is_array($keys[1])) { $cursor = $keys[0]; $keys = $keys[1]; diff --git a/vendor/symfony/config/FileLocator.php b/vendor/symfony/config/FileLocator.php index e50324850..80268737c 100644 --- a/vendor/symfony/config/FileLocator.php +++ b/vendor/symfony/config/FileLocator.php @@ -84,7 +84,8 @@ private function isAbsolutePath(string $file): bool && ':' === $file[1] && ('\\' === $file[2] || '/' === $file[2]) ) - || null !== parse_url($file, \PHP_URL_SCHEME) + || parse_url($file, \PHP_URL_SCHEME) + || str_starts_with($file, 'phar:///') // "parse_url()" doesn't handle absolute phar path, despite being valid ) { return true; } diff --git a/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php b/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php index f7a2176eb..b990ad828 100644 --- a/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php +++ b/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php @@ -202,6 +202,10 @@ protected function getReflectionMethod(Definition $definition, string $method) return new \ReflectionMethod(static function (...$arguments) {}, '__invoke'); } + if ($r->hasMethod('__callStatic') && ($r = $r->getMethod('__callStatic')) && $r->isPublic()) { + return new \ReflectionMethod(static function (...$arguments) {}, '__invoke'); + } + throw new RuntimeException(sprintf('Invalid service "%s": method "%s()" does not exist.', $this->currentId, $class !== $this->currentId ? $class.'::'.$method : $method)); } diff --git a/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php b/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php index 5f0d93711..4835472b6 100644 --- a/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php +++ b/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php @@ -11,6 +11,7 @@ namespace Symfony\Component\DependencyInjection\Compiler; +use Symfony\Component\DependencyInjection\Argument\AbstractArgument; use Symfony\Component\DependencyInjection\Argument\BoundArgument; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; @@ -182,10 +183,10 @@ protected function processValue($value, bool $isRoot = false) foreach ($reflectionMethod->getParameters() as $key => $parameter) { $names[$key] = $parameter->name; - if (\array_key_exists($key, $arguments) && '' !== $arguments[$key]) { + if (\array_key_exists($key, $arguments) && '' !== $arguments[$key] && !$arguments[$key] instanceof AbstractArgument) { continue; } - if (\array_key_exists($parameter->name, $arguments) && '' !== $arguments[$parameter->name]) { + if (\array_key_exists($parameter->name, $arguments) && '' !== $arguments[$parameter->name] && !$arguments[$parameter->name] instanceof AbstractArgument) { continue; } @@ -219,7 +220,9 @@ protected function processValue($value, bool $isRoot = false) foreach ($names as $key => $name) { if (\array_key_exists($name, $arguments) && (0 === $key || \array_key_exists($key - 1, $arguments))) { - $arguments[$key] = $arguments[$name]; + if (!array_key_exists($key, $arguments)) { + $arguments[$key] = $arguments[$name]; + } unset($arguments[$name]); } } diff --git a/vendor/symfony/dependency-injection/EnvVarProcessor.php b/vendor/symfony/dependency-injection/EnvVarProcessor.php index a9f88128c..65066f0ba 100644 --- a/vendor/symfony/dependency-injection/EnvVarProcessor.php +++ b/vendor/symfony/dependency-injection/EnvVarProcessor.php @@ -259,7 +259,7 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv) throw new RuntimeException(sprintf('Invalid URL in env var "%s".', $name)); } if (!isset($params['scheme'], $params['host'])) { - throw new RuntimeException(sprintf('Invalid URL env var "%s": schema and host expected, "%s" given.', $name, $env)); + throw new RuntimeException(sprintf('Invalid URL in env var "%s": scheme and host expected.', $name)); } $params += [ 'port' => null, diff --git a/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php b/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php index c8ecaec19..3a153e1e2 100644 --- a/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php +++ b/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php @@ -123,7 +123,7 @@ private function parseImports(\DOMDocument $xml, string $file, ?\DOMNode $root = $xpath = new \DOMXPath($xml); $xpath->registerNamespace('container', self::NS); - if (false === $imports = $xpath->query('.//container:imports/container:import', $root)) { + if (false === $imports = $xpath->query('./container:imports/container:import', $root)) { return; } @@ -139,14 +139,14 @@ private function parseDefinitions(\DOMDocument $xml, string $file, Definition $d $xpath = new \DOMXPath($xml); $xpath->registerNamespace('container', self::NS); - if (false === $services = $xpath->query('.//container:services/container:service|.//container:services/container:prototype|.//container:services/container:stack', $root)) { + if (false === $services = $xpath->query('./container:services/container:service|./container:services/container:prototype|./container:services/container:stack', $root)) { return; } $this->setCurrentDir(\dirname($file)); $this->instanceof = []; $this->isLoadingInstanceof = true; - $instanceof = $xpath->query('.//container:services/container:instanceof', $root); + $instanceof = $xpath->query('./container:services/container:instanceof', $root); foreach ($instanceof as $service) { $this->setDefinition((string) $service->getAttribute('id'), $this->parseDefinition($service, $file, new Definition())); } @@ -197,7 +197,7 @@ private function getServiceDefaults(\DOMDocument $xml, string $file, ?\DOMNode $ $xpath = new \DOMXPath($xml); $xpath->registerNamespace('container', self::NS); - if (null === $defaultsNode = $xpath->query('.//container:services/container:defaults', $root)->item(0)) { + if (null === $defaultsNode = $xpath->query('./container:services/container:defaults', $root)->item(0)) { return new Definition(); } @@ -429,7 +429,7 @@ private function parseFileToDOM(string $file): \DOMDocument } } if ($errors) { - throw new InvalidArgumentException(sprintf('Unable to parse file "%s": ', $file).implode("/n", $errors), $e->getCode(), $e); + throw new InvalidArgumentException(sprintf('Unable to parse file "%s": ', $file).implode("\n", $errors), $e->getCode(), $e); } } diff --git a/vendor/symfony/error-handler/ErrorHandler.php b/vendor/symfony/error-handler/ErrorHandler.php index 840353f32..4107baeca 100644 --- a/vendor/symfony/error-handler/ErrorHandler.php +++ b/vendor/symfony/error-handler/ErrorHandler.php @@ -806,7 +806,7 @@ private function cleanTrace(array $backtrace, int $type, string &$file, int &$li */ private function parseAnonymousClass(string $message): string { - return preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', static function ($m) { + return preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', static function ($m) { return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0]; }, $message); } diff --git a/vendor/symfony/error-handler/Exception/FlattenException.php b/vendor/symfony/error-handler/Exception/FlattenException.php index f73842ad8..2532b8c33 100644 --- a/vendor/symfony/error-handler/Exception/FlattenException.php +++ b/vendor/symfony/error-handler/Exception/FlattenException.php @@ -226,7 +226,7 @@ public function getMessage(): string public function setMessage(string $message): self { if (false !== strpos($message, "@anonymous\0")) { - $message = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) { + $message = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', function ($m) { return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0]; }, $message); } diff --git a/vendor/symfony/filesystem/Filesystem.php b/vendor/symfony/filesystem/Filesystem.php index 9f6ed46f0..358a74b37 100644 --- a/vendor/symfony/filesystem/Filesystem.php +++ b/vendor/symfony/filesystem/Filesystem.php @@ -44,7 +44,7 @@ public function copy(string $originFile, string $targetFile, bool $overwriteNewe $this->mkdir(\dirname($targetFile)); $doCopy = true; - if (!$overwriteNewerFiles && null === parse_url($originFile, \PHP_URL_HOST) && is_file($targetFile)) { + if (!$overwriteNewerFiles && !parse_url($originFile, \PHP_URL_HOST) && is_file($targetFile)) { $doCopy = filemtime($originFile) > filemtime($targetFile); } @@ -234,6 +234,7 @@ public function chmod($files, int $mode, int $umask = 0000, bool $recursive = fa * Change the owner of an array of files or directories. * * This method always throws on Windows, as the underlying PHP function is not supported. + * * @see https://www.php.net/chown * * @param string|iterable $files A filename, an array of files, or a \Traversable instance to change owner @@ -264,6 +265,7 @@ public function chown($files, $user, bool $recursive = false) * Change the group of an array of files or directories. * * This method always throws on Windows, as the underlying PHP function is not supported. + * * @see https://www.php.net/chgrp * * @param string|iterable $files A filename, an array of files, or a \Traversable instance to change group diff --git a/vendor/symfony/form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php b/vendor/symfony/form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php index d407e8858..653f1c445 100644 --- a/vendor/symfony/form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php +++ b/vendor/symfony/form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php @@ -143,7 +143,7 @@ public function reverseTransform($value) $value = str_replace(',', $decSep, $value); } - //If the value is in exponential notation with a negative exponent, we end up with a float value too + // If the value is in exponential notation with a negative exponent, we end up with a float value too if (str_contains($value, $decSep) || false !== stripos($value, 'e-')) { $type = \NumberFormatter::TYPE_DOUBLE; } else { @@ -152,10 +152,14 @@ public function reverseTransform($value) : \NumberFormatter::TYPE_INT32; } - $result = $formatter->parse($value, $type, $position); + try { + $result = @$formatter->parse($value, $type, $position); + } catch (\IntlException $e) { + throw new TransformationFailedException($e->getMessage(), $e->getCode(), $e); + } if (intl_is_failure($formatter->getErrorCode())) { - throw new TransformationFailedException($formatter->getErrorMessage()); + throw new TransformationFailedException($formatter->getErrorMessage(), $formatter->getErrorCode()); } if ($result >= \PHP_INT_MAX || $result <= -\PHP_INT_MAX) { diff --git a/vendor/symfony/form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php b/vendor/symfony/form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php index fdeed2231..b716e436e 100644 --- a/vendor/symfony/form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php +++ b/vendor/symfony/form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php @@ -139,11 +139,15 @@ public function reverseTransform($value) $type = \PHP_INT_SIZE === 8 ? \NumberFormatter::TYPE_INT64 : \NumberFormatter::TYPE_INT32; } - // replace normal spaces so that the formatter can read them - $result = $formatter->parse(str_replace(' ', "\xc2\xa0", $value), $type, $position); + try { + // replace normal spaces so that the formatter can read them + $result = @$formatter->parse(str_replace(' ', "\xc2\xa0", $value), $type, $position); + } catch (\IntlException $e) { + throw new TransformationFailedException($e->getMessage(), 0, $e); + } if (intl_is_failure($formatter->getErrorCode())) { - throw new TransformationFailedException($formatter->getErrorMessage()); + throw new TransformationFailedException($formatter->getErrorMessage(), $formatter->getErrorCode()); } if (self::FRACTIONAL == $this->type) { diff --git a/vendor/symfony/form/Test/FormPerformanceTestCase.php b/vendor/symfony/form/Test/FormPerformanceTestCase.php index 8c0284ebf..e4329150a 100644 --- a/vendor/symfony/form/Test/FormPerformanceTestCase.php +++ b/vendor/symfony/form/Test/FormPerformanceTestCase.php @@ -45,6 +45,8 @@ private function doRunTest() $this->fail(sprintf('expected running time: <= %s but was: %s', $this->maxRunningTime, $time)); } + $this->expectNotToPerformAssertions(); + return $result; } diff --git a/vendor/symfony/framework-bundle/Controller/RedirectController.php b/vendor/symfony/framework-bundle/Controller/RedirectController.php index 3d8efe0de..bad12b89f 100644 --- a/vendor/symfony/framework-bundle/Controller/RedirectController.php +++ b/vendor/symfony/framework-bundle/Controller/RedirectController.php @@ -109,7 +109,7 @@ public function redirectAction(Request $request, string $route, bool $permanent */ public function urlRedirectAction(Request $request, string $path, bool $permanent = false, ?string $scheme = null, ?int $httpPort = null, ?int $httpsPort = null, bool $keepRequestMethod = false): Response { - if ('' == $path) { + if ('' === $path) { throw new HttpException($permanent ? 410 : 404); } diff --git a/vendor/symfony/framework-bundle/DependencyInjection/FrameworkExtension.php b/vendor/symfony/framework-bundle/DependencyInjection/FrameworkExtension.php index 71505f251..88d832623 100644 --- a/vendor/symfony/framework-bundle/DependencyInjection/FrameworkExtension.php +++ b/vendor/symfony/framework-bundle/DependencyInjection/FrameworkExtension.php @@ -1167,7 +1167,6 @@ private function registerSessionConfiguration(array $config, ContainerBuilder $c $locator = $container->getDefinition('session_listener')->getArgument(0); $locator->setValues($locator->getValues() + [ 'session_storage' => new Reference('session.storage', ContainerInterface::IGNORE_ON_INVALID_REFERENCE), - 'request_stack' => new Reference('request_stack'), ]); } else { $container->getDefinition('session.storage.factory.native')->replaceArgument(3, true); diff --git a/vendor/symfony/framework-bundle/FrameworkBundle.php b/vendor/symfony/framework-bundle/FrameworkBundle.php index 219761089..1aebc9b9a 100644 --- a/vendor/symfony/framework-bundle/FrameworkBundle.php +++ b/vendor/symfony/framework-bundle/FrameworkBundle.php @@ -60,6 +60,7 @@ use Symfony\Component\Mime\DependencyInjection\AddMimeTypeGuesserPass; use Symfony\Component\PropertyInfo\DependencyInjection\PropertyInfoPass; use Symfony\Component\Routing\DependencyInjection\RoutingResolverPass; +use Symfony\Component\Runtime\SymfonyRuntime; use Symfony\Component\Serializer\DependencyInjection\SerializerPass; use Symfony\Component\Translation\DependencyInjection\TranslationDumperPass; use Symfony\Component\Translation\DependencyInjection\TranslationExtractorPass; @@ -91,7 +92,16 @@ class FrameworkBundle extends Bundle { public function boot() { - ErrorHandler::register(null, false)->throwAt($this->container->getParameter('debug.error_handler.throw_at'), true); + if (class_exists(SymfonyRuntime::class)) { + $handler = set_error_handler('var_dump'); + restore_error_handler(); + } else { + $handler = [ErrorHandler::register(null, false)]; + } + + if (\is_array($handler) && $handler[0] instanceof ErrorHandler) { + $handler[0]->throwAt($this->container->getParameter('debug.error_handler.throw_at'), true); + } if ($this->container->getParameter('kernel.http_method_override')) { Request::enableHttpMethodParameterOverride(); diff --git a/vendor/symfony/framework-bundle/Resources/config/session.php b/vendor/symfony/framework-bundle/Resources/config/session.php index a26182e93..57724de10 100644 --- a/vendor/symfony/framework-bundle/Resources/config/session.php +++ b/vendor/symfony/framework-bundle/Resources/config/session.php @@ -156,6 +156,7 @@ 'initialized_session' => service('.session.do-not-use')->ignoreOnUninitialized(), 'logger' => service('logger')->ignoreOnInvalid(), 'session_collector' => service('data_collector.request.session_collector')->ignoreOnInvalid(), + 'request_stack' => service('request_stack')->ignoreOnInvalid(), ]), param('kernel.debug'), param('session.storage.options'), diff --git a/vendor/symfony/framework-bundle/composer.json b/vendor/symfony/framework-bundle/composer.json index 3bae1c386..f5b156df4 100644 --- a/vendor/symfony/framework-bundle/composer.json +++ b/vendor/symfony/framework-bundle/composer.json @@ -86,6 +86,7 @@ "symfony/mime": "<4.4", "symfony/property-info": "<4.4", "symfony/property-access": "<5.3", + "symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6", "symfony/serializer": "<5.2", "symfony/service-contracts": ">=3.0", "symfony/security-csrf": "<5.3", diff --git a/vendor/symfony/http-foundation/Request.php b/vendor/symfony/http-foundation/Request.php index 561cb887f..c5f10a73a 100644 --- a/vendor/symfony/http-foundation/Request.php +++ b/vendor/symfony/http-foundation/Request.php @@ -11,6 +11,7 @@ namespace Symfony\Component\HttpFoundation; +use Symfony\Component\HttpFoundation\Exception\BadRequestException; use Symfony\Component\HttpFoundation\Exception\ConflictingHeadersException; use Symfony\Component\HttpFoundation\Exception\JsonException; use Symfony\Component\HttpFoundation\Exception\SessionNotFoundException; @@ -333,6 +334,8 @@ public static function createFromGlobals() * @param string|resource|null $content The raw body data * * @return static + * + * @throws BadRequestException When the URI is invalid */ public static function create(string $uri, string $method = 'GET', array $parameters = [], array $cookies = [], array $files = [], array $server = [], $content = null) { @@ -360,6 +363,20 @@ public static function create(string $uri, string $method = 'GET', array $parame unset($components['fragment']); } + if (false === $components) { + throw new BadRequestException('Invalid URI.'); + } + + if (false !== ($i = strpos($uri, '\\')) && $i < strcspn($uri, '?#')) { + throw new BadRequestException('Invalid URI: A URI cannot contain a backslash.'); + } + if (\strlen($uri) !== strcspn($uri, "\r\n\t")) { + throw new BadRequestException('Invalid URI: A URI cannot contain CR/LF/TAB characters.'); + } + if ('' !== $uri && (\ord($uri[0]) <= 32 || \ord($uri[-1]) <= 32)) { + throw new BadRequestException('Invalid URI: A URI must not start nor end with ASCII control characters or spaces.'); + } + if (isset($components['host'])) { $server['SERVER_NAME'] = $components['host']; $server['HTTP_HOST'] = $components['host']; @@ -1294,7 +1311,7 @@ public function getMethod() } if (!preg_match('/^[A-Z]++$/D', $method)) { - throw new SuspiciousOperationException(sprintf('Invalid method override "%s".', $method)); + throw new SuspiciousOperationException('Invalid HTTP method override.'); } return $this->method = $method; diff --git a/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php b/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php index 74fa61794..791fda7d8 100644 --- a/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php +++ b/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php @@ -57,7 +57,7 @@ public function __construct(?callable $exceptionHandler = null, ?LoggerInterface $deprecationLogger = $fileLinkFormat; } - $handler = set_exception_handler('is_int'); + $handler = set_exception_handler('var_dump'); $this->earlyHandler = \is_array($handler) ? $handler[0] : null; restore_exception_handler(); @@ -84,7 +84,7 @@ public function configure(?object $event = null) $this->firstCall = $this->hasTerminatedWithException = false; $hasRun = null; - $handler = set_exception_handler('is_int'); + $handler = set_exception_handler('var_dump'); $handler = \is_array($handler) ? $handler[0] : null; restore_exception_handler(); diff --git a/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php b/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php index 5f372c566..7185c9105 100644 --- a/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php +++ b/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php @@ -50,7 +50,7 @@ class ResponseCacheStrategy implements ResponseCacheStrategyInterface private $ageDirectives = [ 'max-age' => null, 's-maxage' => null, - 'expires' => null, + 'expires' => false, ]; /** @@ -81,15 +81,30 @@ public function add(Response $response) return; } - $isHeuristicallyCacheable = $response->headers->hasCacheControlDirective('public'); $maxAge = $response->headers->hasCacheControlDirective('max-age') ? (int) $response->headers->getCacheControlDirective('max-age') : null; - $this->storeRelativeAgeDirective('max-age', $maxAge, $age, $isHeuristicallyCacheable); $sharedMaxAge = $response->headers->hasCacheControlDirective('s-maxage') ? (int) $response->headers->getCacheControlDirective('s-maxage') : $maxAge; - $this->storeRelativeAgeDirective('s-maxage', $sharedMaxAge, $age, $isHeuristicallyCacheable); - $expires = $response->getExpires(); $expires = null !== $expires ? (int) $expires->format('U') - (int) $response->getDate()->format('U') : null; - $this->storeRelativeAgeDirective('expires', $expires >= 0 ? $expires : null, 0, $isHeuristicallyCacheable); + + // See https://datatracker.ietf.org/doc/html/rfc7234#section-4.2.2 + // If a response is "public" but does not have maximum lifetime, heuristics might be applied. + // Do not store NULL values so the final response can have more limiting value from other responses. + $isHeuristicallyCacheable = $response->headers->hasCacheControlDirective('public') + && null === $maxAge + && null === $sharedMaxAge + && null === $expires; + + if (!$isHeuristicallyCacheable || null !== $maxAge || null !== $expires) { + $this->storeRelativeAgeDirective('max-age', $maxAge, $expires, $age); + } + + if (!$isHeuristicallyCacheable || null !== $sharedMaxAge || null !== $expires) { + $this->storeRelativeAgeDirective('s-maxage', $sharedMaxAge, $expires, $age); + } + + if (null !== $expires) { + $this->ageDirectives['expires'] = true; + } } /** @@ -102,7 +117,7 @@ public function update(Response $response) return; } - // Remove validation related headers of the master response, + // Remove validation related headers of the final response, // because some of the response content comes from at least // one embedded response (which likely has a different caching strategy). $response->setEtag(null); @@ -145,9 +160,9 @@ public function update(Response $response) } } - if (is_numeric($this->ageDirectives['expires'])) { + if ($this->ageDirectives['expires'] && null !== $maxAge) { $date = clone $response->getDate(); - $date = $date->modify('+'.($this->ageDirectives['expires'] + $this->age).' seconds'); + $date = $date->modify('+'.$maxAge.' seconds'); $response->setExpires($date); } } @@ -200,33 +215,16 @@ private function willMakeFinalResponseUncacheable(Response $response): bool * we have to subtract the age so that the value is normalized for an age of 0. * * If the value is lower than the currently stored value, we update the value, to keep a rolling - * minimal value of each instruction. - * - * If the value is NULL and the isHeuristicallyCacheable parameter is false, the directive will - * not be set on the final response. In this case, not all responses had the directive set and no - * value can be found that satisfies the requirements of all responses. The directive will be dropped - * from the final response. - * - * If the isHeuristicallyCacheable parameter is true, however, the current response has been marked - * as cacheable in a public (shared) cache, but did not provide an explicit lifetime that would serve - * as an upper bound. In this case, we can proceed and possibly keep the directive on the final response. + * minimal value of each instruction. If the value is NULL, the directive will not be set on the final response. */ - private function storeRelativeAgeDirective(string $directive, ?int $value, int $age, bool $isHeuristicallyCacheable) + private function storeRelativeAgeDirective(string $directive, ?int $value, ?int $expires, int $age): void { - if (null === $value) { - if ($isHeuristicallyCacheable) { - /* - * See https://datatracker.ietf.org/doc/html/rfc7234#section-4.2.2 - * This particular response does not require maximum lifetime; heuristics might be applied. - * Other responses, however, might have more stringent requirements on maximum lifetime. - * So, return early here so that the final response can have the more limiting value set. - */ - return; - } + if (null === $value && null === $expires) { $this->ageDirectives[$directive] = false; } if (false !== $this->ageDirectives[$directive]) { + $value = min($value ?? PHP_INT_MAX, $expires ?? PHP_INT_MAX); $value -= $age; $this->ageDirectives[$directive] = null !== $this->ageDirectives[$directive] ? min($this->ageDirectives[$directive], $value) : $value; } diff --git a/vendor/symfony/http-kernel/Kernel.php b/vendor/symfony/http-kernel/Kernel.php index f79da6c16..14a7f5272 100644 --- a/vendor/symfony/http-kernel/Kernel.php +++ b/vendor/symfony/http-kernel/Kernel.php @@ -78,15 +78,15 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static $freshCache = []; - public const VERSION = '5.4.44'; - public const VERSION_ID = 50444; + public const VERSION = '5.4.46'; + public const VERSION_ID = 50446; public const MAJOR_VERSION = 5; public const MINOR_VERSION = 4; - public const RELEASE_VERSION = 44; + public const RELEASE_VERSION = 46; public const EXTRA_VERSION = ''; public const END_OF_MAINTENANCE = '11/2024'; - public const END_OF_LIFE = '11/2025'; + public const END_OF_LIFE = '02/2029'; public function __construct(string $environment, bool $debug) { diff --git a/vendor/symfony/var-dumper/Caster/ClassStub.php b/vendor/symfony/var-dumper/Caster/ClassStub.php index 48f848354..27c24c9ab 100644 --- a/vendor/symfony/var-dumper/Caster/ClassStub.php +++ b/vendor/symfony/var-dumper/Caster/ClassStub.php @@ -56,7 +56,7 @@ public function __construct(string $identifier, $callable = null) } if (str_contains($identifier, "@anonymous\0")) { - $this->value = $identifier = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) { + $this->value = $identifier = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', function ($m) { return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0]; }, $identifier); } diff --git a/vendor/symfony/var-dumper/Caster/ExceptionCaster.php b/vendor/symfony/var-dumper/Caster/ExceptionCaster.php index d3f5e123f..299f51252 100644 --- a/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +++ b/vendor/symfony/var-dumper/Caster/ExceptionCaster.php @@ -288,7 +288,7 @@ private static function filterExceptionArray(string $xClass, array $a, string $x unset($a[$xPrefix.'string'], $a[Caster::PREFIX_DYNAMIC.'xdebug_message'], $a[Caster::PREFIX_DYNAMIC.'__destructorException']); if (isset($a[Caster::PREFIX_PROTECTED.'message']) && str_contains($a[Caster::PREFIX_PROTECTED.'message'], "@anonymous\0")) { - $a[Caster::PREFIX_PROTECTED.'message'] = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) { + $a[Caster::PREFIX_PROTECTED.'message'] = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', function ($m) { return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0]; }, $a[Caster::PREFIX_PROTECTED.'message']); } diff --git a/vendor/tecnickcom/tcpdf/CHANGELOG.TXT b/vendor/tecnickcom/tcpdf/CHANGELOG.TXT index 4a845350e..8fb0afae5 100644 --- a/vendor/tecnickcom/tcpdf/CHANGELOG.TXT +++ b/vendor/tecnickcom/tcpdf/CHANGELOG.TXT @@ -1,3 +1,21 @@ +6.7.7 (2024-10-26) + - Update regular expression to avoid ReDoS (CVE-2024-22641) + - [PHP 8.4] Fix: Curl CURLOPT_BINARYTRANSFER deprecated #675 + - SVG detection fix for inline data images #646 + - Fix count svg #647 + - Since the version 6.7.4, the "0" is considered like empty string and not displayed + - Fixed handling of transparency in PDF/A mode in addExtGState method + - Encrypt /DA string when document is encrypted + - Improve quality of generated seed, avoid potential security pitfall + - Try to use random_bytes() first if it's available + - Do not include the server parameters in the generated seed, as they might contain sensitive data + - Fix bug on _getannotsrefs when there are empty signature appearances but not other annot on a page + - Fix SVG coordinate parser that caused drawing artifacts + - Remove usage of xml_set_object() function + +6.7.6 (2024-10-06) + - Forbid access to parent folder in HTML images. + 6.7.5 (2024-04-20) - Update GitHub actions - fix: CSV-2024-22640 (#712) diff --git a/vendor/tecnickcom/tcpdf/VERSION b/vendor/tecnickcom/tcpdf/VERSION index c56facf89..38f118fae 100644 --- a/vendor/tecnickcom/tcpdf/VERSION +++ b/vendor/tecnickcom/tcpdf/VERSION @@ -1 +1 @@ -6.7.5 +6.7.7 diff --git a/vendor/tecnickcom/tcpdf/composer.json b/vendor/tecnickcom/tcpdf/composer.json index 7389d0900..666dac3fd 100644 --- a/vendor/tecnickcom/tcpdf/composer.json +++ b/vendor/tecnickcom/tcpdf/composer.json @@ -12,7 +12,7 @@ "barcodes" ], "homepage": "http://www.tcpdf.org/", - "version": "6.7.5", + "version": "6.7.7", "license": "LGPL-3.0-or-later", "authors": [ { diff --git a/vendor/tecnickcom/tcpdf/include/tcpdf_static.php b/vendor/tecnickcom/tcpdf/include/tcpdf_static.php index 04f74461f..ac9c3e1fd 100644 --- a/vendor/tecnickcom/tcpdf/include/tcpdf_static.php +++ b/vendor/tecnickcom/tcpdf/include/tcpdf_static.php @@ -55,7 +55,7 @@ class TCPDF_STATIC { * Current TCPDF version. * @private static */ - private static $tcpdf_version = '6.7.5'; + private static $tcpdf_version = '6.7.7'; /** * String alias for total number of pages. @@ -379,7 +379,10 @@ public static function getRandomSeed($seed='') { if (function_exists('posix_getpid')) { $rnd .= posix_getpid(); } - if (function_exists('openssl_random_pseudo_bytes') AND (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')) { + + if (function_exists('random_bytes')) { + $rnd .= random_bytes(512); + } elseif (function_exists('openssl_random_pseudo_bytes') AND (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')) { // this is not used on windows systems because it is very slow for a know bug $rnd .= openssl_random_pseudo_bytes(512); } else { @@ -387,7 +390,7 @@ public static function getRandomSeed($seed='') { $rnd .= uniqid('', true); } } - return $rnd.$seed.__FILE__.serialize($_SERVER).microtime(true); + return $rnd.$seed.__FILE__.microtime(true); } /** @@ -1958,7 +1961,6 @@ public static function fileGetContents($file) { // try to get remote file data using cURL $crs = curl_init(); curl_setopt($crs, CURLOPT_URL, $path); - curl_setopt($crs, CURLOPT_BINARYTRANSFER, true); curl_setopt($crs, CURLOPT_FAILONERROR, true); curl_setopt($crs, CURLOPT_RETURNTRANSFER, true); if ((ini_get('open_basedir') == '') && (!ini_get('safe_mode'))) { diff --git a/vendor/tecnickcom/tcpdf/tcpdf.php b/vendor/tecnickcom/tcpdf/tcpdf.php index 60f93c416..48ae2b908 100644 --- a/vendor/tecnickcom/tcpdf/tcpdf.php +++ b/vendor/tecnickcom/tcpdf/tcpdf.php @@ -1,9 +1,9 @@ * @package com.tecnick.tcpdf * @brief PHP class for generating PDF documents without requiring external extensions. - * @version 6.7.5 + * @version 6.7.7 * @author Nicola Asuni - info@tecnick.com * @IgnoreAnnotation("protected") * @IgnoreAnnotation("public") @@ -8164,7 +8164,7 @@ protected function _putpages() { * @since 5.0.010 (2010-05-17) */ protected function _getannotsrefs($n) { - if (!(isset($this->PageAnnots[$n]) OR ($this->sign AND isset($this->signature_data['cert_type'])))) { + if (!(isset($this->PageAnnots[$n]) OR count($this->empty_signature_appearance)>0 OR ($this->sign AND isset($this->signature_data['cert_type'])))) { return ''; } $out = ' /Annots ['; @@ -8532,7 +8532,7 @@ protected function _putannotsobjs() { } case 'freetext': { if (isset($pl['opt']['da']) AND !empty($pl['opt']['da'])) { - $annots .= ' /DA ('.$pl['opt']['da'].')'; + $annots .= ' /DA '.$this->_datastring($pl['opt']['da']); } if (isset($pl['opt']['q']) AND ($pl['opt']['q'] >= 0) AND ($pl['opt']['q'] <= 2)) { $annots .= ' /Q '.intval($pl['opt']['q']); @@ -8789,7 +8789,7 @@ protected function _putannotsobjs() { $annots .= ' /AA << '.$pl['opt']['aa'].' >>'; } if (isset($pl['opt']['da']) AND !empty($pl['opt']['da'])) { - $annots .= ' /DA ('.$pl['opt']['da'].')'; + $annots .= ' /DA '.$this->_datastring($pl['opt']['da']); } if (isset($pl['opt']['q']) AND ($pl['opt']['q'] >= 0) AND ($pl['opt']['q'] <= 2)) { $annots .= ' /Q '.intval($pl['opt']['q']); @@ -9939,7 +9939,7 @@ protected function _putcatalog() { $out .= ' >> >>'; } $font = $this->getFontBuffer((($this->pdfa_mode) ? 'pdfa' : '') .'helvetica'); - $out .= ' /DA (/F'.$font['i'].' 0 Tf 0 g)'; + $out .= ' /DA ' . $this->_datastring('/F'.$font['i'].' 0 Tf 0 g'); $out .= ' /Q '.(($this->rtl)?'2':'0'); //$out .= ' /XFA '; $out .= ' >>'; @@ -11046,7 +11046,7 @@ public function setProtection($permissions=array('print', 'modify', 'copy', 'ann $this->encryptdata['V'] = 4; $this->encryptdata['Length'] = 128; $this->encryptdata['CF']['CFM'] = 'AESV2'; - $this->encryptdata['CF']['Length'] = 128; + $this->encryptdata['CF']['Length'] = 16; if ($this->encryptdata['pubkey']) { $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s5'; $this->encryptdata['Recipients'] = array(); @@ -11057,7 +11057,7 @@ public function setProtection($permissions=array('print', 'modify', 'copy', 'ann $this->encryptdata['V'] = 5; $this->encryptdata['Length'] = 256; $this->encryptdata['CF']['CFM'] = 'AESV3'; - $this->encryptdata['CF']['Length'] = 256; + $this->encryptdata['CF']['Length'] = 32; if ($this->encryptdata['pubkey']) { $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s5'; $this->encryptdata['Recipients'] = array(); @@ -13936,8 +13936,8 @@ public function setVisibility($v) { * @since 3.0.000 (2008-03-27) */ protected function addExtGState($parms) { - if ($this->pdfa_mode || $this->pdfa_version >= 2) { - // transparencies are not allowed in PDF/A mode + if (($this->pdfa_mode && $this->pdfa_version < 2) || ($this->state != 2)) { + // transparency is not allowed in PDF/A-1 mode return; } // check if this ExtGState already exist @@ -16440,7 +16440,7 @@ protected function getHtmlDomArray($html) { ) ); - if(empty($html)) { + if($html === '' || $html === null) { return $dom; } // array of CSS styles ( selector => properties). @@ -19010,29 +19010,29 @@ protected function openHTMLTagHandler($dom, $key, $cell) { $this->setLineWidth($hrHeight); $lineStyle = array(); - if (isset($tag['fgcolor'])) { - $lineStyle['color'] = $tag['fgcolor']; - } + if (isset($tag['fgcolor'])) { + $lineStyle['color'] = $tag['fgcolor']; + } - if (isset($tag['fgcolor'])) { - $lineStyle['color'] = $tag['fgcolor']; - } + if (isset($tag['fgcolor'])) { + $lineStyle['color'] = $tag['fgcolor']; + } - if (isset($tag['style']['cap'])) { - $lineStyle['cap'] = $tag['style']['cap']; - } + if (isset($tag['style']['cap'])) { + $lineStyle['cap'] = $tag['style']['cap']; + } - if (isset($tag['style']['join'])) { - $lineStyle['join'] = $tag['style']['join']; - } + if (isset($tag['style']['join'])) { + $lineStyle['join'] = $tag['style']['join']; + } - if (isset($tag['style']['dash'])) { - $lineStyle['dash'] = $tag['style']['dash']; - } + if (isset($tag['style']['dash'])) { + $lineStyle['dash'] = $tag['style']['dash']; + } - if (isset($tag['style']['phase'])) { - $lineStyle['phase'] = $tag['style']['phase']; - } + if (isset($tag['style']['phase'])) { + $lineStyle['phase'] = $tag['style']['phase']; + } $lineStyle = array_filter($lineStyle); @@ -19055,15 +19055,18 @@ protected function openHTMLTagHandler($dom, $key, $cell) { if ($imgsrc[0] === '@') { // data stream $imgsrc = '@'.base64_decode(substr($imgsrc, 1)); - $type = ''; + $type = preg_match('/]*)>/si', $imgsrc) ? 'svg' : ''; } else if (preg_match('@^data:image/([^;]*);base64,(.*)@', $imgsrc, $reg)) { $imgsrc = '@'.base64_decode($reg[2]); $type = $reg[1]; + } elseif (strpos($imgsrc, '../') !== false) { + // accessing parent folders is not allowed + break; } elseif ( $this->allowLocalFiles && substr($imgsrc, 0, 7) === 'file://') { - // get image type from a local file path - $imgsrc = substr($imgsrc, 7); - $type = TCPDF_IMAGES::getImageFileType($imgsrc); - } else { + // get image type from a local file path + $imgsrc = substr($imgsrc, 7); + $type = TCPDF_IMAGES::getImageFileType($imgsrc); + } else { if (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) { // fix image path $findroot = strpos($imgsrc, $_SERVER['DOCUMENT_ROOT']); @@ -23170,14 +23173,12 @@ public function ImageSVG($file, $x=null, $y=null, $w=0, $h=0, $link='', $align=' $this->_out(sprintf('%F %F %F %F %F %F cm', $svgscale_x, 0, 0, $svgscale_y, ($e + $svgoffset_x), ($f + $svgoffset_y))); // creates a new XML parser to be used by the other XML functions $parser = xml_parser_create('UTF-8'); - // the following function allows to use parser inside object - xml_set_object($parser, $this); // disable case-folding for this XML parser xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); // sets the element handler functions for the XML parser - xml_set_element_handler($parser, 'startSVGElementHandler', 'endSVGElementHandler'); + xml_set_element_handler($parser, [$this, 'startSVGElementHandler'], [$this, 'endSVGElementHandler']); // sets the character data handler function for the XML parser - xml_set_character_data_handler($parser, 'segSVGContentHandler'); + xml_set_character_data_handler($parser, [$this, 'segSVGContentHandler']); // start parsing an XML document if (!xml_parse($parser, $svgdata)) { $error_message = sprintf('SVG Error: %s at line %d', xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser)); @@ -23327,7 +23328,7 @@ protected function setSVGStyles($svgstyle, $prevsvgstyle, $x=0, $y=0, $w=1, $h=1 $text_color = TCPDF_COLORS::convertHTMLColorToDec($svgstyle['text-color'], $this->spot_colors); $this->setTextColorArray($text_color); // clip - if (preg_match('/rect\(([a-z0-9\-\.]*)[\s]*([a-z0-9\-\.]*)[\s]*([a-z0-9\-\.]*)[\s]*([a-z0-9\-\.]*)\)/si', $svgstyle['clip'], $regs)) { + if (preg_match('/rect\(([a-z0-9\-\.]*+)[\s]*+([a-z0-9\-\.]*+)[\s]*+([a-z0-9\-\.]*+)[\s]*+([a-z0-9\-\.]*+)\)/si', $svgstyle['clip'], $regs)) { $top = (isset($regs[1])?$this->getHTMLUnitToUnits($regs[1], 0, $this->svgunit, false):0); $right = (isset($regs[2])?$this->getHTMLUnitToUnits($regs[2], 0, $this->svgunit, false):0); $bottom = (isset($regs[3])?$this->getHTMLUnitToUnits($regs[3], 0, $this->svgunit, false):0); @@ -23444,8 +23445,8 @@ protected function setSVGStyles($svgstyle, $prevsvgstyle, $x=0, $y=0, $w=1, $h=1 $cy -= $h; } $this->_out(sprintf('%F 0 0 %F %F %F cm', ($w * $this->k), ($h * $this->k), ($x * $this->k), ($cy * $this->k))); - if (count($gradient['stops']) > 1) { - $this->Gradient($gradient['type'], $gradient['coords'], $gradient['stops'], array(), false); + if ((is_array($gradient['stops']) || $gradient['stops'] instanceof Countable) && count($gradient['stops']) > 1) { + $this->Gradient($gradient['type'], $gradient['coords'], $gradient['stops']); } } elseif ($svgstyle['fill'] != 'none') { $fill_color = TCPDF_COLORS::convertHTMLColorToDec($svgstyle['fill'], $this->spot_colors); @@ -23639,7 +23640,8 @@ protected function SVGPath($d, $style='') { $params = array(); if (isset($val[2])) { // get curve parameters - $rawparams = preg_split('/([\,\s]+)/si', trim($val[2])); + preg_match_all('/-?\d*\.?\d+/', trim($val[2]), $matches); + $rawparams = $matches[0]; $params = array(); foreach ($rawparams as $ck => $cp) { $params[$ck] = $this->getHTMLUnitToUnits($cp, 0, $this->svgunit, false); diff --git a/vendor/twig/twig/CHANGELOG b/vendor/twig/twig/CHANGELOG index 55285d681..525e2385c 100644 --- a/vendor/twig/twig/CHANGELOG +++ b/vendor/twig/twig/CHANGELOG @@ -1,3 +1,14 @@ +# 3.11.3 (2024-11-07) + + * Fix an infinite recursion in the sandbox code + +# 3.11.2 (2024-11-06) + + * [BC BREAK] Fix a security issue in the sandbox mode allowing an attacker to call attributes on Array-like objects + They are now checked via the property policy + * Fix a security issue in the sandbox mode allowing an attacker to be able to call `toString()` + under some circumstances on an object even if the `__toString()` method is not allowed by the security policy + # 3.11.1 (2024-09-10) * Fix a security issue when an included sandboxed template has been loaded before without the sandbox context diff --git a/vendor/twig/twig/src/Environment.php b/vendor/twig/twig/src/Environment.php index e928e6395..571b46141 100644 --- a/vendor/twig/twig/src/Environment.php +++ b/vendor/twig/twig/src/Environment.php @@ -43,11 +43,11 @@ */ class Environment { - public const VERSION = '3.11.1'; - public const VERSION_ID = 301101; + public const VERSION = '3.11.3'; + public const VERSION_ID = 301103; public const MAJOR_VERSION = 4; public const MINOR_VERSION = 11; - public const RELEASE_VERSION = 1; + public const RELEASE_VERSION = 3; public const EXTRA_VERSION = ''; private $charset; diff --git a/vendor/twig/twig/src/Extension/CoreExtension.php b/vendor/twig/twig/src/Extension/CoreExtension.php index 4b014b8df..b077e7963 100644 --- a/vendor/twig/twig/src/Extension/CoreExtension.php +++ b/vendor/twig/twig/src/Extension/CoreExtension.php @@ -57,6 +57,8 @@ use Twig\Node\Expression\Unary\NotUnary; use Twig\Node\Expression\Unary\PosUnary; use Twig\NodeVisitor\MacroAutoImportNodeVisitor; +use Twig\Sandbox\SecurityNotAllowedMethodError; +use Twig\Sandbox\SecurityNotAllowedPropertyError; use Twig\Source; use Twig\Template; use Twig\TemplateWrapper; @@ -82,6 +84,20 @@ final class CoreExtension extends AbstractExtension { + public const ARRAY_LIKE_CLASSES = [ + 'ArrayIterator', + 'ArrayObject', + 'CachingIterator', + 'RecursiveArrayIterator', + 'RecursiveCachingIterator', + 'SplDoublyLinkedList', + 'SplFixedArray', + 'SplObjectStorage', + 'SplQueue', + 'SplStack', + 'WeakMap', + ]; + private $dateFormats = ['F j, Y H:i', '%d days']; private $numberFormat = [0, '.', ',']; private $timezone = null; @@ -1549,10 +1565,20 @@ public static function batch($items, $size, $fill = null, $preserveKeys = true): */ public static function getAttribute(Environment $env, Source $source, $object, $item, array $arguments = [], $type = /* Template::ANY_CALL */ 'any', $isDefinedTest = false, $ignoreStrictCheck = false, $sandboxed = false, int $lineno = -1) { + $propertyNotAllowedError = null; + // array if (/* Template::METHOD_CALL */ 'method' !== $type) { $arrayItem = \is_bool($item) || \is_float($item) ? (int) $item : $item; + if ($sandboxed && $object instanceof \ArrayAccess && !\in_array(get_class($object), self::ARRAY_LIKE_CLASSES, true)) { + try { + $env->getExtension(SandboxExtension::class)->checkPropertyAllowed($object, $arrayItem, $lineno, $source); + } catch (SecurityNotAllowedPropertyError $propertyNotAllowedError) { + goto methodCheck; + } + } + if (((\is_array($object) || $object instanceof \ArrayObject) && (isset($object[$arrayItem]) || \array_key_exists($arrayItem, (array) $object))) || ($object instanceof \ArrayAccess && isset($object[$arrayItem])) ) { @@ -1624,19 +1650,25 @@ public static function getAttribute(Environment $env, Source $source, $object, $ // object property if (/* Template::METHOD_CALL */ 'method' !== $type) { + if ($sandboxed) { + try { + $env->getExtension(SandboxExtension::class)->checkPropertyAllowed($object, $item, $lineno, $source); + } catch (SecurityNotAllowedPropertyError $propertyNotAllowedError) { + goto methodCheck; + } + } + if (isset($object->$item) || \array_key_exists((string) $item, (array) $object)) { if ($isDefinedTest) { return true; } - if ($sandboxed) { - $env->getExtension(SandboxExtension::class)->checkPropertyAllowed($object, $item, $lineno, $source); - } - return $object->$item; } } + methodCheck: + static $cache = []; $class = \get_class($object); @@ -1695,6 +1727,10 @@ public static function getAttribute(Environment $env, Source $source, $object, $ return false; } + if ($propertyNotAllowedError) { + throw $propertyNotAllowedError; + } + if ($ignoreStrictCheck || !$env->isStrictVariables()) { return; } @@ -1702,12 +1738,24 @@ public static function getAttribute(Environment $env, Source $source, $object, $ throw new RuntimeError(\sprintf('Neither the property "%1$s" nor one of the methods "%1$s()", "get%1$s()"/"is%1$s()"/"has%1$s()" or "__call()" exist and have public access in class "%2$s".', $item, $class), $lineno, $source); } - if ($isDefinedTest) { - return true; + if ($sandboxed) { + try { + $env->getExtension(SandboxExtension::class)->checkMethodAllowed($object, $method, $lineno, $source); + } catch (SecurityNotAllowedMethodError $e) { + if ($isDefinedTest) { + return false; + } + + if ($propertyNotAllowedError) { + throw $propertyNotAllowedError; + } + + throw $e; + } } - if ($sandboxed) { - $env->getExtension(SandboxExtension::class)->checkMethodAllowed($object, $method, $lineno, $source); + if ($isDefinedTest) { + return true; } // Some objects throw exceptions when they have __call, and the method we try diff --git a/vendor/twig/twig/src/Extension/SandboxExtension.php b/vendor/twig/twig/src/Extension/SandboxExtension.php index 921df287a..255f2f28d 100644 --- a/vendor/twig/twig/src/Extension/SandboxExtension.php +++ b/vendor/twig/twig/src/Extension/SandboxExtension.php @@ -119,6 +119,12 @@ public function checkPropertyAllowed($obj, $property, int $lineno = -1, ?Source public function ensureToStringAllowed($obj, int $lineno = -1, ?Source $source = null) { + if (\is_array($obj)) { + $this->ensureToStringAllowedForArray($obj, $lineno, $source); + + return $obj; + } + if ($this->isSandboxed($source) && \is_object($obj) && method_exists($obj, '__toString')) { try { $this->policy->checkMethodAllowed($obj, '__toString'); @@ -132,4 +138,45 @@ public function ensureToStringAllowed($obj, int $lineno = -1, ?Source $source = return $obj; } + + private function ensureToStringAllowedForArray(array $obj, int $lineno, ?Source $source, array &$stack = []): void + { + foreach ($obj as $k => $v) { + if (!$v) { + continue; + } + + if (!\is_array($v)) { + $this->ensureToStringAllowed($v, $lineno, $source); + continue; + } + + if (\PHP_VERSION_ID < 70400) { + static $cookie; + + if ($v === $cookie ?? $cookie = new \stdClass()) { + continue; + } + + $obj[$k] = $cookie; + try { + $this->ensureToStringAllowedForArray($v, $lineno, $source, $stack); + } finally { + $obj[$k] = $v; + } + + continue; + } + + if ($r = \ReflectionReference::fromArrayElement($obj, $k)) { + if (isset($stack[$r->getId()])) { + continue; + } + + $stack[$r->getId()] = true; + } + + $this->ensureToStringAllowedForArray($v, $lineno, $source, $stack); + } + } } diff --git a/vendor/twig/twig/src/Node/Expression/GetAttrExpression.php b/vendor/twig/twig/src/Node/Expression/GetAttrExpression.php index 29a446b88..f54f2f09d 100644 --- a/vendor/twig/twig/src/Node/Expression/GetAttrExpression.php +++ b/vendor/twig/twig/src/Node/Expression/GetAttrExpression.php @@ -31,6 +31,7 @@ public function __construct(AbstractExpression $node, AbstractExpression $attrib public function compile(Compiler $compiler): void { $env = $compiler->getEnvironment(); + $arrayAccessSandbox = false; // optimize array calls if ( @@ -44,17 +45,35 @@ public function compile(Compiler $compiler): void ->raw('(('.$var.' = ') ->subcompile($this->getNode('node')) ->raw(') && is_array(') - ->raw($var) + ->raw($var); + + if (!$env->hasExtension(SandboxExtension::class)) { + $compiler + ->raw(') || ') + ->raw($var) + ->raw(' instanceof ArrayAccess ? (') + ->raw($var) + ->raw('[') + ->subcompile($this->getNode('attribute')) + ->raw('] ?? null) : null)') + ; + + return; + } + + $arrayAccessSandbox = true; + + $compiler ->raw(') || ') ->raw($var) - ->raw(' instanceof ArrayAccess ? (') + ->raw(' instanceof ArrayAccess && in_array(') + ->raw('get_class('.$var.')') + ->raw(', CoreExtension::ARRAY_LIKE_CLASSES, true) ? (') ->raw($var) ->raw('[') ->subcompile($this->getNode('attribute')) - ->raw('] ?? null) : null)') + ->raw('] ?? null) : ') ; - - return; } $compiler->raw('CoreExtension::getAttribute($this->env, $this->source, '); @@ -83,5 +102,9 @@ public function compile(Compiler $compiler): void ->raw(', ')->repr($this->getNode('node')->getTemplateLine()) ->raw(')') ; + + if ($arrayAccessSandbox) { + $compiler->raw(')'); + } } } diff --git a/vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php b/vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php index 68020885e..7cc1c2e9f 100644 --- a/vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php +++ b/vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php @@ -15,12 +15,14 @@ use Twig\Node\CheckSecurityCallNode; use Twig\Node\CheckSecurityNode; use Twig\Node\CheckToStringNode; +use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\Binary\ConcatBinary; use Twig\Node\Expression\Binary\RangeBinary; use Twig\Node\Expression\FilterExpression; use Twig\Node\Expression\FunctionExpression; use Twig\Node\Expression\GetAttrExpression; use Twig\Node\Expression\NameExpression; +use Twig\Node\Expression\Unary\SpreadUnary; use Twig\Node\ModuleNode; use Twig\Node\Node; use Twig\Node\PrintNode; @@ -120,7 +122,18 @@ private function wrapNode(Node $node, string $name): void { $expr = $node->getNode($name); if (($expr instanceof NameExpression || $expr instanceof GetAttrExpression) && !$expr->isGenerator()) { - $node->setNode($name, new CheckToStringNode($expr)); + // Simplify in 4.0 as the spread attribute has been removed there + $new = new CheckToStringNode($expr); + if ($expr->hasAttribute('spread')) { + $new->setAttribute('spread', $expr->getAttribute('spread')); + } + $node->setNode($name, $new); + } elseif ($expr instanceof SpreadUnary) { + $this->wrapNode($expr, 'node'); + } elseif ($expr instanceof ArrayExpression) { + foreach ($expr as $name => $_) { + $this->wrapNode($expr, $name); + } } }