diff --git a/dom/ipc/TabParent.cpp b/dom/ipc/TabParent.cpp index d9e6dc992be..5f16db0e7e1 100644 --- a/dom/ipc/TabParent.cpp +++ b/dom/ipc/TabParent.cpp @@ -538,13 +538,6 @@ TabParent::SetDocShell(nsIDocShell *aDocShell) return NS_OK; } -NS_IMETHODIMP -TabParent::GetTooltipText(nsAString & aTooltipText) -{ - aTooltipText.Truncate(); - return NS_OK; -} - PDocumentRendererParent* TabParent::AllocPDocumentRenderer(const nsRect& documentRect, const gfxMatrix& transform, diff --git a/netwerk/base/public/nsISecureBrowserUI.idl b/netwerk/base/public/nsISecureBrowserUI.idl index fb8c00663de..a017d830acd 100644 --- a/netwerk/base/public/nsISecureBrowserUI.idl +++ b/netwerk/base/public/nsISecureBrowserUI.idl @@ -10,14 +10,13 @@ interface nsIDOMWindow; interface nsIDOMElement; interface nsIDocShell; -[scriptable, uuid(e97e5688-add2-4a1d-acae-396d7702e382)] +[scriptable, uuid(62f6c5be-ea8c-4fab-8e5c-d1580b50ec3f)] interface nsISecureBrowserUI : nsISupports { void init(in nsIDOMWindow window); void setDocShell(in nsIDocShell docShell); readonly attribute unsigned long state; - readonly attribute AString tooltipText; }; %{C++ diff --git a/netwerk/socket/nsITransportSecurityInfo.idl b/netwerk/socket/nsITransportSecurityInfo.idl index f237d01dc8b..96a16233b7f 100644 --- a/netwerk/socket/nsITransportSecurityInfo.idl +++ b/netwerk/socket/nsITransportSecurityInfo.idl @@ -6,10 +6,9 @@ #include "nsISupports.idl" -[scriptable, uuid(0d0a6b62-d4a9-402e-a197-6bc6e358fec9)] +[scriptable, uuid(8813d03b-e76c-4240-9691-d327d9b91e88)] interface nsITransportSecurityInfo : nsISupports { readonly attribute unsigned long securityState; - readonly attribute wstring shortSecurityDescription; readonly attribute wstring errorMessage; }; diff --git a/security/manager/boot/src/nsSecureBrowserUIImpl.cpp b/security/manager/boot/src/nsSecureBrowserUIImpl.cpp index 7b9e5d2061c..584ffd5cebf 100644 --- a/security/manager/boot/src/nsSecureBrowserUIImpl.cpp +++ b/security/manager/boot/src/nsSecureBrowserUIImpl.cpp @@ -48,8 +48,6 @@ using namespace mozilla; -#define SECURITY_STRING_BUNDLE_URL "chrome://pipnss/locale/security.properties" - #define IS_SECURE(state) ((state & 0xFFFF) == STATE_IS_SECURE) #if defined(PR_LOGGING) @@ -191,17 +189,6 @@ nsSecureBrowserUIImpl::Init(nsIDOMWindow *aWindow) mWindow = do_GetWeakReference(pwin, &rv); NS_ENSURE_SUCCESS(rv, rv); - nsCOMPtr service(do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv)); - if (NS_FAILED(rv)) return rv; - - // We do not need to test for mStringBundle here... - // Anywhere we use it, we will test before using. Some - // embedded users of PSM may want to reuse our - // nsSecureBrowserUIImpl implementation without the - // bundle. - service->CreateBundle(SECURITY_STRING_BUNDLE_URL, getter_AddRefs(mStringBundle)); - - // hook up to the form post notifications: nsCOMPtr svc(do_GetService("@mozilla.org/observer-service;1", &rv)); if (NS_SUCCEEDED(rv)) { @@ -337,36 +324,6 @@ nsSecureBrowserUIImpl::SetDocShell(nsIDocShell *aDocShell) return rv; } -NS_IMETHODIMP -nsSecureBrowserUIImpl::GetTooltipText(nsAString& aText) -{ - lockIconState state; - nsXPIDLString tooltip; - - { - ReentrantMonitorAutoEnter lock(mReentrantMonitor); - state = mNotifiedSecurityState; - tooltip = mInfoTooltip; - } - - if (state == lis_mixed_security) - { - GetBundleString(NS_LITERAL_STRING("SecurityButtonMixedContentTooltipText").get(), - aText); - } - else if (!tooltip.IsEmpty()) - { - aText = tooltip; - } - else - { - GetBundleString(NS_LITERAL_STRING("SecurityButtonTooltipText").get(), - aText); - } - - return NS_OK; -} - NS_IMETHODIMP nsSecureBrowserUIImpl::Observe(nsISupports*, const char*, const PRUnichar*) @@ -504,7 +461,6 @@ void nsSecureBrowserUIImpl::ResetStateTracking() { ReentrantMonitorAutoEnter lock(mReentrantMonitor); - mInfoTooltip.Truncate(); mDocumentRequestsInProgress = 0; if (mTransferringRequests.ops) { PL_DHashTableFinish(&mTransferringRequests); @@ -528,9 +484,6 @@ nsSecureBrowserUIImpl::EvaluateAndUpdateSecurityState(nsIRequest* aRequest, nsIS bool updateStatus = false; nsCOMPtr temp_SSLStatus; - bool updateTooltip = false; - nsXPIDLString temp_InfoTooltip; - temp_NewToplevelSecurityState = GetSecurityStateFromSecurityInfo(info); PR_LOG(gSecureDocLog, PR_LOG_DEBUG, @@ -550,14 +503,6 @@ nsSecureBrowserUIImpl::EvaluateAndUpdateSecurityState(nsIRequest* aRequest, nsIS } } - if (info) { - nsCOMPtr secInfo(do_QueryInterface(info)); - if (secInfo) { - updateTooltip = true; - secInfo->GetShortSecurityDescription(getter_Copies(temp_InfoTooltip)); - } - } - // assume temp_NewToplevelSecurityState was set in this scope! // see code that is directly above @@ -569,9 +514,6 @@ nsSecureBrowserUIImpl::EvaluateAndUpdateSecurityState(nsIRequest* aRequest, nsIS if (updateStatus) { mSSLStatus = temp_SSLStatus; } - if (updateTooltip) { - mInfoTooltip = temp_InfoTooltip; - } PR_LOG(gSecureDocLog, PR_LOG_DEBUG, ("SecureUI:%p: remember securityInfo %p\n", this, info)); @@ -588,8 +530,7 @@ nsSecureBrowserUIImpl::EvaluateAndUpdateSecurityState(nsIRequest* aRequest, nsIS mRestoreSubrequests = false; } - return UpdateSecurityState(aRequest, withNewLocation, - updateStatus, updateTooltip); + return UpdateSecurityState(aRequest, withNewLocation, updateStatus); } void @@ -1311,7 +1252,7 @@ nsSecureBrowserUIImpl::OnStateChange(nsIWebProgress* aWebProgress, } if (temp_NewToplevelSecurityStateKnown) - return UpdateSecurityState(aRequest, false, false, false); + return UpdateSecurityState(aRequest, false, false); } return NS_OK; @@ -1331,8 +1272,7 @@ void nsSecureBrowserUIImpl::ObtainEventSink(nsIChannel *channel, nsresult nsSecureBrowserUIImpl::UpdateSecurityState(nsIRequest* aRequest, bool withNewLocation, - bool withUpdateStatus, - bool withUpdateTooltip) + bool withUpdateStatus) { lockIconState warnSecurityState = lis_no_security; nsresult rv = NS_OK; @@ -1340,7 +1280,7 @@ nsresult nsSecureBrowserUIImpl::UpdateSecurityState(nsIRequest* aRequest, // both parameters are both input and outout bool flagsChanged = UpdateMyFlags(warnSecurityState); - if (flagsChanged || withNewLocation || withUpdateStatus || withUpdateTooltip) + if (flagsChanged || withNewLocation || withUpdateStatus) rv = TellTheWorld(warnSecurityState, aRequest); return rv; @@ -1407,7 +1347,6 @@ bool nsSecureBrowserUIImpl::UpdateMyFlags(lockIconState &warnSecurityState) if (lis_no_security == newSecurityState) { mSSLStatus = nullptr; - mInfoTooltip.Truncate(); } } @@ -1547,7 +1486,7 @@ nsSecureBrowserUIImpl::OnLocationChange(nsIWebProgress* aWebProgress, } if (temp_NewToplevelSecurityStateKnown) - return UpdateSecurityState(aRequest, true, false, false); + return UpdateSecurityState(aRequest, true, false); return NS_OK; } @@ -1637,32 +1576,6 @@ nsSecureBrowserUIImpl::IsURLJavaScript(nsIURI* aURL, bool* value) return aURL->SchemeIs("javascript", value); } -void -nsSecureBrowserUIImpl::GetBundleString(const PRUnichar* name, - nsAString &outString) -{ - nsCOMPtr temp_StringBundle; - - { - ReentrantMonitorAutoEnter lock(mReentrantMonitor); - temp_StringBundle = mStringBundle; - } - - if (temp_StringBundle && name) { - PRUnichar *ptrv = nullptr; - if (NS_SUCCEEDED(temp_StringBundle->GetStringFromName(name, - &ptrv))) - outString = ptrv; - else - outString.SetLength(0); - - nsMemory::Free(ptrv); - - } else { - outString.SetLength(0); - } -} - nsresult nsSecureBrowserUIImpl::CheckPost(nsIURI *formURL, nsIURI *actionURL, bool *okayToPost) { diff --git a/security/manager/boot/src/nsSecureBrowserUIImpl.h b/security/manager/boot/src/nsSecureBrowserUIImpl.h index fc614663208..174bffe82c0 100644 --- a/security/manager/boot/src/nsSecureBrowserUIImpl.h +++ b/security/manager/boot/src/nsSecureBrowserUIImpl.h @@ -8,13 +8,11 @@ #include "mozilla/ReentrantMonitor.h" #include "nsCOMPtr.h" -#include "nsXPIDLString.h" #include "nsString.h" #include "nsIObserver.h" #include "nsIDOMElement.h" #include "nsIDOMWindow.h" #include "nsIDOMHTMLFormElement.h" -#include "nsIStringBundle.h" #include "nsISecureBrowserUI.h" #include "nsIDocShell.h" #include "nsIDocShellTreeItem.h" @@ -69,7 +67,6 @@ protected: nsWeakPtr mWindow; nsWeakPtr mDocShell; nsCOMPtr mIOService; - nsCOMPtr mStringBundle; nsCOMPtr mCurrentURI; nsCOMPtr mToplevelEventSink; @@ -89,7 +86,6 @@ protected: bool mNewToplevelSecurityStateKnown; bool mIsViewSource; - nsXPIDLString mInfoTooltip; int32_t mDocumentRequestsInProgress; int32_t mSubRequestsBrokenSecurity; int32_t mSubRequestsNoSecurity; @@ -103,7 +99,7 @@ protected: static already_AddRefed ExtractSecurityInfo(nsIRequest* aRequest); nsresult MapInternalToExternalState(uint32_t* aState, lockIconState lock, bool ev); nsresult UpdateSecurityState(nsIRequest* aRequest, bool withNewLocation, - bool withUpdateStatus, bool withUpdateTooltip); + bool withUpdateStatus); bool UpdateMyFlags(lockIconState &warnSecurityState); nsresult TellTheWorld(lockIconState warnSecurityState, nsIRequest* aRequest); @@ -118,8 +114,6 @@ protected: nsCOMPtr mSSLStatus; nsCOMPtr mCurrentToplevelSecurityInfo; - void GetBundleString(const PRUnichar* name, nsAString &outString); - nsresult CheckPost(nsIURI *formURI, nsIURI *actionURL, bool *okayToPost); nsresult IsURLHTTPS(nsIURI* aURL, bool *value); nsresult IsURLJavaScript(nsIURI* aURL, bool *value); diff --git a/security/manager/locales/en-US/chrome/pipnss/pipnss.properties b/security/manager/locales/en-US/chrome/pipnss/pipnss.properties index 5f36bf1a9b4..d8834955adc 100755 --- a/security/manager/locales/en-US/chrome/pipnss/pipnss.properties +++ b/security/manager/locales/en-US/chrome/pipnss/pipnss.properties @@ -3,7 +3,6 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -SignedBy=Authenticated by %S CertPassPrompt=Please enter the master password for the %S. # the following strings have special requirements: # they must fit in a 32 or 64 byte buffer after being translated diff --git a/security/manager/locales/en-US/chrome/pipnss/security.properties b/security/manager/locales/en-US/chrome/pipnss/security.properties index 764ca812aa6..50af92694e0 100644 --- a/security/manager/locales/en-US/chrome/pipnss/security.properties +++ b/security/manager/locales/en-US/chrome/pipnss/security.properties @@ -1,10 +1,7 @@ -# # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. Title=Security Warning PostToInsecureFromSecureMessage=Although this page is encrypted, the information you have entered is to be sent over an unencrypted connection and could easily be read by a third party.##Are you sure you want to continue sending this information?## -SecurityButtonTooltipText=Displays security information about the current page -SecurityButtonMixedContentTooltipText=Warning: Contains unauthenticated content Continue=Continue diff --git a/security/manager/locales/en-US/chrome/pippki/pippki.properties b/security/manager/locales/en-US/chrome/pippki/pippki.properties index 4d8445d2e66..5e98f19afe6 100644 --- a/security/manager/locales/en-US/chrome/pippki/pippki.properties +++ b/security/manager/locales/en-US/chrome/pippki/pippki.properties @@ -3,7 +3,6 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -SignedBy=Authenticated by %S CertPassPrompt=Please enter the Personal Security Password for the PSM Private Keys security device. #These are for dialogs diff --git a/security/manager/ssl/src/TransportSecurityInfo.cpp b/security/manager/ssl/src/TransportSecurityInfo.cpp index 94535fe7fbb..fbf492b91f7 100644 --- a/security/manager/ssl/src/TransportSecurityInfo.cpp +++ b/security/manager/ssl/src/TransportSecurityInfo.cpp @@ -175,25 +175,6 @@ TransportSecurityInfo::Flush() return NS_OK; } -NS_IMETHODIMP -TransportSecurityInfo::GetShortSecurityDescription(PRUnichar** aText) -{ - if (mShortDesc.IsEmpty()) - *aText = nullptr; - else { - *aText = ToNewUnicode(mShortDesc); - NS_ENSURE_TRUE(*aText, NS_ERROR_OUT_OF_MEMORY); - } - return NS_OK; -} - -nsresult -TransportSecurityInfo::SetShortSecurityDescription(const PRUnichar* aText) -{ - mShortDesc.Assign(aText); - return NS_OK; -} - NS_IMETHODIMP TransportSecurityInfo::GetErrorMessage(PRUnichar** aText) { @@ -358,7 +339,7 @@ TransportSecurityInfo::Write(nsIObjectOutputStream* stream) uint32_t version = 3; stream->Write32(version | 0xFFFF0000); stream->Write32(mSecurityState); - stream->WriteWStringZ(mShortDesc.get()); + stream->WriteWStringZ(EmptyString().get()); // XXX: uses nsNSSComponent string bundles off the main thread nsresult rv = formatErrorMessage(lock, @@ -459,7 +440,8 @@ TransportSecurityInfo::Read(nsIObjectInputStream* stream) mSecurityState = version; version = 1; } - stream->ReadString(mShortDesc); + nsAutoString dummyShortDesc; + stream->ReadString(dummyShortDesc); stream->ReadString(mErrorMessageCached); mErrorCode = 0; diff --git a/security/manager/ssl/src/TransportSecurityInfo.h b/security/manager/ssl/src/TransportSecurityInfo.h index c4132f13f5c..c13d89d27f0 100644 --- a/security/manager/ssl/src/TransportSecurityInfo.h +++ b/security/manager/ssl/src/TransportSecurityInfo.h @@ -90,7 +90,6 @@ private: uint32_t mSecurityState; int32_t mSubRequestsBrokenSecurity; int32_t mSubRequestsNoSecurity; - nsString mShortDesc; PRErrorCode mErrorCode; ::mozilla::psm::SSLErrorMessageType mErrorMessageType; diff --git a/security/manager/ssl/src/nsNSSCallbacks.cpp b/security/manager/ssl/src/nsNSSCallbacks.cpp index 4f77a86f019..a8d7f6d30b4 100644 --- a/security/manager/ssl/src/nsNSSCallbacks.cpp +++ b/security/manager/ssl/src/nsNSSCallbacks.cpp @@ -826,10 +826,8 @@ PK11PasswordPrompt(PK11SlotInfo* slot, PRBool retry, void* arg) void HandshakeCallback(PRFileDesc* fd, void* client_data) { nsNSSShutDownPreventionLock locker; int32_t sslStatus; - char* signer = nullptr; char* cipherName = nullptr; int32_t keyLength; - nsresult rv; int32_t encryptBits; nsNSSSocketInfo* infoObject = (nsNSSSocketInfo*) fd->higher->secret; @@ -847,7 +845,7 @@ void HandshakeCallback(PRFileDesc* fd, void* client_data) { ioLayerHelpers.rememberTolerantSite(infoObject); if (SECSuccess != SSL_SecurityStatus(fd, &sslStatus, &cipherName, &keyLength, - &encryptBits, &signer, nullptr)) { + &encryptBits, nullptr, nullptr)) { return; } @@ -883,116 +881,88 @@ void HandshakeCallback(PRFileDesc* fd, void* client_data) { } } - ScopedCERTCertificate serverCert(SSL_PeerCertificate(fd)); - const char* caName = nullptr; // caName is a pointer only, no ownership - char* certOrgName = CERT_GetOrgName(&serverCert->issuer); - caName = certOrgName ? certOrgName : signer; - const char* verisignName = "Verisign, Inc."; - // If the CA name is RSA Data Security, then change the name to the real - // name of the company i.e. VeriSign, Inc. - if (nsCRT::strcmp((const char*)caName, "RSA Data Security, Inc.") == 0) { - caName = verisignName; + infoObject->SetSecurityState(secStatus); + + /* Set the SSL Status information */ + RefPtr status(infoObject->SSLStatus()); + if (!status) { + status = new nsSSLStatus(); + infoObject->SetSSLStatus(status); } - nsAutoString shortDesc; - const PRUnichar* formatStrings[1] = { ToNewUnicode(NS_ConvertUTF8toUTF16(caName)) }; - nsCOMPtr nssComponent(do_GetService(kNSSComponentCID, &rv)); - if (NS_SUCCEEDED(rv)) { - rv = nssComponent->PIPBundleFormatStringFromName("SignedBy", - formatStrings, 1, - shortDesc); + RememberCertErrorsTable::GetInstance().LookupCertErrorBits(infoObject, + status); - nsMemory::Free(const_cast(formatStrings[0])); + RefPtr nssc(nsNSSCertificate::Create(serverCert)); + nsCOMPtr prevcert; + infoObject->GetPreviousCert(getter_AddRefs(prevcert)); - nsNSSSocketInfo* infoObject = (nsNSSSocketInfo*) fd->higher->secret; - infoObject->SetSecurityState(secStatus); - infoObject->SetShortSecurityDescription(shortDesc.get()); - - /* Set the SSL Status information */ - RefPtr status(infoObject->SSLStatus()); - if (!status) { - status = new nsSSLStatus(); - infoObject->SetSSLStatus(status); + bool equals_previous = false; + if (prevcert && nssc) { + nsresult rv = nssc->Equals(prevcert, &equals_previous); + if (NS_FAILED(rv)) { + equals_previous = false; } + } - RememberCertErrorsTable::GetInstance().LookupCertErrorBits(infoObject, - status); - - if (serverCert) { - RefPtr nssc(nsNSSCertificate::Create(serverCert)); - nsCOMPtr prevcert; - infoObject->GetPreviousCert(getter_AddRefs(prevcert)); - - bool equals_previous = false; - if (prevcert && nssc) { - nsresult rv = nssc->Equals(prevcert, &equals_previous); - if (NS_FAILED(rv)) { - equals_previous = false; - } - } - - if (equals_previous) { - PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, - ("HandshakeCallback using PREV cert %p\n", prevcert.get())); - status->mServerCert = prevcert; - } - else { - if (status->mServerCert) { - PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, - ("HandshakeCallback KEEPING cert %p\n", status->mServerCert.get())); - } - else { - PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, - ("HandshakeCallback using NEW cert %p\n", nssc.get())); - status->mServerCert = nssc; - } - } + if (equals_previous) { + PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, + ("HandshakeCallback using PREV cert %p\n", prevcert.get())); + status->mServerCert = prevcert; + } + else { + if (status->mServerCert) { + PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, + ("HandshakeCallback KEEPING cert %p\n", status->mServerCert.get())); } + else { + PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, + ("HandshakeCallback using NEW cert %p\n", nssc.get())); + status->mServerCert = nssc; + } + } - status->mHaveKeyLengthAndCipher = true; - status->mKeyLength = keyLength; - status->mSecretKeyLength = encryptBits; - status->mCipherName.Assign(cipherName); + status->mHaveKeyLengthAndCipher = true; + status->mKeyLength = keyLength; + status->mSecretKeyLength = encryptBits; + status->mCipherName.Assign(cipherName); - // Get the NPN value. - SSLNextProtoState state; - unsigned char npnbuf[256]; - unsigned int npnlen; + // Get the NPN value. + SSLNextProtoState state; + unsigned char npnbuf[256]; + unsigned int npnlen; - if (SSL_GetNextProto(fd, &state, npnbuf, &npnlen, 256) == SECSuccess) { - if (state == SSL_NEXT_PROTO_NEGOTIATED) - infoObject->SetNegotiatedNPN(reinterpret_cast(npnbuf), npnlen); - else - infoObject->SetNegotiatedNPN(nullptr, 0); - mozilla::Telemetry::Accumulate(Telemetry::SSL_NPN_TYPE, state); - } + if (SSL_GetNextProto(fd, &state, npnbuf, &npnlen, 256) == SECSuccess) { + if (state == SSL_NEXT_PROTO_NEGOTIATED) + infoObject->SetNegotiatedNPN(reinterpret_cast(npnbuf), npnlen); else infoObject->SetNegotiatedNPN(nullptr, 0); - - SSLChannelInfo channelInfo; - if (SSL_GetChannelInfo(fd, &channelInfo, sizeof(channelInfo)) == SECSuccess) { - // Get the protocol version for telemetry - // 0=ssl3, 1=tls1, 2=tls1.1, 3=tls1.2 - unsigned int versionEnum = channelInfo.protocolVersion & 0xFF; - Telemetry::Accumulate(Telemetry::SSL_HANDSHAKE_VERSION, versionEnum); - - SSLCipherSuiteInfo cipherInfo; - if (SSL_GetCipherSuiteInfo(channelInfo.cipherSuite, &cipherInfo, - sizeof (cipherInfo)) == SECSuccess) { - // keyExchange null=0, rsa=1, dh=2, fortezza=3, ecdh=4 - Telemetry::Accumulate(Telemetry::SSL_KEY_EXCHANGE_ALGORITHM, - cipherInfo.keaType); - } - - } - infoObject->SetHandshakeCompleted(isResumedSession); + mozilla::Telemetry::Accumulate(Telemetry::SSL_NPN_TYPE, state); } + else + infoObject->SetNegotiatedNPN(nullptr, 0); + + SSLChannelInfo channelInfo; + if (SSL_GetChannelInfo(fd, &channelInfo, sizeof(channelInfo)) == SECSuccess) { + // Get the protocol version for telemetry + // 0=ssl3, 1=tls1, 2=tls1.1, 3=tls1.2 + unsigned int versionEnum = channelInfo.protocolVersion & 0xFF; + Telemetry::Accumulate(Telemetry::SSL_HANDSHAKE_VERSION, versionEnum); + + SSLCipherSuiteInfo cipherInfo; + if (SSL_GetCipherSuiteInfo(channelInfo.cipherSuite, &cipherInfo, + sizeof (cipherInfo)) == SECSuccess) { + // keyExchange null=0, rsa=1, dh=2, fortezza=3, ecdh=4 + Telemetry::Accumulate(Telemetry::SSL_KEY_EXCHANGE_ALGORITHM, + cipherInfo.keaType); + } + + } + infoObject->SetHandshakeCompleted(isResumedSession); PORT_Free(cipherName); - PR_FREEIF(certOrgName); - PR_Free(signer); } struct OCSPDefaultResponders {