Fix secret removal which was also removing carriage returns and not supporting multiple URLs in single string #942
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.
Rationale
Fix #924 (and enabler for #936)
Changes
The logic to remove S3 secrets was not taking into account the fact that some dictionary keys (e.g. logs) might contain long strings with many S3 secrets to remove. It was also considering that the string is a URL, hence removing all carriage returns.
Logic has been fixed to take all this into account and properly continue to remove secrets.
Test cases have been supplemented with new test cases and assertion logic has be supplemented with a check of the whole response.
Password in network location is removed as well.
Secret replacement is now "--------" instead of "********" so that it is not replaced by url encoding / is part of the allowed chars in a URL/URI.