From e5ceb20a83afd0d3637207315cf1eecaedc49e7b Mon Sep 17 00:00:00 2001 From: psylenced <1967906+psylenced@users.noreply.github.com> Date: Sun, 16 Oct 2022 22:36:50 +1100 Subject: [PATCH] Fixed: Discord webhook logs now get cleansed to remove webhook id and token. --- .../InstrumentationTests/CleanseLogMessageFixture.cs | 4 ++++ src/NzbDrone.Common/Instrumentation/CleanseLogMessage.cs | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Common.Test/InstrumentationTests/CleanseLogMessageFixture.cs b/src/NzbDrone.Common.Test/InstrumentationTests/CleanseLogMessageFixture.cs index 4f32b3967..7b0b7058b 100644 --- a/src/NzbDrone.Common.Test/InstrumentationTests/CleanseLogMessageFixture.cs +++ b/src/NzbDrone.Common.Test/InstrumentationTests/CleanseLogMessageFixture.cs @@ -80,6 +80,10 @@ namespace NzbDrone.Common.Test.InstrumentationTests // Notifiarr [TestCase(@"https://xxx.yyy/api/v1/notification/radarr/9pr04sg6-0123-3210-imav-eql2tyu8xyui")] + // Discord + [TestCase(@"https://discord.com/api/webhooks/mySecret")] + [TestCase(@"https://discord.com/api/webhooks/mySecret/01233210")] + public void should_clean_message(string message) { var cleansedMessage = CleanseLogMessage.Cleanse(message); diff --git a/src/NzbDrone.Common/Instrumentation/CleanseLogMessage.cs b/src/NzbDrone.Common/Instrumentation/CleanseLogMessage.cs index 4f7999c5d..0559b4cd3 100644 --- a/src/NzbDrone.Common/Instrumentation/CleanseLogMessage.cs +++ b/src/NzbDrone.Common/Instrumentation/CleanseLogMessage.cs @@ -50,7 +50,10 @@ namespace NzbDrone.Common.Instrumentation new Regex(@"(?<=\?|&)(X-Plex-Client-Identifier|X-Plex-Token)=(?[^&=]+?)(?= |&|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase), // Notifiarr - new Regex(@"api/v[0-9]/notification/radarr/(?[\w-]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase) + new Regex(@"api/v[0-9]/notification/radarr/(?[\w-]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase), + + // Discord + new Regex(@"discord.com/api/webhooks/((?[\w-]+)/)?(?[\w-]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase) }; private static readonly Regex CleanseRemoteIPRegex = new Regex(@"(?:Auth-\w+(?