From c232ca016f042b46ecd60449207a8109b6c71a44 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Wed, 6 Feb 2013 16:39:33 -0500 Subject: Fixed conflicting security domain hosts. The SecurityDomainProcessor has been modified to generate the host ID from the subsystem type, hostname, and secure port instead of relying on the user-configurable SubsystemName attribute. Ticket #503 --- .../com/netscape/certsrv/system/DomainInfo.java | 2 +- .../certsrv/system/SecurityDomainHost.java | 32 ++++++++++++++++------ .../certsrv/system/SecurityDomainSubsystem.java | 2 +- 3 files changed, 26 insertions(+), 10 deletions(-) (limited to 'base/common/src/com/netscape/certsrv') diff --git a/base/common/src/com/netscape/certsrv/system/DomainInfo.java b/base/common/src/com/netscape/certsrv/system/DomainInfo.java index 3f38c64ab..32e64bf6a 100644 --- a/base/common/src/com/netscape/certsrv/system/DomainInfo.java +++ b/base/common/src/com/netscape/certsrv/system/DomainInfo.java @@ -148,7 +148,7 @@ public class DomainInfo { before.setName("EXAMPLE"); SecurityDomainHost host = new SecurityDomainHost(); - host.setId("CA localhost:8443"); + host.setId("CA localhost 8443"); host.setHostname("localhost"); host.setPort("8080"); host.setSecurePort("8443"); diff --git a/base/common/src/com/netscape/certsrv/system/SecurityDomainHost.java b/base/common/src/com/netscape/certsrv/system/SecurityDomainHost.java index e4357ffe8..730e36cae 100644 --- a/base/common/src/com/netscape/certsrv/system/SecurityDomainHost.java +++ b/base/common/src/com/netscape/certsrv/system/SecurityDomainHost.java @@ -41,10 +41,11 @@ public class SecurityDomainHost { protected String hostname; protected String port; protected String securePort; + protected String secureEEClientAuthPort; protected String secureAgentPort; protected String secureAdminPort; - protected String secureEEClientAuthPort; protected String clone; + protected String subsystemName; protected String domainManager; @XmlAttribute(name="id") @@ -119,6 +120,15 @@ public class SecurityDomainHost { this.clone = clone; } + @XmlElement(name="SubsystemName") + public String getSubsystemName() { + return subsystemName; + } + + public void setSubsystemName(String subsystemName) { + this.subsystemName = subsystemName; + } + @XmlElement(name="DomainManager") public String getDomainManager() { return domainManager; @@ -159,10 +169,11 @@ public class SecurityDomainHost { result = prime * result + ((hostname == null) ? 0 : hostname.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((port == null) ? 0 : port.hashCode()); - result = prime * result + ((secureAgentPort == null) ? 0 : secureAgentPort.hashCode()); result = prime * result + ((secureAdminPort == null) ? 0 : secureAdminPort.hashCode()); + result = prime * result + ((secureAgentPort == null) ? 0 : secureAgentPort.hashCode()); result = prime * result + ((secureEEClientAuthPort == null) ? 0 : secureEEClientAuthPort.hashCode()); result = prime * result + ((securePort == null) ? 0 : securePort.hashCode()); + result = prime * result + ((subsystemName == null) ? 0 : subsystemName.hashCode()); return result; } @@ -200,16 +211,16 @@ public class SecurityDomainHost { return false; } else if (!port.equals(other.port)) return false; - if (secureAgentPort == null) { - if (other.secureAgentPort != null) - return false; - } else if (!secureAgentPort.equals(other.secureAgentPort)) - return false; if (secureAdminPort == null) { if (other.secureAdminPort != null) return false; } else if (!secureAdminPort.equals(other.secureAdminPort)) return false; + if (secureAgentPort == null) { + if (other.secureAgentPort != null) + return false; + } else if (!secureAgentPort.equals(other.secureAgentPort)) + return false; if (secureEEClientAuthPort == null) { if (other.secureEEClientAuthPort != null) return false; @@ -220,13 +231,18 @@ public class SecurityDomainHost { return false; } else if (!securePort.equals(other.securePort)) return false; + if (subsystemName == null) { + if (other.subsystemName != null) + return false; + } else if (!subsystemName.equals(other.subsystemName)) + return false; return true; } public static void main(String args[]) throws Exception { SecurityDomainHost before = new SecurityDomainHost(); - before.setId("CA localhost:8443"); + before.setId("CA localhost 8443"); before.setHostname("localhost"); before.setPort("8080"); before.setSecurePort("8443"); diff --git a/base/common/src/com/netscape/certsrv/system/SecurityDomainSubsystem.java b/base/common/src/com/netscape/certsrv/system/SecurityDomainSubsystem.java index 74273c244..eec37a055 100644 --- a/base/common/src/com/netscape/certsrv/system/SecurityDomainSubsystem.java +++ b/base/common/src/com/netscape/certsrv/system/SecurityDomainSubsystem.java @@ -120,7 +120,7 @@ import javax.xml.bind.annotation.XmlRootElement; before.setName("CA"); SecurityDomainHost host = new SecurityDomainHost(); - host.setId("CA localhost:8443"); + host.setId("CA localhost 8443"); host.setHostname("localhost"); host.setPort("8080"); host.setSecurePort("8443"); -- cgit