diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-19 02:12:01 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-19 02:12:01 -0500 |
| commit | bdb9cd77bca63a64abd0f23c0958f9ff2e4a1cd6 (patch) | |
| tree | a16eb4d8f9219d7a5c2e03b85c2299f9d9c85f91 | |
| parent | be6418a19e477714a5a277ba33d77e03227e76cf (diff) | |
fix restart notification for cert config change
| -rw-r--r-- | MediaBrowser.Server.Startup.Common/ApplicationHost.cs | 58 |
1 files changed, 33 insertions, 25 deletions
diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 5ce23fa37..a3e389957 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -780,43 +780,51 @@ namespace MediaBrowser.Server.Startup.Common /// </summary> private void StartServer() { + CertificatePath = GetCertificatePath(true); + + try + { + ServerManager.Start(GetUrlPrefixes(), CertificatePath); + } + catch (Exception ex) + { + Logger.ErrorException("Error starting http server", ex); + + throw; + } + } + + private string GetCertificatePath(bool generateCertificate) + { if (string.IsNullOrWhiteSpace(ServerConfigurationManager.Configuration.CertificatePath)) { // Generate self-signed cert var certHost = GetHostnameFromExternalDns(ServerConfigurationManager.Configuration.WanDdns); var certPath = Path.Combine(ServerConfigurationManager.ApplicationPaths.ProgramDataPath, "ssl", "cert_" + certHost.GetMD5().ToString("N") + ".pfx"); - if (!File.Exists(certPath)) + if (generateCertificate) { - Directory.CreateDirectory(Path.GetDirectoryName(certPath)); - - try - { - NetworkManager.GenerateSelfSignedSslCertificate(certPath, certHost); - CertificatePath = certHost; - } - catch (Exception ex) + if (!File.Exists(certPath)) { - Logger.ErrorException("Error creating ssl cert", ex); + Directory.CreateDirectory(Path.GetDirectoryName(certPath)); + + try + { + NetworkManager.GenerateSelfSignedSslCertificate(certPath, certHost); + } + catch (Exception ex) + { + Logger.ErrorException("Error creating ssl cert", ex); + return null; + } } } - } - else - { - // Custom cert - CertificatePath = ServerConfigurationManager.Configuration.CertificatePath; - } - try - { - ServerManager.Start(GetUrlPrefixes(), CertificatePath); + return certPath; } - catch (Exception ex) - { - Logger.ErrorException("Error starting http server", ex); - throw; - } + // Custom cert + return ServerConfigurationManager.Configuration.CertificatePath; } /// <summary> @@ -849,7 +857,7 @@ namespace MediaBrowser.Server.Startup.Common requiresRestart = true; } - if (!string.Equals(CertificatePath, ServerConfigurationManager.Configuration.CertificatePath, StringComparison.OrdinalIgnoreCase)) + if (!string.Equals(CertificatePath, GetCertificatePath(false), StringComparison.OrdinalIgnoreCase)) { requiresRestart = true; } |
