Bug 846489 - Part 1 - Expose error code on TransportSecurityInfo. r=keeler
authorGarrett Robinson <grobinson@mozilla.com>
Thu, 30 Oct 2014 12:50:00 +0100
changeset 213366 74b8493b56100d31337e9b0151bb9ca0471f661b
parent 213365 1b03e349bddde4ee64d479fc90521bb81800e8e9
child 213367 de8069c6745ecb7de68b5d583d7f5fe2b77df852
push id27748
push userryanvm@gmail.com
push dateFri, 31 Oct 2014 20:14:33 +0000
treeherdermozilla-central@12ac66e2c016 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskeeler
bugs846489
milestone36.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 846489 - Part 1 - Expose error code on TransportSecurityInfo. r=keeler
netwerk/socket/nsITransportSecurityInfo.idl
security/manager/ssl/src/TransportSecurityInfo.cpp
--- a/netwerk/socket/nsITransportSecurityInfo.idl
+++ b/netwerk/socket/nsITransportSecurityInfo.idl
@@ -3,20 +3,21 @@
  * 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/. */
 
 #include "nsISupports.idl"
 
 interface nsIX509CertList;
 
-[scriptable, uuid(c754ef58-853f-4870-abf7-98be325d2b97)]
+[scriptable, uuid(216112d3-28bc-4671-b057-f98cc09ba1ea)]
 interface nsITransportSecurityInfo : nsISupports {
     readonly attribute unsigned long    securityState;
     readonly attribute wstring          errorMessage;
+    readonly attribute long             errorCode; // PRErrorCode
 
     /**
      * If certificate verification failed, this will be the peer certificate
      * chain provided in the handshake, so it can be used for error reporting.
      * If verification succeeded, this will be null.
      */
     readonly attribute nsIX509CertList failedCertChain;
 };
--- a/security/manager/ssl/src/TransportSecurityInfo.cpp
+++ b/security/manager/ssl/src/TransportSecurityInfo.cpp
@@ -261,16 +261,23 @@ TransportSecurityInfo::formatErrorMessag
 
   if (NS_FAILED(rv)) {
     result.Truncate();
   }
 
   return rv;
 }
 
+NS_IMETHODIMP
+TransportSecurityInfo::GetErrorCode(int32_t* state)
+{
+  *state = GetErrorCode();
+  return NS_OK;
+}
+
 /* void getInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
 NS_IMETHODIMP
 TransportSecurityInfo::GetInterface(const nsIID & uuid, void * *result)
 {
   if (!NS_IsMainThread()) {
     NS_ERROR("nsNSSSocketInfo::GetInterface called off the main thread");
     return NS_ERROR_NOT_SAME_THREAD;
   }