Improve log censoring mechanics (EXPOSUREAPP-7455, EXPOSUREAPP-7196, EXPOSUREAPP-7514) (#3280)
* Catch IndexOutOfBoundsExceptions in the DebugLogger and log out information * Fix IndexOutOfBoundsException due to censored string bounds exceeding original log message. * Fix missing censoring if log lines contain the same value multiple times. * Remove unused code. * Adjust CensoredString.censor(...) to determine the bounds always on the original. * Add test for incorrectly censored message due to changed bounds (working with bounds on the censored message, instead of original message). * Implement internal censoring collision handling within each censoring module. * Remove superfluous factory method. * Move the final censor compilation step to the DebugLogger, in case of collisions we don't need to do all the work. Re-use censor container for "per module" censoring and the "top-level" combination of all modules. * Adjust censoring for values that need to be censored, but do not overlap, each other, just touch: "<ABC><DEF>". * LINTs * Don't pass all meta data to censoring, we only need to censor the line, the metadata can be added later. No unnecessary string work. * Fix typos and docs. * Remove coerce as we work only the original. * Implement equals/hashcode for replacement actions and changed collection from LIST to SET, to prevent collisions due to duplicate replacement actions. * If a censor throws an exception, censor everything as precaution. * Fix flaky test. Co-authored-by:harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
BMItter <Berndus@gmx.de> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
Showing
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/BugCensor.kt 97 additions, 33 deletions...va/de/rki/coronawarnapp/bugreporting/censors/BugCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/contactdiary/DiaryEncounterCensor.kt 5 additions, 8 deletions...bugreporting/censors/contactdiary/DiaryEncounterCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/contactdiary/DiaryLocationCensor.kt 7 additions, 10 deletions.../bugreporting/censors/contactdiary/DiaryLocationCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/contactdiary/DiaryPersonCensor.kt 7 additions, 10 deletions...pp/bugreporting/censors/contactdiary/DiaryPersonCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/contactdiary/DiaryVisitCensor.kt 5 additions, 8 deletions...app/bugreporting/censors/contactdiary/DiaryVisitCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/presencetracing/CheckInsCensor.kt 6 additions, 9 deletions...pp/bugreporting/censors/presencetracing/CheckInsCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/presencetracing/TraceLocationCensor.kt 10 additions, 13 deletions...greporting/censors/presencetracing/TraceLocationCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/submission/CoronaTestCensor.kt 6 additions, 9 deletions...rnapp/bugreporting/censors/submission/CoronaTestCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/submission/PcrQrCodeCensor.kt 3 additions, 4 deletions...arnapp/bugreporting/censors/submission/PcrQrCodeCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/submission/RACoronaTestCensor.kt 7 additions, 10 deletions...app/bugreporting/censors/submission/RACoronaTestCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/submission/RatProfileCensor.kt 12 additions, 15 deletions...rnapp/bugreporting/censors/submission/RatProfileCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/submission/RatQrCodeCensor.kt 9 additions, 12 deletions...arnapp/bugreporting/censors/submission/RatQrCodeCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/censors/vaccination/CertificateQrCodeCensor.kt 39 additions, 37 deletions...greporting/censors/vaccination/CertificateQrCodeCensor.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLogger.kt 21 additions, 11 deletions...de/rki/coronawarnapp/bugreporting/debuglog/DebugLogger.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/LogLine.kt 8 additions, 9 deletions...ava/de/rki/coronawarnapp/bugreporting/debuglog/LogLine.kt
- Corona-Warn-App/src/test/java/android/util/Log.java 39 additions, 0 deletionsCorona-Warn-App/src/test/java/android/util/Log.java
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/censors/BugCensorTest.kt 147 additions, 4 deletions...e/rki/coronawarnapp/bugreporting/censors/BugCensorTest.kt
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/censors/CensorInjectionTest.kt 4 additions, 4 deletions...coronawarnapp/bugreporting/censors/CensorInjectionTest.kt
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/censors/CheckInsCensorTest.kt 7 additions, 7 deletions.../coronawarnapp/bugreporting/censors/CheckInsCensorTest.kt
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/censors/CoronaTestCensorTest.kt 6 additions, 3 deletions...oronawarnapp/bugreporting/censors/CoronaTestCensorTest.kt
Loading
Please register or sign in to comment