Continuous masking of masked variables above 4KiB
Release notes
{placeholder for release notes}
Problem
In !2979 (merged), we introduced a fix for masked variables above 4KiB, but it involved sometimes tailing the end of the variable. We discovered this was not a breaking change, as the previous masking implementation would also occasionally reveal masked variables, but in full, at any length, based on how a log line could be split across multiple Write()
calls non-deterministically.
Proposal:
Remove the phrase transform and reliance on text/transform
which has an internal 4 KiB buffer. Have an implementation that doesn't require a buffer, but instead counts how much of a phrase as been matched and act accordingly when it's either fully matched (write [MASKED]
) or encounters a character that cannot be matched (write back all currently matched characters).
Tasks
-
New masking solution: !3482 (merged) -
Conduct regression testing -
Conduct performance testing