From 4fddcd370e6f3d47f252eec8077cbca379d4e281 Mon Sep 17 00:00:00 2001 From: Ade Lee Date: Sat, 16 Apr 2016 10:56:18 -0400 Subject: Add realm to the request record Part of Trac Ticket #2041 --- .../netscape/cmscore/request/ARequestQueue.java | 27 +++++++++++++++------- .../netscape/cmscore/request/ARequestRecord.java | 1 + .../netscape/cmscore/request/RequestRecord.java | 21 ++++++++++++++--- .../src/com/netscape/cmscore/request/Schema.java | 1 + 4 files changed, 39 insertions(+), 11 deletions(-) (limited to 'base/server/cmscore/src/com/netscape/cmscore') diff --git a/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java b/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java index 798da3fa5..fc0a4149b 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java +++ b/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java @@ -33,14 +33,6 @@ import java.util.Locale; import java.util.Set; import java.util.Vector; -import netscape.security.util.DerInputStream; -import netscape.security.x509.CertificateExtensions; -import netscape.security.x509.CertificateSubjectName; -import netscape.security.x509.RevokedCertImpl; -import netscape.security.x509.X509CertImpl; -import netscape.security.x509.X509CertInfo; -import netscape.security.x509.X509ExtensionException; - import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.authentication.AuthToken; import com.netscape.certsrv.authentication.IAuthToken; @@ -61,6 +53,14 @@ import com.netscape.certsrv.request.PolicyResult; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.request.RequestStatus; +import netscape.security.util.DerInputStream; +import netscape.security.x509.CertificateExtensions; +import netscape.security.x509.CertificateSubjectName; +import netscape.security.x509.RevokedCertImpl; +import netscape.security.x509.X509CertImpl; +import netscape.security.x509.X509CertInfo; +import netscape.security.x509.X509ExtensionException; + /** * The ARequestQueue class is an abstract class that implements * most portions of the IRequestQueue interface. This includes @@ -1432,10 +1432,21 @@ class Request implements IRequest { protected String mOwner; protected String mRequestType; protected String mContext; // string for now. + protected String realm; protected ExtDataHashtable mExtData = new ExtDataHashtable(); Date mCreationTime = CMS.getCurrentDate(); Date mModificationTime = CMS.getCurrentDate(); + + @Override + public String getRealm() { + return realm; + } + + @Override + public void setRealm(String realm) { + this.realm = realm; + } } class RequestIAttrSetWrapper implements IAttrSet { diff --git a/base/server/cmscore/src/com/netscape/cmscore/request/ARequestRecord.java b/base/server/cmscore/src/com/netscape/cmscore/request/ARequestRecord.java index 5f2aa50b2..418422a9b 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/request/ARequestRecord.java +++ b/base/server/cmscore/src/com/netscape/cmscore/request/ARequestRecord.java @@ -39,4 +39,5 @@ class ARequestRecord { String mOwner; String mRequestType; Hashtable mExtData; + String mRealm; }; diff --git a/base/server/cmscore/src/com/netscape/cmscore/request/RequestRecord.java b/base/server/cmscore/src/com/netscape/cmscore/request/RequestRecord.java index 023dd9478..38060c2f2 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/request/RequestRecord.java +++ b/base/server/cmscore/src/com/netscape/cmscore/request/RequestRecord.java @@ -30,9 +30,6 @@ import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; -import netscape.ldap.LDAPAttribute; -import netscape.ldap.LDAPAttributeSet; - import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.dbs.EDBException; @@ -53,6 +50,9 @@ import com.netscape.cmscore.dbs.DateMapper; import com.netscape.cmscore.dbs.StringMapper; import com.netscape.cmscore.util.Debug; +import netscape.ldap.LDAPAttribute; +import netscape.ldap.LDAPAttributeSet; + // // A request record is the stored version of a request. // It has a set of attributes that are mapped into LDAP @@ -92,6 +92,8 @@ public class RequestRecord return mOwner; else if (name.equals(IRequestRecord.ATTR_EXT_DATA)) return mExtData; + else if (name.equals(IRequestRecord.ATTR_REALM)) + return mRealm; else { RequestAttr ra = mAttrTable.get(name); @@ -119,6 +121,8 @@ public class RequestRecord mSourceId = (String) o; else if (name.equals(IRequestRecord.ATTR_REQUEST_OWNER)) mOwner = (String) o; + else if (name.equals(IRequestRecord.ATTR_REALM)) + mRealm = (String) o; else if (name.equals(IRequestRecord.ATTR_EXT_DATA)) mExtData = (Hashtable) o; else { @@ -155,6 +159,7 @@ public class RequestRecord mOwner = r.getRequestOwner(); mCreateTime = r.getCreationTime(); mModifyTime = r.getModificationTime(); + mRealm = r.getRealm(); mExtData = loadExtDataFromRequest(r); for (int i = 0; i < mRequestA.length; i++) { @@ -168,6 +173,7 @@ public class RequestRecord r.setRequestOwner(mOwner); a.modModificationTime(r, mModifyTime); a.modCreationTime(r, mCreateTime); + r.setRealm(mRealm); storeExtDataIntoRequest(r); for (int i = 0; i < mRequestA.length; i++) { @@ -192,6 +198,12 @@ public class RequestRecord mods.add(IRequestRecord.ATTR_EXT_DATA, Modification.MOD_REPLACE, loadExtDataFromRequest(r)); + if (r.getRealm() != null) { + mods.add(IRequestRecord.ATTR_REALM, Modification.MOD_REPLACE, r.getRealm()); + } else { + mods.add(IRequestRecord.ATTR_REALM, Modification.MOD_DELETE, null); + } + for (int i = 0; i < mRequestA.length; i++) { mRequestA[i].mod(mods, r); } @@ -213,6 +225,8 @@ public class RequestRecord new StringMapper(Schema.LDAP_ATTR_SOURCE_ID)); reg.registerAttribute(IRequestRecord.ATTR_REQUEST_OWNER, new StringMapper(Schema.LDAP_ATTR_REQUEST_OWNER)); + reg.registerAttribute(IRequestRecord.ATTR_REALM, + new StringMapper(Schema.LDAP_ATTR_REALM)); ExtAttrDynMapper extAttrMapper = new ExtAttrDynMapper(); reg.registerAttribute(IRequestRecord.ATTR_EXT_DATA, extAttrMapper); reg.registerDynamicMapper(extAttrMapper); @@ -306,6 +320,7 @@ public class RequestRecord mAttrs.add(IRequestRecord.ATTR_MODIFY_TIME); mAttrs.add(IRequestRecord.ATTR_SOURCE_ID); mAttrs.add(IRequestRecord.ATTR_REQUEST_OWNER); + mAttrs.add(IRequestRecord.ATTR_REALM); mAttrs.add(IRequestRecord.ATTR_EXT_DATA); for (int i = 0; i < mRequestA.length; i++) { diff --git a/base/server/cmscore/src/com/netscape/cmscore/request/Schema.java b/base/server/cmscore/src/com/netscape/cmscore/request/Schema.java index 89a7b74b9..75605d7a3 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/request/Schema.java +++ b/base/server/cmscore/src/com/netscape/cmscore/request/Schema.java @@ -38,6 +38,7 @@ class Schema { public static final String LDAP_ATTR_AGENT_GROUP = "requestAgentGroup"; public static final String LDAP_ATTR_REQUEST_TYPE = "requestType"; public static final String LDAP_ATTR_REQUEST_ERROR = "requestError"; + public static final String LDAP_ATTR_REALM = "realm"; // This attribute is a placeholder used by ExtAttrDynMapper public static final String LDAP_ATTR_EXT_ATTR = "extAttr"; -- cgit