diff options
author | awnuk <awnuk@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-01-20 00:08:43 +0000 |
---|---|---|
committer | awnuk <awnuk@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-01-20 00:08:43 +0000 |
commit | 7e0e69b19ac1458b7643fc773fcf0ac891ac9221 (patch) | |
tree | aed888bdd47c08ae8dcca6ab6c0fd82896a636fb /pki/base/ca/src/com/netscape/ca | |
parent | 85d0899477c19031ea1895cc3e7f21fcf82c0761 (diff) | |
download | pki-7e0e69b19ac1458b7643fc773fcf0ac891ac9221.tar.gz pki-7e0e69b19ac1458b7643fc773fcf0ac891ac9221.tar.xz pki-7e0e69b19ac1458b7643fc773fcf0ac891ac9221.zip |
Fixed bugzilla bug #531137.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@1752 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/ca/src/com/netscape/ca')
-rw-r--r-- | pki/base/ca/src/com/netscape/ca/CRLIssuingPoint.java | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/pki/base/ca/src/com/netscape/ca/CRLIssuingPoint.java b/pki/base/ca/src/com/netscape/ca/CRLIssuingPoint.java index 30e40a120..aba2db149 100644 --- a/pki/base/ca/src/com/netscape/ca/CRLIssuingPoint.java +++ b/pki/base/ca/src/com/netscape/ca/CRLIssuingPoint.java @@ -297,6 +297,8 @@ public class CRLIssuingPoint implements ICRLIssuingPoint, Runnable { private boolean mPublishOnStart = false; private long[] mSplits = new long[10]; + private boolean mSaveMemory = false; + /** * Constructs a CRL issuing point from instantiating from class name. * CRL Issuing point must be followed by method call init(CA, id, config); @@ -689,6 +691,8 @@ public class CRLIssuingPoint implements ICRLIssuingPoint, Runnable { // CA's entry in the directory. mPublishDN = config.getString(PROP_PUBLISH_DN, null); + mSaveMemory = config.getBoolean("saveMemory", false); + mCMSCRLExtensions = new CMSCRLExtensions(this, config); mExtendedNextUpdate = ((mUpdateSchema > 1 || (mEnableDailyUpdates && mExtendedTimeList)) && isDeltaCRLEnabled())? @@ -2575,7 +2579,7 @@ public class CRLIssuingPoint implements ICRLIssuingPoint, Runnable { try { byte[] newCRL; - CMS.debug("Making CRL wth algorithm " + + CMS.debug("Making CRL with algorithm " + signingAlgorithm + " " + AlgorithmId.get(signingAlgorithm)); mSplits[7] -= System.currentTimeMillis(); @@ -2607,11 +2611,19 @@ public class CRLIssuingPoint implements ICRLIssuingPoint, Runnable { (mEnableDailyUpdates && mExtendedTimeList)) && mNextDeltaUpdate != null) { nextUpdateDate = mNextDeltaUpdate; } - mCRLRepository.updateCRLIssuingPointRecord( - mId, newCRL, thisUpdate, nextUpdateDate, - mNextCRLNumber, Long.valueOf(mCRLCerts.size()), - mRevokedCerts, mUnrevokedCerts, mExpiredCerts); - mFirstUnsaved = ICRLIssuingPointRecord.CLEAN_CACHE; + if (mSaveMemory) { + mCRLRepository.updateCRLIssuingPointRecord( + mId, newCRL, thisUpdate, nextUpdateDate, + mNextCRLNumber, Long.valueOf(mCRLCerts.size())); + updateCRLCacheRepository(); + } else { + mCRLRepository.updateCRLIssuingPointRecord( + mId, newCRL, thisUpdate, nextUpdateDate, + mNextCRLNumber, Long.valueOf(mCRLCerts.size()), + mRevokedCerts, mUnrevokedCerts, mExpiredCerts); + mFirstUnsaved = ICRLIssuingPointRecord.CLEAN_CACHE; + } + mSplits[8] += System.currentTimeMillis(); mCRLSize = mCRLCerts.size(); |