From 4e5f091b6c53562a2530da4a89a1b4dccc3b30ae Mon Sep 17 00:00:00 2001 From: flightlevel Date: Sat, 15 Sep 2018 15:20:31 +1000 Subject: [PATCH] Check for Mono legacy TLS --- src/Jackett.Server/Initialisation.cs | 27 +++++++++++++++++++++++++++ src/Jackett.Server/Program.cs | 1 + 2 files changed, 28 insertions(+) diff --git a/src/Jackett.Server/Initialisation.cs b/src/Jackett.Server/Initialisation.cs index a6d43263f..34b1942dd 100644 --- a/src/Jackett.Server/Initialisation.cs +++ b/src/Jackett.Server/Initialisation.cs @@ -153,5 +153,32 @@ namespace Jackett.Server } } } + + public static void CheckEnvironmentalVariables(Logger logger) + { + //Check the users environmental variables to ensure they aren't using Mono legacy TLS + + var enumerator = Environment.GetEnvironmentVariables().GetEnumerator(); + while (enumerator.MoveNext()) + { + if (enumerator.Key.ToString().Equals("MONO_TLS_PROVIDER", StringComparison.OrdinalIgnoreCase)) + { + logger.Info("MONO_TLS_PROVIDER is present with a value of: " + enumerator.Value.ToString()); + + if (enumerator.Value.ToString().IndexOf("legacy", StringComparison.OrdinalIgnoreCase) >= 0) + { + logger.Error("The MONO_TLS_PROVIDER=legacy environment variable is not supported, please remove it."); + Environment.Exit(1); + } + } + else + { + if (enumerator.Key.ToString().IndexOf("MONO_", StringComparison.OrdinalIgnoreCase) >= 0) + { + logger.Info($"Environment variable {enumerator.Key} is present"); + } + } + } + } } } diff --git a/src/Jackett.Server/Program.cs b/src/Jackett.Server/Program.cs index 02295361d..543c584e8 100644 --- a/src/Jackett.Server/Program.cs +++ b/src/Jackett.Server/Program.cs @@ -82,6 +82,7 @@ namespace Jackett.Server } } + Initialisation.CheckEnvironmentalVariables(logger); Initialisation.ProcessSettings(Settings, logger); ISerializeService serializeService = new SerializeService();