Index: mozilla/security/manager/ssl/src/nsNSSComponent.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSComponent.cpp,v retrieving revision 1.140 diff -pU30 -r1.140 mozilla/security/manager/ssl/src/nsNSSComponent.cpp --- mozilla/security/manager/ssl/src/nsNSSComponent.cpp +++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp @@ -1925,60 +1925,61 @@ nsNSSComponent::Observe(nsISupports *aSu SSL_ClearSessionCache(); LogoutAuthenticatedPK11(); } else if (nsCRT::strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID) == 0) { nsNSSShutDownPreventionLock locker; PRBool enabled; NS_ConvertUTF16toUTF8 prefName(someData); if (prefName.Equals("security.enable_ssl2")) { mPrefBranch->GetBoolPref("security.enable_ssl2", &enabled); SSL_OptionSetDefault(SSL_ENABLE_SSL2, enabled); SSL_OptionSetDefault(SSL_V2_COMPATIBLE_HELLO, enabled); } else if (prefName.Equals("security.enable_ssl3")) { mPrefBranch->GetBoolPref("security.enable_ssl3", &enabled); SSL_OptionSetDefault(SSL_ENABLE_SSL3, enabled); } else if (prefName.Equals("security.enable_tls")) { mPrefBranch->GetBoolPref("security.enable_tls", &enabled); SSL_OptionSetDefault(SSL_ENABLE_TLS, enabled); } else if (prefName.Equals("security.OCSP.enabled")) { setOCSPOptions(mPrefBranch); } else { /* Look through the cipher table and set according to pref setting */ for (CipherPref* cp = CipherPrefs; cp->pref; ++cp) { if (prefName.Equals(cp->pref)) { mPrefBranch->GetBoolPref(cp->pref, &enabled); SSL_CipherPrefSetDefault(cp->id, enabled); break; } } } + SSL_ClearSessionCache(); } else if (nsCRT::strcmp(aTopic, PROFILE_CHANGE_NET_TEARDOWN_TOPIC) == 0) { PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("receiving network teardown topic\n")); if (mSSLThread) mSSLThread->requestExit(); if (mCertVerificationThread) mCertVerificationThread->requestExit(); mIsNetworkDown = PR_TRUE; } else if (nsCRT::strcmp(aTopic, PROFILE_CHANGE_NET_RESTORE_TOPIC) == 0) { PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("receiving network restore topic\n")); delete mSSLThread; mSSLThread = new nsSSLThread(); if (mSSLThread) mSSLThread->startThread(); delete mCertVerificationThread; mCertVerificationThread = new nsCertVerificationThread(); if (mCertVerificationThread) mCertVerificationThread->startThread(); mIsNetworkDown = PR_FALSE; } return NS_OK; } void nsNSSComponent::ShowAlert(AlertIdentifier ai) { nsString message; nsresult rv;