From c87ce222eb0522a591de72ae922d718fdb79b220 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Thu, 30 Aug 2018 22:30:31 -0400 Subject: [PATCH] contains checks for nginx conf config.yml build --- util/Setup/Context.cs | 56 +++++++------------------------------------ util/Setup/Program.cs | 1 + 2 files changed, 9 insertions(+), 48 deletions(-) diff --git a/util/Setup/Context.cs b/util/Setup/Context.cs index 2b6b90726a..dd6079d322 100644 --- a/util/Setup/Context.cs +++ b/util/Setup/Context.cs @@ -41,6 +41,7 @@ namespace Bit.Setup var composeFile = "/bitwarden/docker/docker-compose.yml"; if(File.Exists(composeFile)) { + Console.WriteLine("1"); var fileLines = File.ReadAllLines(composeFile); foreach(var line in fileLines) { @@ -79,54 +80,13 @@ namespace Bit.Setup var nginxFile = "/bitwarden/nginx/default.conf"; if(File.Exists(nginxFile)) { - var selfSigned = false; - var diffieHellman = false; - var trusted = false; - var fileLines = File.ReadAllLines(nginxFile); - foreach(var line in fileLines) - { - if(!line.StartsWith("# Parameter:")) - { - continue; - } - - var paramParts = line.Split("="); - if(paramParts.Length < 2) - { - continue; - } - - if(paramParts[0] == "# Parameter:Ssl" && bool.TryParse(paramParts[1], out var ssl)) - { - Config.Ssl = ssl; - continue; - } - - if(paramParts[0] == "# Parameter:LetsEncrypt" && bool.TryParse(paramParts[1], out var le)) - { - Config.SslManagedLetsEncrypt = le; - continue; - } - - if(paramParts[0] == "# Parameter:SelfSignedSsl" && bool.TryParse(paramParts[1], out var self)) - { - selfSigned = self; - return; - } - - if(paramParts[0] == "# Parameter:DiffieHellman" && bool.TryParse(paramParts[1], out var dh)) - { - diffieHellman = dh; - return; - } - - if(paramParts[0] == "# Parameter:Trusted" && bool.TryParse(paramParts[1], out var trust)) - { - trusted = trust; - return; - } - } - + Console.WriteLine("2"); + var confContent = File.ReadAllText(nginxFile); + var selfSigned = confContent.Contains("/etc/ssl/self/"); + Config.Ssl = confContent.Contains("ssl http2;"); + Config.SslManagedLetsEncrypt = !selfSigned && confContent.Contains("/etc/letsencrypt/live/"); + var diffieHellman = confContent.Contains("/dhparam.pem;"); + var trusted = confContent.Contains("ssl_trusted_certificate "); if(Config.SslManagedLetsEncrypt) { Config.Ssl = true; diff --git a/util/Setup/Program.cs b/util/Setup/Program.cs index b8a93aac93..3d65beddb0 100644 --- a/util/Setup/Program.cs +++ b/util/Setup/Program.cs @@ -254,6 +254,7 @@ namespace Bit.Setup dockerComposeBuilder.BuildForUpdater(); _context.SaveConfiguration(); + Console.WriteLine(string.Empty); } private static void ParseParameters()