Add new rules to log scrubber.

This commit is contained in:
Alex Hart
2024-11-21 14:55:54 -04:00
committed by Greyson Parrelli
parent b7464ffca9
commit 91b411abb5
2 changed files with 17 additions and 1 deletions

View File

@@ -75,6 +75,8 @@ object Scrubber {
private val CALL_LINK_PATTERN = Pattern.compile("([bBcCdDfFgGhHkKmMnNpPqQrRsStTxXzZ]{4})(-[bBcCdDfFgGhHkKmMnNpPqQrRsStTxXzZ]{4}){7}")
private const val CALL_LINK_CENSOR_SUFFIX = "-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"
private val CALL_LINK_ROOM_ID_PATTERN = Pattern.compile("[0-9a-f]{61}([0-9a-f]{3})")
@JvmStatic
@Volatile
var identifierHmacKeyProvider: () -> ByteArray? = { null }
@@ -97,6 +99,7 @@ object Scrubber {
.scrubIpv4()
.scrubIpv6()
.scrubCallLinkKeys()
.scrubCallLinkRoomIds()
}
private fun CharSequence.scrubE164(): CharSequence {
@@ -192,6 +195,15 @@ object Scrubber {
}
}
private fun CharSequence.scrubCallLinkRoomIds(): CharSequence {
return scrub(this, CALL_LINK_ROOM_ID_PATTERN) { matcher, output ->
val match = matcher.group(1)
output
.append("[REDACTED]")
.append(match)
}
}
private fun scrub(input: CharSequence, pattern: Pattern, processMatch: MatchProcessor): CharSequence {
val output = StringBuilder(input.length)
val matcher: Matcher = pattern.matcher(input)