From 9c1078847333bacca716a70a4e7550825cb1f0d8 Mon Sep 17 00:00:00 2001 From: Jared Hendrickson Date: Mon, 19 Jan 2026 08:15:50 -0700 Subject: [PATCH 1/6] fix: don't assume new log_level setting was defaulted --- .../files/usr/local/pkg/RESTAPI/Core/BaseTraits.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Core/BaseTraits.inc b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Core/BaseTraits.inc index a8cfd1c3..ef8204cf 100644 --- a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Core/BaseTraits.inc +++ b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Core/BaseTraits.inc @@ -53,7 +53,8 @@ trait BaseTraits { # If the log level has not been set yet, obtain it if (!isset(self::$__log_level)) { - self::$__log_level = constant(RESTAPISettings::get_pkg_config()['log_level']) ?? 4; + $log_lvl_cfg = RESTAPISettings::get_pkg_config()['log_level'] ?? 'LOG_WARNING'; + self::$__log_level = constant($log_lvl_cfg); } # Do not log if the incoming level is higher than the configured log level From 597d0e54bb023a1e21f8536f25e3821ee11f85d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Jan 2026 23:14:15 -0700 Subject: [PATCH 2/6] chore: bump lodash in the npm_and_yarn group across 1 directory (#832) --- package-lock.json | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d722200..a8443aad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -666,7 +666,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -1873,7 +1872,6 @@ "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", "dev": true, - "peer": true, "engines": { "node": ">= 10.16.0" } @@ -1947,10 +1945,11 @@ "license": "MIT" }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" }, "node_modules/lodash.topath": { "version": "4.5.2", @@ -2162,7 +2161,6 @@ "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -2276,7 +2274,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "dev": true, - "peer": true, "bin": { "rollup": "dist/bin/rollup" }, From 3160a9bc5cbf118960e70eb2abf8ddc068f0e5e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Feb 2026 16:21:17 -0700 Subject: [PATCH 3/6] chore: bump webonyx/graphql-php from 15.29.4 to 15.30.1 (#838) --- composer.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/composer.lock b/composer.lock index 3881a1de..e0a82b10 100644 --- a/composer.lock +++ b/composer.lock @@ -71,16 +71,16 @@ }, { "name": "webonyx/graphql-php", - "version": "v15.29.4", + "version": "v15.30.1", "source": { "type": "git", "url": "https://github.com/webonyx/graphql-php.git", - "reference": "7ae6371184a1909822916ff101eab7e6e070c656" + "reference": "12175bc314f0adc1f3e77f7efd0c8cd24f69b483" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/7ae6371184a1909822916ff101eab7e6e070c656", - "reference": "7ae6371184a1909822916ff101eab7e6e070c656", + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/12175bc314f0adc1f3e77f7efd0c8cd24f69b483", + "reference": "12175bc314f0adc1f3e77f7efd0c8cd24f69b483", "shasum": "" }, "require": { @@ -93,14 +93,14 @@ "amphp/http-server": "^2.1", "dms/phpunit-arraysubset-asserts": "dev-master", "ergebnis/composer-normalize": "^2.28", - "friendsofphp/php-cs-fixer": "3.92.4", - "mll-lab/php-cs-fixer-config": "5.11.0", + "friendsofphp/php-cs-fixer": "3.93.1", + "mll-lab/php-cs-fixer-config": "5.13.0", "nyholm/psr7": "^1.5", "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "2.1.33", - "phpstan/phpstan-phpunit": "2.0.11", - "phpstan/phpstan-strict-rules": "2.0.7", + "phpstan/phpstan": "2.1.37", + "phpstan/phpstan-phpunit": "2.0.12", + "phpstan/phpstan-strict-rules": "2.0.8", "phpunit/phpunit": "^9.5 || ^10.5.21 || ^11", "psr/http-message": "^1 || ^2", "react/http": "^1.6", @@ -134,7 +134,7 @@ ], "support": { "issues": "https://github.com/webonyx/graphql-php/issues", - "source": "https://github.com/webonyx/graphql-php/tree/v15.29.4" + "source": "https://github.com/webonyx/graphql-php/tree/v15.30.1" }, "funding": [ { @@ -142,7 +142,7 @@ "type": "open_collective" } ], - "time": "2026-01-05T16:06:25+00:00" + "time": "2026-01-29T15:14:01+00:00" } ], "packages-dev": [], From 62617339ca65bce398a9845e576bbfa5b0e431e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 04:33:59 +0000 Subject: [PATCH 4/6] chore: bump prettier from 3.7.4 to 3.8.1 (#839) --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a8443aad..76a6fa15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "devDependencies": { "@prettier/plugin-php": "^0.24.0", "@stoplight/spectral-cli": "^6.15.0", - "prettier": "^3.7.4" + "prettier": "^3.8.1" } }, "node_modules/@asyncapi/specs": { @@ -2156,9 +2156,9 @@ } }, "node_modules/prettier": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", - "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index 92635fc5..d0f86c80 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "prettier": "^3.7.4", + "prettier": "^3.8.1", "@prettier/plugin-php": "^0.24.0", "@stoplight/spectral-cli": "^6.15.0" } From e04d4b34f369efd97e7ac196e54342d68a6c4117 Mon Sep 17 00:00:00 2001 From: Jared Hendrickson Date: Thu, 5 Feb 2026 16:15:30 -0700 Subject: [PATCH 5/6] feat(FirewallRule): allow 'any' keyword as interface value #840 --- .../files/usr/local/pkg/RESTAPI/Models/FirewallRule.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/FirewallRule.inc b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/FirewallRule.inc index 45f6f3a9..bd3c3cd3 100644 --- a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/FirewallRule.inc +++ b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/FirewallRule.inc @@ -74,6 +74,7 @@ class FirewallRule extends Model { allow_interface_groups: true, allow_ipsec_interface: true, allow_openvpn_interface: true, + allow_custom: ['any'], many: true, help_text: 'The interface where packets must originate to match this rule.', ); From 8d193dfe90f00594d75dc4fd2524cf8397680d84 Mon Sep 17 00:00:00 2001 From: Jared Hendrickson Date: Thu, 5 Feb 2026 16:19:28 -0700 Subject: [PATCH 6/6] test(FirewallRule): ensure we can create a floating rule with the 'any' interface #840 --- .../Tests/APIModelsFirewallRuleTestCase.inc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Tests/APIModelsFirewallRuleTestCase.inc b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Tests/APIModelsFirewallRuleTestCase.inc index 5135ec1a..e0d7d922 100644 --- a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Tests/APIModelsFirewallRuleTestCase.inc +++ b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Tests/APIModelsFirewallRuleTestCase.inc @@ -993,4 +993,21 @@ class APIModelsFirewallRuleTestCase extends TestCase { $this->assert_equals($rule->updated_by->value, "$client->username@$client->ip_address (API)"); } } + + /** + * Checks that we can create a floating firewall rule with the 'any' interface + */ + public function test_floating_rule_with_any_interface(): void { + # Create a firewall rule to test with + $rule = new FirewallRule( + type: 'pass', + interface: ['any'], + ipprotocol: 'inet', + protocol: 'tcp', + source: 'any', + destination: 'any', + floating: true, + ); + $rule->validate(); + } }