Repository navigation
kanopi/firewall 2.33, and parity with drupal/basic_firewall 2.0.0-beta9 - #5
Merged
Merged
Conversation
…ges the library can read
… a rate limit can count
…et offline rule lists switch it off
…he keys that count everybody as one
…eric comparisons the library can read
…ge, and move the file-only caches with a constant both paths read
…age screen, and cron after every rebuild
… keeps them, and compile them to keys the library reads
…rewrite and translate the old ones, and compile an ASN as a number
…, drop a changelog fix for code never released, and bring readme.txt up to the branch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bumps
kanopi/firewallto ^2.33 (2.33.0) and brings the plugin up to parity withdrupal/basic_firewall2.x (2.0.0-beta9), porting everything the Drupal module has shipped since this plugin last caught up. Along the way it fixes several existing WordPress-side bugs where rules loaded, reported healthy, and matched nothing.One commit per feature; each passed unit, PHPStan, PHPCS and the WordPress integration suite before it was committed.
Ported from the Drupal module
1013bc2ccbf13bwp basic-firewall status)938994a49d16e5basic_firewall_decision/basic_firewall_decision_{type}actionse4d50d5b812ee41a7171237c160bexceptionmode; rate limit docs corrected3bfa48d0c1cdbbd641c6af25e3c11ccfa9eclear-cachec2e4678wp basic-firewall warm-cache, a button, and WP-Cron after each rebuildExisting bugs fixed
gt/gte/lt/lte/not_containscompiled to operator names the library does not know. Translated at compile time, so stored rules are fixed without a re-save (d641c6a).aa15a6b).country_name,timezone,latitude,longitude,organization), andasn equals Nnever matched because the value compiled as a string. Stored rules rewritten by schema upgrade 7 and translated at compile time (9a2a351).3bfa48d).e4d50d5).User_Agentcompiled acache_dirkey the library never read (1ccfa9e).Deliberate differences from Drupal
BASIC_FIREWALL_MODEreally does win over the panic file (Drupal's README says so; its code does not — drupal #78).start-endranges, which the library never matches (drupal #79).BASIC_FIREWALL_CACHE_DIRconstant, so both evaluation paths agree (drupal #85).Bugs found in the Drupal module while porting were filed as drupal/basic_firewall #78–#81 and #83–#88.
Testing
DB_PASSWORDones.composer analyseandcomposer lintclean.build/build-zip.shbuilds the scoped release andverify-scope.phppasses, including the new capability probes.ext-redis, no server); the extension-missing paths were tested by running the suite without the extension.Known open items
With the wp-config.php early path active,
exceptionmode fails open for block/challenge outcomes; whether to hand them to the mu-plugin (as marks already are) is undecided.An ASN referenced list with
equalsstill cannot match (the library substitutes list values as strings) — needs an upstream change.Independent of Add PHP 8.5 to the matrix #4 (PHP 8.5 / CircleCI); either can merge first.
Was AI used in this pull request?