Add new rules to log scrubber.
This commit is contained in:
parent
b7464ffca9
commit
91b411abb5
2 changed files with 17 additions and 1 deletions
|
@ -10,6 +10,7 @@ import kotlinx.parcelize.Parcelize
|
|||
import okio.ByteString
|
||||
import okio.ByteString.Companion.toByteString
|
||||
import org.signal.core.util.Base64
|
||||
import org.signal.core.util.Hex
|
||||
import org.signal.core.util.Serializer
|
||||
import org.signal.ringrtc.CallLinkRootKey
|
||||
|
||||
|
@ -34,8 +35,11 @@ class CallLinkRoomId private constructor(private val roomId: ByteArray) : Parcel
|
|||
return roomId.contentHashCode()
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints call link room id as a hex string, explicitly for logging.
|
||||
*/
|
||||
override fun toString(): String {
|
||||
return DatabaseSerializer.serialize(this)
|
||||
return Hex.toStringCondensed(roomId)
|
||||
}
|
||||
|
||||
object DatabaseSerializer : Serializer<CallLinkRoomId, String> {
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue