ssl3->policy == SSL_ALLOWED &&
ss->ssl3.policy == SSL_ALLOWED &&
ssl3_RestartHandshakeAfterServerCert(sslSocket *ss){    CERTCertificate * cert;    ssl3State       * ssl3	= ss->ssl3;    int               rv	= SECSuccess;    if (MSB(ss->version) != MSB(SSL_LIBRARY_VERSION_3_0)) {	SET_ERROR_CODE    	return SECFailure;    }    if (!ss->ssl3) {	SET_ERROR_CODE    	return SECFailure;    }    cert = ss->sec.peerCert;    /* Permit step up if user decided to accept the cert */    if (!ss->sec.isServer &&    	ssl3_global_policy_some_restricted &&        ssl3->policy == SSL_ALLOWED &&	anyRestrictedEnabled(ss) &&	(SECSuccess == CERT_VerifyCertNow(cert->dbhandle, cert,	                                  PR_FALSE, /* checksig */				          certUsageSSLServerWithStepUp,/*XXX*/				          ss->authCertificateArg) )) {	ssl3->policy         = SSL_RESTRICTED;	ssl3->hs.rehandshake = PR_TRUE;    }    if (ss->handshake != NULL) {	ss->handshake = ssl_GatherRecord1stHandshake;	ss->sec.ci.sid->peerCert = CERT_DupCertificate(ss->sec.peerCert);	ssl_GetRecvBufLock(ss);	if (ssl3->hs.msgState.buf != NULL) {	    rv = ssl3_HandleRecord(ss, NULL, &ss->gs.buf);	}	ssl_ReleaseRecvBufLock(ss);    }    return rv;}