IIS: Remove body prebuffering again. Unneeded due to no lock on modse… #1917
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.
IIS: Remove body pre-buffering again, which I had introduced a few months back. This is no longer needed, because now we have also removed the locking around modsecProcessRequest, so when modsecProcessRequest calls ReadBodyCallback which might block if the client is sending slow, it is no longer holding the lock.
The implementation I introduced a few months ago, where we pre-buffer, has a bug. It causes a freeze if SecRequestBodyAccess is set to Off. This is because if the body is read from IIS, IIS also expects the body the be written back, which I had forgotten. Reverting the pre-buffering fixes this.
Tested by running 150 concurrent diverse requests and ensuring the expected return value.
This is the commit we are undoing: 18af259