Browse Source

Fix up patch for bug 1924589

Ian Neal 6 days ago
parent
commit
bfd8bd9664

+ 18 - 6
comm-release/patches/1924589-irc-tidy-nss-25320.patch → comm-release/patches/1924589-irc-tidy-nss-v1_1-25320.patch

@@ -1,7 +1,7 @@
 # HG changeset patch
 # User Ian Neal <iann_cvs@blueyonder.co.uk>
 # Date 1728941590 -3600
-# Parent  69ebd9718dea3b291da86d36003a0953e2e2ec2c
+# Parent  0d22a80e47ffc7dab78ffaa5d7396f4aa77925e4
 Bug 1924589 - Remove getNSSErrorClass function and tidy up NSS related code in cZ. r=frg a=frg
 
 diff --git a/suite/extensions/irc/js/lib/connection-xpcom.js b/suite/extensions/irc/js/lib/connection-xpcom.js
@@ -31,7 +31,7 @@ diff --git a/suite/extensions/irc/js/lib/connection-xpcom.js b/suite/extensions/
 diff --git a/suite/extensions/irc/js/lib/irc.js b/suite/extensions/irc/js/lib/irc.js
 --- a/suite/extensions/irc/js/lib/irc.js
 +++ b/suite/extensions/irc/js/lib/irc.js
-@@ -1276,23 +1276,26 @@ function serv_disconnect(e)
+@@ -1276,23 +1276,31 @@ function serv_disconnect(e)
      /* If we're not connected and get this, it means we have almost certainly
       * encountered a read or write error on the socket post-disconnect. There's
       * no point propagating this any further, as we've already notified the
@@ -40,9 +40,14 @@ diff --git a/suite/extensions/irc/js/lib/irc.js b/suite/extensions/irc/js/lib/ir
      if (!this.isConnected)
          return;
  
-+    let errorClass = Cc["@mozilla.org/nss_errors_service;1"]
++    let errorClass = 0;
++    // Check if e.disconnectStatus is within the valid range for NSS Errors.
++    if (e.disconnectStatus >= 8192 && e.disconnectStatus < 20480)
++    {
++        errorClass = Cc["@mozilla.org/nss_errors_service;1"]
 +                       .getService(Ci.nsINSSErrorsService)
 +                       .getErrorClass(e.disconnectStatus);
++    }
      // Don't reconnect from a certificate error.
 -    var certError = (getNSSErrorClass(e.disconnectStatus) == ERROR_CLASS_BAD_CERT);
 +    let badCert = (errorClass == Ci.nsINSSErrorsService.ERROR_CLASS_BAD_CERT);
@@ -99,7 +104,7 @@ diff --git a/suite/extensions/irc/js/lib/utils.js b/suite/extensions/irc/js/lib/
 diff --git a/suite/extensions/irc/xul/content/handlers.js b/suite/extensions/irc/xul/content/handlers.js
 --- a/suite/extensions/irc/xul/content/handlers.js
 +++ b/suite/extensions/irc/xul/content/handlers.js
-@@ -2286,35 +2286,35 @@ function my_netdisconnect (e)
+@@ -2286,35 +2286,42 @@ function my_netdisconnect (e)
                      msg = getMsg(MSG_CONNECTION_ABORT_UNKNOWN,
                                   [this.getURL(), e.server.getURL(),
                                    formatException(e.exception)]);
@@ -109,9 +114,16 @@ diff --git a/suite/extensions/irc/xul/content/handlers.js b/suite/extensions/irc
  
              default:
 -                var errClass = getNSSErrorClass(e.disconnectStatus);
++                
 +                let nssErrSvc = Cc["@mozilla.org/nss_errors_service;1"]
-+                                  .getService(Ci.nsINSSErrorsService)
-+                let errClass = nssErrSvc.getErrorClass(e.disconnectStatus);
++                                  .getService(Ci.nsINSSErrorsService);
++                let errClass = 0;
++                // Check if e.disconnectStatus is within the valid range for
++                // NSS Errors.
++                if (e.disconnectStatus >= 8192 && e.disconnectStatus < 20480)
++                {
++                    errClass = nssErrSvc.getErrorClass(e.disconnectStatus);
++                }
                  // Check here if it's a cert error.
                  // The exception adding dialog will explain the reasons.
 -                if (errClass == ERROR_CLASS_BAD_CERT)

+ 1 - 1
comm-release/patches/series

@@ -2208,7 +2208,7 @@ WIP-1070492-composer-findbar-v3-25319.patch
 1924586-irc-remove-getWindowByType-25320.patch
 1924587-irc-inline-viewCert-25320.patch
 1924588-irc-tidy-dirsvc-25320.patch
-1924589-irc-tidy-nss-25320.patch
+1924589-irc-tidy-nss-v1_1-25320.patch
 1924592-irc-tidy-message-manager-25320.patch
 1924595-irc-getService-25320.patch
 1925021-wikiico-25320.patch