зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 4a66bfcbaca5 (bug 1360307) for build bustage at Logging.h on a CLOSED TREE.
This commit is contained in:
Родитель
4b81ad0696
Коммит
08ddcd8a5a
|
@ -1281,8 +1281,8 @@ void NSSCertDBTrustDomain::NoteAuxiliaryExtension(AuxiliaryExtension extension,
|
|||
}
|
||||
}
|
||||
|
||||
SECStatus InitializeNSS(const nsACString& dir, NSSDBConfig nssDbConfig,
|
||||
PKCS11DBConfig pkcs11DbConfig) {
|
||||
SECStatus 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
|
||||
|
@ -1291,24 +1291,24 @@ SECStatus InitializeNSS(const nsACString& dir, NSSDBConfig nssDbConfig,
|
|||
// Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as
|
||||
// "/usr/lib/nss/libnssckbi.so".
|
||||
uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
|
||||
if (nssDbConfig == NSSDBConfig::ReadOnly) {
|
||||
if (readOnly) {
|
||||
flags |= NSS_INIT_READONLY;
|
||||
}
|
||||
if (pkcs11DbConfig == PKCS11DBConfig::DoNotLoadModules) {
|
||||
if (!loadPKCS11Modules) {
|
||||
flags |= NSS_INIT_NOMODDB;
|
||||
}
|
||||
nsAutoCString dbTypeAndDirectory("sql:");
|
||||
dbTypeAndDirectory.Append(dir);
|
||||
MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
|
||||
("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), nssDbConfig,
|
||||
pkcs11DbConfig));
|
||||
("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
|
||||
loadPKCS11Modules));
|
||||
SECStatus srv =
|
||||
NSS_Initialize(dbTypeAndDirectory.get(), "", "", SECMOD_DB, flags);
|
||||
if (srv != SECSuccess) {
|
||||
return srv;
|
||||
}
|
||||
|
||||
if (nssDbConfig == NSSDBConfig::ReadWrite) {
|
||||
if (!readOnly) {
|
||||
UniquePK11SlotInfo slot(PK11_GetInternalKeySlot());
|
||||
if (!slot) {
|
||||
return SECFailure;
|
||||
|
|
|
@ -28,16 +28,6 @@ enum class ValidityCheckingMode {
|
|||
CheckForEV = 1,
|
||||
};
|
||||
|
||||
enum class NSSDBConfig {
|
||||
ReadWrite = 0,
|
||||
ReadOnly = 1,
|
||||
};
|
||||
|
||||
enum class PKCS11DBConfig {
|
||||
DoNotLoadModules = 0,
|
||||
LoadModules = 1,
|
||||
};
|
||||
|
||||
// Policy options for matching id-Netscape-stepUp with id-kp-serverAuth (for CA
|
||||
// certificates only):
|
||||
// * Always match: the step-up OID is considered equivalent to serverAuth
|
||||
|
@ -52,8 +42,8 @@ enum class NetscapeStepUpPolicy : uint32_t {
|
|||
NeverMatch = 3,
|
||||
};
|
||||
|
||||
SECStatus InitializeNSS(const nsACString& dir, NSSDBConfig nssDbConfig,
|
||||
PKCS11DBConfig pkcs11DbConfig);
|
||||
SECStatus InitializeNSS(const nsACString& dir, bool readOnly,
|
||||
bool loadPKCS11Modules);
|
||||
|
||||
void DisableMD5();
|
||||
|
||||
|
|
|
@ -1571,10 +1571,7 @@ static nsresult InitializeNSSWithFallbacks(const nsACString& profilePath,
|
|||
#ifndef ANDROID
|
||||
PRErrorCode savedPRErrorCode1;
|
||||
#endif // ifndef ANDROID
|
||||
PKCS11DBConfig safeModeDBConfig =
|
||||
safeMode ? PKCS11DBConfig::DoNotLoadModules : PKCS11DBConfig::LoadModules;
|
||||
SECStatus srv = ::mozilla::psm::InitializeNSS(
|
||||
profilePath, NSSDBConfig::ReadWrite, safeModeDBConfig);
|
||||
SECStatus srv = ::mozilla::psm::InitializeNSS(profilePath, false, !safeMode);
|
||||
if (srv == SECSuccess) {
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("initialized NSS in r/w mode"));
|
||||
#ifndef ANDROID
|
||||
|
@ -1587,8 +1584,7 @@ static nsresult InitializeNSSWithFallbacks(const nsACString& profilePath,
|
|||
PRErrorCode savedPRErrorCode2;
|
||||
#endif // ifndef ANDROID
|
||||
// That failed. Try read-only mode.
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, NSSDBConfig::ReadOnly,
|
||||
safeModeDBConfig);
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, true, !safeMode);
|
||||
if (srv == SECSuccess) {
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("initialized NSS in r-o mode"));
|
||||
return NS_OK;
|
||||
|
@ -1615,8 +1611,7 @@ static nsresult InitializeNSSWithFallbacks(const nsACString& profilePath,
|
|||
// problem, but for some reason the combination of read-only and no-moddb
|
||||
// flags causes NSS initialization to fail, so unfortunately we have to use
|
||||
// read-write mode.
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, NSSDBConfig::ReadWrite,
|
||||
PKCS11DBConfig::DoNotLoadModules);
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, false, false);
|
||||
if (srv == SECSuccess) {
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("FIPS may be the problem"));
|
||||
// Unload NSS so we can attempt to fix this situation for the user.
|
||||
|
@ -1642,14 +1637,12 @@ static nsresult InitializeNSSWithFallbacks(const nsACString& profilePath,
|
|||
# endif
|
||||
return rv;
|
||||
}
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, NSSDBConfig::ReadWrite,
|
||||
PKCS11DBConfig::LoadModules);
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, false, true);
|
||||
if (srv == SECSuccess) {
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("initialized in r/w mode"));
|
||||
return NS_OK;
|
||||
}
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, NSSDBConfig::ReadOnly,
|
||||
PKCS11DBConfig::LoadModules);
|
||||
srv = ::mozilla::psm::InitializeNSS(profilePath, true, true);
|
||||
if (srv == SECSuccess) {
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("initialized in r-o mode"));
|
||||
return NS_OK;
|
||||
|
|
Загрузка…
Ссылка в новой задаче