diff --git a/app/Listeners/Email/TellFirewallTooManyEmailsSent.php b/app/Listeners/Email/TellFirewallTooManyEmailsSent.php
index 933923aad..c8264385c 100644
--- a/app/Listeners/Email/TellFirewallTooManyEmailsSent.php
+++ b/app/Listeners/Email/TellFirewallTooManyEmailsSent.php
@@ -5,7 +5,6 @@ namespace App\Listeners\Email;
use Akaunting\Firewall\Events\AttackDetected;
use Akaunting\Firewall\Traits\Helper;
use App\Events\Email\TooManyEmailsSent as Event;
-use Illuminate\Support\Facades\Config;
class TellFirewallTooManyEmailsSent
{
@@ -17,9 +16,7 @@ class TellFirewallTooManyEmailsSent
$this->middleware = 'too_many_emails_sent';
$this->user_id = $event->user_id;
- $this->loadConfig();
-
- if ($this->skip($event)) {
+ if ($this->skip()) {
return;
}
@@ -28,40 +25,7 @@ class TellFirewallTooManyEmailsSent
event(new AttackDetected($log));
}
- public function loadConfig(): void
- {
- if (! empty(Config::get('firewall.middleware.' . $this->middleware))) {
- return;
- }
-
- $config = array_merge_recursive(
- Config::get('firewall'),
- [
- 'middleware' => [
- $this->middleware => [
- 'enabled' => env('FIREWALL_MIDDLEWARE_' . strtoupper($this->middleware) . '_ENABLED', Config::get('firewall.enabled', true)),
-
- 'methods' => ['post'],
-
- 'routes' => [
- 'only' => [], // i.e. 'contact'
- 'except' => [], // i.e. 'admin/*'
- ],
-
- 'auto_block' => [
- 'attempts' => env('FIREWALL_MIDDLEWARE_' . strtoupper($this->middleware) . '_AUTO_BLOCK_ATTEMPTS', 20),
- 'frequency' => 1 * 60, // 1 minute
- 'period' => 30 * 60, // 30 minutes
- ],
- ],
- ],
- ]
- );
-
- Config::set('firewall', $config);
- }
-
- public function skip($event): bool
+ public function skip(): bool
{
if ($this->isDisabled()) {
return true;
diff --git a/composer.lock b/composer.lock
index 6fc7c3955..e15ec1409 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4951,16 +4951,16 @@
},
{
"name": "laravel/framework",
- "version": "v10.16.1",
+ "version": "v10.17.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "5c93d2795c393b462481179ce42dedfb30cc19b5"
+ "reference": "a0e3f5ac5b6258f6ede9a2a2c5cc3820baea24a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/5c93d2795c393b462481179ce42dedfb30cc19b5",
- "reference": "5c93d2795c393b462481179ce42dedfb30cc19b5",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/a0e3f5ac5b6258f6ede9a2a2c5cc3820baea24a2",
+ "reference": "a0e3f5ac5b6258f6ede9a2a2c5cc3820baea24a2",
"shasum": ""
},
"require": {
@@ -4978,11 +4978,12 @@
"ext-tokenizer": "*",
"fruitcake/php-cors": "^1.2",
"guzzlehttp/uri-template": "^1.0",
+ "laravel/prompts": "^0.1",
"laravel/serializable-closure": "^1.3",
"league/commonmark": "^2.2.1",
"league/flysystem": "^3.8.0",
"monolog/monolog": "^3.0",
- "nesbot/carbon": "^2.62.1",
+ "nesbot/carbon": "^2.67",
"nunomaduro/termwind": "^1.13",
"php": "^8.1",
"psr/container": "^1.1.1|^2.0.1",
@@ -5061,7 +5062,6 @@
"mockery/mockery": "^1.5.1",
"orchestra/testbench-core": "^8.4",
"pda/pheanstalk": "^4.0",
- "phpstan/phpdoc-parser": "^1.15",
"phpstan/phpstan": "^1.4.7",
"phpunit/phpunit": "^10.0.7",
"predis/predis": "^2.0.2",
@@ -5147,7 +5147,55 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2023-07-26T03:30:46+00:00"
+ "time": "2023-08-01T14:08:45+00:00"
+ },
+ {
+ "name": "laravel/prompts",
+ "version": "v0.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/prompts.git",
+ "reference": "309b30157090a63c40152aa912d198d6aeb60ea6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/309b30157090a63c40152aa912d198d6aeb60ea6",
+ "reference": "309b30157090a63c40152aa912d198d6aeb60ea6",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "illuminate/collections": "^10.0",
+ "php": "^8.1",
+ "symfony/console": "^6.2"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.5",
+ "pestphp/pest": "^2.3",
+ "phpstan/phpstan": "^1.10",
+ "phpstan/phpstan-mockery": "^1.1"
+ },
+ "suggest": {
+ "ext-pcntl": "Required for the spinner to be animated."
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Laravel\\Prompts\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/prompts/issues",
+ "source": "https://github.com/laravel/prompts/tree/v0.1.1"
+ },
+ "time": "2023-07-31T15:03:02+00:00"
},
{
"name": "laravel/sanctum",
@@ -9075,16 +9123,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.11.19",
+ "version": "v0.11.20",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "1724ceff278daeeac5a006744633bacbb2dc4706"
+ "reference": "0fa27040553d1d280a67a4393194df5228afea5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1724ceff278daeeac5a006744633bacbb2dc4706",
- "reference": "1724ceff278daeeac5a006744633bacbb2dc4706",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/0fa27040553d1d280a67a4393194df5228afea5b",
+ "reference": "0fa27040553d1d280a67a4393194df5228afea5b",
"shasum": ""
},
"require": {
@@ -9145,9 +9193,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.11.19"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.11.20"
},
- "time": "2023-07-15T19:42:19+00:00"
+ "time": "2023-07-31T14:32:22+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -9691,16 +9739,16 @@
},
{
"name": "sentry/sentry",
- "version": "3.20.1",
+ "version": "3.21.0",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-php.git",
- "reference": "644ad9768c18139a80ac510090fad000d9ffd8a4"
+ "reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/644ad9768c18139a80ac510090fad000d9ffd8a4",
- "reference": "644ad9768c18139a80ac510090fad000d9ffd8a4",
+ "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/624aafc22b84b089ffa43b71fb01e0096505ec4f",
+ "reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f",
"shasum": ""
},
"require": {
@@ -9744,11 +9792,6 @@
"monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler."
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.13.x-dev"
- }
- },
"autoload": {
"files": [
"src/functions.php"
@@ -9780,7 +9823,7 @@
],
"support": {
"issues": "https://github.com/getsentry/sentry-php/issues",
- "source": "https://github.com/getsentry/sentry-php/tree/3.20.1"
+ "source": "https://github.com/getsentry/sentry-php/tree/3.21.0"
},
"funding": [
{
@@ -9792,20 +9835,20 @@
"type": "custom"
}
],
- "time": "2023-06-26T11:01:40+00:00"
+ "time": "2023-07-31T15:31:24+00:00"
},
{
"name": "sentry/sentry-laravel",
- "version": "3.7.0",
+ "version": "3.7.1",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-laravel.git",
- "reference": "f6f64312a13f1b801e570713e857cdb83896e58b"
+ "reference": "d1b21a9552db12016d3aeb15f6e6188a03a5dd87"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/f6f64312a13f1b801e570713e857cdb83896e58b",
- "reference": "f6f64312a13f1b801e570713e857cdb83896e58b",
+ "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/d1b21a9552db12016d3aeb15f6e6188a03a5dd87",
+ "reference": "d1b21a9552db12016d3aeb15f6e6188a03a5dd87",
"shasum": ""
},
"require": {
@@ -9870,7 +9913,7 @@
],
"support": {
"issues": "https://github.com/getsentry/sentry-laravel/issues",
- "source": "https://github.com/getsentry/sentry-laravel/tree/3.7.0"
+ "source": "https://github.com/getsentry/sentry-laravel/tree/3.7.1"
},
"funding": [
{
@@ -9882,7 +9925,7 @@
"type": "custom"
}
],
- "time": "2023-07-31T11:54:22+00:00"
+ "time": "2023-08-01T10:02:58+00:00"
},
{
"name": "simple-icons/simple-icons",
diff --git a/config/firewall.php b/config/firewall.php
index 214bfd7a5..149a86aeb 100644
--- a/config/firewall.php
+++ b/config/firewall.php
@@ -436,6 +436,24 @@ return [
],
],
+ // Custom middleware
+ 'too_many_emails_sent' => [
+ 'enabled' => env('FIREWALL_MIDDLEWARE_TOO_MANY_EMAILS_SENT_ENABLED', env('FIREWALL_ENABLED', true)),
+
+ 'methods' => ['post'],
+
+ 'routes' => [
+ 'only' => [], // i.e. 'contact'
+ 'except' => [], // i.e. 'admin/*'
+ ],
+
+ 'auto_block' => [
+ 'attempts' => env('FIREWALL_MIDDLEWARE_TOO_MANY_EMAILS_SENT_AUTO_BLOCK_ATTEMPTS', 20),
+ 'frequency' => 1 * 60, // 1 minute
+ 'period' => 30 * 60, // 30 minutes
+ ],
+ ],
+
],
];
diff --git a/config/sentry.php b/config/sentry.php
index 2030a3bd8..87cd2e3af 100644
--- a/config/sentry.php
+++ b/config/sentry.php
@@ -43,9 +43,6 @@ return [
// Capture Livewire components as breadcrumbs
'livewire' => env('SENTRY_BREADCRUMBS_LIVEWIRE_ENABLED', true),
- // Capture storage access as breadcrumbs
- 'storage' => env('SENTRY_BREADCRUMBS_STORAGE_ENABLED', true),
-
// Capture SQL queries as breadcrumbs
'sql_queries' => env('SENTRY_BREADCRUMBS_SQL_QUERIES_ENABLED', true),
@@ -78,9 +75,6 @@ return [
// Capture views rendered as spans
'views' => env('SENTRY_TRACE_VIEWS_ENABLED', true),
- // Capture storage access as spans
- 'storage' => env('SENTRY_TRACE_STORAGE_ENABLED', true),
-
// Capture Livewire components as spans
'livewire' => env('SENTRY_TRACE_LIVEWIRE_ENABLED', true),
diff --git a/resources/assets/js/views/wizard/Finish.vue b/resources/assets/js/views/wizard/Finish.vue
index 075fb2645..cb75fec9a 100644
--- a/resources/assets/js/views/wizard/Finish.vue
+++ b/resources/assets/js/views/wizard/Finish.vue
@@ -20,16 +20,16 @@
-