summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2002-07-10 01:04:10 +0000
committerrelyea%netscape.com <devnull@localhost>2002-07-10 01:04:10 +0000
commit598e1fcce40a7be86d1713faf4ede31306377d9e (patch)
tree1c5c54b1ebc2b01be911e3795d6e5d06dc7dfa81
parent135a0b56c91dff89c515aec0471d3f8f7270d1c7 (diff)
downloadnss-hg-598e1fcce40a7be86d1713faf4ede31306377d9e.tar.gz
Don't delete the nickname entry until we go to delete the subject entry as well.
-rw-r--r--security/nss/lib/softoken/pcertdb.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/security/nss/lib/softoken/pcertdb.c b/security/nss/lib/softoken/pcertdb.c
index 99c3789ba..d77dfae69 100644
--- a/security/nss/lib/softoken/pcertdb.c
+++ b/security/nss/lib/softoken/pcertdb.c
@@ -2894,6 +2894,9 @@ RemovePermSubjectNode(NSSLOWCERTCertificate *cert)
/* if the subject had an email record, then delete it too */
DeleteDBSMimeEntry(cert->dbhandle, entry->emailAddr);
}
+ if ( entry->nickname ) {
+ DeleteDBNicknameEntry(cert->dbhandle, entry->nickname);
+ }
DeleteDBSubjectEntry(cert->dbhandle, &cert->derSubject);
}
@@ -3225,7 +3228,7 @@ AddCertToPermDB(NSSLOWCERTCertDBHandle *handle, NSSLOWCERTCertificate *cert,
subjectEntry = ReadDBSubjectEntry(handle, &cert->derSubject);
- if ( subjectEntry ) {
+ if ( subjectEntry && subjectEntry->nickname ) {
donnentry = PR_FALSE;
nickname = subjectEntry->nickname;
}
@@ -3907,13 +3910,6 @@ DeletePermCert(NSSLOWCERTCertificate *cert)
ret = SECFailure;
}
- if ( cert->nickname ) {
- rv = DeleteDBNicknameEntry(cert->dbhandle, cert->nickname);
- if ( rv != SECSuccess ) {
- ret = SECFailure;
- }
- }
-
rv = RemovePermSubjectNode(cert);