summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/certsrv
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2014-06-26 23:12:27 +0800
committerAde Lee <alee@redhat.com>2014-07-17 21:08:12 +0800
commit80c40916baf0b16ab37829f51fdf6a5a0833d407 (patch)
treedc18c8df08ca07fc3f123fdce56d1f9a0693da97 /base/common/src/com/netscape/certsrv
parentbebc70bbf17e69b01d4449b20515031120dec0d5 (diff)
downloadpki-80c40916baf0b16ab37829f51fdf6a5a0833d407.tar.gz
pki-80c40916baf0b16ab37829f51fdf6a5a0833d407.tar.xz
pki-80c40916baf0b16ab37829f51fdf6a5a0833d407.zip
Add ability to create database as subtree of existing tree
This patch adds the ability to create a subsystem that uses an existing subtree to create the internal basedn. This is useful for instance, for IPA which will use the original o=ipaca as the top level DN for a KRA, which will be situated at o=ipadrm, o=ipaca. The patch also allows such a system to be cloned, but not to setup the replication agreements, on the assumption that the data is already being replicated at the top-level DN or some higher level. The patch also contains some minor cleanups - removing unused imports and removal of an invalid reference in the python code. Ticket 1051
Diffstat (limited to 'base/common/src/com/netscape/certsrv')
-rw-r--r--base/common/src/com/netscape/certsrv/system/ConfigurationRequest.java42
1 files changed, 39 insertions, 3 deletions
diff --git a/base/common/src/com/netscape/certsrv/system/ConfigurationRequest.java b/base/common/src/com/netscape/certsrv/system/ConfigurationRequest.java
index fc85d3d65..8a7556496 100644
--- a/base/common/src/com/netscape/certsrv/system/ConfigurationRequest.java
+++ b/base/common/src/com/netscape/certsrv/system/ConfigurationRequest.java
@@ -55,6 +55,7 @@ public class ConfigurationRequest {
private static final String DSHOST = "dsHost";
private static final String DSPORT = "dsPort";
private static final String BASEDN = "basedn";
+ private static final String CREATE_NEW_DB = "createNewDB";
private static final String BINDDN = "binddn";
private static final String DATABASE = "database";
private static final String SECURECONN = "secureConn";
@@ -63,6 +64,7 @@ public class ConfigurationRequest {
private static final String CLONE_REPLICATION_PORT = "cloneReplicationPort";
private static final String REPLICATE_SCHEMA = "replicateSchema";
private static final String REPLICATION_SECURITY = "replicationSecurity";
+ private static final String SETUP_REPLICATION = "setupReplication";
private static final String ISSUING_CA = "issuingCa";
private static final String BACKUP_KEYS = "backupKeys";
private static final String BACKUP_FILE = "backupFile";
@@ -156,6 +158,9 @@ public class ConfigurationRequest {
protected String baseDN;
@XmlElement
+ protected String createNewDB;
+
+ @XmlElement
protected String bindDN;
@XmlElement
@@ -183,6 +188,9 @@ public class ConfigurationRequest {
protected String replicationSecurity;
@XmlElement
+ protected String setupReplication;
+
+ @XmlElement
protected List<SystemCertData> systemCerts;
@XmlElement
@@ -297,6 +305,7 @@ public class ConfigurationRequest {
dsHost = form.getFirst(DSHOST);
dsPort = form.getFirst(DSPORT);
baseDN = form.getFirst(BASEDN);
+ createNewDB = form.getFirst(CREATE_NEW_DB);
bindDN = form.getFirst(BINDDN);
database = form.getFirst(DATABASE);
secureConn = form.getFirst(SECURECONN);
@@ -305,6 +314,7 @@ public class ConfigurationRequest {
cloneReplicationPort = form.getFirst(CLONE_REPLICATION_PORT);
replicateSchema = form.getFirst(REPLICATE_SCHEMA);
replicationSecurity = form.getFirst(REPLICATION_SECURITY);
+ setupReplication = form.getFirst(SETUP_REPLICATION);
//TODO - figure out how to get the cert requests
issuingCA = form.getFirst(ISSUING_CA);
backupFile = form.getFirst(BACKUP_FILE);
@@ -409,11 +419,11 @@ public class ConfigurationRequest {
this.securityDomainPassword = securityDomainPassword;
}
- public String getIsClone() {
- return isClone;
+ public boolean isClone() {
+ return (isClone!= null) && isClone.equalsIgnoreCase("true");
}
- public void setIsClone(String isClone) {
+ public void setClone(String isClone) {
this.isClone = isClone;
}
@@ -621,6 +631,18 @@ public class ConfigurationRequest {
this.replicationSecurity = replicationSecurity;
}
+ public boolean getSetupReplication() {
+ // default to true
+ if (setupReplication == null) {
+ return true;
+ }
+ return setupReplication.equalsIgnoreCase("true");
+ }
+
+ public void setSetupReplication(String setupReplication) {
+ this.setupReplication = setupReplication;
+ }
+
/**
* @return the database
*/
@@ -963,6 +985,18 @@ public class ConfigurationRequest {
this.sharedDBUserDN = sharedDBUserDN;
}
+ public boolean getCreateNewDB() {
+ // default to true
+ if (createNewDB == null) {
+ return true;
+ }
+ return createNewDB.equalsIgnoreCase("true");
+ }
+
+ public void setCreateNewDB(String createNewDB) {
+ this.createNewDB = createNewDB;
+ }
+
@Override
public String toString() {
return "ConfigurationRequest [pin=XXXX" +
@@ -1020,6 +1054,8 @@ public class ConfigurationRequest {
", generateSubsystemCert=" + generateSubsystemCert +
", sharedDB=" + sharedDB +
", sharedDBUserDN=" + sharedDBUserDN +
+ ", createNewDB=" + createNewDB +
+ ", setupReplication=" + setupReplication +
"]";
}