From ede7b2d01272fc087adb0f6bd199304166b7d63a Mon Sep 17 00:00:00 2001 From: manuroe Date: Mon, 15 Jul 2019 10:11:27 +0200 Subject: [PATCH] Tools: Create filterCryptoLogs.sh to filter logs related to e2ee from Riot logs --- CHANGES.rst | 1 + Tools/Logs/filterCryptoLogs.sh | 59 ++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100755 Tools/Logs/filterCryptoLogs.sh diff --git a/CHANGES.rst b/CHANGES.rst index 57dcf2d70..11148056b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -20,6 +20,7 @@ Improvements: * Message Editing: Handle reply edition (#2492). * RoomVC: Add ability to upload a file that comes from outside the app’s sandbox (#2019). * Share extension: Enable any file upload (max 5). + * Tools: Create filterCryptoLogs.sh to filter logs related to e2ee from Riot logs. Bug fix: * Device Verification: Fix user display name and device id colors in dark theme diff --git a/Tools/Logs/filterCryptoLogs.sh b/Tools/Logs/filterCryptoLogs.sh new file mode 100755 index 000000000..72363f783 --- /dev/null +++ b/Tools/Logs/filterCryptoLogs.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +# Filter Riot logs to extract only logs related to end-to-end encryption. +# The output is colorised according to the cryto sub module. +# +# Usage: +# ./filterCryptoLogs.sh console.log + +FILES=$1 + +if [ ! -n "$FILES" ]; then + FILES="*" +fi + +grep -iE 'crypto|MXDevice|olm|error|MXKey|KeyRequest' $FILES \ + | grep -viE 'MXJSONModels|MXOlmSessionResult|MXRealmCryptoStore|NSCocoaErrorDomain|olm_keys_not_sent_error' \ + | awk '{ + # Errors in red (I failed to make a gsub case insensitive) + gsub(".*error.*", "\033[0;31m&\033[0m"); + gsub(".*Error.*", "\033[0;31m&\033[0m"); + gsub(".*ERROR.*", "\033[0;31m&\033[0m"); + + # Isolate each encryption of a message + gsub(".*\\[MXRoom] sendEventOfType\\(MXCrypto\\)\\: Encrypting event.*", + "\n\n\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n&"); + gsub(".*\\[MXRoom] sendEventOfType\\(MXCrypto\\)\\: Send event.*", + "&\n----------------------------------------------------------------------------------------------------------------\n\n\n\n"); + gsub(".*\\[MXRoom] sendEventOfType\\(MXCrypto\\)\\: Cannot encrypt.*", + "&\n----------------------------------------------------------------------------------------------------------------\n\n\n\n"); + + gsub("\\[MXCrypto\\]", "\033[0;32m&\033[0m"); + gsub("\\[MXOlmDevice\\]", "\033[0;33m&\033[0m"); + + gsub("\\[MXMegolmEncryption\\]", "\033[0;36m&\033[0m"); + + gsub("\\[MXOlmInboundGroupSession\\]", "\033[1;34m&\033[0m"); + gsub("\\[MXMegolmDecryption\\]", "\033[0;34m&\033[0m"); + + gsub("\\[MXOlmDecryption\\]", "\033[0;34m&\033[0m"); + + gsub("\\[MXDeviceList\\]", "\033[0;36m&\033[0m"); + gsub("\\[MXDeviceListOperationsPool\\]", "\033[1;36m&\033[0m"); + + gsub("\\[MXKey\\]", "\033[1;35m&\033[0m"); + gsub("\\[MXKeyBackup\\]", "\033[1;35m&\033[0m"); + gsub("\\[MXKeyBackupPassword\\]", "\033[1;35m&\033[0m"); + gsub("\\[MXMegolmExportEncryption\\]", "\033[1;35m&\033[0m"); + gsub("\\[MXKeyBackupPassword\\]", "\033[1;35m&\033[0m"); + + gsub("\\[MXOutgoingRoomKeyRequestManager\\]", "\033[1;35m&\033[0m"); + gsub("\\[MXIncomingRoomKeyRequestManager\\]", "\033[1;34m&\033[0m"); + + gsub("\\[MXDeviceVerificationTransaction\\]", "\033[0;36m&\033[0m"); + gsub("\\[MXKeyVerification\\]", "\033[0;36m&\033[0m"); + + gsub("\\[MXRealmCryptoStore\\]", "\033[0;37m&\033[0m"); + + print + }'