24 lines
756 B
Diff
24 lines
756 B
Diff
diff --git a/security/manager/ssl/src/nsNSSIOLayer.cpp b/security/manager/ssl/src/nsNSSIOLayer.cpp
|
|
--- a/security/manager/ssl/src/nsNSSIOLayer.cpp
|
|
+++ b/security/manager/ssl/src/nsNSSIOLayer.cpp
|
|
@@ -3339,16 +3339,20 @@ cancel_and_failure(nsNSSSocketInfo* info
|
|
{
|
|
infoObject->SetCanceled(PR_TRUE);
|
|
return SECFailure;
|
|
}
|
|
|
|
static SECStatus
|
|
nsNSSBadCertHandler(void *arg, PRFileDesc *sslSocket)
|
|
{
|
|
+ // cert was revoked, don't do anything else
|
|
+ if (PR_GetError() == SEC_ERROR_REVOKED_CERTIFICATE)
|
|
+ return SECFailure;
|
|
+
|
|
nsNSSShutDownPreventionLock locker;
|
|
nsNSSSocketInfo* infoObject = (nsNSSSocketInfo *)arg;
|
|
if (!infoObject)
|
|
return SECFailure;
|
|
|
|
if (nsSSLThread::exitRequested())
|
|
return cancel_and_failure(infoObject);
|
|
|