From 456670b3c9f9134a759ad76acf5e655027d0e99449839adffbdc6818d7d480a7 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 20 Nov 2012 21:23:42 +0000 Subject: [PATCH] - update to Thunderbird 17.0 (bnc#790140) * MFSA 2012-91/CVE-2012-5842/CVE-2012-5843 Miscellaneous memory safety hazards * MFSA 2012-92/CVE-2012-4202 (bmo#758200) Buffer overflow while rendering GIF images * MFSA 2012-93/CVE-2012-4201 (bmo#747607) evalInSanbox location context incorrectly applied * MFSA 2012-94/CVE-2012-5836 (bmo#792857) Crash when combining SVG text on path with CSS * MFSA 2012-96/CVE-2012-4204 (bmo#778603) Memory corruption in str_unescape * MFSA 2012-97/CVE-2012-4205 (bmo#779821) XMLHttpRequest inherits incorrect principal within sandbox * MFSA 2012-99/CVE-2012-4208 (bmo#798264) XrayWrappers exposes chrome-only properties when not in chrome compartment * MFSA 2012-100/CVE-2012-5841 (bmo#805807) Improper security filtering for cross-origin wrappers * MFSA 2012-101/CVE-2012-4207 (bmo#801681) Improper character decoding in HZ-GB-2312 charset * MFSA 2012-102/CVE-2012-5837 (bmo#800363) Script entered into Developer Toolbar runs with chrome privileges * MFSA 2012-103/CVE-2012-4209 (bmo#792405) Frames can shadow top.location * MFSA 2012-105/CVE-2012-4214/CVE-2012-4215/CVE-2012-4216/ CVE-2012-5829/CVE-2012-5839/CVE-2012-5840/CVE-2012-4212/ CVE-2012-4213/CVE-2012-4217/CVE-2012-4218 Use-after-free and buffer overflow issues found using Address Sanitizer * MFSA 2012-106/CVE-2012-5830/CVE-2012-5833/CVE-2012-5835/CVE-2012-5838 OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=198 --- MozillaThunderbird.changes | 39 ++++ MozillaThunderbird.spec | 12 +- compare-locales.tar.bz2 | 4 +- create-tar.sh | 4 +- enigmail-1.4.5.tar.gz | 3 - enigmail-1.4.6.tar.gz | 3 + l10n-16.0.2.tar.bz2 | 3 - l10n-17.0.tar.bz2 | 3 + mozilla-kde.patch | 329 ++++++------------------------ mozilla-shared-nss-db.patch | 32 +-- tb-develdirs.patch | 39 ++-- thunderbird-16.0.2-source.tar.bz2 | 3 - thunderbird-17.0-source.tar.bz2 | 3 + thunderbird-shared-nss-db.patch | 30 +-- 14 files changed, 146 insertions(+), 361 deletions(-) delete mode 100644 enigmail-1.4.5.tar.gz create mode 100644 enigmail-1.4.6.tar.gz delete mode 100644 l10n-16.0.2.tar.bz2 create mode 100644 l10n-17.0.tar.bz2 delete mode 100644 thunderbird-16.0.2-source.tar.bz2 create mode 100644 thunderbird-17.0-source.tar.bz2 diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index 9f7b3fa..bf206c7 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Tue Nov 20 20:42:04 UTC 2012 - wr@rosenauer.org + +- update to Thunderbird 17.0 (bnc#790140) + * MFSA 2012-91/CVE-2012-5842/CVE-2012-5843 + Miscellaneous memory safety hazards + * MFSA 2012-92/CVE-2012-4202 (bmo#758200) + Buffer overflow while rendering GIF images + * MFSA 2012-93/CVE-2012-4201 (bmo#747607) + evalInSanbox location context incorrectly applied + * MFSA 2012-94/CVE-2012-5836 (bmo#792857) + Crash when combining SVG text on path with CSS + * MFSA 2012-96/CVE-2012-4204 (bmo#778603) + Memory corruption in str_unescape + * MFSA 2012-97/CVE-2012-4205 (bmo#779821) + XMLHttpRequest inherits incorrect principal within sandbox + * MFSA 2012-99/CVE-2012-4208 (bmo#798264) + XrayWrappers exposes chrome-only properties when not in chrome + compartment + * MFSA 2012-100/CVE-2012-5841 (bmo#805807) + Improper security filtering for cross-origin wrappers + * MFSA 2012-101/CVE-2012-4207 (bmo#801681) + Improper character decoding in HZ-GB-2312 charset + * MFSA 2012-102/CVE-2012-5837 (bmo#800363) + Script entered into Developer Toolbar runs with chrome privileges + * MFSA 2012-103/CVE-2012-4209 (bmo#792405) + Frames can shadow top.location + * MFSA 2012-105/CVE-2012-4214/CVE-2012-4215/CVE-2012-4216/ + CVE-2012-5829/CVE-2012-5839/CVE-2012-5840/CVE-2012-4212/ + CVE-2012-4213/CVE-2012-4217/CVE-2012-4218 + Use-after-free and buffer overflow issues found using Address + Sanitizer + * MFSA 2012-106/CVE-2012-5830/CVE-2012-5833/CVE-2012-5835/CVE-2012-5838 + Use-after-free, buffer overflow, and memory corruption issues + found using Address Sanitizer +- rebased patches +- disabled WebRTC since build is broken (bmo#776877) +- update Enigmail to 1.4.6 + ------------------------------------------------------------------- Sat Oct 27 08:58:22 UTC 2012 - wr@rosenauer.org diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index 6bab22f..78c4119 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -40,11 +40,11 @@ BuildRequires: update-desktop-files BuildRequires: xorg-x11-libXt-devel BuildRequires: yasm BuildRequires: zip -%define mainversion 16.0.2 +%define mainversion 17.0 %define update_channel release Version: %{mainversion} Release: 0 -%define releasedate 2012102500 +%define releasedate 2012111600 Provides: thunderbird = %{version} %if %{with_kde} # this is needed to match this package with the kde4 helper package without the main package @@ -65,7 +65,7 @@ Source4: l10n-%{version}.tar.bz2 Source6: suse-default-prefs.js Source7: find-external-requires.sh Source8: thunderbird-rpmlintrc -Source9: enigmail-1.4.5.tar.gz +Source9: enigmail-1.4.6.tar.gz Source10: create-tar.sh Source11: compare-locales.tar.bz2 Source12: kde.js @@ -169,12 +169,12 @@ symbols meant for upload to Mozilla's crash collector database. %if %build_enigmail %package -n enigmail -Version: 1.4.5.+%{mainversion} +Version: 1.4.6+%{mainversion} Release: 0 Summary: OpenPGP addon for Thunderbird and SeaMonkey License: MPL-1.1 or GPL-2.0+ Group: Productivity/Networking/Email/Clients -Url: http://enigmail.mozdev.org +Url: http://www.enigmail.net/ Requires: /usr/bin/gpg %if %suse_version > 1110 Requires: pinentry-gui @@ -261,6 +261,7 @@ ac_add_options --enable-startup-notification ac_add_options --enable-official-branding ac_add_options --disable-necko-wifi ac_add_options --enable-update-channel=%{update_channel} +ac_add_options --disable-webrtc EOF %if %suse_version > 1130 cat << EOF >> $MOZCONFIG @@ -444,6 +445,7 @@ rm -f $RPM_BUILD_ROOT%{progdir}/updater rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini rm -f $RPM_BUILD_ROOT%{progdir}/update.locale rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/en-US* +rm -f $RPM_BUILD_ROOT%{progdir}/nspr-config # Some sites use different partitions for /usr/(lib|lib64) and /usr/share. Since you # can't create hardlinks across partitions, we'll do this more than once. %fdupes $RPM_BUILD_ROOT%{progdir} diff --git a/compare-locales.tar.bz2 b/compare-locales.tar.bz2 index 9e92b02..42eda01 100644 --- a/compare-locales.tar.bz2 +++ b/compare-locales.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6265d6e9300864028f1e3946b456da68be8c157a1615e73c0b534de04ebb718a -size 29919 +oid sha256:02d8b934736ae0bb896762db3c5ec604fb0d417eed8362f965a6f0e415986585 +size 29877 diff --git a/create-tar.sh b/create-tar.sh index b1c9ea7..b9d861b 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -2,8 +2,8 @@ CHANNEL="release" BRANCH="releases/comm-$CHANNEL" -RELEASE_TAG="THUNDERBIRD_16_0_2_RELEASE" -VERSION="16.0.2" +RELEASE_TAG="THUNDERBIRD_17_0_RELEASE" +VERSION="17.0" echo "cloning $BRANCH..." hg clone http://hg.mozilla.org/$BRANCH thunderbird diff --git a/enigmail-1.4.5.tar.gz b/enigmail-1.4.5.tar.gz deleted file mode 100644 index 2ff3085..0000000 --- a/enigmail-1.4.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa59491fba21de9414a003933349074a8ec1833a1d64cac9f0a9f7020ed6c020 -size 1269207 diff --git a/enigmail-1.4.6.tar.gz b/enigmail-1.4.6.tar.gz new file mode 100644 index 0000000..39d4069 --- /dev/null +++ b/enigmail-1.4.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3771d1faa26676818bab5e2c50dce85013b9de30b82de526159eaa7ca34f036 +size 1262280 diff --git a/l10n-16.0.2.tar.bz2 b/l10n-16.0.2.tar.bz2 deleted file mode 100644 index 95e8b3b..0000000 --- a/l10n-16.0.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8dd8176fae059ec6fcee80f456222b5a120fd304b46cbc148104eb2e20ab154f -size 26766390 diff --git a/l10n-17.0.tar.bz2 b/l10n-17.0.tar.bz2 new file mode 100644 index 0000000..e841e35 --- /dev/null +++ b/l10n-17.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e7c09095dec2c9a8aa3548e31f024a31d452bde5a35999c65538d3c75104f3f +size 26815103 diff --git a/mozilla-kde.patch b/mozilla-kde.patch index 3a2e99b..5921e97 100644 --- a/mozilla-kde.patch +++ b/mozilla-kde.patch @@ -45,7 +45,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc #include "prefapi.h" #include "prefread.h" #include "prefapi_private_data.h" -@@ -907,16 +908,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char +@@ -896,16 +897,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char static nsresult pref_LoadPrefsInDirList(const char *listId) { @@ -80,7 +80,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc return NS_OK; bool hasMore; -@@ -932,17 +951,17 @@ static nsresult pref_LoadPrefsInDirList( +@@ -921,17 +940,17 @@ static nsresult pref_LoadPrefsInDirList( nsCAutoString leaf; path->GetNativeLeafName(leaf); @@ -89,7 +89,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc if (Substring(leaf, leaf.Length() - 4).Equals(NS_LITERAL_CSTRING(".xpi"))) ReadExtensionPrefs(path); else -- pref_LoadPrefsInDir(path, nsnull, 0); +- pref_LoadPrefsInDir(path, nullptr, 0); + pref_LoadPrefsInDir(path, specialFiles, NS_ARRAY_LENGTH(specialFiles)); } return NS_OK; @@ -99,7 +99,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc { nsZipItemPtr manifest(jarReader, name, true); NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE); -@@ -1036,28 +1055,40 @@ static nsresult pref_InitInitialObjects( +@@ -1025,28 +1044,40 @@ static nsresult pref_InitInitialObjects( /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -198,12 +198,12 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon + nsKDEUtils::command( command ); + } else { + // begin non-KDE block - PRInt32 alertInterval = 2000; + int32_t alertInterval = 2000; if (pref) pref->GetIntPref(PREF_BDM_SHOWALERTINTERVAL, &alertInterval); - PRInt64 alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC; - PRInt64 goat = PR_Now() - mStartTime; + int64_t alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC; + int64_t goat = PR_Now() - mStartTime; showTaskbarAlert = goat > alertIntervalUSec; @@ -2266,19 +2279,20 @@ nsDownload::SetState(DownloadState aStat @@ -2068,8 +2068,7 @@ new file mode 100644 diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp -@@ -12,16 +12,18 @@ - #include "nsArrayUtils.h" +@@ -13,16 +13,19 @@ #include "prnetdb.h" #include "prenv.h" #include "nsPrintfCString.h" @@ -2077,24 +2076,26 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy #include "nsISupportsPrimitives.h" #include "nsIGSettingsService.h" #include "nsInterfaceHashtable.h" + #include "mozilla/Attributes.h" +#include "nsVoidArray.h" +#include "nsKDEUtils.h" ++ - class nsUnixSystemProxySettings : public nsISystemProxySettings { + class nsUnixSystemProxySettings MOZ_FINAL : public nsISystemProxySettings { public: NS_DECL_ISUPPORTS NS_DECL_NSISYSTEMPROXYSETTINGS nsUnixSystemProxySettings() {} nsresult Init(); -@@ -33,16 +35,17 @@ private: +@@ -34,16 +37,17 @@ private: nsCOMPtr mGSettings; nsCOMPtr mProxySettings; nsInterfaceHashtable mSchemeProxySettings; bool IsProxyMode(const char* aMode); nsresult SetProxyResultFromGConf(const char* aKeyBase, const char* aType, nsACString& aResult); - nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult); - nsresult GetProxyFromGSettings(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult); + nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, int32_t aPort, nsACString& aResult); + nsresult GetProxyFromGSettings(const nsACString& aScheme, const nsACString& aHost, int32_t aPort, nsACString& aResult); nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult); + nsresult GetProxyFromKDE(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult); }; @@ -2105,12 +2106,12 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy nsUnixSystemProxySettings::Init() { // If this is a GNOME session, load gconf and try to use its preferences. -@@ -495,16 +498,19 @@ nsUnixSystemProxySettings::GetProxyForUR +@@ -496,16 +500,19 @@ nsUnixSystemProxySettings::GetProxyForUR nsCAutoString host; rv = aURI->GetHost(host); NS_ENSURE_SUCCESS(rv, rv); - PRInt32 port; + int32_t port; rv = aURI->GetPort(&port); NS_ENSURE_SUCCESS(rv, rv); @@ -2125,7 +2126,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy if (mGConf) return GetProxyFromGConf(scheme, host, port, aResult); -@@ -530,8 +536,34 @@ static const mozilla::Module::ContractID +@@ -531,8 +538,34 @@ static const mozilla::Module::ContractID static const mozilla::Module kUnixProxyModule = { mozilla::Module::kVersion, @@ -2187,43 +2188,11 @@ diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp new file mode 100644 --- /dev/null +++ b/toolkit/xre/nsKDEUtils.cpp -@@ -0,0 +1,373 @@ +@@ -0,0 +1,341 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is Unix Native App Support. -+ * -+ * The Initial Developer of the Original Code is -+ * Mozilla Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 2007 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ ++/* 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 "nsKDEUtils.h" +#include "nsIWidget.h" @@ -2565,44 +2534,11 @@ diff --git a/toolkit/xre/nsKDEUtils.h b/toolkit/xre/nsKDEUtils.h new file mode 100644 --- /dev/null +++ b/toolkit/xre/nsKDEUtils.h -@@ -0,0 +1,81 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- -+ * -+ * ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is Mozilla Communicator client code. -+ * -+ * The Initial Developer of the Original Code is -+ * Netscape Communications Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 1998 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either of the GNU General Public License Version 2 or later (the "GPL"), -+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ +@@ -0,0 +1,48 @@ ++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* 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/. */ + +#ifndef nsKDEUtils_h__ +#define nsKDEUtils_h__ @@ -2675,44 +2611,11 @@ diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandl new file mode 100644 --- /dev/null +++ b/uriloader/exthandler/unix/nsCommonRegistry.cpp -@@ -0,0 +1,87 @@ +@@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is the GNOME helper app implementation. -+ * -+ * The Initial Developer of the Original Code is -+ * IBM Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 2003 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * Brian Ryner (Original Author) -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ ++/* 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 "nsCommonRegistry.h" + @@ -2767,43 +2670,10 @@ diff --git a/uriloader/exthandler/unix/nsCommonRegistry.h b/uriloader/exthandler new file mode 100644 --- /dev/null +++ b/uriloader/exthandler/unix/nsCommonRegistry.h -@@ -0,0 +1,56 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is the GNOME helper app implementation. -+ * -+ * The Initial Developer of the Original Code is -+ * IBM Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 2003 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * Brian Ryner (Original Author) -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ +@@ -0,0 +1,23 @@ ++/* 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 "nsIURI.h" +#include "nsCOMPtr.h" @@ -2828,44 +2698,11 @@ diff --git a/uriloader/exthandler/unix/nsKDERegistry.cpp b/uriloader/exthandler/ new file mode 100644 --- /dev/null +++ b/uriloader/exthandler/unix/nsKDERegistry.cpp -@@ -0,0 +1,119 @@ +@@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is the GNOME helper app implementation. -+ * -+ * The Initial Developer of the Original Code is -+ * IBM Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 2003 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * Brian Ryner (Original Author) -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ ++/* 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 "nsKDERegistry.h" +#include "prlink.h" @@ -2936,7 +2773,7 @@ new file mode 100644 + { + nsCString mimetype = output[ 0 ]; + nsRefPtr mimeInfo = new nsMIMEInfoUnix( mimetype ); -+ NS_ENSURE_TRUE(mimeInfo, nsnull); ++ NS_ENSURE_TRUE(mimeInfo, nullptr); + nsCString description = output[ 1 ]; + mimeInfo->SetDescription(NS_ConvertUTF8toUTF16(description)); + nsCString handlerAppName = output[ 2 ]; @@ -2946,49 +2783,16 @@ new file mode 100644 + NS_ADDREF((retval = mimeInfo)); + return retval; + } -+ return nsnull; ++ return nullptr; +} diff --git a/uriloader/exthandler/unix/nsKDERegistry.h b/uriloader/exthandler/unix/nsKDERegistry.h new file mode 100644 --- /dev/null +++ b/uriloader/exthandler/unix/nsKDERegistry.h -@@ -0,0 +1,62 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is the GNOME helper app implementation. -+ * -+ * The Initial Developer of the Original Code is -+ * IBM Corporation. -+ * Portions created by the Initial Developer are Copyright (C) 2003 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * Brian Ryner (Original Author) -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ +@@ -0,0 +1,29 @@ ++/* 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 "nsIURI.h" +#include "nsCOMPtr.h" @@ -3049,11 +2853,11 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler #if (MOZ_PLATFORM_MAEMO == 5) && defined (MOZ_ENABLE_GNOMEVFS) if (NS_FAILED(rv)){ - HildonURIAction *action = hildon_uri_get_default_action(mSchemeOrType.get(), nsnull); + HildonURIAction *action = hildon_uri_get_default_action(mSchemeOrType.get(), nullptr); if (action) { nsCAutoString spec; aURI->GetAsciiSpec(spec); - if (hildon_uri_open(spec.get(), action, nsnull)) + if (hildon_uri_open(spec.get(), action, nullptr)) @@ -61,22 +64,22 @@ nsMIMEInfoUnix::LoadUriInternal(nsIURI * return rv; @@ -3207,7 +3011,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth majorType, @@ -1391,17 +1391,17 @@ nsOSHelperAppService::GetFromType(const #ifdef MOZ_WIDGET_GTK2 - nsMIMEInfoBase *gnomeInfo = nsnull; + nsMIMEInfoBase *gnomeInfo = nullptr; if (handler.IsEmpty()) { // No useful data yet. Check the GNOME registry. Unfortunately, newer // GNOME versions no longer have type-to-extension mappings, so we might @@ -3227,7 +3031,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in --- a/widget/gtk2/Makefile.in +++ b/widget/gtk2/Makefile.in -@@ -105,11 +105,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME=' +@@ -104,11 +104,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME=' INCLUDES += \ -I$(srcdir)/../xpwidgets \ @@ -3281,7 +3085,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp using namespace mozilla; #define MAX_PREVIEW_SIZE 180 -@@ -252,17 +254,19 @@ nsFilePicker::AppendFilters(PRInt32 aFil +@@ -264,17 +266,19 @@ nsFilePicker::AppendFilters(int32_t aFil return nsBaseFilePicker::AppendFilters(aFilterMask); } @@ -3302,34 +3106,34 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp mFilters.AppendElement(filter); mFilterNames.AppendElement(name); -@@ -357,16 +361,19 @@ nsFilePicker::GetFiles(nsISimpleEnumerat +@@ -369,16 +373,19 @@ nsFilePicker::GetFiles(nsISimpleEnumerat return NS_ERROR_FAILURE; } NS_IMETHODIMP - nsFilePicker::Show(PRInt16 *aReturn) + nsFilePicker::Show(int16_t *aReturn) { NS_ENSURE_ARG_POINTER(aReturn); + if( nsKDEUtils::kdeSupport()) + return kdeFileDialog(aReturn); + - nsXPIDLCString title; - title.Adopt(ToNewUTF8String(mTitle)); + nsresult rv = Open(nullptr); + if (NS_FAILED(rv)) + return rv; - GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget); - - GtkFileChooserAction action = GetGtkFileChooserAction(mMode); - const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE) - ? GTK_STOCK_SAVE : GTK_STOCK_OPEN; -@@ -505,8 +512,234 @@ nsFilePicker::Show(PRInt16 *aReturn) - *aReturn = nsIFilePicker::returnCancel; - break; + while (mRunning) { + g_main_context_iteration(nullptr, TRUE); } - gtk_widget_destroy(file_chooser); - - return NS_OK; +@@ -587,8 +594,235 @@ nsFilePicker::Done(GtkWidget* file_choos + if (mCallback) { + mCallback->Done(result); + mCallback = nullptr; + } else { + mResult = result; + } + NS_RELEASE_THIS(); } + +nsCString nsFilePicker::kdeMakeFilter( int index ) @@ -3557,10 +3361,11 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp + } + return NS_OK; + } ++ diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h --- a/widget/gtk2/nsFilePicker.h +++ b/widget/gtk2/nsFilePicker.h -@@ -57,11 +57,17 @@ protected: +@@ -67,11 +67,17 @@ protected: nsString mDefault; nsString mDefaultExtension; @@ -3835,7 +3640,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp return NS_ERROR_FAILURE; @@ -1823,16 +1831,23 @@ nsLocalFile::Launch() - if (nsnull == connection) + if (nullptr == connection) return NS_ERROR_FAILURE; if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS) diff --git a/mozilla-shared-nss-db.patch b/mozilla-shared-nss-db.patch index 8f8b3ff..e929e00 100644 --- a/mozilla-shared-nss-db.patch +++ b/mozilla-shared-nss-db.patch @@ -4,34 +4,10 @@ Subject: use libnsssharedhelper if available at compile time (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1) References: -diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in ---- a/config/autoconf.mk.in -+++ b/config/autoconf.mk.in -@@ -540,16 +540,20 @@ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNO - - MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@ - MOZ_ALSA_CFLAGS = @MOZ_ALSA_CFLAGS@ - - GLIB_CFLAGS = @GLIB_CFLAGS@ - GLIB_LIBS = @GLIB_LIBS@ - GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@ - -+MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@ -+NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@ -+NSSHELPER_LIBS = @NSSHELPER_LIBS@ -+ - MOZ_NATIVE_MAKEDEPEND = @MOZ_NATIVE_MAKEDEPEND@ - - CL_INCLUDES_PREFIX = @CL_INCLUDES_PREFIX@ - - MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@ - COMPILER_DEPEND = @COMPILER_DEPEND@ - MDDEPDIR := @MDDEPDIR@ - CC_WRAPPER = @CC_WRAPPER@ diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in -@@ -8052,16 +8052,31 @@ AC_SUBST(QCMS_LIBS) +@@ -7987,16 +7987,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== dnl HarfBuzz @@ -107,7 +83,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/ #include "nsNetUtil.h" #include "nsAppDirectoryServiceDefs.h" #include "nsDirectoryService.h" -@@ -1740,18 +1747,34 @@ nsNSSComponent::InitializeNSS(bool showW +@@ -1731,18 +1738,34 @@ nsNSSComponent::InitializeNSS(bool showW ConfigureInternalPKCS11Token(); // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs @@ -115,7 +91,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/ // later. It also allows us to work around a bug in the system NSS in // Ubuntu 8.04, which loads any nonexistent "/libnssckbi.so" as // "/usr/lib/nss/libnssckbi.so". - PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE; + uint32_t init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE; - SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "", - SECMOD_DB, init_flags); + SECStatus init_rv = SECFailure; @@ -147,7 +123,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/ diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in --- a/toolkit/library/Makefile.in +++ b/toolkit/library/Makefile.in -@@ -441,17 +441,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO +@@ -443,17 +443,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO endif endif endif diff --git a/tb-develdirs.patch b/tb-develdirs.patch index 49f17b9..0d5fa61 100644 --- a/tb-develdirs.patch +++ b/tb-develdirs.patch @@ -1,27 +1,14 @@ -diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in ---- a/config/autoconf.mk.in -+++ b/config/autoconf.mk.in -@@ -25,21 +25,21 @@ MOZ_MACBUNDLE_NAME= @MOZ_MACBUNDLE_NAME@ - MAR_CHANNEL_ID = @MAR_CHANNEL_ID@ - ACCEPTED_MAR_CHANNEL_IDS = @ACCEPTED_MAR_CHANNEL_IDS@ - - MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@ - - prefix = @prefix@ - exec_prefix = @exec_prefix@ - bindir = @bindir@ --includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+includedir = @includedir@/$(MOZ_APP_NAME) - libdir = @libdir@ - datadir = @datadir@ - mandir = @mandir@ --idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+idldir = $(datadir)/idl/$(MOZ_APP_NAME) - - installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) - sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) - - MOZDEPTH = $(DEPTH)/mozilla - DIST = $(MOZDEPTH)/dist - LIBXUL_SDK = @LIBXUL_SDK@ +diff --git a/config/baseconfig.mk b/config/baseconfig.mk +index 636b9aa..b350c75 100644 +--- a/config/baseconfig.mk ++++ b/config/baseconfig.mk +@@ -1,7 +1,7 @@ + INCLUDED_AUTOCONF_MK = 1 +-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++includedir := $(includedir)/$(MOZ_APP_NAME) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME) + installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + MOZILLA_SRCDIR = $(topsrcdir)/mozilla diff --git a/thunderbird-16.0.2-source.tar.bz2 b/thunderbird-16.0.2-source.tar.bz2 deleted file mode 100644 index 15c99bb..0000000 --- a/thunderbird-16.0.2-source.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f55b982eba42074b8d3a1281fa82e6e71d50659f63cb47e736b05bd29bc32b48 -size 113434199 diff --git a/thunderbird-17.0-source.tar.bz2 b/thunderbird-17.0-source.tar.bz2 new file mode 100644 index 0000000..8f13252 --- /dev/null +++ b/thunderbird-17.0-source.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c118052876258e757495e399a4161412b831c5e44dba89be898b127c7ddb7422 +size 115128645 diff --git a/thunderbird-shared-nss-db.patch b/thunderbird-shared-nss-db.patch index 2f3cbd6..3999540 100644 --- a/thunderbird-shared-nss-db.patch +++ b/thunderbird-shared-nss-db.patch @@ -4,34 +4,10 @@ Subject: use libnsssharedhelper if available at compile time (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1) References: -diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in ---- a/config/autoconf.mk.in -+++ b/config/autoconf.mk.in -@@ -448,16 +448,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB - XT_LIBS = @XT_LIBS@ - - MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@ - - GLIB_CFLAGS = @GLIB_CFLAGS@ - GLIB_LIBS = @GLIB_LIBS@ - GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@ - -+MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@ -+NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@ -+NSSHELPER_LIBS = @NSSHELPER_LIBS@ -+ - MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@ - - MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@ - COMPILER_DEPEND = @COMPILER_DEPEND@ - MDDEPDIR := @MDDEPDIR@ - CC_WRAPPER = @CC_WRAPPER@ - CXX_WRAPPER = @CXX_WRAPPER@ - diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in -@@ -6586,16 +6586,31 @@ AC_SUBST(QCMS_LIBS) +@@ -6444,16 +6444,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== dnl HarfBuzz @@ -66,7 +42,7 @@ diff --git a/configure.in b/configure.in diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in --- a/mail/app/Makefile.in +++ b/mail/app/Makefile.in -@@ -94,16 +94,17 @@ LOCAL_INCLUDES += \ +@@ -61,16 +61,17 @@ LOCAL_INCLUDES += \ $(NULL) DEFINES += -DXPCOM_GLUE @@ -79,7 +55,7 @@ diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in $(NULL) ifdef MOZ_LINKER - LIBS += $(ZLIB_LIBS) + LIBS += $(MOZ_ZLIB_LIBS) endif ifndef MOZ_WINCONSOLE