From 750587f38dc314a2537f55109a3a8995c57ca34c Mon Sep 17 00:00:00 2001 From: Olov Karlsson Date: Fri, 31 Oct 2014 20:02:19 +0100 Subject: [PATCH] Fixes sni-related bug where customers and resellers are not allowed to see website properties. --- .../Sources/WebsitePanel.Providers.Base/Web/WebSite.cs | 7 +++++++ .../Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs | 1 + .../Sources/WebsitePanel.Providers.Web.IIs80/IIs80.cs | 7 +++++++ .../WebsitePanel/WebSitesEditSite.ascx.cs | 10 +--------- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs index b697b560..eb5da8d6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs @@ -63,6 +63,7 @@ namespace WebsitePanel.Providers.Web private bool heliconApeInstalled; private bool heliconApeEnabled; private HeliconApeStatus heliconApeStatus; + private bool sniEnabled; public WebSite() { @@ -187,6 +188,12 @@ namespace WebsitePanel.Providers.Web get { return this.heliconApeStatus; } set { this.heliconApeStatus = value; } } + + public bool SniEnabled + { + get { return this.sniEnabled; } + set { this.sniEnabled = value; } + } } [Flags] diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs index cdfbcf8c..cd3a07b5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs @@ -1240,6 +1240,7 @@ namespace WebsitePanel.Providers.Web // site.SiteState = GetSiteState(srvman, siteId); // + site.SniEnabled = false; } return site; } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs80/IIs80.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs80/IIs80.cs index 9b77a7bf..250bf49e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs80/IIs80.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs80/IIs80.cs @@ -182,5 +182,12 @@ namespace WebsitePanel.Providers.Web return sslObjectService.InstallCertificate(certificate, website); } + + public override WebSite GetSite(string siteId) + { + var site = base.GetSite(siteId); + site.SniEnabled = UseSni; + return site; + } } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs index 8cf45d38..5d5a954d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs @@ -278,15 +278,7 @@ namespace WebsitePanel.Portal webSitesHeliconZooControl.BindWebItem(site); // If SNI is enabled on the server, we do allow for SSL even if site not has dedicated Ip - var sniEnabled = false; - var serverSettings = ES.Services.Servers.GetServiceSettings(site.ServiceId); - var sniEnabledItem = serverSettings.FirstOrDefault(s => s.StartsWith("sslusesni")); - if (sniEnabledItem != null) - { - sniEnabled = Utils.ParseBool(sniEnabledItem.Split('=')[1], false); - } - - if (site.IsDedicatedIP || sniEnabled) + if (site.IsDedicatedIP || site.SniEnabled) { AllowSsl = true; WebsitesSSLControl.Visible = true;