From 6603359347ef42b4cee2890a27b4e1321e4decf5 Mon Sep 17 00:00:00 2001 From: JustOff Date: Wed, 6 Jun 2018 15:41:35 +0300 Subject: Request NSS to use DBM as the storage file format --- security/certverifier/NSSCertDBTrustDomain.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'security/certverifier/NSSCertDBTrustDomain.cpp') diff --git a/security/certverifier/NSSCertDBTrustDomain.cpp b/security/certverifier/NSSCertDBTrustDomain.cpp index b4e12fe9c..39f7d3e9e 100644 --- a/security/certverifier/NSSCertDBTrustDomain.cpp +++ b/security/certverifier/NSSCertDBTrustDomain.cpp @@ -22,6 +22,7 @@ #include "mozilla/Unused.h" #include "nsNSSCertificate.h" #include "nsServiceManagerUtils.h" +#include "nsThreadUtils.h" #include "nss.h" #include "pk11pub.h" #include "pkix/Result.h" @@ -1087,8 +1088,10 @@ NSSCertDBTrustDomain::NoteAuxiliaryExtension(AuxiliaryExtension extension, } SECStatus -InitializeNSS(const char* dir, bool readOnly, bool loadPKCS11Modules) +InitializeNSS(const nsACString& dir, bool readOnly, bool loadPKCS11Modules) { + MOZ_ASSERT(NS_IsMainThread()); + // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs // module by NSS_Initialize because we will load it in InstallLoadableRoots // later. It also allows us to work around a bug in the system NSS in @@ -1101,7 +1104,10 @@ InitializeNSS(const char* dir, bool readOnly, bool loadPKCS11Modules) if (!loadPKCS11Modules) { flags |= NSS_INIT_NOMODDB; } - return ::NSS_Initialize(dir, "", "", SECMOD_DB, flags); + nsAutoCString dbTypeAndDirectory; + dbTypeAndDirectory.Append("dbm:"); + dbTypeAndDirectory.Append(dir); + return ::NSS_Initialize(dbTypeAndDirectory.get(), "", "", SECMOD_DB, flags); } void -- cgit v1.2.3