-
Notifications
You must be signed in to change notification settings - Fork 800
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WAF: Ensure mode is set during activation #39690
base: trunk
Are you sure you want to change the base?
Conversation
Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.
Interested in more tips and information?
|
Thank you for your PR! When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:
This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖 The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available. Follow this PR Review Process:
Still unsure? Reach out in #jetpack-developers for guidance! Jetpack plugin: The Jetpack plugin has different release cadences depending on the platform:
If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Waf_Runner::activate
looks as though it only runs on plugin (or more specifically WAF module, as you've noted) activation - if I delete the option it doesn't appear to get re-set by updating settings.
UPDATE: Oddly enough, I see now that this also is supposed to run on Waf_Rules_Manager::reactivate_on_rules_option_change
. With the option set, it does, once deleted, it doesn't 🤔
ANOTHER UPDATE: Ah, Waf_Runner::initialize
runs the above and returns early if ! self::is_allowed_mode( JETPACK_WAF_MODE )
, which is the case here when the option doesn't exist.
0420136
to
e1ecba1
Compare
e1ecba1
to
cdc40d0
Compare
cdc40d0
to
ad6f61f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works as described in standard and standalone mode.
One thing I wanted to make note of to ensure it is the expected behaviour, if I delete WAF mode option but don’t reload the UI and update settings the WAF no longer functions to block test requests. It is also does not reset by simply reloading the Firewall UI but rather only on successful WAF settings updates.
Thanks for the review @dkmyta 😄
This is correct, the change here ultimately just moves the setting of the default mode value from the "on waf module activation" event to the more generic "on waf activation". |
4610071
to
86a7647
Compare
43a1be5
to
c780f15
Compare
c780f15
to
ddb5c34
Compare
13bb302
to
b8d9e6b
Compare
Move functionality from module activation into the more generic waf activation method changelog Move hooks out of Waf_Runner class Use update_option to ensure empty/falsey options are updated Add test teardowns Use valid blog_charset value in tests changelog Revert "Add test teardowns" This reverts commit bfcf0d1. Revert "Use valid blog_charset value in tests" This reverts commit 9d4315d. Revert "changelog" This reverts commit 6da6f9f.
6da6f9f
to
bfa3f6d
Compare
Proposed changes:
on_waf_activation
method (which runs on module activation) into the genericWaf_Runner::activate
method (which runs on module activation, plus firewall settings updates).Other information:
Jetpack product discussion
N/A
Does this pull request change what data or activity we track or use?
No
Testing instructions:
jetpack_waf_mode
option from your site.jetpack_waf_mode
option has been reset to "normal".