firefox-sync-system-nss.patch
changeset 191 14282ac75832
parent 190 36e368eff6f7
child 192 bb4213ee70c8
--- a/firefox-sync-system-nss.patch	Fri Oct 29 07:19:55 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-# HG changeset patch
-# Parent 1e4f0a7028202f758195452878b0299a587a4b4e
-Bug 583209 - Weave fails to load if system libnss3.so is in use (OpenSolaris, Linux dists)
-https://bugzilla.mozilla.org/show_bug.cgi?id=583209
-
-diff --git a/services/crypto/WeaveCrypto.js b/services/crypto/WeaveCrypto.js
---- a/services/crypto/WeaveCrypto.js
-+++ b/services/crypto/WeaveCrypto.js
-@@ -102,44 +102,23 @@ WeaveCrypto.prototype = {
-     initNSS : function() {
-         // We use NSS for the crypto ops, which needs to be initialized before
-         // use. By convention, PSM is required to be the module that
-         // initializes NSS. So, make sure PSM is initialized in order to
-         // implicitly initialize NSS.
-         Cc["@mozilla.org/psm;1"].getService(Ci.nsISupports);
- 
-         // Open the NSS library.
--        let nssfile = Services.dirsvc.get("GreD", Ci.nsILocalFile);
-         let os = Services.appinfo.OS;
--        switch (os) {
--          case "WINNT":
--          case "WINMO":
--          case "WINCE":
--            nssfile.append("nss3.dll");
--            break;
--          case "Darwin":
--            nssfile.append("libnss3.dylib");
--            break;
--          case "Linux":
--          case "SunOS":
--          case "WebOS": // Palm Pre
--            nssfile.append("libnss3.so");
--            break;
--          case "Android":
--            // Android uses a $GREDIR/lib/ subdir.
--            nssfile.append("lib");
--            nssfile.append("libnss3.so");
--            break;
--          default:
--            throw Components.Exception("unsupported platform: " + os, Cr.NS_ERROR_UNEXPECTED);
--        }
--        this.log("Using NSS library " + nssfile.path);
-+        let path = ctypes.libraryName("nss3");
-+
-+        this.log("Using NSS library " + path);
- 
-         // XXX really want to be able to pass specific dlopen flags here.
--        let nsslib = ctypes.open(nssfile.path);
-+        let nsslib = ctypes.open(path);
- 
-         this.log("Initializing NSS types and function declarations...");
- 
-         this.nss = {};
-         this.nss_t = {};
- 
-         // nsprpub/pr/include/prtypes.h#435
-         // typedef PRIntn PRBool; --> int