diff --git a/composer.json b/composer.json index 09acb458a38cf036f0635c9fabc6fede7b46ec34..92731d85cc914c0b20be98e03c6210229f411d6e 100644 --- a/composer.json +++ b/composer.json @@ -13,8 +13,7 @@ "simplesamlphp/composer-module-installer": "~1.0", "simplesamlphp/simplesamlphp": "^1.17", "cesnet/privacyidea-php-client": "^1.2.0", - "ext-json": "*", - "beheh/flaps": "^0.2.0" + "ext-json": "*" }, "config": { "platform": { diff --git a/composer.lock b/composer.lock index 048585baafb3b49983742439ae4fbe29acecffa6..b98f13d982896566c7a3c77a5b956cdbeb3dedd1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,79 +4,16 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "dbbd35b95607b508fec2914553edaba9", + "content-hash": "23d8db8716bb10bb63a2b03a2741ac74", "packages": [ - { - "name": "beheh/flaps", - "version": "0.2.0", - "source": { - "type": "git", - "url": "https://github.com/beheh/flaps.git", - "reference": "327110f6c97a3a3e90bd39c47ebb9e2f02db9d61" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beheh/flaps/zipball/327110f6c97a3a3e90bd39c47ebb9e2f02db9d61", - "reference": "327110f6c97a3a3e90bd39c47ebb9e2f02db9d61", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "doctrine/cache": "~1.4", - "phpunit/phpunit": "~4.0", - "predis/predis": "~1.0" - }, - "suggest": { - "doctrine/cache": "Enables a wide variety of caching systems as storage", - "predis/predis": "Enable Redis as storage system" - }, - "type": "library", - "autoload": { - "psr-4": { - "BehEh\\Flaps\\": "src/Flaps" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Benedict Etzel", - "email": "developer@beheh.de", - "homepage": "https://beheh.de", - "role": "Developer" - } - ], - "description": "Modular library for rate limiting requests in applications", - "homepage": "https://github.com/beheh/flaps", - "keywords": [ - "http", - "rate limit", - "throttle" - ], - "support": { - "issues": "https://github.com/beheh/flaps/issues", - "source": "https://github.com/beheh/flaps/tree/master" - }, - "time": "2017-06-02T21:56:31+00:00" - }, { "name": "cesnet/privacyidea-php-client", "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/CESNET/php-client.git", + "url": "https://gitlab.ics.muni.cz/perun/perun-proxyidp/php-client.git", "reference": "5e87d0be43be09a589fef1b625c194e75dbbb980" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/CESNET/php-client/zipball/5e87d0be43be09a589fef1b625c194e75dbbb980", - "reference": "5e87d0be43be09a589fef1b625c194e75dbbb980", - "shasum": "" - }, "require": { "ext-curl": "*", "ext-json": "*", @@ -106,24 +43,20 @@ "MFA", "privacyIDEA" ], - "support": { - "issues": "https://github.com/CESNET/php-client/issues", - "source": "https://github.com/CESNET/php-client/tree/v1.2.0" - }, "time": "2022-05-04T09:47:54+00:00" }, { "name": "gettext/gettext", - "version": "v4.8.7", + "version": "v4.8.11", "source": { "type": "git", "url": "https://github.com/php-gettext/Gettext.git", - "reference": "3f7bc5ef23302a9059e64934f3d59e454516bec0" + "reference": "b632aaf5e4579d0b2ae8bc61785e238bff4c5156" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/3f7bc5ef23302a9059e64934f3d59e454516bec0", - "reference": "3f7bc5ef23302a9059e64934f3d59e454516bec0", + "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/b632aaf5e4579d0b2ae8bc61785e238bff4c5156", + "reference": "b632aaf5e4579d0b2ae8bc61785e238bff4c5156", "shasum": "" }, "require": { @@ -175,7 +108,7 @@ "support": { "email": "oom@oscarotero.com", "issues": "https://github.com/oscarotero/Gettext/issues", - "source": "https://github.com/php-gettext/Gettext/tree/v4.8.7" + "source": "https://github.com/php-gettext/Gettext/tree/v4.8.11" }, "funding": [ { @@ -191,20 +124,20 @@ "type": "patreon" } ], - "time": "2022-08-02T09:42:10+00:00" + "time": "2023-08-14T15:15:05+00:00" }, { "name": "gettext/languages", - "version": "2.9.0", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/php-gettext/Languages.git", - "reference": "ed56dd2c7f4024cc953ed180d25f02f2640e3ffa" + "reference": "4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-gettext/Languages/zipball/ed56dd2c7f4024cc953ed180d25f02f2640e3ffa", - "reference": "ed56dd2c7f4024cc953ed180d25f02f2640e3ffa", + "url": "https://api.github.com/repos/php-gettext/Languages/zipball/4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab", + "reference": "4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab", "shasum": "" }, "require": { @@ -253,7 +186,7 @@ ], "support": { "issues": "https://github.com/php-gettext/Languages/issues", - "source": "https://github.com/php-gettext/Languages/tree/2.9.0" + "source": "https://github.com/php-gettext/Languages/tree/2.10.0" }, "funding": [ { @@ -265,7 +198,7 @@ "type": "github" } ], - "time": "2021-11-11T17:30:39+00:00" + "time": "2022-10-18T15:00:10+00:00" }, { "name": "phpfastcache/riak-client", @@ -345,16 +278,16 @@ }, { "name": "phpmailer/phpmailer", - "version": "v6.6.4", + "version": "v6.9.1", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "a94fdebaea6bd17f51be0c2373ab80d3d681269b" + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/a94fdebaea6bd17f51be0c2373ab80d3d681269b", - "reference": "a94fdebaea6bd17f51be0c2373ab80d3d681269b", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", "shasum": "" }, "require": { @@ -364,22 +297,25 @@ "php": ">=5.5.0" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.2", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/annotations": "^1.2.6 || ^1.13.3", "php-parallel-lint/php-console-highlighter": "^1.0.0", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcompatibility/php-compatibility": "^9.3.5", "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.6.2", - "yoast/phpunit-polyfills": "^1.0.0" + "squizlabs/php_codesniffer": "^3.7.2", + "yoast/phpunit-polyfills": "^1.0.4" }, "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", "league/oauth2-google": "Needed for Google XOAUTH2 authentication", "psr/log": "For optional PSR-3 debug logging", - "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)" + "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" }, "type": "library", "autoload": { @@ -411,7 +347,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.6.4" + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" }, "funding": [ { @@ -419,7 +355,7 @@ "type": "github" } ], - "time": "2022-08-22T09:22:00+00:00" + "time": "2023-11-25T22:23:28+00:00" }, { "name": "psr/cache", @@ -662,34 +598,30 @@ }, { "name": "simplesamlphp/assert", - "version": "v0.0.13", + "version": "v0.8.0", "source": { "type": "git", "url": "https://github.com/simplesamlphp/assert.git", - "reference": "5429921b320ca4f9d1844225884ac52f649ea1e3" + "reference": "d3b0f38f4ae083822471c15e3c4a0401ddaeac73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/assert/zipball/5429921b320ca4f9d1844225884ac52f649ea1e3", - "reference": "5429921b320ca4f9d1844225884ac52f649ea1e3", + "url": "https://api.github.com/repos/simplesamlphp/assert/zipball/d3b0f38f4ae083822471c15e3c4a0401ddaeac73", + "reference": "d3b0f38f4ae083822471c15e3c4a0401ddaeac73", "shasum": "" }, "require": { "ext-spl": "*", - "php": "^7.1 || ^8.0", - "webmozart/assert": "^1.9" + "php": "^7.4 || ^8.0", + "webmozart/assert": "^1.11" }, "require-dev": { - "phpunit/phpunit": "^8.5", - "sensiolabs/security-checker": "~6.0", - "simplesamlphp/simplesamlphp-test-framework": "^0.2.7", - "squizlabs/php_codesniffer": "~3.5", - "vimeo/psalm": "~3.13" + "simplesamlphp/simplesamlphp-test-framework": "^1.2.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "v0.0.x-dev" + "dev-master": "v0.8.x-dev" } }, "autoload": { @@ -714,28 +646,32 @@ "description": "A wrapper around webmozart/assert to make it useful beyond checking method arguments", "support": { "issues": "https://github.com/simplesamlphp/assert/issues", - "source": "https://github.com/simplesamlphp/assert/tree/master" + "source": "https://github.com/simplesamlphp/assert/tree/v0.8.0" }, - "time": "2020-08-17T20:40:49+00:00" + "time": "2022-09-20T20:18:55+00:00" }, { "name": "simplesamlphp/composer-module-installer", - "version": "v1.2.0", + "version": "v1.3.4", "source": { "type": "git", "url": "https://github.com/simplesamlphp/composer-module-installer.git", - "reference": "27b4fe96198ffaff3ab49c87b40f4cb24de77b01" + "reference": "36508ed9580a30c4d5ab0bb3c25c00d0b5d42946" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/composer-module-installer/zipball/27b4fe96198ffaff3ab49c87b40f4cb24de77b01", - "reference": "27b4fe96198ffaff3ab49c87b40f4cb24de77b01", + "url": "https://api.github.com/repos/simplesamlphp/composer-module-installer/zipball/36508ed9580a30c4d5ab0bb3c25c00d0b5d42946", + "reference": "36508ed9580a30c4d5ab0bb3c25c00d0b5d42946", "shasum": "" }, "require": { "composer-plugin-api": "^1.1 || ^2.0", "php": "^7.4 || ^8.0", - "simplesamlphp/simplesamlphp": "*" + "simplesamlphp/assert": "^0.8.0 || ^1.0" + }, + "require-dev": { + "composer/composer": "^2.4", + "simplesamlphp/simplesamlphp-test-framework": "^1.2.1" }, "type": "composer-plugin", "extra": { @@ -753,22 +689,22 @@ "description": "A Composer plugin that allows installing SimpleSAMLphp modules through Composer.", "support": { "issues": "https://github.com/simplesamlphp/composer-module-installer/issues", - "source": "https://github.com/simplesamlphp/composer-module-installer/tree/v1.2.0" + "source": "https://github.com/simplesamlphp/composer-module-installer/tree/v1.3.4" }, - "time": "2022-08-31T17:20:27+00:00" + "time": "2023-03-08T20:58:22+00:00" }, { "name": "simplesamlphp/saml2", - "version": "v4.6.3", + "version": "v4.6.11", "source": { "type": "git", "url": "https://github.com/simplesamlphp/saml2.git", - "reference": "bfc9c79dd6b728a41d1de988f545f6e64728a51d" + "reference": "1b5d48753c78d02e88667068e633531c233141fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/bfc9c79dd6b728a41d1de988f545f6e64728a51d", - "reference": "bfc9c79dd6b728a41d1de988f545f6e64728a51d", + "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/1b5d48753c78d02e88667068e633531c233141fb", + "reference": "1b5d48753c78d02e88667068e633531c233141fb", "shasum": "" }, "require": { @@ -811,22 +747,22 @@ "description": "SAML2 PHP library from SimpleSAMLphp", "support": { "issues": "https://github.com/simplesamlphp/saml2/issues", - "source": "https://github.com/simplesamlphp/saml2/tree/v4.6.3" + "source": "https://github.com/simplesamlphp/saml2/tree/v4.6.11" }, - "time": "2022-06-13T14:04:10+00:00" + "time": "2024-01-25T19:39:46+00:00" }, { "name": "simplesamlphp/simplesamlphp", - "version": "v1.19.5", + "version": "v1.19.0", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp.git", - "reference": "da0df94ab05da52ce27ab7c2a360567046bf03b2" + "reference": "7082d518a5d23b85d8ede6c143d303ab3f9d3a2b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp/zipball/da0df94ab05da52ce27ab7c2a360567046bf03b2", - "reference": "da0df94ab05da52ce27ab7c2a360567046bf03b2", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp/zipball/7082d518a5d23b85d8ede6c143d303ab3f9d3a2b", + "reference": "7082d518a5d23b85d8ede6c143d303ab3f9d3a2b", "shasum": "" }, "require": { @@ -840,12 +776,11 @@ "ext-spl": "*", "ext-zlib": "*", "gettext/gettext": "^4.8", - "php": ">=7.1|^8", + "php": ">=7.1 <8.0", "phpmailer/phpmailer": "^6.1", "robrichards/xmlseclibs": "^3.1", - "simplesamlphp/assert": "^0.0.13", - "simplesamlphp/saml2": "^4.3", - "simplesamlphp/simplesamlphp-module-adfs": "^1.0", + "simplesamlphp/saml2": "^4.1", + "simplesamlphp/simplesamlphp-module-adfs": "^0.9", "simplesamlphp/simplesamlphp-module-authcrypt": "^0.9", "simplesamlphp/simplesamlphp-module-authfacebook": "^0.9", "simplesamlphp/simplesamlphp-module-authorize": "^0.9", @@ -857,7 +792,7 @@ "simplesamlphp/simplesamlphp-module-cdc": "^0.9", "simplesamlphp/simplesamlphp-module-consent": "^0.9", "simplesamlphp/simplesamlphp-module-consentadmin": "^0.9", - "simplesamlphp/simplesamlphp-module-discopower": "^0.10", + "simplesamlphp/simplesamlphp-module-discopower": "^0.9", "simplesamlphp/simplesamlphp-module-exampleattributeserver": "^1.0", "simplesamlphp/simplesamlphp-module-expirycheck": "^0.9", "simplesamlphp/simplesamlphp-module-ldap": "^0.9 | ^1.0", @@ -865,7 +800,7 @@ "simplesamlphp/simplesamlphp-module-memcookie": "^1.2", "simplesamlphp/simplesamlphp-module-metarefresh": "^0.9", "simplesamlphp/simplesamlphp-module-negotiate": "^0.9", - "simplesamlphp/simplesamlphp-module-oauth": "^0.9.3", + "simplesamlphp/simplesamlphp-module-oauth": "^0.9", "simplesamlphp/simplesamlphp-module-preprodwarning": "^0.9", "simplesamlphp/simplesamlphp-module-radius": "^0.9", "simplesamlphp/simplesamlphp-module-riak": "^0.9", @@ -945,30 +880,31 @@ "issues": "https://github.com/simplesamlphp/simplesamlphp/issues", "source": "https://github.com/simplesamlphp/simplesamlphp" }, - "time": "2022-01-24T15:44:40+00:00" + "time": "2021-01-19T13:52:54+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-adfs", - "version": "v1.0.9", + "version": "v0.9.9", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-adfs.git", - "reference": "c47daabc262b7e14a76879015fd9db85319752ec" + "reference": "a2349c2131f2dfe21a56eb5ede3fddd429278850" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-adfs/zipball/c47daabc262b7e14a76879015fd9db85319752ec", - "reference": "c47daabc262b7e14a76879015fd9db85319752ec", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-adfs/zipball/a2349c2131f2dfe21a56eb5ede3fddd429278850", + "reference": "a2349c2131f2dfe21a56eb5ede3fddd429278850", "shasum": "" }, "require": { - "php": ">=7.1", - "simplesamlphp/assert": "^0.0.13", - "simplesamlphp/composer-module-installer": "^1.1.7" + "php": ">=5.6", + "simplesamlphp/composer-module-installer": "~1.1" }, "require-dev": { - "simplesamlphp/simplesamlphp": "^1.18", - "simplesamlphp/simplesamlphp-test-framework": "^0.1.2" + "phpunit/phpunit": "~5.7", + "simplesamlphp/simplesamlphp": "^1.17", + "simplesamlphp/simplesamlphp-test-framework": "^0.0.15", + "webmozart/assert": "<1.7" }, "type": "simplesamlphp-module", "autoload": { @@ -992,10 +928,10 @@ "simplesamlphp" ], "support": { - "issues": "https://github.com/simplesamlphp/simplesamlphp-module-adfs/issues", - "source": "https://github.com/simplesamlphp/simplesamlphp-module-adfs" + "issues": "https://github.com/tvdijen/simplesamlphp-module-adfs/issues", + "source": "https://github.com/tvdijen/simplesamlphp-module-adfs" }, - "time": "2022-04-11T10:24:25+00:00" + "time": "2022-01-03T20:33:38+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-authcrypt", @@ -1582,25 +1518,26 @@ }, { "name": "simplesamlphp/simplesamlphp-module-discopower", - "version": "v0.10.1", + "version": "v0.9.1", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-discopower.git", - "reference": "4cb6b7c648b455586903b8932a171397375b50b0" + "reference": "006c0617610f1bae11cf4d17e8ce4c509239a60e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-discopower/zipball/4cb6b7c648b455586903b8932a171397375b50b0", - "reference": "4cb6b7c648b455586903b8932a171397375b50b0", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-discopower/zipball/006c0617610f1bae11cf4d17e8ce4c509239a60e", + "reference": "006c0617610f1bae11cf4d17e8ce4c509239a60e", "shasum": "" }, "require": { - "php": ">=7.1", - "simplesamlphp/composer-module-installer": "~1.1" + "php": ">=5.6", + "simplesamlphp/composer-module-installer": "~1.1", + "webmozart/assert": "~1.4" }, "require-dev": { - "simplesamlphp/simplesamlphp": "^1.19", - "simplesamlphp/simplesamlphp-test-framework": "^0.1.2" + "phpunit/phpunit": "~5.7", + "simplesamlphp/simplesamlphp": "^1.17" }, "type": "simplesamlphp-module", "autoload": { @@ -1610,7 +1547,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "LGPL-3.0-or-later" ], "authors": [ { @@ -1628,7 +1565,7 @@ "issues": "https://github.com/tvdijen/simplesamlphp-module-discopower/issues", "source": "https://github.com/tvdijen/simplesamlphp-module-discopower" }, - "time": "2021-08-17T14:29:22+00:00" + "time": "2019-11-27T20:34:37+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-exampleattributeserver", @@ -2246,20 +2183,21 @@ "issues": "https://github.com/tvdijen/simplesamlphp-module-sanitycheck/issues", "source": "https://github.com/tvdijen/simplesamlphp-module-sanitycheck" }, + "abandoned": true, "time": "2020-05-07T11:34:29+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-smartattributes", - "version": "v0.9.2", + "version": "v0.9.3", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-smartattributes.git", - "reference": "ba6a32fa287db0f8d767104471176f70fad7f0e1" + "reference": "a6eb6d506c16760c38df08f6b6a8c6231b42d42e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-smartattributes/zipball/ba6a32fa287db0f8d767104471176f70fad7f0e1", - "reference": "ba6a32fa287db0f8d767104471176f70fad7f0e1", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-smartattributes/zipball/a6eb6d506c16760c38df08f6b6a8c6231b42d42e", + "reference": "a6eb6d506c16760c38df08f6b6a8c6231b42d42e", "shasum": "" }, "require": { @@ -2295,7 +2233,7 @@ "issues": "https://github.com/tvdijen/simplesamlphp-module-smartattributes/issues", "source": "https://github.com/tvdijen/simplesamlphp-module-smartattributes" }, - "time": "2022-01-06T23:42:07+00:00" + "time": "2023-10-30T11:45:00+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-sqlauth", @@ -2400,16 +2338,16 @@ }, { "name": "simplesamlphp/twig-configurable-i18n", - "version": "v2.3.4", + "version": "v2.3.5", "source": { "type": "git", "url": "https://github.com/simplesamlphp/twig-configurable-i18n.git", - "reference": "e2bffc7eed3112a0b3870ef5b4da0fd74c7c4b8a" + "reference": "1dc0ff69ec1dfb4cab6a30c583b59faf0efc27d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/twig-configurable-i18n/zipball/e2bffc7eed3112a0b3870ef5b4da0fd74c7c4b8a", - "reference": "e2bffc7eed3112a0b3870ef5b4da0fd74c7c4b8a", + "url": "https://api.github.com/repos/simplesamlphp/twig-configurable-i18n/zipball/1dc0ff69ec1dfb4cab6a30c583b59faf0efc27d6", + "reference": "1dc0ff69ec1dfb4cab6a30c583b59faf0efc27d6", "shasum": "" }, "require": { @@ -2421,7 +2359,7 @@ "sensiolabs/security-checker": "~6.0.3", "simplesamlphp/simplesamlphp-test-framework": "~0.1.2", "squizlabs/php_codesniffer": "^3.5", - "twig/twig": "^2.13" + "twig/twig": "^2.15.3" }, "type": "project", "autoload": { @@ -2452,20 +2390,21 @@ "issues": "https://github.com/simplesamlphp/twig-configurable-i18n/issues", "source": "https://github.com/simplesamlphp/twig-configurable-i18n" }, - "time": "2020-08-27T12:51:10+00:00" + "abandoned": true, + "time": "2022-11-28T16:34:29+00:00" }, { "name": "symfony/cache", - "version": "v5.4.11", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "5a0fff46df349f0db3fe242263451fddf5277362" + "reference": "223c3afac82e003a76931b71d77db408636a0de8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/5a0fff46df349f0db3fe242263451fddf5277362", - "reference": "5a0fff46df349f0db3fe242263451fddf5277362", + "url": "https://api.github.com/repos/symfony/cache/zipball/223c3afac82e003a76931b71d77db408636a0de8", + "reference": "223c3afac82e003a76931b71d77db408636a0de8", "shasum": "" }, "require": { @@ -2493,7 +2432,7 @@ "require-dev": { "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", @@ -2526,14 +2465,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an extended PSR-6, PSR-16 (and tags) implementation", + "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", "keywords": [ "caching", "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.11" + "source": "https://github.com/symfony/cache/tree/v5.4.38" }, "funding": [ { @@ -2549,20 +2488,20 @@ "type": "tidelift" } ], - "time": "2022-07-28T15:25:17+00:00" + "time": "2024-03-19T09:55:32+00:00" }, { "name": "symfony/cache-contracts", - "version": "v2.5.2", + "version": "v2.5.3", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc" + "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", - "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/fee6db04d913094e2fb55ff8e7db5685a8134463", + "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463", "shasum": "" }, "require": { @@ -2612,7 +2551,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/cache-contracts/tree/v2.5.3" }, "funding": [ { @@ -2628,20 +2567,20 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "symfony/config", - "version": "v5.4.11", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "ec79e03125c1d2477e43dde8528535d90cc78379" + "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/ec79e03125c1d2477e43dde8528535d90cc78379", - "reference": "ec79e03125c1d2477e43dde8528535d90cc78379", + "url": "https://api.github.com/repos/symfony/config/zipball/3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", + "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", "shasum": "" }, "require": { @@ -2691,7 +2630,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.11" + "source": "https://github.com/symfony/config/tree/v5.4.38" }, "funding": [ { @@ -2707,20 +2646,20 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:00:38+00:00" + "time": "2024-03-22T10:04:40+00:00" }, { "name": "symfony/console", - "version": "v5.4.12", + "version": "v5.4.36", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1" + "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c072aa8f724c3af64e2c7a96b796a4863d24dba1", - "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1", + "url": "https://api.github.com/repos/symfony/console/zipball/39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", + "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", "shasum": "" }, "require": { @@ -2785,12 +2724,12 @@ "homepage": "https://symfony.com", "keywords": [ "cli", - "command line", + "command-line", "console", "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.12" + "source": "https://github.com/symfony/console/tree/v5.4.36" }, "funding": [ { @@ -2806,20 +2745,20 @@ "type": "tidelift" } ], - "time": "2022-08-17T13:18:05+00:00" + "time": "2024-02-20T16:33:57+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.11", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "a8b9251016e9476db73e25fa836904bc0bf74c62" + "reference": "0ba1fa459d284a9398c71afa1cb5d13de025de17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a8b9251016e9476db73e25fa836904bc0bf74c62", - "reference": "a8b9251016e9476db73e25fa836904bc0bf74c62", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0ba1fa459d284a9398c71afa1cb5d13de025de17", + "reference": "0ba1fa459d284a9398c71afa1cb5d13de025de17", "shasum": "" }, "require": { @@ -2879,7 +2818,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.11" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.38" }, "funding": [ { @@ -2895,20 +2834,20 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:00:38+00:00" + "time": "2024-03-18T16:56:51+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", + "version": "v2.5.3", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "80d075412b557d41002320b96a096ca65aa2c98d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", + "reference": "80d075412b557d41002320b96a096ca65aa2c98d", "shasum": "" }, "require": { @@ -2946,7 +2885,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.3" }, "funding": [ { @@ -2962,20 +2901,20 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2023-01-24T14:02:46+00:00" }, { "name": "symfony/error-handler", - "version": "v5.4.11", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "f75d17cb4769eb38cd5fccbda95cd80a054d35c8" + "reference": "3c1fed45a12718e7e2758eef072677d01a0c91a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/f75d17cb4769eb38cd5fccbda95cd80a054d35c8", - "reference": "f75d17cb4769eb38cd5fccbda95cd80a054d35c8", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/3c1fed45a12718e7e2758eef072677d01a0c91a4", + "reference": "3c1fed45a12718e7e2758eef072677d01a0c91a4", "shasum": "" }, "require": { @@ -3017,7 +2956,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.11" + "source": "https://github.com/symfony/error-handler/tree/v5.4.38" }, "funding": [ { @@ -3033,20 +2972,20 @@ "type": "tidelift" } ], - "time": "2022-07-29T07:37:50+00:00" + "time": "2024-03-19T10:19:25+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.9", + "version": "v5.4.35", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" + "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", - "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", + "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", "shasum": "" }, "require": { @@ -3102,7 +3041,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.9" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.35" }, "funding": [ { @@ -3118,20 +3057,20 @@ "type": "tidelift" } ], - "time": "2022-05-05T16:45:39+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.2", + "version": "v2.5.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" + "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/540f4c73e87fd0c71ca44a6aa305d024ac68cb73", + "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73", "shasum": "" }, "require": { @@ -3181,7 +3120,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.3" }, "funding": [ { @@ -3197,20 +3136,20 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "symfony/filesystem", - "version": "v5.4.12", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447" + "reference": "899330a01056077271e2f614c7b28b0379a671eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/2d67c1f9a1937406a9be3171b4b22250c0a11447", - "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/899330a01056077271e2f614c7b28b0379a671eb", + "reference": "899330a01056077271e2f614c7b28b0379a671eb", "shasum": "" }, "require": { @@ -3245,7 +3184,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.12" + "source": "https://github.com/symfony/filesystem/tree/v5.4.38" }, "funding": [ { @@ -3261,20 +3200,20 @@ "type": "tidelift" } ], - "time": "2022-08-02T13:48:16+00:00" + "time": "2024-03-21T08:05:07+00:00" }, { "name": "symfony/finder", - "version": "v5.4.11", + "version": "v5.4.35", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c" + "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c", + "url": "https://api.github.com/repos/symfony/finder/zipball/abe6d6f77d9465fed3cd2d029b29d03b56b56435", + "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435", "shasum": "" }, "require": { @@ -3308,7 +3247,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.11" + "source": "https://github.com/symfony/finder/tree/v5.4.35" }, "funding": [ { @@ -3324,20 +3263,20 @@ "type": "tidelift" } ], - "time": "2022-07-29T07:37:50+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "symfony/framework-bundle", - "version": "v5.4.12", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "49f8fe5d39b7513a3f26898788885dbe66b0d910" + "reference": "322b40a1235d85e93b3440cad59c67d73cdb5d9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/49f8fe5d39b7513a3f26898788885dbe66b0d910", - "reference": "49f8fe5d39b7513a3f26898788885dbe66b0d910", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/322b40a1235d85e93b3440cad59c67d73cdb5d9f", + "reference": "322b40a1235d85e93b3440cad59c67d73cdb5d9f", "shasum": "" }, "require": { @@ -3351,7 +3290,7 @@ "symfony/event-dispatcher": "^5.1|^6.0", "symfony/filesystem": "^4.4|^5.0|^6.0", "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.3|^6.0", + "symfony/http-foundation": "^5.4.24|^6.2.11", "symfony/http-kernel": "^5.4|^6.0", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php80": "^1.16", @@ -3364,9 +3303,8 @@ "doctrine/persistence": "<1.3", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "phpunit/phpunit": "<5.4.3", "symfony/asset": "<5.3", - "symfony/console": "<5.2.5", + "symfony/console": "<5.2.5|>=7.0", "symfony/dom-crawler": "<4.4", "symfony/dotenv": "<5.1", "symfony/form": "<5.2", @@ -3384,12 +3322,12 @@ "symfony/translation": "<5.3", "symfony/twig-bridge": "<4.4", "symfony/twig-bundle": "<4.4", - "symfony/validator": "<5.2", + "symfony/validator": "<5.3.11", "symfony/web-profiler-bundle": "<4.4", "symfony/workflow": "<5.2" }, "require-dev": { - "doctrine/annotations": "^1.13.1", + "doctrine/annotations": "^1.13.1|^2", "doctrine/cache": "^1.11|^2.0", "doctrine/persistence": "^1.3|^2|^3", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", @@ -3417,11 +3355,11 @@ "symfony/string": "^5.0|^6.0", "symfony/translation": "^5.3|^6.0", "symfony/twig-bundle": "^4.4|^5.0|^6.0", - "symfony/validator": "^5.2|^6.0", + "symfony/validator": "^5.3.11|^6.0", "symfony/web-link": "^4.4|^5.0|^6.0", "symfony/workflow": "^5.2|^6.0", "symfony/yaml": "^4.4|^5.0|^6.0", - "twig/twig": "^2.10|^3.0" + "twig/twig": "^2.10|^3.0.4" }, "suggest": { "ext-apcu": "For best performance of the system caches", @@ -3459,7 +3397,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.12" + "source": "https://github.com/symfony/framework-bundle/tree/v5.4.38" }, "funding": [ { @@ -3475,20 +3413,20 @@ "type": "tidelift" } ], - "time": "2022-08-26T10:32:10+00:00" + "time": "2024-03-15T07:39:49+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.12", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "f4bfe9611b113b15d98a43da68ec9b5a00d56791" + "reference": "d8c13d35f68c69e15595fe37fa2c225d11c10f7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4bfe9611b113b15d98a43da68ec9b5a00d56791", - "reference": "f4bfe9611b113b15d98a43da68ec9b5a00d56791", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d8c13d35f68c69e15595fe37fa2c225d11c10f7e", + "reference": "d8c13d35f68c69e15595fe37fa2c225d11c10f7e", "shasum": "" }, "require": { @@ -3535,7 +3473,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.12" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.38" }, "funding": [ { @@ -3551,20 +3489,20 @@ "type": "tidelift" } ], - "time": "2022-08-19T07:33:17+00:00" + "time": "2024-03-19T10:19:25+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.12", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "37f660fa3bcd78fe4893ce23ebe934618ec099be" + "reference": "21c32c7c6c32ea8d0f4b8e88a2607a2dc72799e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/37f660fa3bcd78fe4893ce23ebe934618ec099be", - "reference": "37f660fa3bcd78fe4893ce23ebe934618ec099be", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/21c32c7c6c32ea8d0f4b8e88a2607a2dc72799e5", + "reference": "21c32c7c6c32ea8d0f4b8e88a2607a2dc72799e5", "shasum": "" }, "require": { @@ -3573,7 +3511,7 @@ "symfony/deprecation-contracts": "^2.1|^3", "symfony/error-handler": "^4.4|^5.0|^6.0", "symfony/event-dispatcher": "^5.0|^6.0", - "symfony/http-foundation": "^5.3.7|^6.0", + "symfony/http-foundation": "^5.4.21|^6.2.7", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.16" @@ -3647,7 +3585,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.12" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.38" }, "funding": [ { @@ -3663,20 +3601,20 @@ "type": "tidelift" } ], - "time": "2022-08-26T14:40:40+00:00" + "time": "2024-04-02T19:56:39+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -3690,9 +3628,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3729,7 +3664,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -3745,20 +3680,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "433d05519ce6990bf3530fba6957499d327395c2" + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2", - "reference": "433d05519ce6990bf3530fba6957499d327395c2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { @@ -3769,9 +3704,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3810,7 +3742,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -3826,20 +3758,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd" + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { @@ -3850,9 +3782,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3894,7 +3823,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -3910,20 +3839,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -3937,9 +3866,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3977,7 +3903,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -3993,20 +3919,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2" + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", "shasum": "" }, "require": { @@ -4014,9 +3940,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4053,7 +3976,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" }, "funding": [ { @@ -4069,20 +3992,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85" + "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85", - "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", + "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", "shasum": "" }, "require": { @@ -4090,9 +4013,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4132,7 +4052,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" }, "funding": [ { @@ -4148,20 +4068,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { @@ -4169,9 +4089,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4215,7 +4132,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -4231,20 +4148,20 @@ "type": "tidelift" } ], - "time": "2022-05-10T07:21:04+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.26.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1" + "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1", - "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", + "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", "shasum": "" }, "require": { @@ -4252,9 +4169,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4294,7 +4208,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" }, "funding": [ { @@ -4310,20 +4224,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/routing", - "version": "v5.4.11", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3e01ccd9b2a3a4167ba2b3c53612762300300226" + "reference": "f455f06d4ee7d354d9dcaf7d436532c1f388ee01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3e01ccd9b2a3a4167ba2b3c53612762300300226", - "reference": "3e01ccd9b2a3a4167ba2b3c53612762300300226", + "url": "https://api.github.com/repos/symfony/routing/zipball/f455f06d4ee7d354d9dcaf7d436532c1f388ee01", + "reference": "f455f06d4ee7d354d9dcaf7d436532c1f388ee01", "shasum": "" }, "require": { @@ -4338,7 +4252,7 @@ "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/annotations": "^1.12", + "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", "symfony/config": "^5.3|^6.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0", @@ -4384,7 +4298,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.11" + "source": "https://github.com/symfony/routing/tree/v5.4.38" }, "funding": [ { @@ -4400,20 +4314,20 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:00:38+00:00" + "time": "2024-03-18T16:56:51+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.2", + "version": "v2.5.3", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3", + "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3", "shasum": "" }, "require": { @@ -4467,7 +4381,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/service-contracts/tree/v2.5.3" }, "funding": [ { @@ -4483,20 +4397,20 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:17:29+00:00" + "time": "2023-04-21T15:04:16+00:00" }, { "name": "symfony/string", - "version": "v5.4.12", + "version": "v5.4.36", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058" + "reference": "4e232c83622bd8cd32b794216aa29d0d266d353b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/2fc515e512d721bf31ea76bd02fe23ada4640058", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058", + "url": "https://api.github.com/repos/symfony/string/zipball/4e232c83622bd8cd32b794216aa29d0d266d353b", + "reference": "4e232c83622bd8cd32b794216aa29d0d266d353b", "shasum": "" }, "require": { @@ -4553,7 +4467,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.12" + "source": "https://github.com/symfony/string/tree/v5.4.36" }, "funding": [ { @@ -4569,20 +4483,20 @@ "type": "tidelift" } ], - "time": "2022-08-12T17:03:11+00:00" + "time": "2024-02-01T08:49:30+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.11", + "version": "v5.4.38", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "b8f306d7b8ef34fb3db3305be97ba8e088fb4861" + "reference": "ae1d949ccc57d3f6662e4256b47ac9fbfa9651ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8f306d7b8ef34fb3db3305be97ba8e088fb4861", - "reference": "b8f306d7b8ef34fb3db3305be97ba8e088fb4861", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ae1d949ccc57d3f6662e4256b47ac9fbfa9651ae", + "reference": "ae1d949ccc57d3f6662e4256b47ac9fbfa9651ae", "shasum": "" }, "require": { @@ -4591,12 +4505,12 @@ "symfony/polyfill-php80": "^1.16" }, "conflict": { - "phpunit/phpunit": "<5.4.3", "symfony/console": "<4.4" }, "require-dev": { "ext-iconv": "*", "symfony/console": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", "symfony/process": "^4.4|^5.0|^6.0", "symfony/uid": "^5.1|^6.0", "twig/twig": "^2.13|^3.0.4" @@ -4642,7 +4556,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.11" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.38" }, "funding": [ { @@ -4658,20 +4572,20 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:00:38+00:00" + "time": "2024-03-19T10:19:25+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.4.10", + "version": "v5.4.35", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "8fc03ee75eeece3d9be1ef47d26d79bea1afb340" + "reference": "abb0a151b62d6b07e816487e20040464af96cae7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/8fc03ee75eeece3d9be1ef47d26d79bea1afb340", - "reference": "8fc03ee75eeece3d9be1ef47d26d79bea1afb340", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/abb0a151b62d6b07e816487e20040464af96cae7", + "reference": "abb0a151b62d6b07e816487e20040464af96cae7", "shasum": "" }, "require": { @@ -4715,7 +4629,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.10" + "source": "https://github.com/symfony/var-exporter/tree/v5.4.35" }, "funding": [ { @@ -4731,20 +4645,20 @@ "type": "tidelift" } ], - "time": "2022-05-27T12:56:18+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.12", + "version": "v5.4.35", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "7a3aa21ac8ab1a96cc6de5bbcab4bc9fc943b18c" + "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/7a3aa21ac8ab1a96cc6de5bbcab4bc9fc943b18c", - "reference": "7a3aa21ac8ab1a96cc6de5bbcab4bc9fc943b18c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e78db7f5c70a21f0417a31f414c4a95fe76c07e4", + "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4", "shasum": "" }, "require": { @@ -4790,7 +4704,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.12" + "source": "https://github.com/symfony/yaml/tree/v5.4.35" }, "funding": [ { @@ -4806,7 +4720,7 @@ "type": "tidelift" } ], - "time": "2022-08-02T15:52:22+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "twig/extensions", @@ -4870,16 +4784,16 @@ }, { "name": "twig/twig", - "version": "v2.15.2", + "version": "v2.16.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "3e43405a9a8b578809426339cc3780e16fba0c52" + "reference": "0c9cc7ef2e0ec6d20c5af1200522a89ba101f623" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e43405a9a8b578809426339cc3780e16fba0c52", - "reference": "3e43405a9a8b578809426339cc3780e16fba0c52", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/0c9cc7ef2e0ec6d20c5af1200522a89ba101f623", + "reference": "0c9cc7ef2e0ec6d20c5af1200522a89ba101f623", "shasum": "" }, "require": { @@ -4890,12 +4804,12 @@ }, "require-dev": { "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + "symfony/phpunit-bridge": "^5.4.9|^6.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.15-dev" + "dev-master": "2.16-dev" } }, "autoload": { @@ -4934,7 +4848,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.15.2" + "source": "https://github.com/twigphp/Twig/tree/v2.16.0" }, "funding": [ { @@ -4946,7 +4860,7 @@ "type": "tidelift" } ], - "time": "2022-08-12T06:43:37+00:00" + "time": "2023-12-22T07:22:15+00:00" }, { "name": "webmozart/assert", @@ -5069,5 +4983,5 @@ "platform-overrides": { "php": "7.4" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.2.0" } diff --git a/docs/privacyidea.md b/docs/privacyidea.md index 19e251f88b1205009a27acff1776abab335b33d4..fd394dd32380b2a167a081852d36651a65a461ac 100644 --- a/docs/privacyidea.md +++ b/docs/privacyidea.md @@ -144,15 +144,6 @@ You need to add the authentication source 'privacyidea' to 'otplen' => 'otpLength' ], - /* - * Setup of MongoDB for Rate Limiting - */ - 'rate_limiting' => [ - 'connection_string' => 'mongodb://user:password@localhost:27017', - 'database_name' => 'mydatabase', - 'collection_prefix' => 'myflaps', - ], - /* * Override (string) or reformat (callable) messages from privacyIDEA. * When using callable, HTML is not escaped. @@ -361,15 +352,6 @@ If you want to use privacyIDEA as an auth process filter, add the configuration ] ], - /** - * Setup of MongoDB for Rate Limiting - */ - 'rate_limiting' => [ - 'connection_string' => 'mongodb://user:password@localhost:27017', - 'database_name' => 'mydatabase', - 'collection_prefix' => 'myflaps', - ], - /** * Whether to show logout link on the auth proc filter page. * Optional, default to true. diff --git a/lib/Auth/MongoDBStorage.php b/lib/Auth/MongoDBStorage.php deleted file mode 100644 index ae032ea9ccd6a2c88d6be6cda6a48f407a5435b7..0000000000000000000000000000000000000000 --- a/lib/Auth/MongoDBStorage.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php - -namespace SimpleSAML\Module\privacyidea\Auth; - -use Exception; -use MongoDB\BSON\UTCDateTime; -use MongoDB\Client; -use MongoDB\Collection; -use BehEh\Flaps\StorageInterface; - -class MongoDBStorage implements StorageInterface -{ - private $collection; - - public function __construct($config) - { - $connectionString = $config['connection_string']; - $databaseName = $config['database_name']; - $collectionName = $config['collection_name']; - $client = new Client( - $connectionString, - [], - [ - 'typeMap' => [ - 'array' => 'array', - 'document' => 'array', - 'root' => 'array', - ], - ] - ); - $this->collection = $client->selectCollection($databaseName, $collectionName); - } - - public function setValue($key, $value) - { - $this->collection->updateOne( - ['key' => $key], - ['$set' => ['value' => $value]], - ['upsert' => true] - ); - } - - public function incrementValue($key) - { - $result = $this->collection->findOneAndUpdate( - ['key' => $key], - ['$inc' => ['value' => 1]], - ['upsert' => true, 'returnDocument' => Collection::RETURN_DOCUMENT_AFTER] - ); - - return $result ? $result['value'] : 0; - } - - public function getValue($key) - { - $result = $this->collection->findOne(['key' => $key]); - - $result = $this->collection->findOne( - ['$or' => [ - [ - '$and' => - [ - ['key' => $key], - ['expireAt' => ['$gt' => self::createMongoDate()]], - ] - ], - [ - '$and' => - [ - ['key' => $key], - ['expireAt' => null], - ] - ] - ]] - ); - - return $result ? $result['value'] : 0; - } - - public function setTimestamp($key, $timestamp) - { - $this->collection->updateOne( - ['key' => $key], - ['$set' => ['timestamp' => new UTCDateTime($timestamp * 1000)]], - ['upsert' => true] - ); - } - - public function getTimestamp($key) - { - $result = $this->collection->findOne(['key' => $key]); - - return $result ? $result['timestamp']->toDateTime()->getTimestamp() : 0; - } - - public function expire($key) - { - $this->collection->deleteOne(['key' => $key]); - $this->removeExpiredRecords(); - } - - /** - * @throws Exception - */ - public function expireIn($key, $seconds) - { - $this->collection->updateOne( - ['key' => $key], - ['$set' => ['expireAt' => self::createMongoDate($seconds)]], - ['upsert' => true] - ); - $this->removeExpiredRecords(); - } - - private function removeExpiredRecords() - { - $this->collection->deleteMany(['expireAt' => ['$lt' => self::createMongoDate()]]); - } - - private static function createMongoDate($secondsFromNow = 0) - { - return new UTCDateTime( - (new \DateTimeImmutable('+' . $secondsFromNow . ' seconds'))->getTimestamp() * 1000 - ); - } -} diff --git a/lib/Auth/Process/PrivacyideaAuthProc.php b/lib/Auth/Process/PrivacyideaAuthProc.php index c35d35332620061fb37058231b00b9716fcd014c..c821585cc35cf9d71f4fa8a6eb395b97e022db38 100644 --- a/lib/Auth/Process/PrivacyideaAuthProc.php +++ b/lib/Auth/Process/PrivacyideaAuthProc.php @@ -158,9 +158,6 @@ class PrivacyideaAuthProc extends ProcessingFilter // This is AuthProcFilter, so step 1 (username+password) is already done. Set the step to 2 $state['privacyidea:privacyidea:ui']['step'] = 2; - if (!empty($this->authProcConfig['rate_limiting'])) { - $state['privacyidea:privacyidea']['rate_limiting'] = $this->authProcConfig['rate_limiting']; - } $stateId = State::saveState($state, 'privacyidea:privacyidea'); $url = Module::getModuleURL('privacyidea/FormBuilder.php'); diff --git a/lib/Auth/Source/PrivacyideaAuthSource.php b/lib/Auth/Source/PrivacyideaAuthSource.php index 765658dd6839124be7d19132b1e35ef5e7350efe..ffcdc669a786b559346929962bcf481717be5228 100644 --- a/lib/Auth/Source/PrivacyideaAuthSource.php +++ b/lib/Auth/Source/PrivacyideaAuthSource.php @@ -107,9 +107,6 @@ class PrivacyideaAuthSource extends UserPassBase $state['privacyidea:privacyidea:ui']['loadCounter'] = '1'; $state['privacyidea:privacyidea:ui']['messageOverride'] = $this->authSourceConfig['messageOverride'] ?? null; - if (!empty($this->authProcConfig['rate_limiting'])) { - $state['privacyidea:privacyidea']['rate_limiting'] = $this->authSourceConfig['rate_limiting']; - } $stateId = State::saveState($state, 'privacyidea:privacyidea'); $url = Module::getModuleURL('privacyidea/FormBuilder.php'); diff --git a/www/FormReceiver.php b/www/FormReceiver.php index d6d3d6d0ca173b2855a71e7a8d0c189385905800..845a7a773a002ecef719992cb623b2b0c9ea8c3e 100644 --- a/www/FormReceiver.php +++ b/www/FormReceiver.php @@ -2,9 +2,6 @@ declare(strict_types=1); -use BehEh\Flaps\Flaps; -use BehEh\Flaps\Throttling\LeakyBucketStrategy; -use BehEh\Flaps\Violation\PassiveViolationHandler; use SimpleSAML\Auth\Source; use SimpleSAML\Auth\State; use SimpleSAML\Logger; @@ -14,7 +11,6 @@ use SimpleSAML\Module\privacyidea\Auth\Source\PrivacyideaAuthSource; use SimpleSAML\Module\privacyidea\Auth\Utils; use SimpleSAML\Session; use SimpleSAML\Utils\HTTP; -use SimpleSAML\Module\privacyidea\Auth\MongoDBStorage; $stateId = Session::getSessionFromRequest()->getData('privacyidea:privacyidea', 'stateId'); Session::getSessionFromRequest()->deleteData('privacyidea:privacyidea', 'stateId'); @@ -23,21 +19,6 @@ if (empty($stateId)) { throw new \Exception('State information lost!'); } $state = State::loadState($stateId, 'privacyidea:privacyidea'); -if (!empty($state['privacyidea:privacyidea']['rate_limiting'])) { - $config = $state['privacyidea:privacyidea']['rate_limiting']; - $flapsStorage = new MongoDBStorage( - array_merge($config, ['collection_name' => $config['collection_prefix'] . 'flaps']) - ); - $flaps = new Flaps($flapsStorage); - $flaps->setDefaultViolationHandler(new PassiveViolationHandler()); - $flapsUsername = $flaps->username; - $flapsUsername->pushThrottlingStrategy(new LeakyBucketStrategy(5, '60s')); - $flapsIP = $flaps->ip; - $flapsIP->pushThrottlingStrategy(new LeakyBucketStrategy(2, '1s')); - - $ip = $_SERVER['REMOTE_ADDR']; -} - // Find the username if (array_key_exists('username', $_REQUEST)) { @@ -53,21 +34,6 @@ if (array_key_exists('username', $_REQUEST)) { $username = ''; } -if (!empty($state['privacyidea:privacyidea']['rate_limiting'])) { - // Limit the requests based on UID and IP - if (!$flapsUsername->limit($username)) { - Logger::warning('Rate limit exceeded for username ' . $username); - $e = new \SimpleSAML\Error\Error('BADREQUEST', null, 429); - throw new \SimpleSAML\Error\Exception('Rate limit exceeded', 429, $e); - } - if (!$flapsIP->limit($ip)) { - Logger::warning('Rate limit exceeded for IP address ' . $ip); - $e = new \SimpleSAML\Error\Error('BADREQUEST', null, 429); - throw new \SimpleSAML\Error\Exception('Rate limit exceeded', 429, $e); - } -} - - $formParams = [ 'username' => $username, 'pass' => array_key_exists('password', $_REQUEST) ? $_REQUEST['password'] : '',