[tor-commits] [tor-messenger-build/master] Move .mozpatches to mozilla/

arlo at torproject.org arlo at torproject.org
Mon Oct 10 19:41:22 UTC 2016


commit 081bea27703e54e6548362224f35bb11e62e641d
Author: Arlo Breault <arlolra at gmail.com>
Date:   Sun Oct 9 12:41:08 2016 -0700

    Move .mozpatches to mozilla/
---
 ...16-HTTP-Basic-Authentication-prompt-on.mozpatch | 206 ---------------------
 projects/instantbird/0002-Block-flash-too.mozpatch |  33 ----
 ...03-s-TorBrowser-Data-TorMessenger-Data.mozpatch |  28 ---
 ...n-t-attempt-to-look-up-a-single-face-f.mozpatch |  65 -------
 ...ops-code-to-be-more-compatible-with-th.mozpatch | 123 ------------
 .../0006-OSX-package-as-tar.bz2.mozpatch           |  25 ---
 .../instantbird/0007-Remove-updater-links.mozpatch |  71 -------
 projects/instantbird/aboutTBUpdateLogo.png         | Bin 2724 -> 0 bytes
 projects/instantbird/build                         |  27 +--
 projects/instantbird/config                        |  15 +-
 projects/instantbird/marsigner.der                 | Bin 1233 -> 0 bytes
 projects/instantbird/marsigner1.der                | Bin 1235 -> 0 bytes
 ...14716-HTTP-Basic-Authentication-prompt-on.patch | 206 +++++++++++++++++++++
 projects/mozilla/0002-Block-flash-too.patch        |  33 ++++
 .../0003-s-TorBrowser-Data-TorMessenger-Data.patch |  28 +++
 ...-Don-t-attempt-to-look-up-a-single-face-f.patch |  65 +++++++
 ...ic-ops-code-to-be-more-compatible-with-th.patch | 123 ++++++++++++
 projects/mozilla/0006-OSX-package-as-tar.bz2.patch |  25 +++
 projects/mozilla/0007-Remove-updater-links.patch   |  71 +++++++
 projects/mozilla/aboutTBUpdateLogo.png             | Bin 0 -> 2724 bytes
 projects/mozilla/build                             |  27 +++
 projects/mozilla/config                            |  19 +-
 projects/mozilla/marsigner.der                     | Bin 0 -> 1233 bytes
 projects/mozilla/marsigner1.der                    | Bin 0 -> 1235 bytes
 24 files changed, 593 insertions(+), 597 deletions(-)

diff --git a/projects/instantbird/0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.mozpatch b/projects/instantbird/0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.mozpatch
deleted file mode 100644
index 3203556..0000000
--- a/projects/instantbird/0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.mozpatch
+++ /dev/null
@@ -1,206 +0,0 @@
-From ed5968f6b886ba8c606a673582ff3ecb36c3cc2a Mon Sep 17 00:00:00 2001
-From: Arlo Breault <arlolra at gmail.com>
-Date: Sat, 8 Oct 2016 18:11:20 -0700
-Subject: [PATCH 1/7] Revert "Bug 14716: HTTP Basic Authentication prompt only
- displayed once"
-
- * This patch was breaking Tor Messenger.
-
-This reverts commit 5995aea1797320295fff1247bf4baac9ec511876.
----
- toolkit/components/passwordmgr/nsLoginManager.js | 81 ++----------------------
- 1 file changed, 6 insertions(+), 75 deletions(-)
-
-diff --git a/toolkit/components/passwordmgr/nsLoginManager.js b/toolkit/components/passwordmgr/nsLoginManager.js
-index b56e849..f3c8223 100644
---- a/toolkit/components/passwordmgr/nsLoginManager.js
-+++ b/toolkit/components/passwordmgr/nsLoginManager.js
-@@ -122,25 +122,9 @@ LoginManager.prototype = {
-       log("No alternate nsILoginManagerStorage registered");
-     }
- 
--    // If the security.nocertdb pref. is true, we skip initialization of
--    // login manager storage since we know it will fail.  In this case we
--    // pretend that initialization succeeded in order to avoid a cascade of
--    // initialization errors.
--    if (Services.prefs.getBoolPref("security.nocertdb")) {
--      this._storage = null;
--      this.initializationPromise = Promise.resolve();
--    } else {
--      this._storage = Cc[contractID].
--                      createInstance(Ci.nsILoginManagerStorage);
--      try {
--        this.initializationPromise = this._storage.initialize();
--      } catch (e) {
--        // If storage is not available, set _storage to null so that we can
--        // cleanly check for a lack of storage elsewhere in this file.
--        this._storage = null;
--        this.initializationPromise = Promise.reject(e);
--      }
--    }
-+    this._storage = Cc[contractID].
-+                    createInstance(Ci.nsILoginManagerStorage);
-+    this.initializationPromise = this._storage.initialize();
-   },
- 
- 
-@@ -179,8 +163,7 @@ LoginManager.prototype = {
-         this._pwmgr = null;
-       } else if (topic == "passwordmgr-storage-replace") {
-         Task.spawn(function () {
--          if (this._pwmgr._storage)
--            yield this._pwmgr._storage.terminate();
-+          yield this._pwmgr._storage.terminate();
-           this._pwmgr._initStorage();
-           yield this._pwmgr.initializationPromise;
-           Services.obs.notifyObservers(null,
-@@ -318,9 +301,6 @@ LoginManager.prototype = {
-     if (logins.some(l => login.matches(l, true)))
-       throw new Error("This login already exists.");
- 
--    if (!this._storage)
--      throw new Error("No storage to add login");
--
-     log("Adding login");
-     return this._storage.addLogin(login);
-   },
-@@ -332,12 +312,6 @@ LoginManager.prototype = {
-    */
-   removeLogin : function (login) {
-     log("Removing login");
--
--    if (!this._storage) {
--      log("No storage to remove login");
--      return null;
--    }
--
-     return this._storage.removeLogin(login);
-   },
- 
-@@ -349,12 +323,6 @@ LoginManager.prototype = {
-    */
-   modifyLogin : function (oldLogin, newLogin) {
-     log("Modifying login");
--
--    if (!this._storage) {
--      log("No storage to modify login");
--      return null;
--    }
--
-     return this._storage.modifyLogin(oldLogin, newLogin);
-   },
- 
-@@ -370,12 +338,6 @@ LoginManager.prototype = {
-    */
-   getAllLogins : function (count) {
-     log("Getting a list of all logins");
--
--    if (!this._storage) {
--      log("No storage to get all logins");
--      return null;
--    }
--
-     return this._storage.getAllLogins(count);
-   },
- 
-@@ -387,10 +349,7 @@ LoginManager.prototype = {
-    */
-   removeAllLogins : function () {
-     log("Removing all logins");
--    if (!this._storage)
--      log("No storage to remove all logins");
--    else
--      this._storage.removeAllLogins();
-+    this._storage.removeAllLogins();
-   },
- 
-   /*
-@@ -405,12 +364,6 @@ LoginManager.prototype = {
-    */
-   getAllDisabledHosts : function (count) {
-     log("Getting a list of all disabled hosts");
--
--    if (!this._storage) {
--      log("No storage to get all disabled hosts");
--      return null;
--    }
--
-     return this._storage.getAllDisabledHosts(count);
-   },
- 
-@@ -424,11 +377,6 @@ LoginManager.prototype = {
-     log("Searching for logins matching host:", hostname,
-         "formSubmitURL:", formSubmitURL, "httpRealm:", httpRealm);
- 
--    if (!this._storage) {
--      log("No storage to find logins");
--      return null;
--    }
--
-     return this._storage.findLogins(count, hostname, formSubmitURL,
-                                     httpRealm);
-   },
-@@ -445,11 +393,6 @@ LoginManager.prototype = {
-   searchLogins : function(count, matchData) {
-    log("Searching for logins");
- 
--    if (!this._storage) {
--      log("No storage to search logins");
--      return null;
--    }
--
-     return this._storage.searchLogins(count, matchData);
-   },
- 
-@@ -464,9 +407,6 @@ LoginManager.prototype = {
-     log("Counting logins matching host:", hostname,
-         "formSubmitURL:", formSubmitURL, "httpRealm:", httpRealm);
- 
--    if (!this._storage)
--      return 0;
--
-     return this._storage.countLogins(hostname, formSubmitURL, httpRealm);
-   },
- 
-@@ -475,9 +415,6 @@ LoginManager.prototype = {
-    * uiBusy
-    */
-   get uiBusy() {
--    if (!this._storage)
--      return false;
--
-     return this._storage.uiBusy;
-   },
- 
-@@ -486,9 +423,6 @@ LoginManager.prototype = {
-    * isLoggedIn
-    */
-   get isLoggedIn() {
--    if (!this._storage)
--      return false;
--
-     return this._storage.isLoggedIn;
-   },
- 
-@@ -500,7 +434,7 @@ LoginManager.prototype = {
-    */
-   getLoginSavingEnabled : function (host) {
-     log("Checking if logins to", host, "can be saved.");
--    if (!this._remember || !this._storage)
-+    if (!this._remember)
-       return false;
- 
-     return this._storage.getLoginSavingEnabled(host);
-@@ -517,9 +451,6 @@ LoginManager.prototype = {
-     if (hostname.indexOf("\0") != -1)
-       throw new Error("Invalid hostname");
- 
--    if (!this._storage)
--      throw new Error("No storage to set login saving enabled");
--
-     log("Login saving for", hostname, "now enabled?", enabled);
-     return this._storage.setLoginSavingEnabled(hostname, enabled);
-   },
--- 
-2.10.1
-
diff --git a/projects/instantbird/0002-Block-flash-too.mozpatch b/projects/instantbird/0002-Block-flash-too.mozpatch
deleted file mode 100644
index 5e843e2..0000000
--- a/projects/instantbird/0002-Block-flash-too.mozpatch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 07ad22078a293c7bf12e587a6d4b6569370e050b Mon Sep 17 00:00:00 2001
-From: Arlo Breault <arlolra at gmail.com>
-Date: Thu, 6 Oct 2016 20:13:35 -0700
-Subject: [PATCH 2/7] Block flash too
-
- * Builds on "Bug #3547: Block all plugins except flash."
----
- dom/plugins/base/nsPluginHost.cpp | 9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
-index 5345ce7..1569236 100644
---- a/dom/plugins/base/nsPluginHost.cpp
-+++ b/dom/plugins/base/nsPluginHost.cpp
-@@ -2081,15 +2081,6 @@ PRBool nsPluginHost::GhettoBlacklist(nsIFile *pluginFile)
-     return PR_TRUE; // fuck 'em. blacklist.
-   }
- 
--  // libgnashplugin.so, libflashplayer.so, Flash Player-10.4-10.5.plugin,
--  // NPSWF32.dll, NPSWF64.dll
--  if (strstr(leafStr, "libgnashplugin") == leafStr ||
--      strstr(leafStr, "libflashplayer") == leafStr ||
--      strstr(leafStr, "Flash Player") == leafStr ||
--      strstr(leafStr, "NPSWF") == leafStr) {
--    return PR_FALSE;
--  }
--
-   return PR_TRUE; // fuck 'em. blacklist.
- }
- 
--- 
-2.10.1
-
diff --git a/projects/instantbird/0003-s-TorBrowser-Data-TorMessenger-Data.mozpatch b/projects/instantbird/0003-s-TorBrowser-Data-TorMessenger-Data.mozpatch
deleted file mode 100644
index fc82b87..0000000
--- a/projects/instantbird/0003-s-TorBrowser-Data-TorMessenger-Data.mozpatch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 1542f877647e82ad9f6be6965bad121fd8335c42 Mon Sep 17 00:00:00 2001
-From: Arlo Breault <arlolra at gmail.com>
-Date: Thu, 6 Oct 2016 20:20:11 -0700
-Subject: [PATCH 3/7] s/TorBrowser-Data/TorMessenger-Data/
-
- * All that remains after the updater patches.
-
- * See trac 20309
----
- xpcom/io/TorFileUtils.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xpcom/io/TorFileUtils.cpp b/xpcom/io/TorFileUtils.cpp
-index c45961a..23d6fbe 100644
---- a/xpcom/io/TorFileUtils.cpp
-+++ b/xpcom/io/TorFileUtils.cpp
-@@ -16,7 +16,7 @@ TorBrowser_GetUserDataDir(nsIFile *aExeFile, nsIFile** aFile)
-   nsCOMPtr<nsIFile> tbDataDir;
- 
- #ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
--  nsAutoCString tbDataLeafName(NS_LITERAL_CSTRING("TorBrowser-Data"));
-+  nsAutoCString tbDataLeafName(NS_LITERAL_CSTRING("TorMessenger-Data"));
-   nsCOMPtr<nsIFile> appRootDir;
-   nsresult rv = GetAppRootDir(aExeFile, getter_AddRefs(appRootDir));
-   NS_ENSURE_SUCCESS(rv, rv);
--- 
-2.10.1
-
diff --git a/projects/instantbird/0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.mozpatch b/projects/instantbird/0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.mozpatch
deleted file mode 100644
index b9f84f8..0000000
--- a/projects/instantbird/0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.mozpatch
+++ /dev/null
@@ -1,65 +0,0 @@
-From a9cb072ad4b3e50723b182f845628b41f4987ff2 Mon Sep 17 00:00:00 2001
-From: Jonathan Kew <jkew at mozilla.com>
-Date: Sun, 9 Oct 2016 09:18:37 -0700
-Subject: [PATCH 4/7] Bug 1283573 - Don't attempt to look up a
- single-face-family name if the corresponding main family isn't available.
- r=mstange
-
----
- gfx/thebes/gfxMacPlatformFontList.mm | 17 +++++++++++++----
- modules/libpref/init/all.js          |  6 +++---
- 2 files changed, 16 insertions(+), 7 deletions(-)
-
-diff --git a/gfx/thebes/gfxMacPlatformFontList.mm b/gfx/thebes/gfxMacPlatformFontList.mm
-index eb7a788..5c63e69 100644
---- a/gfx/thebes/gfxMacPlatformFontList.mm
-+++ b/gfx/thebes/gfxMacPlatformFontList.mm
-@@ -735,15 +735,24 @@ gfxMacPlatformFontList::InitSingleFaceList()
-     for (uint32_t i = 0; i < numFonts; i++) {
-         LOG_FONTLIST(("(fontlist-singleface) face name: %s\n",
-                       NS_ConvertUTF16toUTF8(singleFaceFonts[i]).get()));
--        if (!gfxFontUtils::IsFontFamilyNameAllowed(singleFaceFonts[i])) {
-+        nsAutoString familyName(singleFaceFonts[i]);
-+        auto colon = familyName.FindChar(':');
-+        if (colon != kNotFound) {
-+            nsAutoString key(Substring(familyName, colon + 1));
-+            ToLowerCase(key);
-+            if (!mFontFamilies.GetWeak(key)) {
-+                continue;
-+            }
-+            familyName.Truncate(colon);
-+        }
-+        if (!gfxFontUtils::IsFontFamilyNameAllowed(familyName)) {
-             continue;
-         }
--        gfxFontEntry *fontEntry = LookupLocalFont(singleFaceFonts[i],
-+        gfxFontEntry *fontEntry = LookupLocalFont(familyName,
-                                                   400, 0,
-                                                   NS_FONT_STYLE_NORMAL);
-         if (fontEntry) {
--            nsAutoString familyName, key;
--            familyName = singleFaceFonts[i];
-+            nsAutoString key;
-             GenerateFontListKey(familyName, key);
-             LOG_FONTLIST(("(fontlist-singleface) family name: %s, key: %s\n",
-                           NS_ConvertUTF16toUTF8(familyName).get(),
-diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index 7078c66..a7b091d 100644
---- a/modules/libpref/init/all.js
-+++ b/modules/libpref/init/all.js
-@@ -3576,9 +3576,9 @@ pref("font.name.monospace.x-math", "Courier");
- pref("font.name.cursive.x-math", "Apple Chancery");
- pref("font.name.fantasy.x-math", "Papyrus");
- 
--// individual font faces to be treated as independent families
--// names are Postscript names of each face
--pref("font.single-face-list", "Osaka-Mono");
-+// Individual font faces to be treated as independent families,
-+// listed as <Postscript name of face:Owning family name>
-+pref("font.single-face-list", "Osaka-Mono:Osaka");
- 
- // optimization hint for fonts with localized names to be read in at startup, otherwise read in at lookup miss
- // names are canonical family names (typically English names)
--- 
-2.10.1
-
diff --git a/projects/instantbird/0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.mozpatch b/projects/instantbird/0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.mozpatch
deleted file mode 100644
index b1cd719..0000000
--- a/projects/instantbird/0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.mozpatch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 760a2780d529b6c8a569824f7bc4c288c2a6ca2d Mon Sep 17 00:00:00 2001
-From: Arlo Breault <arlolra at gmail.com>
-Date: Wed, 23 Mar 2016 19:52:07 -0700
-Subject: [PATCH 5/7] Adjust atomic ops code to be more compatible with thread
- sanitizer tools.
-
- * This is until we port the patches for trac 18331
-
- * See trac 20316
----
- intl/icu/source/common/putilimp.h | 17 +----------------
- intl/icu/source/common/umutex.cpp |  4 ++--
- intl/icu/source/common/umutex.h   | 29 +----------------------------
- 3 files changed, 4 insertions(+), 46 deletions(-)
-
-diff --git a/intl/icu/source/common/putilimp.h b/intl/icu/source/common/putilimp.h
-index 55ec0ae..ac083b0 100644
---- a/intl/icu/source/common/putilimp.h
-+++ b/intl/icu/source/common/putilimp.h
-@@ -1,7 +1,7 @@
- /*
- ******************************************************************************
- *
--*   Copyright (C) 1997-2015, International Business Machines
-+*   Copyright (C) 1997-2014, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- *
- ******************************************************************************
-@@ -229,21 +229,6 @@ typedef size_t uintptr_t;
- #endif
- 
- 
--/**
-- *  \def U_HAVE_CLANG_ATOMICS
-- *  Defines whether Clang c11 style built-in atomics are avaialable.
-- *  These are used in preference to gcc atomics when both are available.
-- */
--#ifdef U_HAVE_CLANG_ATOMICS
--    /* Use the predefined value. */
--#elif __has_builtin(__c11_atomic_load) && \
--    __has_builtin(__c11_atomic_store) && \
--    __has_builtin(__c11_atomic_fetch_add) && \
--    __has_builtin(__c11_atomic_fetch_sub)
--#    define U_HAVE_CLANG_ATOMICS 1
--#else
--#    define U_HAVE_CLANG_ATOMICS 0
--#endif
- 
- /*===========================================================================*/
- /** @{ Programs used by ICU code                                             */
-diff --git a/intl/icu/source/common/umutex.cpp b/intl/icu/source/common/umutex.cpp
-index 69eab79..dff0b47 100644
---- a/intl/icu/source/common/umutex.cpp
-+++ b/intl/icu/source/common/umutex.cpp
-@@ -344,8 +344,8 @@ umtx_atomic_dec(u_atomic_int32_t *p) {
- 
- U_COMMON_API int32_t U_EXPORT2
- umtx_loadAcquire(u_atomic_int32_t &var) {
--    umtx_lock(&gIncDecMutex);
-     int32_t val = var;
-+    umtx_lock(&gIncDecMutex);
-     umtx_unlock(&gIncDecMutex);
-     return val;
- }
-@@ -353,8 +353,8 @@ umtx_loadAcquire(u_atomic_int32_t &var) {
- U_COMMON_API void U_EXPORT2
- umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
-     umtx_lock(&gIncDecMutex);
--    var = val;
-     umtx_unlock(&gIncDecMutex);
-+    var = val;
- }
- 
- U_NAMESPACE_END
-diff --git a/intl/icu/source/common/umutex.h b/intl/icu/source/common/umutex.h
-index 0e4d118..e0ad0d3 100644
---- a/intl/icu/source/common/umutex.h
-+++ b/intl/icu/source/common/umutex.h
-@@ -1,6 +1,6 @@
- /*
- **********************************************************************
--*   Copyright (C) 1997-2015, International Business Machines
-+*   Copyright (C) 1997-2014, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- **********************************************************************
- *
-@@ -118,33 +118,6 @@ inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
- U_NAMESPACE_END
- 
- 
--#elif U_HAVE_CLANG_ATOMICS
--/*
-- *  Clang __c11 atomic built-ins
-- */
--
--U_NAMESPACE_BEGIN
--typedef _Atomic(int32_t) u_atomic_int32_t;
--#define ATOMIC_INT32_T_INITIALIZER(val) val
--
--inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) {
--     return __c11_atomic_load(&var, __ATOMIC_ACQUIRE);
--}
--
--inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
--   return __c11_atomic_store(&var, val, __ATOMIC_RELEASE);
--}
--
--inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) {
--    return __c11_atomic_fetch_add(var, 1, __ATOMIC_SEQ_CST) + 1;
--}
--
--inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
--    return __c11_atomic_fetch_sub(var, 1, __ATOMIC_SEQ_CST) - 1;
--}
--U_NAMESPACE_END
--
--
- #elif U_HAVE_GCC_ATOMICS
- /*
-  * gcc atomic ops. These are available on several other compilers as well.
--- 
-2.10.1
-
diff --git a/projects/instantbird/0006-OSX-package-as-tar.bz2.mozpatch b/projects/instantbird/0006-OSX-package-as-tar.bz2.mozpatch
deleted file mode 100644
index ab8829f..0000000
--- a/projects/instantbird/0006-OSX-package-as-tar.bz2.mozpatch
+++ /dev/null
@@ -1,25 +0,0 @@
-From ffcaf55f66529997086610fd5687915737da8993 Mon Sep 17 00:00:00 2001
-From: Nicolas Vigier <boklm at torproject.org>
-Date: Thu, 25 Jun 2015 12:18:43 +0200
-Subject: [PATCH 6/7] OSX: package as tar.bz2
-
----
- toolkit/mozapps/installer/upload-files.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/toolkit/mozapps/installer/upload-files.mk b/toolkit/mozapps/installer/upload-files.mk
-index 5c11ed2..0c7bf28 100644
---- a/toolkit/mozapps/installer/upload-files.mk
-+++ b/toolkit/mozapps/installer/upload-files.mk
-@@ -4,7 +4,7 @@
- 
- ifndef MOZ_PKG_FORMAT
- ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
--MOZ_PKG_FORMAT  = DMG
-+MOZ_PKG_FORMAT  = BZ2
- else
- ifeq (,$(filter-out WINNT, $(OS_ARCH)))
- MOZ_PKG_FORMAT  = ZIP
--- 
-2.10.1
-
diff --git a/projects/instantbird/0007-Remove-updater-links.mozpatch b/projects/instantbird/0007-Remove-updater-links.mozpatch
deleted file mode 100644
index 8eb3a8e..0000000
--- a/projects/instantbird/0007-Remove-updater-links.mozpatch
+++ /dev/null
@@ -1,71 +0,0 @@
-From ab9bbbce89ff95ec72690d62c25db20b82f28cd9 Mon Sep 17 00:00:00 2001
-From: Arlo Breault <arlolra at gmail.com>
-Date: Sun, 9 Oct 2016 09:34:38 -0700
-Subject: [PATCH 7/7] Remove updater links
-
----
- toolkit/mozapps/update/content/updates.js  |  2 +-
- toolkit/mozapps/update/content/updates.xul | 13 +++++--------
- 2 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/toolkit/mozapps/update/content/updates.js b/toolkit/mozapps/update/content/updates.js
-index 40e76c8..5565b9c 100644
---- a/toolkit/mozapps/update/content/updates.js
-+++ b/toolkit/mozapps/update/content/updates.js
-@@ -979,7 +979,7 @@ var gUpdatesFoundBasicPage = {
- 
-     var updateMoreInfoURL = document.getElementById("updateMoreInfoURL");
-     if (update.detailsURL)
--      updateMoreInfoURL.setAttribute("url", update.detailsURL);
-+      updateMoreInfoURL.setAttribute("value", update.detailsURL);
-     else
-       updateMoreInfoURL.hidden = true;
- 
-diff --git a/toolkit/mozapps/update/content/updates.xul b/toolkit/mozapps/update/content/updates.xul
-index 6066802..c82bc77 100644
---- a/toolkit/mozapps/update/content/updates.xul
-+++ b/toolkit/mozapps/update/content/updates.xul
-@@ -121,8 +121,7 @@
-       <separator id="upgradeEvangelismSep" flex="1"/>
-       <vbox flex="1">
-         <hbox id="moreInfoURL">
--          <label class="text-link" id="updateMoreInfoURL"
--                 value="&clickHere.label;" onclick="openUpdateURL(event);"/>
-+          <textbox class="plain" flex="1" readonly="true" id="updateMoreInfoURL" />
-         </hbox>
-       </vbox>
-     </vbox>
-@@ -205,8 +204,7 @@
-       <separator/>
-       <label id="errorManual">&errorManual.label;</label>
-       <hbox>
--        <label class="text-link" id="errorLinkLabel" value=""
--               onclick="openUpdateURL(event);"/>
-+        <label id="errorLinkLabel" value="" />
-       </hbox>
-     </vbox>
-   </wizardpage>
-@@ -223,8 +221,7 @@
-       <label id="genericBackgroundErrorLabel"
-              hidden="true">&genericBackgroundError.label;</label>
-       <hbox>
--        <label id="errorExtraLinkLabel" class="text-link" hidden="true"
--               value="" onclick="openUpdateURL(event);"/>
-+        <label id="errorExtraLinkLabel" hidden="true" value="" />
-       </hbox>
-     </vbox>
-   </wizardpage>
-@@ -257,8 +254,8 @@
-       <hbox align="center">
-         <label>&finishedBackground.name;</label>
-         <label id="updateFinishedName" flex="1" crop="right" value=""/>
--        <label id="finishedBackgroundLink" class="text-link" disabled="true"
--               value="&details.link;" onclick="openUpdateURL(event);"/>
-+        <label id="finishedBackgroundLink" hidden="true" disabled="true"
-+               value="&details.link;" />
-       </hbox>
-       <spacer flex="1"/>
-       <label id="finishedBackgroundMore">&finishedBackground.more;</label>
--- 
-2.10.1
-
diff --git a/projects/instantbird/aboutTBUpdateLogo.png b/projects/instantbird/aboutTBUpdateLogo.png
deleted file mode 100644
index 3de3c93..0000000
Binary files a/projects/instantbird/aboutTBUpdateLogo.png and /dev/null differ
diff --git a/projects/instantbird/build b/projects/instantbird/build
index a397816..c67ddc5 100644
--- a/projects/instantbird/build
+++ b/projects/instantbird/build
@@ -36,7 +36,7 @@ mkdir /var/tmp/build
 tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
 mkdir moz
 cd moz
-tar xf ../[% c('input_files_by_name/mozilla-src') %]
+tar xf $rootdir/[% c('input_files_by_name/mozilla') %]
 mv mozilla-* /var/tmp/build/[% project %]-[% c('version') %]/mozilla
 cd /var/tmp/build/[% project %]-[% c('version') %]
 
@@ -83,31 +83,6 @@ cp $rootdir/aboutDialog.dtd im/locales/en-US/chrome/instantbird/aboutDialog.dtd
 
 echo '[% c("var/tormessenger_version") %]' > im/config/version.txt
 
-cd mozilla
-if ls -1 $rootdir/*.mozpatch > /dev/null 2>&1
-then
-    for patch in $(ls -1 $rootdir/*.mozpatch | sort)
-    do
-        patch -p1 < $patch
-    done
-fi
-
-cp $rootdir/marsigner.der toolkit/mozapps/update/updater/release_primary.der
-cp $rootdir/marsigner1.der toolkit/mozapps/update/updater/release_secondary.der
-
-cp $rootdir/aboutTBUpdateLogo.png browser/base/content/abouttbupdate/
-
-if ls -1 $rootdir/*.nsspatch > /dev/null 2>&1
-then
-    cd security/nss
-    for patch in $(ls -1 $rootdir/*.nsspatch | sort)
-    do
-        patch -p1 < $patch
-    done
-    cd ../..
-fi
-cd ..
-
 cp $rootdir/[% c('input_files_by_name/mozconfig') %] .mozconfig
 echo ac_add_options --with-tor-browser-version='[% c("var/tormessenger_version") %]' >> .mozconfig
 ./mozilla/mach build || ./mozilla/mach build
diff --git a/projects/instantbird/config b/projects/instantbird/config
index 45990ef..d6634c8 100644
--- a/projects/instantbird/config
+++ b/projects/instantbird/config
@@ -57,9 +57,6 @@ targets:
         - rsync
         - sqlite3
 input_files:
-  - name: mozilla-src
-    project: mozilla
-    pkg_type: src
   - filename: preferences.patch
   - filename: irc-default-server.patch
   - filename: top-protocols.patch
@@ -113,8 +110,6 @@ input_files:
   - filename: about-wordmark.png
   - filename: branding-aboutDialog.css
   - filename: updater-text.patch
-  - filename: marsigner.der
-  - filename: marsigner1.der
   - filename: branding/osx.patch
     enable: '[% c("var/osx") %]'
   - filename: bug-1218193.patch
@@ -123,18 +118,12 @@ input_files:
     enable: '[% c("var/osx") %]'
   - filename: cert_override.txt
     enable: '[% c("var/osx") %]'
-  - filename: aboutTBUpdateLogo.png
   - filename: browserMountPoints.inc
     enable: '[% c("var/osx") %]'
-  - filename: 0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.mozpatch
-  - filename: 0002-Block-flash-too.mozpatch
-  - filename: 0003-s-TorBrowser-Data-TorMessenger-Data.mozpatch
-  - filename: 0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.mozpatch
-  - filename: 0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.mozpatch
-  - filename: 0006-OSX-package-as-tar.bz2.mozpatch
-  - filename: 0007-Remove-updater-links.mozpatch
   - filename: 'mozconfig-[% c("var/osname") %]'
     name: mozconfig
+  - name: mozilla
+    project: mozilla
   - name: python
     project: python
     enable: '[% c("var/linux") %]'
diff --git a/projects/instantbird/marsigner.der b/projects/instantbird/marsigner.der
deleted file mode 100644
index 5f98d36..0000000
Binary files a/projects/instantbird/marsigner.der and /dev/null differ
diff --git a/projects/instantbird/marsigner1.der b/projects/instantbird/marsigner1.der
deleted file mode 100644
index a7370bd..0000000
Binary files a/projects/instantbird/marsigner1.der and /dev/null differ
diff --git a/projects/mozilla/0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.patch b/projects/mozilla/0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.patch
new file mode 100644
index 0000000..3203556
--- /dev/null
+++ b/projects/mozilla/0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.patch
@@ -0,0 +1,206 @@
+From ed5968f6b886ba8c606a673582ff3ecb36c3cc2a Mon Sep 17 00:00:00 2001
+From: Arlo Breault <arlolra at gmail.com>
+Date: Sat, 8 Oct 2016 18:11:20 -0700
+Subject: [PATCH 1/7] Revert "Bug 14716: HTTP Basic Authentication prompt only
+ displayed once"
+
+ * This patch was breaking Tor Messenger.
+
+This reverts commit 5995aea1797320295fff1247bf4baac9ec511876.
+---
+ toolkit/components/passwordmgr/nsLoginManager.js | 81 ++----------------------
+ 1 file changed, 6 insertions(+), 75 deletions(-)
+
+diff --git a/toolkit/components/passwordmgr/nsLoginManager.js b/toolkit/components/passwordmgr/nsLoginManager.js
+index b56e849..f3c8223 100644
+--- a/toolkit/components/passwordmgr/nsLoginManager.js
++++ b/toolkit/components/passwordmgr/nsLoginManager.js
+@@ -122,25 +122,9 @@ LoginManager.prototype = {
+       log("No alternate nsILoginManagerStorage registered");
+     }
+ 
+-    // If the security.nocertdb pref. is true, we skip initialization of
+-    // login manager storage since we know it will fail.  In this case we
+-    // pretend that initialization succeeded in order to avoid a cascade of
+-    // initialization errors.
+-    if (Services.prefs.getBoolPref("security.nocertdb")) {
+-      this._storage = null;
+-      this.initializationPromise = Promise.resolve();
+-    } else {
+-      this._storage = Cc[contractID].
+-                      createInstance(Ci.nsILoginManagerStorage);
+-      try {
+-        this.initializationPromise = this._storage.initialize();
+-      } catch (e) {
+-        // If storage is not available, set _storage to null so that we can
+-        // cleanly check for a lack of storage elsewhere in this file.
+-        this._storage = null;
+-        this.initializationPromise = Promise.reject(e);
+-      }
+-    }
++    this._storage = Cc[contractID].
++                    createInstance(Ci.nsILoginManagerStorage);
++    this.initializationPromise = this._storage.initialize();
+   },
+ 
+ 
+@@ -179,8 +163,7 @@ LoginManager.prototype = {
+         this._pwmgr = null;
+       } else if (topic == "passwordmgr-storage-replace") {
+         Task.spawn(function () {
+-          if (this._pwmgr._storage)
+-            yield this._pwmgr._storage.terminate();
++          yield this._pwmgr._storage.terminate();
+           this._pwmgr._initStorage();
+           yield this._pwmgr.initializationPromise;
+           Services.obs.notifyObservers(null,
+@@ -318,9 +301,6 @@ LoginManager.prototype = {
+     if (logins.some(l => login.matches(l, true)))
+       throw new Error("This login already exists.");
+ 
+-    if (!this._storage)
+-      throw new Error("No storage to add login");
+-
+     log("Adding login");
+     return this._storage.addLogin(login);
+   },
+@@ -332,12 +312,6 @@ LoginManager.prototype = {
+    */
+   removeLogin : function (login) {
+     log("Removing login");
+-
+-    if (!this._storage) {
+-      log("No storage to remove login");
+-      return null;
+-    }
+-
+     return this._storage.removeLogin(login);
+   },
+ 
+@@ -349,12 +323,6 @@ LoginManager.prototype = {
+    */
+   modifyLogin : function (oldLogin, newLogin) {
+     log("Modifying login");
+-
+-    if (!this._storage) {
+-      log("No storage to modify login");
+-      return null;
+-    }
+-
+     return this._storage.modifyLogin(oldLogin, newLogin);
+   },
+ 
+@@ -370,12 +338,6 @@ LoginManager.prototype = {
+    */
+   getAllLogins : function (count) {
+     log("Getting a list of all logins");
+-
+-    if (!this._storage) {
+-      log("No storage to get all logins");
+-      return null;
+-    }
+-
+     return this._storage.getAllLogins(count);
+   },
+ 
+@@ -387,10 +349,7 @@ LoginManager.prototype = {
+    */
+   removeAllLogins : function () {
+     log("Removing all logins");
+-    if (!this._storage)
+-      log("No storage to remove all logins");
+-    else
+-      this._storage.removeAllLogins();
++    this._storage.removeAllLogins();
+   },
+ 
+   /*
+@@ -405,12 +364,6 @@ LoginManager.prototype = {
+    */
+   getAllDisabledHosts : function (count) {
+     log("Getting a list of all disabled hosts");
+-
+-    if (!this._storage) {
+-      log("No storage to get all disabled hosts");
+-      return null;
+-    }
+-
+     return this._storage.getAllDisabledHosts(count);
+   },
+ 
+@@ -424,11 +377,6 @@ LoginManager.prototype = {
+     log("Searching for logins matching host:", hostname,
+         "formSubmitURL:", formSubmitURL, "httpRealm:", httpRealm);
+ 
+-    if (!this._storage) {
+-      log("No storage to find logins");
+-      return null;
+-    }
+-
+     return this._storage.findLogins(count, hostname, formSubmitURL,
+                                     httpRealm);
+   },
+@@ -445,11 +393,6 @@ LoginManager.prototype = {
+   searchLogins : function(count, matchData) {
+    log("Searching for logins");
+ 
+-    if (!this._storage) {
+-      log("No storage to search logins");
+-      return null;
+-    }
+-
+     return this._storage.searchLogins(count, matchData);
+   },
+ 
+@@ -464,9 +407,6 @@ LoginManager.prototype = {
+     log("Counting logins matching host:", hostname,
+         "formSubmitURL:", formSubmitURL, "httpRealm:", httpRealm);
+ 
+-    if (!this._storage)
+-      return 0;
+-
+     return this._storage.countLogins(hostname, formSubmitURL, httpRealm);
+   },
+ 
+@@ -475,9 +415,6 @@ LoginManager.prototype = {
+    * uiBusy
+    */
+   get uiBusy() {
+-    if (!this._storage)
+-      return false;
+-
+     return this._storage.uiBusy;
+   },
+ 
+@@ -486,9 +423,6 @@ LoginManager.prototype = {
+    * isLoggedIn
+    */
+   get isLoggedIn() {
+-    if (!this._storage)
+-      return false;
+-
+     return this._storage.isLoggedIn;
+   },
+ 
+@@ -500,7 +434,7 @@ LoginManager.prototype = {
+    */
+   getLoginSavingEnabled : function (host) {
+     log("Checking if logins to", host, "can be saved.");
+-    if (!this._remember || !this._storage)
++    if (!this._remember)
+       return false;
+ 
+     return this._storage.getLoginSavingEnabled(host);
+@@ -517,9 +451,6 @@ LoginManager.prototype = {
+     if (hostname.indexOf("\0") != -1)
+       throw new Error("Invalid hostname");
+ 
+-    if (!this._storage)
+-      throw new Error("No storage to set login saving enabled");
+-
+     log("Login saving for", hostname, "now enabled?", enabled);
+     return this._storage.setLoginSavingEnabled(hostname, enabled);
+   },
+-- 
+2.10.1
+
diff --git a/projects/mozilla/0002-Block-flash-too.patch b/projects/mozilla/0002-Block-flash-too.patch
new file mode 100644
index 0000000..5e843e2
--- /dev/null
+++ b/projects/mozilla/0002-Block-flash-too.patch
@@ -0,0 +1,33 @@
+From 07ad22078a293c7bf12e587a6d4b6569370e050b Mon Sep 17 00:00:00 2001
+From: Arlo Breault <arlolra at gmail.com>
+Date: Thu, 6 Oct 2016 20:13:35 -0700
+Subject: [PATCH 2/7] Block flash too
+
+ * Builds on "Bug #3547: Block all plugins except flash."
+---
+ dom/plugins/base/nsPluginHost.cpp | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
+index 5345ce7..1569236 100644
+--- a/dom/plugins/base/nsPluginHost.cpp
++++ b/dom/plugins/base/nsPluginHost.cpp
+@@ -2081,15 +2081,6 @@ PRBool nsPluginHost::GhettoBlacklist(nsIFile *pluginFile)
+     return PR_TRUE; // fuck 'em. blacklist.
+   }
+ 
+-  // libgnashplugin.so, libflashplayer.so, Flash Player-10.4-10.5.plugin,
+-  // NPSWF32.dll, NPSWF64.dll
+-  if (strstr(leafStr, "libgnashplugin") == leafStr ||
+-      strstr(leafStr, "libflashplayer") == leafStr ||
+-      strstr(leafStr, "Flash Player") == leafStr ||
+-      strstr(leafStr, "NPSWF") == leafStr) {
+-    return PR_FALSE;
+-  }
+-
+   return PR_TRUE; // fuck 'em. blacklist.
+ }
+ 
+-- 
+2.10.1
+
diff --git a/projects/mozilla/0003-s-TorBrowser-Data-TorMessenger-Data.patch b/projects/mozilla/0003-s-TorBrowser-Data-TorMessenger-Data.patch
new file mode 100644
index 0000000..fc82b87
--- /dev/null
+++ b/projects/mozilla/0003-s-TorBrowser-Data-TorMessenger-Data.patch
@@ -0,0 +1,28 @@
+From 1542f877647e82ad9f6be6965bad121fd8335c42 Mon Sep 17 00:00:00 2001
+From: Arlo Breault <arlolra at gmail.com>
+Date: Thu, 6 Oct 2016 20:20:11 -0700
+Subject: [PATCH 3/7] s/TorBrowser-Data/TorMessenger-Data/
+
+ * All that remains after the updater patches.
+
+ * See trac 20309
+---
+ xpcom/io/TorFileUtils.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xpcom/io/TorFileUtils.cpp b/xpcom/io/TorFileUtils.cpp
+index c45961a..23d6fbe 100644
+--- a/xpcom/io/TorFileUtils.cpp
++++ b/xpcom/io/TorFileUtils.cpp
+@@ -16,7 +16,7 @@ TorBrowser_GetUserDataDir(nsIFile *aExeFile, nsIFile** aFile)
+   nsCOMPtr<nsIFile> tbDataDir;
+ 
+ #ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+-  nsAutoCString tbDataLeafName(NS_LITERAL_CSTRING("TorBrowser-Data"));
++  nsAutoCString tbDataLeafName(NS_LITERAL_CSTRING("TorMessenger-Data"));
+   nsCOMPtr<nsIFile> appRootDir;
+   nsresult rv = GetAppRootDir(aExeFile, getter_AddRefs(appRootDir));
+   NS_ENSURE_SUCCESS(rv, rv);
+-- 
+2.10.1
+
diff --git a/projects/mozilla/0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.patch b/projects/mozilla/0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.patch
new file mode 100644
index 0000000..b9f84f8
--- /dev/null
+++ b/projects/mozilla/0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.patch
@@ -0,0 +1,65 @@
+From a9cb072ad4b3e50723b182f845628b41f4987ff2 Mon Sep 17 00:00:00 2001
+From: Jonathan Kew <jkew at mozilla.com>
+Date: Sun, 9 Oct 2016 09:18:37 -0700
+Subject: [PATCH 4/7] Bug 1283573 - Don't attempt to look up a
+ single-face-family name if the corresponding main family isn't available.
+ r=mstange
+
+---
+ gfx/thebes/gfxMacPlatformFontList.mm | 17 +++++++++++++----
+ modules/libpref/init/all.js          |  6 +++---
+ 2 files changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/gfx/thebes/gfxMacPlatformFontList.mm b/gfx/thebes/gfxMacPlatformFontList.mm
+index eb7a788..5c63e69 100644
+--- a/gfx/thebes/gfxMacPlatformFontList.mm
++++ b/gfx/thebes/gfxMacPlatformFontList.mm
+@@ -735,15 +735,24 @@ gfxMacPlatformFontList::InitSingleFaceList()
+     for (uint32_t i = 0; i < numFonts; i++) {
+         LOG_FONTLIST(("(fontlist-singleface) face name: %s\n",
+                       NS_ConvertUTF16toUTF8(singleFaceFonts[i]).get()));
+-        if (!gfxFontUtils::IsFontFamilyNameAllowed(singleFaceFonts[i])) {
++        nsAutoString familyName(singleFaceFonts[i]);
++        auto colon = familyName.FindChar(':');
++        if (colon != kNotFound) {
++            nsAutoString key(Substring(familyName, colon + 1));
++            ToLowerCase(key);
++            if (!mFontFamilies.GetWeak(key)) {
++                continue;
++            }
++            familyName.Truncate(colon);
++        }
++        if (!gfxFontUtils::IsFontFamilyNameAllowed(familyName)) {
+             continue;
+         }
+-        gfxFontEntry *fontEntry = LookupLocalFont(singleFaceFonts[i],
++        gfxFontEntry *fontEntry = LookupLocalFont(familyName,
+                                                   400, 0,
+                                                   NS_FONT_STYLE_NORMAL);
+         if (fontEntry) {
+-            nsAutoString familyName, key;
+-            familyName = singleFaceFonts[i];
++            nsAutoString key;
+             GenerateFontListKey(familyName, key);
+             LOG_FONTLIST(("(fontlist-singleface) family name: %s, key: %s\n",
+                           NS_ConvertUTF16toUTF8(familyName).get(),
+diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
+index 7078c66..a7b091d 100644
+--- a/modules/libpref/init/all.js
++++ b/modules/libpref/init/all.js
+@@ -3576,9 +3576,9 @@ pref("font.name.monospace.x-math", "Courier");
+ pref("font.name.cursive.x-math", "Apple Chancery");
+ pref("font.name.fantasy.x-math", "Papyrus");
+ 
+-// individual font faces to be treated as independent families
+-// names are Postscript names of each face
+-pref("font.single-face-list", "Osaka-Mono");
++// Individual font faces to be treated as independent families,
++// listed as <Postscript name of face:Owning family name>
++pref("font.single-face-list", "Osaka-Mono:Osaka");
+ 
+ // optimization hint for fonts with localized names to be read in at startup, otherwise read in at lookup miss
+ // names are canonical family names (typically English names)
+-- 
+2.10.1
+
diff --git a/projects/mozilla/0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.patch b/projects/mozilla/0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.patch
new file mode 100644
index 0000000..b1cd719
--- /dev/null
+++ b/projects/mozilla/0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.patch
@@ -0,0 +1,123 @@
+From 760a2780d529b6c8a569824f7bc4c288c2a6ca2d Mon Sep 17 00:00:00 2001
+From: Arlo Breault <arlolra at gmail.com>
+Date: Wed, 23 Mar 2016 19:52:07 -0700
+Subject: [PATCH 5/7] Adjust atomic ops code to be more compatible with thread
+ sanitizer tools.
+
+ * This is until we port the patches for trac 18331
+
+ * See trac 20316
+---
+ intl/icu/source/common/putilimp.h | 17 +----------------
+ intl/icu/source/common/umutex.cpp |  4 ++--
+ intl/icu/source/common/umutex.h   | 29 +----------------------------
+ 3 files changed, 4 insertions(+), 46 deletions(-)
+
+diff --git a/intl/icu/source/common/putilimp.h b/intl/icu/source/common/putilimp.h
+index 55ec0ae..ac083b0 100644
+--- a/intl/icu/source/common/putilimp.h
++++ b/intl/icu/source/common/putilimp.h
+@@ -1,7 +1,7 @@
+ /*
+ ******************************************************************************
+ *
+-*   Copyright (C) 1997-2015, International Business Machines
++*   Copyright (C) 1997-2014, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ *
+ ******************************************************************************
+@@ -229,21 +229,6 @@ typedef size_t uintptr_t;
+ #endif
+ 
+ 
+-/**
+- *  \def U_HAVE_CLANG_ATOMICS
+- *  Defines whether Clang c11 style built-in atomics are avaialable.
+- *  These are used in preference to gcc atomics when both are available.
+- */
+-#ifdef U_HAVE_CLANG_ATOMICS
+-    /* Use the predefined value. */
+-#elif __has_builtin(__c11_atomic_load) && \
+-    __has_builtin(__c11_atomic_store) && \
+-    __has_builtin(__c11_atomic_fetch_add) && \
+-    __has_builtin(__c11_atomic_fetch_sub)
+-#    define U_HAVE_CLANG_ATOMICS 1
+-#else
+-#    define U_HAVE_CLANG_ATOMICS 0
+-#endif
+ 
+ /*===========================================================================*/
+ /** @{ Programs used by ICU code                                             */
+diff --git a/intl/icu/source/common/umutex.cpp b/intl/icu/source/common/umutex.cpp
+index 69eab79..dff0b47 100644
+--- a/intl/icu/source/common/umutex.cpp
++++ b/intl/icu/source/common/umutex.cpp
+@@ -344,8 +344,8 @@ umtx_atomic_dec(u_atomic_int32_t *p) {
+ 
+ U_COMMON_API int32_t U_EXPORT2
+ umtx_loadAcquire(u_atomic_int32_t &var) {
+-    umtx_lock(&gIncDecMutex);
+     int32_t val = var;
++    umtx_lock(&gIncDecMutex);
+     umtx_unlock(&gIncDecMutex);
+     return val;
+ }
+@@ -353,8 +353,8 @@ umtx_loadAcquire(u_atomic_int32_t &var) {
+ U_COMMON_API void U_EXPORT2
+ umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
+     umtx_lock(&gIncDecMutex);
+-    var = val;
+     umtx_unlock(&gIncDecMutex);
++    var = val;
+ }
+ 
+ U_NAMESPACE_END
+diff --git a/intl/icu/source/common/umutex.h b/intl/icu/source/common/umutex.h
+index 0e4d118..e0ad0d3 100644
+--- a/intl/icu/source/common/umutex.h
++++ b/intl/icu/source/common/umutex.h
+@@ -1,6 +1,6 @@
+ /*
+ **********************************************************************
+-*   Copyright (C) 1997-2015, International Business Machines
++*   Copyright (C) 1997-2014, International Business Machines
+ *   Corporation and others.  All Rights Reserved.
+ **********************************************************************
+ *
+@@ -118,33 +118,6 @@ inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
+ U_NAMESPACE_END
+ 
+ 
+-#elif U_HAVE_CLANG_ATOMICS
+-/*
+- *  Clang __c11 atomic built-ins
+- */
+-
+-U_NAMESPACE_BEGIN
+-typedef _Atomic(int32_t) u_atomic_int32_t;
+-#define ATOMIC_INT32_T_INITIALIZER(val) val
+-
+-inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) {
+-     return __c11_atomic_load(&var, __ATOMIC_ACQUIRE);
+-}
+-
+-inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
+-   return __c11_atomic_store(&var, val, __ATOMIC_RELEASE);
+-}
+-
+-inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) {
+-    return __c11_atomic_fetch_add(var, 1, __ATOMIC_SEQ_CST) + 1;
+-}
+-
+-inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
+-    return __c11_atomic_fetch_sub(var, 1, __ATOMIC_SEQ_CST) - 1;
+-}
+-U_NAMESPACE_END
+-
+-
+ #elif U_HAVE_GCC_ATOMICS
+ /*
+  * gcc atomic ops. These are available on several other compilers as well.
+-- 
+2.10.1
+
diff --git a/projects/mozilla/0006-OSX-package-as-tar.bz2.patch b/projects/mozilla/0006-OSX-package-as-tar.bz2.patch
new file mode 100644
index 0000000..ab8829f
--- /dev/null
+++ b/projects/mozilla/0006-OSX-package-as-tar.bz2.patch
@@ -0,0 +1,25 @@
+From ffcaf55f66529997086610fd5687915737da8993 Mon Sep 17 00:00:00 2001
+From: Nicolas Vigier <boklm at torproject.org>
+Date: Thu, 25 Jun 2015 12:18:43 +0200
+Subject: [PATCH 6/7] OSX: package as tar.bz2
+
+---
+ toolkit/mozapps/installer/upload-files.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/toolkit/mozapps/installer/upload-files.mk b/toolkit/mozapps/installer/upload-files.mk
+index 5c11ed2..0c7bf28 100644
+--- a/toolkit/mozapps/installer/upload-files.mk
++++ b/toolkit/mozapps/installer/upload-files.mk
+@@ -4,7 +4,7 @@
+ 
+ ifndef MOZ_PKG_FORMAT
+ ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+-MOZ_PKG_FORMAT  = DMG
++MOZ_PKG_FORMAT  = BZ2
+ else
+ ifeq (,$(filter-out WINNT, $(OS_ARCH)))
+ MOZ_PKG_FORMAT  = ZIP
+-- 
+2.10.1
+
diff --git a/projects/mozilla/0007-Remove-updater-links.patch b/projects/mozilla/0007-Remove-updater-links.patch
new file mode 100644
index 0000000..8eb3a8e
--- /dev/null
+++ b/projects/mozilla/0007-Remove-updater-links.patch
@@ -0,0 +1,71 @@
+From ab9bbbce89ff95ec72690d62c25db20b82f28cd9 Mon Sep 17 00:00:00 2001
+From: Arlo Breault <arlolra at gmail.com>
+Date: Sun, 9 Oct 2016 09:34:38 -0700
+Subject: [PATCH 7/7] Remove updater links
+
+---
+ toolkit/mozapps/update/content/updates.js  |  2 +-
+ toolkit/mozapps/update/content/updates.xul | 13 +++++--------
+ 2 files changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/toolkit/mozapps/update/content/updates.js b/toolkit/mozapps/update/content/updates.js
+index 40e76c8..5565b9c 100644
+--- a/toolkit/mozapps/update/content/updates.js
++++ b/toolkit/mozapps/update/content/updates.js
+@@ -979,7 +979,7 @@ var gUpdatesFoundBasicPage = {
+ 
+     var updateMoreInfoURL = document.getElementById("updateMoreInfoURL");
+     if (update.detailsURL)
+-      updateMoreInfoURL.setAttribute("url", update.detailsURL);
++      updateMoreInfoURL.setAttribute("value", update.detailsURL);
+     else
+       updateMoreInfoURL.hidden = true;
+ 
+diff --git a/toolkit/mozapps/update/content/updates.xul b/toolkit/mozapps/update/content/updates.xul
+index 6066802..c82bc77 100644
+--- a/toolkit/mozapps/update/content/updates.xul
++++ b/toolkit/mozapps/update/content/updates.xul
+@@ -121,8 +121,7 @@
+       <separator id="upgradeEvangelismSep" flex="1"/>
+       <vbox flex="1">
+         <hbox id="moreInfoURL">
+-          <label class="text-link" id="updateMoreInfoURL"
+-                 value="&clickHere.label;" onclick="openUpdateURL(event);"/>
++          <textbox class="plain" flex="1" readonly="true" id="updateMoreInfoURL" />
+         </hbox>
+       </vbox>
+     </vbox>
+@@ -205,8 +204,7 @@
+       <separator/>
+       <label id="errorManual">&errorManual.label;</label>
+       <hbox>
+-        <label class="text-link" id="errorLinkLabel" value=""
+-               onclick="openUpdateURL(event);"/>
++        <label id="errorLinkLabel" value="" />
+       </hbox>
+     </vbox>
+   </wizardpage>
+@@ -223,8 +221,7 @@
+       <label id="genericBackgroundErrorLabel"
+              hidden="true">&genericBackgroundError.label;</label>
+       <hbox>
+-        <label id="errorExtraLinkLabel" class="text-link" hidden="true"
+-               value="" onclick="openUpdateURL(event);"/>
++        <label id="errorExtraLinkLabel" hidden="true" value="" />
+       </hbox>
+     </vbox>
+   </wizardpage>
+@@ -257,8 +254,8 @@
+       <hbox align="center">
+         <label>&finishedBackground.name;</label>
+         <label id="updateFinishedName" flex="1" crop="right" value=""/>
+-        <label id="finishedBackgroundLink" class="text-link" disabled="true"
+-               value="&details.link;" onclick="openUpdateURL(event);"/>
++        <label id="finishedBackgroundLink" hidden="true" disabled="true"
++               value="&details.link;" />
+       </hbox>
+       <spacer flex="1"/>
+       <label id="finishedBackgroundMore">&finishedBackground.more;</label>
+-- 
+2.10.1
+
diff --git a/projects/mozilla/aboutTBUpdateLogo.png b/projects/mozilla/aboutTBUpdateLogo.png
new file mode 100644
index 0000000..3de3c93
Binary files /dev/null and b/projects/mozilla/aboutTBUpdateLogo.png differ
diff --git a/projects/mozilla/build b/projects/mozilla/build
new file mode 100644
index 0000000..77e8d09
--- /dev/null
+++ b/projects/mozilla/build
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+rootdir=$(pwd)
+
+tar xf [% project %]-[% c('version') %].tar.gz
+cd [% project %]-[% c('version') %]
+
+if ls -1 $rootdir/*.patch > /dev/null 2>&1
+then
+    for patch in $(ls -1 $rootdir/*.patch | sort)
+    do
+        patch -p1 < $patch
+    done
+fi
+
+cp $rootdir/marsigner.der toolkit/mozapps/update/updater/release_primary.der
+cp $rootdir/marsigner1.der toolkit/mozapps/update/updater/release_secondary.der
+
+cp $rootdir/aboutTBUpdateLogo.png browser/base/content/abouttbupdate/
+
+cd ..
+
+[% SET src_dir=project _ '-' _ c('version');
+    c('tar', {
+        tar_src => [src_dir],
+        tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
+        }) %]
diff --git a/projects/mozilla/config b/projects/mozilla/config
index f8faefb..cc3bf75 100644
--- a/projects/mozilla/config
+++ b/projects/mozilla/config
@@ -1,11 +1,16 @@
 # vim: filetype=yaml sw=2
 version: '[% c("abbrev") %]'
+filename: 'mozilla-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
 git_url: https://git.torproject.org/tor-browser.git
 git_hash: 8b1f07f31cd04fb157bf99a9e2e600b4422f277f
-src: |
-  #!/bin/sh
-  set -e
-  mv -f mozilla-[% c('version') %].tar.gz [% dest_dir _ '/' _ c('filename') %]
-steps:
-  src:
-    filename: "mozilla-[% c('version') %]-src.tar.gz"
+input_files:
+  - filename: marsigner.der
+  - filename: marsigner1.der
+  - filename: aboutTBUpdateLogo.png
+  - filename: 0001-Revert-Bug-14716-HTTP-Basic-Authentication-prompt-on.patch
+  - filename: 0002-Block-flash-too.patch
+  - filename: 0003-s-TorBrowser-Data-TorMessenger-Data.patch
+  - filename: 0004-Bug-1283573-Don-t-attempt-to-look-up-a-single-face-f.patch
+  - filename: 0005-Adjust-atomic-ops-code-to-be-more-compatible-with-th.patch
+  - filename: 0006-OSX-package-as-tar.bz2.patch
+  - filename: 0007-Remove-updater-links.patch
diff --git a/projects/mozilla/marsigner.der b/projects/mozilla/marsigner.der
new file mode 100644
index 0000000..5f98d36
Binary files /dev/null and b/projects/mozilla/marsigner.der differ
diff --git a/projects/mozilla/marsigner1.der b/projects/mozilla/marsigner1.der
new file mode 100644
index 0000000..a7370bd
Binary files /dev/null and b/projects/mozilla/marsigner1.der differ





More information about the tor-commits mailing list