Fixed:
External IP address bound to SSL binding, now internal dedicated IP SSL Tab only to show website name and domain default choice to include global dns zone during site creation is unchecked When switching SSL enabled site to shared, certificate to be deleted When deleted SSL enabled site, certificate to be deleted Switch IP Mode added to the hosting plan
This commit is contained in:
parent
d35094412d
commit
83886b94e2
9 changed files with 84 additions and 25 deletions
|
@ -473,6 +473,13 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe
|
||||||
END
|
END
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Web.AllowIPAddressModeSwitch')
|
||||||
|
BEGIN
|
||||||
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (333, 2, 22, N'Web.AllowIPAddressModeSwitch', N'Allow IP Address Mode Switch', 1, 0, NULL)
|
||||||
|
END
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DELETE FROM [dbo].[PackageQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled')
|
DELETE FROM [dbo].[PackageQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled')
|
||||||
DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled')
|
DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled')
|
||||||
|
|
|
@ -79,6 +79,7 @@ order by rg.groupOrder
|
||||||
public const string WEB_CFVIRTUALDIRS = "Web.CFVirtualDirectories"; //ColdFusion Virtual Directories
|
public const string WEB_CFVIRTUALDIRS = "Web.CFVirtualDirectories"; //ColdFusion Virtual Directories
|
||||||
public const string WEB_REMOTEMANAGEMENT = "Web.RemoteManagement"; //IIS 7 Remote Management
|
public const string WEB_REMOTEMANAGEMENT = "Web.RemoteManagement"; //IIS 7 Remote Management
|
||||||
public const string WEB_SSL = "Web.SSL"; //SSL
|
public const string WEB_SSL = "Web.SSL"; //SSL
|
||||||
|
public const string WEB_ALLOWIPADDRESSMODESWITCH = "Web.AllowIPAddressModeSwitch"; //SSL
|
||||||
public const string FTP_ACCOUNTS = "FTP.Accounts"; // FTP Accounts
|
public const string FTP_ACCOUNTS = "FTP.Accounts"; // FTP Accounts
|
||||||
public const string MAIL_ACCOUNTS = "Mail.Accounts"; // Mail Accounts
|
public const string MAIL_ACCOUNTS = "Mail.Accounts"; // Mail Accounts
|
||||||
public const string MAIL_FORWARDINGS = "Mail.Forwardings"; // Mail Forwardings
|
public const string MAIL_FORWARDINGS = "Mail.Forwardings"; // Mail Forwardings
|
||||||
|
|
|
@ -565,6 +565,14 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// delete web site
|
// delete web site
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//cleanup certificates
|
||||||
|
//cleanup certificates
|
||||||
|
List<SSLCertificate> certificates = GetCertificatesForSite(siteItemId);
|
||||||
|
foreach (SSLCertificate c in certificates)
|
||||||
|
{
|
||||||
|
DeleteCertificate(siteItemId, c);
|
||||||
|
}
|
||||||
|
|
||||||
// remove all web site pointers
|
// remove all web site pointers
|
||||||
List<DomainInfo> pointers = GetWebSitePointers(siteItemId);
|
List<DomainInfo> pointers = GetWebSitePointers(siteItemId);
|
||||||
foreach (DomainInfo pointer in pointers)
|
foreach (DomainInfo pointer in pointers)
|
||||||
|
@ -641,7 +649,6 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
DeleteWebSitePointer(siteItemId, pointer.DomainId, true, true, false);
|
DeleteWebSitePointer(siteItemId, pointer.DomainId, true, true, false);
|
||||||
|
|
||||||
// remove web site main pointer
|
// remove web site main pointer
|
||||||
|
|
||||||
if (domain != null)
|
if (domain != null)
|
||||||
DeleteWebSitePointer(siteItemId, domain.DomainId, true, true, false);
|
DeleteWebSitePointer(siteItemId, domain.DomainId, true, true, false);
|
||||||
|
|
||||||
|
@ -737,6 +744,12 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (ZoneInfo == null)
|
if (ZoneInfo == null)
|
||||||
throw new Exception("Parent zone not found");
|
throw new Exception("Parent zone not found");
|
||||||
|
|
||||||
|
//cleanup certificates
|
||||||
|
List<SSLCertificate> certificates = GetCertificatesForSite(siteItemId);
|
||||||
|
foreach (SSLCertificate c in certificates)
|
||||||
|
{
|
||||||
|
DeleteCertificate(siteItemId, c);
|
||||||
|
}
|
||||||
|
|
||||||
// remove all web site pointers
|
// remove all web site pointers
|
||||||
List<DomainInfo> pointers = GetWebSitePointers(siteItemId);
|
List<DomainInfo> pointers = GetWebSitePointers(siteItemId);
|
||||||
|
@ -3656,6 +3669,10 @@ Please ensure the space has been allocated {0} IP address as a dedicated one and
|
||||||
long ticks = DateTime.UtcNow.Ticks - DateTime.Parse("01/01/1970 00:00:00").Ticks;
|
long ticks = DateTime.UtcNow.Ticks - DateTime.Parse("01/01/1970 00:00:00").Ticks;
|
||||||
ticks /= 10000000; // Convert windows ticks to seconds
|
ticks /= 10000000; // Convert windows ticks to seconds
|
||||||
|
|
||||||
|
//clean up bindings
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
certificate.FriendlyName = String.Format("{0}_{1}", certificate.Hostname, ticks.ToString());
|
certificate.FriendlyName = String.Format("{0}_{1}", certificate.Hostname, ticks.ToString());
|
||||||
certificate = server.generateCSR(certificate);
|
certificate = server.generateCSR(certificate);
|
||||||
certificate.id = DataProvider.AddSSLRequest(SecurityContext.User.UserId, item.PackageId,
|
certificate.id = DataProvider.AddSSLRequest(SecurityContext.User.UserId, item.PackageId,
|
||||||
|
@ -3692,12 +3709,19 @@ Please ensure the space has been allocated {0} IP address as a dedicated one and
|
||||||
WebServer server = GetWebServer(item.ServiceId);
|
WebServer server = GetWebServer(item.ServiceId);
|
||||||
TaskManager.WriteParameter("item.ServiceId", item.ServiceId);
|
TaskManager.WriteParameter("item.ServiceId", item.ServiceId);
|
||||||
|
|
||||||
|
IPAddressInfo ip = ServerController.GetIPAddress(item.SiteIPAddressId);
|
||||||
|
|
||||||
|
if (ip != null)
|
||||||
|
item.SiteIPAddress = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP;
|
||||||
|
|
||||||
certificate = server.installCertificate(certificate, item);
|
certificate = server.installCertificate(certificate, item);
|
||||||
if (certificate.SerialNumber == null)
|
if (certificate.SerialNumber == null)
|
||||||
{
|
{
|
||||||
result.AddError("Error_Installing_certificate", null);
|
result.AddError("Error_Installing_certificate", null);
|
||||||
result.IsSuccess = false;
|
result.IsSuccess = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DataProvider.CompleteSSLRequest(SecurityContext.User.UserId, item.PackageId,
|
DataProvider.CompleteSSLRequest(SecurityContext.User.UserId, item.PackageId,
|
||||||
certificate.id, certificate.Certificate,
|
certificate.id, certificate.Certificate,
|
||||||
certificate.DistinguishedName, certificate.SerialNumber,
|
certificate.DistinguishedName, certificate.SerialNumber,
|
||||||
|
@ -3735,6 +3759,11 @@ Please ensure the space has been allocated {0} IP address as a dedicated one and
|
||||||
WebServer server = GetWebServer(item.ServiceId);
|
WebServer server = GetWebServer(item.ServiceId);
|
||||||
TaskManager.WriteParameter("item.ServiceId", item.ServiceId);
|
TaskManager.WriteParameter("item.ServiceId", item.ServiceId);
|
||||||
|
|
||||||
|
// remove all web site pointers
|
||||||
|
List<DomainInfo> pointers = GetWebSitePointers(siteItemId);
|
||||||
|
foreach (DomainInfo pointer in pointers)
|
||||||
|
DeleteWebSitePointer(siteItemId, pointer.DomainId, true, true, true);
|
||||||
|
|
||||||
SSLCertificate certificate = server.installPFX(pfx, password, item);
|
SSLCertificate certificate = server.installPFX(pfx, password, item);
|
||||||
if (certificate.SerialNumber == null)
|
if (certificate.SerialNumber == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4855,6 +4855,9 @@
|
||||||
<data name="Quota.Web.SSL" xml:space="preserve">
|
<data name="Quota.Web.SSL" xml:space="preserve">
|
||||||
<value>SSL</value>
|
<value>SSL</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Quota.Web.AllowIPAddressModeSwitch" xml:space="preserve">
|
||||||
|
<value>Allow IP Address Mode Switch</value>
|
||||||
|
</data>
|
||||||
<data name="ServiceItemType.ExchangeOrganization" xml:space="preserve">
|
<data name="ServiceItemType.ExchangeOrganization" xml:space="preserve">
|
||||||
<value>Exchange Organization</value>
|
<value>Exchange Organization</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -127,7 +127,7 @@
|
||||||
<value>Cancel</value>
|
<value>Cancel</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkIgnoreGlobalDNSRecords.Text" xml:space="preserve">
|
<data name="chkIgnoreGlobalDNSRecords.Text" xml:space="preserve">
|
||||||
<value>Ignore Zone Template</value>
|
<value>Include Zone Template</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lblAspNetVersion.Text" xml:space="preserve">
|
<data name="lblAspNetVersion.Text" xml:space="preserve">
|
||||||
<value>ASP.NET Version:</value>
|
<value>ASP.NET Version:</value>
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
<td class="Normal" nowrap rowspan="2"></td>
|
<td class="Normal" nowrap rowspan="2"></td>
|
||||||
<td class="Normal">
|
<td class="Normal">
|
||||||
<asp:CheckBox ID="chkIgnoreGlobalDNSRecords" runat="server" meta:resourcekey="chkIgnoreGlobalDNSRecords"
|
<asp:CheckBox ID="chkIgnoreGlobalDNSRecords" runat="server" meta:resourcekey="chkIgnoreGlobalDNSRecords"
|
||||||
Text="This hostname only, Ignore Zone Template" Checked="True" />
|
Text="Include Zone Template" Checked="True" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -107,7 +107,7 @@ namespace WebsitePanel.Portal
|
||||||
int packageAddressId = rbDedicatedIP.Checked ? Utils.ParseInt(ddlIpAddresses.SelectedValue, 0) : 0;
|
int packageAddressId = rbDedicatedIP.Checked ? Utils.ParseInt(ddlIpAddresses.SelectedValue, 0) : 0;
|
||||||
|
|
||||||
siteItemId = ES.Services.WebServers.AddWebSite(PanelSecurity.PackageId, txtHostName.Text.ToLower(), domainsSelectDomainControl.DomainId,
|
siteItemId = ES.Services.WebServers.AddWebSite(PanelSecurity.PackageId, txtHostName.Text.ToLower(), domainsSelectDomainControl.DomainId,
|
||||||
packageAddressId, chkIgnoreGlobalDNSRecords.Checked);
|
packageAddressId, !chkIgnoreGlobalDNSRecords.Checked);
|
||||||
|
|
||||||
if (siteItemId < 0)
|
if (siteItemId < 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -197,7 +197,12 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
dedicatedIP.Visible = site.IsDedicatedIP;
|
dedicatedIP.Visible = site.IsDedicatedIP;
|
||||||
sharedIP.Visible = !site.IsDedicatedIP;
|
sharedIP.Visible = !site.IsDedicatedIP;
|
||||||
|
|
||||||
|
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||||
|
if (Utils.CheckQouta(Quotas.WEB_ALLOWIPADDRESSMODESWITCH, cntx))
|
||||||
cmdSwitchToDedicatedIP.Visible = (ddlIpAddresses.Items.Count > 0);
|
cmdSwitchToDedicatedIP.Visible = (ddlIpAddresses.Items.Count > 0);
|
||||||
|
else
|
||||||
|
cmdSwitchToDedicatedIP.Visible = cmdSwitchToSharedIP.Visible = false;
|
||||||
|
|
||||||
|
|
||||||
litFrontPageUnavailable.Visible = false;
|
litFrontPageUnavailable.Visible = false;
|
||||||
|
@ -1016,6 +1021,7 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
protected void cmdSwitchToDedicatedIP_Click(object sender, EventArgs e)
|
protected void cmdSwitchToDedicatedIP_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
sharedIP.Visible = false;
|
sharedIP.Visible = false;
|
||||||
switchToDedicatedIP.Visible = true;
|
switchToDedicatedIP.Visible = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,23 +107,11 @@ namespace WebsitePanel.Portal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindListOfAvailableSslDomains(ServerBinding[] siteBindings, SSLCertificate[] siteCertificates, string websiteName = "")
|
private void BindListOfAvailableSslDomains(string websiteName, string domainName)
|
||||||
{
|
{
|
||||||
lstDomains.Items.Clear();
|
lstDomains.Items.Clear();
|
||||||
//
|
|
||||||
foreach (ServerBinding binding in siteBindings)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
if (binding.IP.ToString().Length > 0 && binding.Host.Length == 0)
|
|
||||||
{
|
|
||||||
lstDomains.Items.Add(new ListItem(websiteName, websiteName));
|
lstDomains.Items.Add(new ListItem(websiteName, websiteName));
|
||||||
lstDomains.Items.Add(new ListItem(String.Format("www.{0}", websiteName), String.Format("www.{0}", websiteName)));
|
lstDomains.Items.Add(new ListItem(domainName, domainName));
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
lstDomains.Items.Add(new ListItem(binding.Host, binding.Host));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BindWebItem(WebVirtualDirectory item)
|
public void BindWebItem(WebVirtualDirectory item)
|
||||||
|
@ -144,8 +132,20 @@ namespace WebsitePanel.Portal
|
||||||
SSLCertificate[] certificates = ES.Services.WebServers.GetCertificatesForSite(item.Id);
|
SSLCertificate[] certificates = ES.Services.WebServers.GetCertificatesForSite(item.Id);
|
||||||
|
|
||||||
SSLNotInstalled.Visible = true;
|
SSLNotInstalled.Visible = true;
|
||||||
|
|
||||||
|
DomainInfo[] domains = ES.Services.Servers.GetDomains(PanelSecurity.PackageId);
|
||||||
|
string zoneName = string.Empty;
|
||||||
|
foreach (DomainInfo d in domains)
|
||||||
|
{
|
||||||
|
if (d.WebSiteId == SiteId)
|
||||||
|
{
|
||||||
|
zoneName = d.ZoneName;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
BindListOfAvailableSslDomains(webSite.Bindings, certificates, webSite.Name);
|
BindListOfAvailableSslDomains(webSite.Name, zoneName);
|
||||||
|
|
||||||
if (certificates.Length > 0)
|
if (certificates.Length > 0)
|
||||||
{
|
{
|
||||||
|
@ -568,7 +568,20 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
SSLNotInstalled.Visible = true;
|
SSLNotInstalled.Visible = true;
|
||||||
//
|
//
|
||||||
BindListOfAvailableSslDomains(item.Bindings, certificates, item.Name);
|
|
||||||
|
DomainInfo[] domains = ES.Services.Servers.GetDomains(PanelSecurity.PackageId);
|
||||||
|
string zoneName = string.Empty;
|
||||||
|
foreach (DomainInfo d in domains)
|
||||||
|
{
|
||||||
|
if (d.WebSiteId == item.Id)
|
||||||
|
{
|
||||||
|
zoneName = d.ZoneName;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
BindListOfAvailableSslDomains(item.Name, zoneName);
|
||||||
|
|
||||||
if (certificates.Length > 0)
|
if (certificates.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue