diff --git a/.idea/bindAPI.iml b/.idea/bindAPI.iml
index 905d1d5..bbaaf52 100644
--- a/.idea/bindAPI.iml
+++ b/.idea/bindAPI.iml
@@ -100,6 +100,7 @@
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index f058b8b..0758829 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -22,7 +22,6 @@
-
@@ -39,7 +38,7 @@
-
+
diff --git a/.idea/php.xml b/.idea/php.xml
index 8954636..5d4cbbb 100644
--- a/.idea/php.xml
+++ b/.idea/php.xml
@@ -81,6 +81,7 @@
+
diff --git a/bin/console b/bin/console
index 81cbb4e..c275c21 100755
--- a/bin/console
+++ b/bin/console
@@ -3,11 +3,6 @@
namespace App\Controller;
-// & ~E_DEPRECATED is needed because of a bug in PhpStorm
-use DI\DependencyException;
-use DI\NotFoundException;
-use Exception;
-
if (php_sapi_name() !== 'cli') {
echo 'This application must be run on the command line.' . PHP_EOL;
exit;
diff --git a/composer.json b/composer.json
index ae99776..5a1279c 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,7 @@
"name": "24unix/bindapi",
"description": "manage Bind9 DNS server via REST API",
"version": "2023.0.1",
- "build_number": "324",
+ "build_number": "325",
"authors": [
{
"name": "Micha Espey",
diff --git a/composer.lock b/composer.lock
index 0c0ec44..c0279c9 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,16 +8,16 @@
"packages": [
{
"name": "arubacao/tld-checker",
- "version": "1.2.146",
+ "version": "1.2.226",
"source": {
"type": "git",
"url": "https://github.com/arubacao/tld-checker.git",
- "reference": "81282eb4b9a79e89e4379d86e2a68263c95130fc"
+ "reference": "de4f3e308cdf7705012279113909ad79b2588529"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/arubacao/tld-checker/zipball/81282eb4b9a79e89e4379d86e2a68263c95130fc",
- "reference": "81282eb4b9a79e89e4379d86e2a68263c95130fc",
+ "url": "https://api.github.com/repos/arubacao/tld-checker/zipball/de4f3e308cdf7705012279113909ad79b2588529",
+ "reference": "de4f3e308cdf7705012279113909ad79b2588529",
"shasum": ""
},
"require": {
@@ -65,170 +65,22 @@
],
"support": {
"issues": "https://github.com/arubacao/tld-checker/issues",
- "source": "https://github.com/arubacao/tld-checker/tree/1.2.146"
+ "source": "https://github.com/arubacao/tld-checker/tree/1.2.226"
},
- "time": "2022-09-18T04:01:09+00:00"
- },
- {
- "name": "doctrine/annotations",
- "version": "1.13.2",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/annotations.git",
- "reference": "5b668aef16090008790395c02c893b1ba13f7e08"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08",
- "reference": "5b668aef16090008790395c02c893b1ba13f7e08",
- "shasum": ""
- },
- "require": {
- "doctrine/lexer": "1.*",
- "ext-tokenizer": "*",
- "php": "^7.1 || ^8.0",
- "psr/cache": "^1 || ^2 || ^3"
- },
- "require-dev": {
- "doctrine/cache": "^1.11 || ^2.0",
- "doctrine/coding-standard": "^6.0 || ^8.1",
- "phpstan/phpstan": "^0.12.20",
- "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5",
- "symfony/cache": "^4.4 || ^5.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "Docblock Annotations Parser",
- "homepage": "https://www.doctrine-project.org/projects/annotations.html",
- "keywords": [
- "annotations",
- "docblock",
- "parser"
- ],
- "support": {
- "issues": "https://github.com/doctrine/annotations/issues",
- "source": "https://github.com/doctrine/annotations/tree/1.13.2"
- },
- "time": "2021-08-05T19:00:23+00:00"
- },
- {
- "name": "doctrine/lexer",
- "version": "1.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/lexer.git",
- "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229",
- "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^9.0",
- "phpstan/phpstan": "^1.3",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "vimeo/psalm": "^4.11"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
- "homepage": "https://www.doctrine-project.org/projects/lexer.html",
- "keywords": [
- "annotations",
- "docblock",
- "lexer",
- "parser",
- "php"
- ],
- "support": {
- "issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/1.2.3"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer",
- "type": "tidelift"
- }
- ],
- "time": "2022-02-28T11:07:21+00:00"
+ "time": "2024-03-31T04:01:09+00:00"
},
{
"name": "laravel/serializable-closure",
- "version": "v1.2.2",
+ "version": "v1.3.3",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae"
+ "reference": "3dbf8a8e914634c48d389c1234552666b3d43754"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae",
- "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754",
+ "reference": "3dbf8a8e914634c48d389c1234552666b3d43754",
"shasum": ""
},
"require": {
@@ -275,20 +127,20 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2022-09-08T13:45:54+00:00"
+ "time": "2023-11-08T14:08:06+00:00"
},
{
"name": "monolog/monolog",
- "version": "3.2.0",
+ "version": "3.5.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "305444bc6fb6c89e490f4b34fa6e979584d7fa81"
+ "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/305444bc6fb6c89e490f4b34fa6e979584d7fa81",
- "reference": "305444bc6fb6c89e490f4b34fa6e979584d7fa81",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448",
+ "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448",
"shasum": ""
},
"require": {
@@ -303,16 +155,16 @@
"doctrine/couchdb": "~1.0@dev",
"elasticsearch/elasticsearch": "^7 || ^8",
"ext-json": "*",
- "graylog2/gelf-php": "^1.4.2",
- "guzzlehttp/guzzle": "^7.4",
+ "graylog2/gelf-php": "^1.4.2 || ^2.0",
+ "guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
- "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan": "^1.9",
"phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.1",
- "phpunit/phpunit": "^9.5.16",
- "predis/predis": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.4",
+ "phpunit/phpunit": "^10.1",
+ "predis/predis": "^1.1 || ^2",
"ruflin/elastica": "^7",
"symfony/mailer": "^5.4 || ^6",
"symfony/mime": "^5.4 || ^6"
@@ -364,7 +216,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.2.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.5.0"
},
"funding": [
{
@@ -376,20 +228,20 @@
"type": "tidelift"
}
],
- "time": "2022-07-24T12:00:55+00:00"
+ "time": "2023-10-27T15:32:31+00:00"
},
{
"name": "netresearch/jsonmapper",
- "version": "v4.0.0",
+ "version": "v4.4.1",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
+ "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
- "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0",
+ "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0",
"shasum": ""
},
"require": {
@@ -400,7 +252,7 @@
"php": ">=7.1"
},
"require-dev": {
- "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
+ "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0",
"squizlabs/php_codesniffer": "~3.5"
},
"type": "library",
@@ -425,22 +277,22 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0"
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1"
},
- "time": "2020-12-01T19:48:11+00:00"
+ "time": "2024-01-31T06:18:54+00:00"
},
{
"name": "php-di/invoker",
- "version": "2.3.3",
+ "version": "2.3.4",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/Invoker.git",
- "reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786"
+ "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/cd6d9f267d1a3474bdddf1be1da079f01b942786",
- "reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786",
+ "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
+ "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
"shasum": ""
},
"require": {
@@ -474,7 +326,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/Invoker/issues",
- "source": "https://github.com/PHP-DI/Invoker/tree/2.3.3"
+ "source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
},
"funding": [
{
@@ -482,7 +334,7 @@
"type": "github"
}
],
- "time": "2021-12-13T09:22:56+00:00"
+ "time": "2023-09-08T09:24:21+00:00"
},
{
"name": "php-di/php-di",
@@ -646,55 +498,6 @@
},
"time": "2019-03-03T12:17:32+00:00"
},
- {
- "name": "psr/cache",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
- "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Cache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for caching libraries",
- "keywords": [
- "cache",
- "psr",
- "psr-6"
- ],
- "support": {
- "source": "https://github.com/php-fig/cache/tree/3.0.0"
- },
- "time": "2021-02-03T23:26:27+00:00"
- },
{
"name": "psr/container",
"version": "1.1.2",
@@ -794,21 +597,91 @@
"time": "2021-07-14T16:46:02+00:00"
},
{
- "name": "symfony/finder",
- "version": "v6.0.3",
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.4.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430"
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/8661b74dbabc23223f38c9b99d3f8ade71170430",
- "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
"shasum": ""
},
"require": {
- "php": ">=8.0.2"
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-05-23T14:45:45+00:00"
+ },
+ {
+ "name": "symfony/finder",
+ "version": "v7.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
+ "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -836,7 +709,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.0.3"
+ "source": "https://github.com/symfony/finder/tree/v7.0.0"
},
"funding": [
{
@@ -852,20 +725,20 @@
"type": "tidelift"
}
],
- "time": "2022-01-26T17:23:29+00:00"
+ "time": "2023-10-31T17:59:56+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.25.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "30885182c981ab175d4d034db0f6f469898070ab"
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
- "reference": "30885182c981ab175d4d034db0f6f469898070ab",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
"shasum": ""
},
"require": {
@@ -879,9 +752,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.23-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -918,7 +788,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
},
"funding": [
{
@@ -934,20 +804,20 @@
"type": "tidelift"
}
],
- "time": "2021-10-20T20:35:02+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": {
@@ -958,9 +828,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.26-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -999,7 +866,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": [
{
@@ -1015,20 +882,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": {
@@ -1039,9 +906,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.26-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -1083,7 +947,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": [
{
@@ -1099,20 +963,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": {
@@ -1126,9 +990,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.26-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -1166,7 +1027,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": [
{
@@ -1182,31 +1043,29 @@
"type": "tidelift"
}
],
- "time": "2022-05-24T11:49:31+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/property-access",
- "version": "v6.1.3",
+ "version": "v6.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "25108ee9b62d6ef0815007d9c7cf6a7ba40bb7c5"
+ "reference": "304e5559cd3ebcfb5d743bd21a3d25eb3b7a6ae7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/25108ee9b62d6ef0815007d9c7cf6a7ba40bb7c5",
- "reference": "25108ee9b62d6ef0815007d9c7cf6a7ba40bb7c5",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/304e5559cd3ebcfb5d743bd21a3d25eb3b7a6ae7",
+ "reference": "304e5559cd3ebcfb5d743bd21a3d25eb3b7a6ae7",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "symfony/property-info": "^5.4|^6.0"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/property-info": "^5.4|^6.0|^7.0"
},
"require-dev": {
- "symfony/cache": "^5.4|^6.0"
- },
- "suggest": {
- "psr/cache-implementation": "To cache access methods."
+ "symfony/cache": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -1241,11 +1100,11 @@
"injection",
"object",
"property",
- "property path",
+ "property-path",
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v6.1.3"
+ "source": "https://github.com/symfony/property-access/tree/v6.4.6"
},
"funding": [
{
@@ -1261,44 +1120,38 @@
"type": "tidelift"
}
],
- "time": "2022-06-27T17:24:16+00:00"
+ "time": "2024-03-19T11:56:30+00:00"
},
{
"name": "symfony/property-info",
- "version": "v6.1.3",
+ "version": "v7.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "2fc363ed2f2b5d3b231ed0824e066d140d3fd1d8"
+ "reference": "b8844ddce7d53f78b57ec9be59da80fceddf3167"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/2fc363ed2f2b5d3b231ed0824e066d140d3fd1d8",
- "reference": "2fc363ed2f2b5d3b231ed0824e066d140d3fd1d8",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/b8844ddce7d53f78b57ec9be59da80fceddf3167",
+ "reference": "b8844ddce7d53f78b57ec9be59da80fceddf3167",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/string": "^5.4|^6.0"
+ "php": ">=8.2",
+ "symfony/string": "^6.4|^7.0"
},
"conflict": {
"phpdocumentor/reflection-docblock": "<5.2",
"phpdocumentor/type-resolver": "<1.5.1",
- "symfony/dependency-injection": "<5.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/serializer": "<6.4"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4",
"phpdocumentor/reflection-docblock": "^5.2",
"phpstan/phpdoc-parser": "^1.0",
- "symfony/cache": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/serializer": "^5.4|^6.0"
- },
- "suggest": {
- "phpdocumentor/reflection-docblock": "To use the PHPDoc",
- "psr/cache-implementation": "To cache results",
- "symfony/doctrine-bridge": "To use Doctrine metadata",
- "symfony/serializer": "To use Serializer metadata"
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1334,7 +1187,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v6.1.3"
+ "source": "https://github.com/symfony/property-info/tree/v7.0.6"
},
"funding": [
{
@@ -1350,24 +1203,25 @@
"type": "tidelift"
}
],
- "time": "2022-07-19T08:34:05+00:00"
+ "time": "2024-03-28T09:20:36+00:00"
},
{
"name": "symfony/serializer",
- "version": "v6.1.4",
+ "version": "v6.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "03e5987dd9bb98038c60c7af3e58500c81c4aec1"
+ "reference": "3697adf91f83516c86b4912c08c28084711ed560"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/03e5987dd9bb98038c60c7af3e58500c81c4aec1",
- "reference": "03e5987dd9bb98038c60c7af3e58500c81c4aec1",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/3697adf91f83516c86b4912c08c28084711ed560",
+ "reference": "3697adf91f83516c86b4912c08c28084711ed560",
"shasum": ""
},
"require": {
"php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
@@ -1376,38 +1230,34 @@
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/dependency-injection": "<5.4",
"symfony/property-access": "<5.4",
- "symfony/property-info": "<5.4",
+ "symfony/property-info": "<5.4.24|>=6,<6.2.11",
"symfony/uid": "<5.4",
+ "symfony/validator": "<6.4",
"symfony/yaml": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.12",
+ "doctrine/annotations": "^1.12|^2",
"phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
- "symfony/cache": "^5.4|^6.0",
- "symfony/config": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/error-handler": "^5.4|^6.0",
- "symfony/filesystem": "^5.4|^6.0",
- "symfony/form": "^5.4|^6.0",
- "symfony/http-foundation": "^5.4|^6.0",
- "symfony/http-kernel": "^5.4|^6.0",
- "symfony/mime": "^5.4|^6.0",
- "symfony/property-access": "^5.4|^6.0",
- "symfony/property-info": "^5.4|^6.0",
- "symfony/uid": "^5.4|^6.0",
- "symfony/validator": "^5.4|^6.0",
- "symfony/var-dumper": "^5.4|^6.0",
- "symfony/var-exporter": "^5.4|^6.0",
- "symfony/yaml": "^5.4|^6.0"
- },
- "suggest": {
- "psr/cache-implementation": "For using the metadata cache.",
- "symfony/config": "For using the XML mapping loader.",
- "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.",
- "symfony/property-access": "For using the ObjectNormalizer.",
- "symfony/property-info": "To deserialize relations.",
- "symfony/var-exporter": "For using the metadata compiler.",
- "symfony/yaml": "For using the default YAML mapping loader."
+ "seld/jsonlint": "^1.10",
+ "symfony/cache": "^5.4|^6.0|^7.0",
+ "symfony/config": "^5.4|^6.0|^7.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/error-handler": "^5.4|^6.0|^7.0",
+ "symfony/filesystem": "^5.4|^6.0|^7.0",
+ "symfony/form": "^5.4|^6.0|^7.0",
+ "symfony/http-foundation": "^5.4|^6.0|^7.0",
+ "symfony/http-kernel": "^5.4|^6.0|^7.0",
+ "symfony/messenger": "^5.4|^6.0|^7.0",
+ "symfony/mime": "^5.4|^6.0|^7.0",
+ "symfony/property-access": "^5.4.26|^6.3|^7.0",
+ "symfony/property-info": "^5.4.24|^6.2.11|^7.0",
+ "symfony/translation-contracts": "^2.5|^3",
+ "symfony/uid": "^5.4|^6.0|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/var-dumper": "^5.4|^6.0|^7.0",
+ "symfony/var-exporter": "^5.4|^6.0|^7.0",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -1435,7 +1285,7 @@
"description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/serializer/tree/v6.1.4"
+ "source": "https://github.com/symfony/serializer/tree/v6.4.6"
},
"funding": [
{
@@ -1451,37 +1301,38 @@
"type": "tidelift"
}
],
- "time": "2022-08-26T10:32:31+00:00"
+ "time": "2024-03-27T22:00:14+00:00"
},
{
"name": "symfony/string",
- "version": "v6.1.4",
+ "version": "v7.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "290972cad7b364e3befaa74ba0ec729800fb161c"
+ "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/290972cad7b364e3befaa74ba0ec729800fb161c",
- "reference": "290972cad7b364e3befaa74ba0ec729800fb161c",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f5832521b998b0bec40bee688ad5de98d4cf111b",
+ "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": "<2.0"
+ "symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^5.4|^6.0",
- "symfony/http-client": "^5.4|^6.0",
- "symfony/translation-contracts": "^2.0|^3.0",
- "symfony/var-exporter": "^5.4|^6.0"
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1520,7 +1371,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.1.4"
+ "source": "https://github.com/symfony/string/tree/v7.0.4"
},
"funding": [
{
@@ -1536,34 +1387,31 @@
"type": "tidelift"
}
],
- "time": "2022-08-12T18:05:43+00:00"
+ "time": "2024-02-01T13:17:36+00:00"
},
{
"name": "symfony/yaml",
- "version": "v6.0.3",
+ "version": "v7.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5"
+ "reference": "2d4fca631c00700597e9442a0b2451ce234513d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/e77f3ea0b21141d771d4a5655faa54f692b34af5",
- "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/2d4fca631c00700597e9442a0b2451ce234513d3",
+ "reference": "2d4fca631c00700597e9442a0b2451ce234513d3",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/console": "<5.4"
+ "symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
+ "symfony/console": "^6.4|^7.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -1594,7 +1442,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v6.0.3"
+ "source": "https://github.com/symfony/yaml/tree/v7.0.3"
},
"funding": [
{
@@ -1610,37 +1458,41 @@
"type": "tidelift"
}
],
- "time": "2022-01-26T17:23:29+00:00"
+ "time": "2024-01-23T15:02:46+00:00"
},
{
"name": "zircote/swagger-php",
- "version": "4.4.9",
+ "version": "4.8.7",
"source": {
"type": "git",
"url": "https://github.com/zircote/swagger-php.git",
- "reference": "0c1cdd31e8cfeb7116c54696aafdab9c778070fd"
+ "reference": "2357fafbb084be0f9eda7b5c1a659704fed65b28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zircote/swagger-php/zipball/0c1cdd31e8cfeb7116c54696aafdab9c778070fd",
- "reference": "0c1cdd31e8cfeb7116c54696aafdab9c778070fd",
+ "url": "https://api.github.com/repos/zircote/swagger-php/zipball/2357fafbb084be0f9eda7b5c1a659704fed65b28",
+ "reference": "2357fafbb084be0f9eda7b5c1a659704fed65b28",
"shasum": ""
},
"require": {
- "doctrine/annotations": "^1.7",
"ext-json": "*",
"php": ">=7.2",
"psr/log": "^1.1 || ^2.0 || ^3.0",
+ "symfony/deprecation-contracts": "^2 || ^3",
"symfony/finder": ">=2.2",
"symfony/yaml": ">=3.3"
},
"require-dev": {
"composer/package-versions-deprecated": "^1.11",
- "friendsofphp/php-cs-fixer": "^2.17 || ^3.0",
+ "doctrine/annotations": "^1.7 || ^2.0",
+ "friendsofphp/php-cs-fixer": "^2.17 || ^3.47.1",
"phpstan/phpstan": "^1.6",
"phpunit/phpunit": ">=8",
"vimeo/psalm": "^4.23"
},
+ "suggest": {
+ "doctrine/annotations": "^1.7 || ^2.0"
+ },
"bin": [
"bin/openapi"
],
@@ -1685,9 +1537,9 @@
],
"support": {
"issues": "https://github.com/zircote/swagger-php/issues",
- "source": "https://github.com/zircote/swagger-php/tree/4.4.9"
+ "source": "https://github.com/zircote/swagger-php/tree/4.8.7"
},
- "time": "2022-09-11T20:51:43+00:00"
+ "time": "2024-03-23T06:35:46+00:00"
}
],
"packages-dev": [
@@ -1697,12 +1549,12 @@
"source": {
"type": "git",
"url": "https://github.com/djoos/Symfony-coding-standard.git",
- "reference": "5cc7ad11da242182d9776b98b950d5565c32acd0"
+ "reference": "e6054f854490e6a3a5e6fc98831a2ffd59852efb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/djoos/Symfony-coding-standard/zipball/5cc7ad11da242182d9776b98b950d5565c32acd0",
- "reference": "5cc7ad11da242182d9776b98b950d5565c32acd0",
+ "url": "https://api.github.com/repos/djoos/Symfony-coding-standard/zipball/e6054f854490e6a3a5e6fc98831a2ffd59852efb",
+ "reference": "e6054f854490e6a3a5e6fc98831a2ffd59852efb",
"shasum": ""
},
"require": {
@@ -1741,13 +1593,14 @@
"Coding Standard",
"Symfony2",
"phpcs",
+ "static analysis",
"symfony"
],
"support": {
"issues": "https://github.com/djoos/Symfony-coding-standard/issues",
"source": "https://github.com/djoos/Symfony-coding-standard"
},
- "time": "2021-03-24T15:17:16+00:00"
+ "time": "2023-08-08T10:11:36+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -1810,25 +1663,27 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.17.1",
+ "version": "v5.0.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
+ "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
+ "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
"shasum": ""
},
"require": {
+ "ext-ctype": "*",
+ "ext-json": "*",
"ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": ">=7.4"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
@@ -1836,7 +1691,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.9-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -1860,26 +1715,27 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
},
- "time": "2023-08-13T19:53:39+00:00"
+ "time": "2024-03-05T20:51:40+00:00"
},
{
"name": "phar-io/manifest",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-libxml": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
@@ -1920,9 +1776,15 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
- "time": "2021-07-20T11:28:43+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
},
{
"name": "phar-io/version",
@@ -1977,23 +1839,23 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "10.1.6",
+ "version": "10.1.14",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "56f33548fe522c8d82da7ff3824b42829d324364"
+ "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/56f33548fe522c8d82da7ff3824b42829d324364",
- "reference": "56f33548fe522c8d82da7ff3824b42829d324364",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
+ "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.15",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=8.1",
"phpunit/php-file-iterator": "^4.0",
"phpunit/php-text-template": "^3.0",
@@ -2043,7 +1905,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.6"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14"
},
"funding": [
{
@@ -2051,7 +1913,7 @@
"type": "github"
}
],
- "time": "2023-09-19T04:59:03+00:00"
+ "time": "2024-03-12T15:33:41+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -2398,16 +2260,16 @@
},
{
"name": "sebastian/cli-parser",
- "version": "2.0.0",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae"
+ "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae",
- "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084",
+ "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084",
"shasum": ""
},
"require": {
@@ -2442,7 +2304,8 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0"
+ "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1"
},
"funding": [
{
@@ -2450,7 +2313,7 @@
"type": "github"
}
],
- "time": "2023-02-03T06:58:15+00:00"
+ "time": "2024-03-02T07:12:49+00:00"
},
{
"name": "sebastian/code-unit",
@@ -2642,20 +2505,20 @@
},
{
"name": "sebastian/complexity",
- "version": "3.0.1",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a"
+ "reference": "68ff824baeae169ec9f2137158ee529584553799"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/c70b73893e10757af9c6a48929fa6a333b56a97a",
- "reference": "c70b73893e10757af9c6a48929fa6a333b56a97a",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
+ "reference": "68ff824baeae169ec9f2137158ee529584553799",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.10",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=8.1"
},
"require-dev": {
@@ -2664,7 +2527,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "3.2-dev"
}
},
"autoload": {
@@ -2688,7 +2551,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.1"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
},
"funding": [
{
@@ -2696,20 +2559,20 @@
"type": "github"
}
],
- "time": "2023-08-31T09:55:53+00:00"
+ "time": "2023-12-21T08:37:17+00:00"
},
{
"name": "sebastian/diff",
- "version": "5.0.3",
+ "version": "5.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b"
+ "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
- "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
+ "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
"shasum": ""
},
"require": {
@@ -2717,12 +2580,12 @@
},
"require-dev": {
"phpunit/phpunit": "^10.0",
- "symfony/process": "^4.2 || ^5"
+ "symfony/process": "^6.4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -2755,7 +2618,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3"
+ "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1"
},
"funding": [
{
@@ -2763,20 +2626,20 @@
"type": "github"
}
],
- "time": "2023-05-01T07:48:21+00:00"
+ "time": "2024-03-02T07:15:17+00:00"
},
{
"name": "sebastian/environment",
- "version": "6.0.1",
+ "version": "6.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
+ "reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
- "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
+ "reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
"shasum": ""
},
"require": {
@@ -2791,7 +2654,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -2819,7 +2682,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
+ "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0"
},
"funding": [
{
@@ -2827,20 +2690,20 @@
"type": "github"
}
],
- "time": "2023-04-11T05:39:26+00:00"
+ "time": "2024-03-23T08:47:14+00:00"
},
{
"name": "sebastian/exporter",
- "version": "5.1.0",
+ "version": "5.1.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "c3fa8483f9539b190f7cd4bfc4a07631dd1df344"
+ "reference": "955288482d97c19a372d3f31006ab3f37da47adf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c3fa8483f9539b190f7cd4bfc4a07631dd1df344",
- "reference": "c3fa8483f9539b190f7cd4bfc4a07631dd1df344",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf",
+ "reference": "955288482d97c19a372d3f31006ab3f37da47adf",
"shasum": ""
},
"require": {
@@ -2854,7 +2717,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -2897,7 +2760,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.0"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2"
},
"funding": [
{
@@ -2905,20 +2768,20 @@
"type": "github"
}
],
- "time": "2023-09-18T07:15:37+00:00"
+ "time": "2024-03-02T07:17:12+00:00"
},
{
"name": "sebastian/global-state",
- "version": "6.0.1",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4"
+ "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4",
- "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
+ "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
"shasum": ""
},
"require": {
@@ -2952,14 +2815,14 @@
}
],
"description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "homepage": "https://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2"
},
"funding": [
{
@@ -2967,24 +2830,24 @@
"type": "github"
}
],
- "time": "2023-07-19T07:19:23+00:00"
+ "time": "2024-03-02T07:19:19+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "2.0.1",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d"
+ "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d",
- "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
+ "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.10",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=8.1"
},
"require-dev": {
@@ -3017,7 +2880,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
},
"funding": [
{
@@ -3025,7 +2888,7 @@
"type": "github"
}
],
- "time": "2023-08-31T09:25:50+00:00"
+ "time": "2023-12-21T08:38:20+00:00"
},
{
"name": "sebastian/object-enumerator",
@@ -3313,16 +3176,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.7.1",
+ "version": "3.9.1",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619"
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
+ "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619",
- "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/267a4405fff1d9c847134db3a3c92f1ab7f77909",
+ "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909",
"shasum": ""
},
"require": {
@@ -3332,11 +3195,11 @@
"php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
},
"bin": [
- "bin/phpcs",
- "bin/phpcbf"
+ "bin/phpcbf",
+ "bin/phpcs"
],
"type": "library",
"extra": {
@@ -3351,34 +3214,58 @@
"authors": [
{
"name": "Greg Sherwood",
- "role": "lead"
+ "role": "Former lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "Current lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
}
],
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
- "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
"keywords": [
"phpcs",
- "standards"
+ "standards",
+ "static analysis"
],
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
+ "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
},
- "time": "2022-06-18T07:21:10+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2024-03-31T21:03:09+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.1",
+ "version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"shasum": ""
},
"require": {
@@ -3407,7 +3294,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
},
"funding": [
{
@@ -3415,7 +3302,7 @@
"type": "github"
}
],
- "time": "2021-07-28T10:34:58+00:00"
+ "time": "2024-03-03T12:36:25+00:00"
}
],
"aliases": [],
diff --git a/src/Controller/CLIController.php b/src/Controller/CLIController.php
index 1e87514..871d848 100644
--- a/src/Controller/CLIController.php
+++ b/src/Controller/CLIController.php
@@ -57,7 +57,7 @@ class CLIController
private readonly EncryptionController $encryptionController,
private $logger)
{
- $this->runCheckSetup();
+ // FIXME needs to be elsewhere $this->runCheckSetup();
$this->commandGroupContainer = (new CommandGroupContainer())
->addCommandGroup(commandGroup: (new CommandGroup(name: 'check', description: 'health checks the system can perform'))
@@ -264,7 +264,8 @@ class CLIController
function runCheckSetup(): void
{
if (!$this->domainController->checkPermissions(quiet: true)) {
- echo COLOR_RED . 'You need to setup the bindAPI first.' . COLOR_DEFAULT .PHP_EOL;
+ echo COLOR_RED . 'You need to setup the bindAPI permission first.' . COLOR_DEFAULT .PHP_EOL;
+ echo 'Run ' . COLOR_YELLOW . './bin/console check:setup' . COLOR_DEFAULT . ' as root or with sudo.' . PHP_EOL;
}
$self = $this->panelRepository->findSelf();
@@ -355,15 +356,17 @@ class CLIController
echo 'You need to supply a username.' . PHP_EOL;
exit(1);
}
- $username = $this->arguments[1];
$uid = posix_getuid();
if ($uid != 0) {
echo 'You need to run this as root or with sudo.' . PHP_EOL;
exit(1);
}
-
- // deluser tracer bind
- // adduser tracer bind
+ $username = $this->arguments[1];
+ if (!$impersonatedUser = posix_getpwnam(username: $username)) {
+ echo 'Cannot find user: ' . $username . PHP_EOL;
+ exit(1);
+ }
+ $impersonatedUserId = $impersonatedUser['uid'];
// add user to group bind
exec(command: "adduser $username bind", output: $output, result_code: $return);
@@ -391,12 +394,20 @@ class CLIController
echo " done." . PHP_EOL;
}
}
+ } else {
+ // check /etc/bind/local.zones permissions
+ echo 'Found ' . COLOR_YELLOW . $this->domainController->localZoneFile . COLOR_DEFAULT . '.' . PHP_EOL;
+
+ echo 'Check permissions for ' . COLOR_YELLOW . $this->domainController->localZoneFile . COLOR_DEFAULT . ' …' ;
+
+ // dont repeat yourself, use check from DomainController FIXME
+ $this->domainController->checkPermissions(impersonatedUserId: $impersonatedUserId);
}
// /etc/bind/local.zones file must be included in /etc/bind/named.conf.local
$namedConfLocal = file_get_contents(filename: $this->domainController->namedConfLocalFile);
if (str_contains(haystack: $namedConfLocal, needle: $this->domainController->localZoneFile)) {
- echo 'Found ' . COLOR_YELLOW . $this->domainController->localZoneFile . COLOR_DEFAULT . ' in ' . COLOR_YELLOW . $this->domainController->namedConfLocalFile . COLOR_DEFAULT . '.' . PHP_EOL;
+ echo 'Found ' . COLOR_YELLOW . $this->domainController->localZoneFile . COLOR_DEFAULT . ' included ' . COLOR_YELLOW . $this->domainController->namedConfLocalFile . COLOR_DEFAULT . '.' . PHP_EOL;
} else {
echo 'Could not find ' . COLOR_YELLOW . $this->domainController->localZoneFile . COLOR_DEFAULT . ' in ' . COLOR_YELLOW . $this->domainController->namedConfLocalFile . COLOR_DEFAULT . '.' . PHP_EOL;
echo 'Adding …';
@@ -413,7 +424,7 @@ class CLIController
// check /etc/bind/zones exists
echo 'Check for ' . COLOR_YELLOW . $this->domainController->localZonesDir . COLOR_DEFAULT . ' …';
if (is_dir(filename: $this->domainController->localZonesDir)) {
- echo " done." . PHP_EOL;
+ echo " exists." . PHP_EOL;
} else {
echo ' Could not find ' . COLOR_YELLOW . $this->domainController->localZonesDir . COLOR_DEFAULT . '.' . PHP_EOL;
echo 'Creating …';
@@ -428,6 +439,7 @@ class CLIController
echo " done." . PHP_EOL;
}
}
+
}
diff --git a/src/Controller/Commands/CommandGroup.php b/src/Controller/Commands/CommandGroup.php
index 470891d..c8e4870 100644
--- a/src/Controller/Commands/CommandGroup.php
+++ b/src/Controller/Commands/CommandGroup.php
@@ -55,14 +55,28 @@ class CommandGroup
return null;
}
+ private function findCommandGroupByName(string $command)
+ {
+ echo 'in check';
+ foreach ($this->commands as $currentCommand) {
+ print_r($currentCommand->getName());
+ if ($currentCommand instanceof CommandGroup) {
+ if ($command === $currentCommand->getName()) {
+ return $currentCommand;
+ }
+ }
+ }
+ return false;
+ }
- public function exec(string $subcommand): void
+ public function exec(string $subcommand): bool
{
if ($command = $this->findCommandByName(command: $subcommand)) {
$command->exec();
+ return true;
} else {
- echo COLOR_DEFAULT . 'Command ' . COLOR_YELLOW . $this->name . ':' . $subcommand . COLOR_DEFAULT . ' not found.' . PHP_EOL;
- exit(1);
+ return false;
}
}
+
}
\ No newline at end of file
diff --git a/src/Controller/Commands/CommandGroupContainer.php b/src/Controller/Commands/CommandGroupContainer.php
index a96b40a..33e6284 100644
--- a/src/Controller/Commands/CommandGroupContainer.php
+++ b/src/Controller/Commands/CommandGroupContainer.php
@@ -63,11 +63,25 @@ class CommandGroupContainer
public function run(string $command, string $subcommand): void
{
- if ($group = $this->findGroupByName(command: $command)) {
- $group->exec(subcommand: $subcommand);
+ if ($subcommand !== '') {
+ if ($group = $this->findGroupByName(command: $command)) {
+ if ($group->exec(subcommand: $subcommand)) {
+ exit(0);
+ }
+ } else {
+ echo COLOR_DEFAULT . 'Unknown subcommand ' . COLOR_YELLOW . $command . ' for ' . $command . COLOR_DEFAULT . '.' . PHP_EOL;
+
+ }
} else {
- echo COLOR_DEFAULT . 'Unknown command ' . COLOR_YELLOW . $command . COLOR_DEFAULT . '.' . PHP_EOL;
- exit(1);
+ // check for command group and print available commands
+ foreach ($this->commandGroups as $group) {
+ echo 'Available subcommands for : ' . COLOR_YELLOW . $group->getName() . COLOR_DEFAULT . ':' . PHP_EOL;
+ if ($group->getName() === $command) {
+ $group->printCommands(strlen(string: $group->getName()));
+ exit(0);
+ }
+ }
}
+ echo COLOR_DEFAULT . 'Unknown command ' . COLOR_YELLOW . $command . COLOR_DEFAULT . '.' . PHP_EOL;
}
}
\ No newline at end of file
diff --git a/src/Controller/DatabaseConnection.php b/src/Controller/DatabaseConnection.php
index 8ec73ed..f5a5d16 100644
--- a/src/Controller/DatabaseConnection.php
+++ b/src/Controller/DatabaseConnection.php
@@ -7,6 +7,7 @@ namespace App\Controller;
use PDO;
use PDOException;
+use PHPUnit\Exception;
/**
*
@@ -30,11 +31,17 @@ class DatabaseConnection
$dbUser = $this->configController->getConfig(configKey: 'dbUser');
$dbPassword = $this->configController->getConfig(configKey: 'dbPassword');
- $this->dbConnection = new PDO(
- dsn: "mysql:host=$dbHost;port=$dbPort;charset=utf8mb4;dbname=$dbDatabase",
- username: $dbUser,
- password: $dbPassword
- );
+ try {
+ $this->dbConnection = new PDO(
+ dsn: "mysql:host=$dbHost;port=$dbPort;charset=utf8mb4;dbname=$dbDatabase",
+ username: $dbUser,
+ password: $dbPassword
+ );
+ } catch (Exception $e) {
+ echo $e->getMessage() . PHP_EOL;
+ echo 'Did you create the database and adjust the config file?' . PHP_EOL;
+ exit(1);
+ }
if (!$this->configController->getConfig(configKey: 'test')) {
// TODO create config => encryption key
@@ -110,7 +117,6 @@ class DatabaseConnection
}
exit(1);
}
-
} catch (PDOException $exception) {
echo $exception->getMessage() . PHP_EOL;
echo 'Did you create the database and adjust the config file?' . PHP_EOL;
diff --git a/src/Controller/DomainController.php b/src/Controller/DomainController.php
index 3d60cec..7fd5fe4 100644
--- a/src/Controller/DomainController.php
+++ b/src/Controller/DomainController.php
@@ -136,12 +136,9 @@ class DomainController
$this->createIncludeFile();
$this->deleteOnNameservers(domain: $domain);
}
-
-
- /**
- * @return bool
- */
- function checkPermissions(bool $verbose = false, bool $quiet = false): bool
+
+
+ function checkPermissions(bool $verbose = false, bool $quiet = false, $impersonatedUserId = null): bool
{
$this->logger->debug(message: "checkPermissions()");
$setupIsValid = true;
@@ -160,7 +157,11 @@ class DomainController
if ($verbose && !$quiet) {
echo 'Checking permissions...' . PHP_EOL;
}
- $uid = posix_geteuid();
+ if ($impersonatedUserId) {
+ $uid = $impersonatedUserId;
+ } else {
+ $uid = posix_geteuid();
+ }
if ($verbose && !$quiet) {
echo "UID:\t" . COLOR_YELLOW . $uid . PHP_EOL;
}
@@ -170,8 +171,10 @@ class DomainController
echo COLOR_DEFAULT . "Name:\t" . COLOR_YELLOW . $name . PHP_EOL;
}
- $bindGroup = posix_getgrnam(name: 'bind');
- $members = $bindGroup['members'];
+ if (!$bindGroup = posix_getgrnam(name: 'bind')) {
+ $bindGroup = [];
+ }
+ $members = $bindGroup['members'] ?? [];
if (in_array(needle: $name, haystack: $members)) {
if ($verbose && !$quiet) {
echo "\t✅ $name" . COLOR_DEFAULT . ' is in group ' . COLOR_YELLOW . 'bind' . PHP_EOL;
@@ -199,7 +202,7 @@ class DomainController
if ($verbose && !$quiet) {
echo 'Checking ' . COLOR_YELLOW . $this->namedConfLocalFile . PHP_EOL;
}
- if ($namedConfLocal = file_get_contents(filename: $this->namedConfLocalFile)) {
+ if (file_exists(filename: $this->namedConfLocalFile) && $namedConfLocal = file_get_contents(filename: $this->namedConfLocalFile)) {
if (!str_contains(haystack: $namedConfLocal, needle: $this->localZoneFile)) {
$setupIsValid = false;
if ($verbose && !$quiet) {
@@ -248,7 +251,7 @@ class DomainController
$domains = $this->domainRepository->findAll();
foreach ($domains as $domain) {
- $idString = '(' . strval(value: $domain->getId()) . ') ';
+ $idString = '(' . $domain->getId() . ') ';
echo COLOR_YELLOW .
str_pad(string: $domain->getName(), length: $maxNameLength + 1)
. COLOR_DEFAULT
diff --git a/src/Util/Console.php b/src/Util/Console.php
index 82a58e2..030be1e 100644
--- a/src/Util/Console.php
+++ b/src/Util/Console.php
@@ -1,16 +1,14 @@
runCommand(arguments: $arguments);
-
-} catch (DependencyException|NotFoundException|Exception $e) {
- echo $e->getMessage() . PHP_EOL;
+} catch (Exception $e) {
+ echo 'Could not initialize the application: ' . $e->getMessage() . PHP_EOL;
exit(1);
}
+try {
+ $app->runCommand(arguments: $arguments);
+} catch (Exception $e) {
+ $exceptionMessage = $e->getMessage();
+ preg_match(pattern: '/\[1045\]/', subject: $exceptionMessage, matches: $matches);
+ if (!empty($matches)) {
+ echo 'Access was denied for a user when trying to access the database.' . PHP_EOL;
+ } else {
+ echo 'The error message could not be parsed.';
+ echo $exceptionMessage . PHP_EOL;
+ exit(1);
+ }
+}
+
+
function confirm(string $message = 'Are you sure? ', array $options = ['y', 'n'], string $default = 'n'): bool
{
// first $options means true, any other false