summaryrefslogtreecommitdiff
path: root/security/nss/lib
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2002-06-21 22:28:03 +0000
committerrelyea%netscape.com <devnull@localhost>2002-06-21 22:28:03 +0000
commit10f4b3d54afdb0cd8428453d6610935dffce2d1e (patch)
tree0a8589532ddaa9f66673b0ad5a7ba3dc57318971 /security/nss/lib
parent61a23b25cde9b88bd5821b1609650fb0cf1ad1af (diff)
downloadnss-hg-10f4b3d54afdb0cd8428453d6610935dffce2d1e.tar.gz
Need to preserve non-modifiable trustbits.
Diffstat (limited to 'security/nss/lib')
-rw-r--r--security/nss/lib/softoken/pkcs11.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/security/nss/lib/softoken/pkcs11.c b/security/nss/lib/softoken/pkcs11.c
index f36761a43..d5a9107c0 100644
--- a/security/nss/lib/softoken/pkcs11.c
+++ b/security/nss/lib/softoken/pkcs11.c
@@ -738,7 +738,7 @@ pk11_handleTrustObject(PK11Session *session,PK11Object *object)
CK_TRUST clientTrust = CKT_NETSCAPE_TRUST_UNKNOWN;
CK_TRUST emailTrust = CKT_NETSCAPE_TRUST_UNKNOWN;
CK_TRUST signTrust = CKT_NETSCAPE_TRUST_UNKNOWN;
- NSSLOWCERTCertTrust dbTrust;
+ NSSLOWCERTCertTrust dbTrust = { 0 } ;
SECStatus rv;
@@ -805,10 +805,10 @@ pk11_handleTrustObject(PK11Session *session,PK11Object *object)
cert->trust->objectSigningFlags & CERTDB_PRESERVE_TRUST_BITS;
}
- dbTrust.sslFlags = pk11_MapTrust(sslTrust,PR_FALSE);
+ dbTrust.sslFlags |= pk11_MapTrust(sslTrust,PR_FALSE);
dbTrust.sslFlags |= pk11_MapTrust(clientTrust,PR_TRUE);
- dbTrust.emailFlags = pk11_MapTrust(emailTrust,PR_FALSE);
- dbTrust.objectSigningFlags = pk11_MapTrust(signTrust,PR_FALSE);
+ dbTrust.emailFlags |= pk11_MapTrust(emailTrust,PR_FALSE);
+ dbTrust.objectSigningFlags |= pk11_MapTrust(signTrust,PR_FALSE);
rv = nsslowcert_ChangeCertTrust(slot->certDB,cert,&dbTrust);
object->handle=pk11_mkHandle(slot,&cert->certKey,PK11_TOKEN_TYPE_TRUST);