-
Notifications
You must be signed in to change notification settings - Fork 377
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
Forwardport "Update to libddwaf 1.5.1" #2320
Conversation
Also update vendored rulesets to 1.4.1 Notable libddwaf API changes include: - ability to set sideband rule data - ability to toggle rules - proper separation of return code vs decided action - ability to hint at multiple actions - non-reliance on garbage collector (finalization must be explicit)
While the presence of a ruby-platform gem for these should be picked up by bundler, sometimes it is not. Also, this makes it a bit more future-proof, so that bundler doesn't attempt to pick a version that has no ruby platform gem, and then proceed to fail.
While the presence of a ruby-platform gem for these should be picked up by bundler, sometimes it is not. Also, this makes it a bit more future-proof, so that bundler doesn't attempt to pick a version that has no ruby platform gem, and then proceed to fail.
Some AppSec spec examples have to be tested against rack-contrib
Previoulsy setting the tag would work but the change would be silently dropped, resulting in the change being absent from the final trace.
Prevents accumulation of instrumentation middlewares if multiple configure blocks are being called, like over app hot-reloading (e.g Rails development mode, which rereads initializers) or across a sequence of examples within a spec suite. Since watchers are essentially static, they need only to be set up once per process, ever.
Rack and Rails are lazily populating upon access. Depending on the access pattern this may mean that body data would not be available to AppSec for analysis. This is worked around by a call to the side-effectful accessors.
Consequently, context will not be set in Rack env, trickling down to either disablement or enablement of other instrumented calls, consistently for the whole request.
This would apply to handle as well, yet currently handle is a value that exists only once per application, so is never to be freed since there is no place for its finalize to be called.
This covers the following AppSec integrations: - Rack - Rails - Sinatra
JSONBodyParser replaces PostBodyContentTypeParser
With POST requests, a CSRF token is theoretically needed, but we have none. Skip the filter, using the appropriate method depending on Rails versions. Also the mock app may not have the filter defined.
Prior to 0.7 an argument is lacking to generate multipart requests without uploading a file.
This reverts commit ba1ef94.
Update to libddwaf 1.5.1
78df080
to
759526d
Compare
Silly me forgot about JRuby locks |
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.
Since I previously reviewed and approved #2306 I mostly went through this PR to doublecheck that the diff still looked good, and it did. LGTM 👍
Codecov Report
@@ Coverage Diff @@
## master #2320 +/- ##
==========================================
+ Coverage 97.56% 98.30% +0.73%
==========================================
Files 1076 1079 +3
Lines 56800 57451 +651
==========================================
+ Hits 55416 56475 +1059
+ Misses 1384 976 -408
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
What does this PR do?
Forward port #2306
Motivation
Apply changes done to
1.5-stable
related to libddwaf update.