--- a/MozillaFirefox/MozillaFirefox.changes Fri Aug 11 09:17:07 2017 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes Sat Nov 11 13:13:22 2017 +0100
@@ -1,4 +1,31 @@
-------------------------------------------------------------------
+Fri Sep 29 08:56:27 UTC 2017 - wr@rosenauer.org
+
+- update to Firefox 52.4esr (boo#1060445)
+ * requires NSS >= 3.28.6
+ MFSA 2017-22
+ * CVE-2017-7793 (bmo#1371889)
+ Use-after-free with Fetch API
+ * CVE-2017-7818 (bmo#1363723)
+ Use-after-free during ARIA array manipulation
+ * CVE-2017-7819 (bmo#1380292)
+ Use-after-free while resizing images in design mode
+ * CVE-2017-7824 (bmo#1398381)
+ Buffer overflow when drawing and validating elements with ANGLE
+ * CVE-2017-7805 (bmo#1377618) (fixed via NSS requirement)
+ Use-after-free in TLS 1.2 generating handshake hashes
+ * CVE-2017-7814 (bmo#1376036)
+ Blob and data URLs bypass phishing and malware protection warnings
+ * CVE-2017-7825 (bmo#1393624, bmo#1390980) (OSX-only)
+ OS X fonts render some Tibetan and Arabic unicode characters as spaces
+ * CVE-2017-7823 (bmo#1396320)
+ CSP sandbox directive did not create a unique origin
+ * CVE-2017-7810
+ Memory safety bugs fixed in Firefox 56 and Firefox ESR 52.4
+- fixed language accept header to use correct locale
+ (mozilla-bmo1005640.patch, boo#1029917)
+
+-------------------------------------------------------------------
Wed Aug 9 09:47:39 UTC 2017 - schwab@suse.de
- mozilla-ucontext.patch: use ucontext_t instead of struct ucontext
--- a/MozillaFirefox/MozillaFirefox.spec Fri Aug 11 09:17:07 2017 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Sat Nov 11 13:13:22 2017 +0100
@@ -19,9 +19,9 @@
# changed with every update
%define major 52
-%define mainver %major.3.0
+%define mainver %major.4.0
%define update_channel esr52
-%define releasedate 20170807000000
+%define releasedate 20170921064520
# PIE, full relro (x86_64 for now)
%define build_hardened 1
@@ -82,7 +82,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.13.1
-BuildRequires: mozilla-nss-devel >= 3.28.5
+BuildRequires: mozilla-nss-devel >= 3.28.6
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -159,6 +159,7 @@
Patch9: mozilla-reduce-files-per-UnifiedBindings.patch
Patch10: mozilla-aarch64-startup-crash.patch
Patch11: mozilla-ucontext.patch
+Patch12: mozilla-bmo1005640.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-no-default-ualocale.patch
@@ -269,6 +270,7 @@
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
# Firefox
%patch101 -p1
%patch102 -p1
--- a/MozillaFirefox/create-tar.sh Fri Aug 11 09:17:07 2017 +0200
+++ b/MozillaFirefox/create-tar.sh Sat Nov 11 13:13:22 2017 +0100
@@ -7,8 +7,8 @@
CHANNEL="esr52"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_52_3_0esr_RELEASE"
-VERSION="52.3.0"
+RELEASE_TAG="FIREFOX_52_4_0esr_RELEASE"
+VERSION="52.4.0"
# mozilla
if [ -d mozilla ]; then
--- a/MozillaFirefox/firefox-esr.changes Fri Aug 11 09:17:07 2017 +0200
+++ b/MozillaFirefox/firefox-esr.changes Sat Nov 11 13:13:22 2017 +0100
@@ -1,4 +1,36 @@
-------------------------------------------------------------------
+Fri Sep 29 08:56:27 UTC 2017 - wr@rosenauer.org
+
+- update to Firefox 52.4esr (boo#1060445)
+ * requires NSS >= 3.28.6
+ MFSA 2017-22
+ * CVE-2017-7793 (bmo#1371889)
+ Use-after-free with Fetch API
+ * CVE-2017-7818 (bmo#1363723)
+ Use-after-free during ARIA array manipulation
+ * CVE-2017-7819 (bmo#1380292)
+ Use-after-free while resizing images in design mode
+ * CVE-2017-7824 (bmo#1398381)
+ Buffer overflow when drawing and validating elements with ANGLE
+ * CVE-2017-7805 (bmo#1377618) (fixed via NSS requirement)
+ Use-after-free in TLS 1.2 generating handshake hashes
+ * CVE-2017-7814 (bmo#1376036)
+ Blob and data URLs bypass phishing and malware protection warnings
+ * CVE-2017-7825 (bmo#1393624, bmo#1390980) (OSX-only)
+ OS X fonts render some Tibetan and Arabic unicode characters as spaces
+ * CVE-2017-7823 (bmo#1396320)
+ CSP sandbox directive did not create a unique origin
+ * CVE-2017-7810
+ Memory safety bugs fixed in Firefox 56 and Firefox ESR 52.4
+- fixed language accept header to use correct locale
+ (mozilla-bmo1005640.patch, boo#1029917)
+
+-------------------------------------------------------------------
+Wed Aug 9 09:47:39 UTC 2017 - schwab@suse.de
+
+- mozilla-ucontext.patch: use ucontext_t instead of struct ucontext
+
+-------------------------------------------------------------------
Tue Aug 8 18:13:34 UTC 2017 - wr@rosenauer.org
- update to Firefox 52.3esr (boo#1052829)
--- a/MozillaFirefox/firefox-esr.spec Fri Aug 11 09:17:07 2017 +0200
+++ b/MozillaFirefox/firefox-esr.spec Sat Nov 11 13:13:22 2017 +0100
@@ -19,9 +19,9 @@
# changed with every update
%define major 52
-%define mainver %major.3.0
+%define mainver %major.4.0
%define update_channel esr52
-%define releasedate 20170807000000
+%define releasedate 20170921064520
# PIE, full relro (x86_64 for now)
%define build_hardened 1
@@ -82,7 +82,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.13.1
-BuildRequires: mozilla-nss-devel >= 3.28.5
+BuildRequires: mozilla-nss-devel >= 3.28.6
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -159,6 +159,8 @@
Patch8: mozilla-no-stdcxx-check.patch
Patch9: mozilla-reduce-files-per-UnifiedBindings.patch
Patch10: mozilla-aarch64-startup-crash.patch
+Patch11: mozilla-ucontext.patch
+Patch12: mozilla-bmo1005640.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-no-default-ualocale.patch
@@ -268,6 +270,8 @@
%patch8 -p1
%patch9 -p1
%patch10 -p1
+%patch11 -p1
+%patch12 -p1
# Firefox
%patch101 -p1
%patch102 -p1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-bmo1005640.patch Sat Nov 11 13:13:22 2017 +0100
@@ -0,0 +1,1 @@
+../mozilla-bmo1005640.patch
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-bmo1005640.patch Sat Nov 11 13:13:22 2017 +0100
@@ -0,0 +1,208 @@
+
+# HG changeset patch
+# User Zibi Braniecki <gandalf@mozilla.com>
+# Date 1492502585 25200
+# Node ID 4e489e84adfd63b84c8ee55a8ea4cc05984cfdd8
+# Parent b04931b8cbcb2620b4760ccafd66a9b1190acca4
+Bug 1005640 - Flush StringBundle cache when app-locales change. r=valentin
+
+StringBundle caches bundles, so when language chain changes we should
+flush the cache to enable new strings to be loaded.
+This also affects localized prefs like intl.accept_languages.
+
+Then in HttpHandler we have to mark the value as dirty so that next
+time it's called it actually recalculates using flushed string bundle
+with the new locale.
+
+MozReview-Commit-ID: DKWEDUli4yH
+
+diff --git a/intl/strres/nsStringBundle.cpp b/intl/strres/nsStringBundle.cpp
+--- a/intl/strres/nsStringBundle.cpp
++++ b/intl/strres/nsStringBundle.cpp
+@@ -524,16 +524,17 @@ nsresult
+ nsStringBundleService::Init()
+ {
+ nsCOMPtr<nsIObserverService> os = mozilla::services::GetObserverService();
+ if (os) {
+ os->AddObserver(this, "memory-pressure", true);
+ os->AddObserver(this, "profile-do-change", true);
+ os->AddObserver(this, "chrome-flush-caches", true);
+ os->AddObserver(this, "xpcom-category-entry-added", true);
++ os->AddObserver(this, "intl:app-locales-changed", true);
+ }
+
+ // instantiate the override service, if there is any.
+ // at some point we probably want to make this a category, and
+ // support multiple overrides
+ mOverrideStrings = do_GetService(NS_STRINGBUNDLETEXTOVERRIDE_CONTRACTID);
+
+ return NS_OK;
+@@ -541,17 +542,18 @@ nsStringBundleService::Init()
+
+ NS_IMETHODIMP
+ nsStringBundleService::Observe(nsISupports* aSubject,
+ const char* aTopic,
+ const char16_t* aSomeData)
+ {
+ if (strcmp("memory-pressure", aTopic) == 0 ||
+ strcmp("profile-do-change", aTopic) == 0 ||
+- strcmp("chrome-flush-caches", aTopic) == 0)
++ strcmp("chrome-flush-caches", aTopic) == 0 ||
++ strcmp("intl:app-locales-changed", aTopic) == 0)
+ {
+ flushBundleCache();
+ }
+ else if (strcmp("xpcom-category-entry-added", aTopic) == 0 &&
+ NS_LITERAL_STRING("xpcom-autoregistration").Equals(aSomeData))
+ {
+ mOverrideStrings = do_GetService(NS_STRINGBUNDLETEXTOVERRIDE_CONTRACTID);
+ }
+diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp
+--- a/netwerk/protocol/http/nsHttpHandler.cpp
++++ b/netwerk/protocol/http/nsHttpHandler.cpp
+@@ -197,16 +197,17 @@ nsHttpHandler::nsHttpHandler()
+ , mEnforceAssocReq(false)
+ , mLastUniqueID(NowInSeconds())
+ , mSessionStartTime(0)
+ , mLegacyAppName("Mozilla")
+ , mLegacyAppVersion("5.0")
+ , mProduct("Gecko")
+ , mCompatFirefoxEnabled(false)
+ , mUserAgentIsDirty(true)
++ , mAcceptLanguagesIsDirty(true)
+ , mPromptTempRedirect(true)
+ , mEnablePersistentHttpsCaching(false)
+ , mDoNotTrackEnabled(false)
+ , mSafeHintEnabled(false)
+ , mParentalControlEnabled(false)
+ , mHandlerActive(false)
+ , mTelemetryEnabled(false)
+ , mAllowExperiments(true)
+@@ -460,18 +461,23 @@ nsHttpHandler::AddStandardRequestHeaders
+ // service worker expects to see it. The other "default" headers are
+ // hidden from service worker interception.
+ rv = request->SetHeader(nsHttp::Accept, mAccept,
+ false, nsHttpHeaderArray::eVarietyRequestOverride);
+ if (NS_FAILED(rv)) return rv;
+
+ // Add the "Accept-Language" header. This header is also exposed to the
+ // service worker.
++ if (mAcceptLanguagesIsDirty) {
++ rv = SetAcceptLanguages();
++ MOZ_ASSERT(NS_SUCCEEDED(rv));
++ }
++
++ // Add the "Accept-Language" header
+ if (!mAcceptLanguages.IsEmpty()) {
+- // Add the "Accept-Language" header
+ rv = request->SetHeader(nsHttp::Accept_Language, mAcceptLanguages,
+ false,
+ nsHttpHeaderArray::eVarietyRequestOverride);
+ if (NS_FAILED(rv)) return rv;
+ }
+
+ // Add the "Accept-Encoding" header
+ if (isSecure) {
+@@ -1472,26 +1478,20 @@ nsHttpHandler::PrefsChanged(nsIPrefBranc
+ mMaxHttpResponseHeaderSize = val;
+ }
+ }
+ //
+ // INTL options
+ //
+
+ if (PREF_CHANGED(INTL_ACCEPT_LANGUAGES)) {
+- nsCOMPtr<nsIPrefLocalizedString> pls;
+- prefs->GetComplexValue(INTL_ACCEPT_LANGUAGES,
+- NS_GET_IID(nsIPrefLocalizedString),
+- getter_AddRefs(pls));
+- if (pls) {
+- nsXPIDLString uval;
+- pls->ToString(getter_Copies(uval));
+- if (uval)
+- SetAcceptLanguages(NS_ConvertUTF16toUTF8(uval).get());
+- }
++ // We don't want to set the new accept languages here since
++ // this pref is a complex type and it may be racy with flushing
++ // string resources.
++ mAcceptLanguagesIsDirty = true;
+ }
+
+ //
+ // Tracking options
+ //
+
+ if (PREF_CHANGED(DONOTTRACK_HEADER_ENABLED)) {
+ cVar = false;
+@@ -1858,22 +1858,28 @@ PrepareAcceptLanguages(const char *i_Acc
+
+ o_AcceptLanguages.Assign((const char *) q_Accept);
+ delete [] q_Accept;
+
+ return NS_OK;
+ }
+
+ nsresult
+-nsHttpHandler::SetAcceptLanguages(const char *aAcceptLanguages)
++nsHttpHandler::SetAcceptLanguages()
+ {
++ mAcceptLanguagesIsDirty = false;
++
++ const nsAdoptingCString& acceptLanguages =
++ Preferences::GetLocalizedCString(INTL_ACCEPT_LANGUAGES);
++
+ nsAutoCString buf;
+- nsresult rv = PrepareAcceptLanguages(aAcceptLanguages, buf);
+- if (NS_SUCCEEDED(rv))
++ nsresult rv = PrepareAcceptLanguages(acceptLanguages.get(), buf);
++ if (NS_SUCCEEDED(rv)) {
+ mAcceptLanguages.Assign(buf);
++ }
+ return rv;
+ }
+
+ nsresult
+ nsHttpHandler::SetAccept(const char *aAccept)
+ {
+ mAccept = aAccept;
+ return NS_OK;
+diff --git a/netwerk/protocol/http/nsHttpHandler.h b/netwerk/protocol/http/nsHttpHandler.h
+--- a/netwerk/protocol/http/nsHttpHandler.h
++++ b/netwerk/protocol/http/nsHttpHandler.h
+@@ -385,17 +385,17 @@ private:
+ //
+ // Useragent/prefs helper methods
+ //
+ void BuildUserAgent();
+ void InitUserAgentComponents();
+ void PrefsChanged(nsIPrefBranch *prefs, const char *pref);
+
+ nsresult SetAccept(const char *);
+- nsresult SetAcceptLanguages(const char *);
++ nsresult SetAcceptLanguages();
+ nsresult SetAcceptEncodings(const char *, bool mIsSecure);
+
+ nsresult InitConnectionMgr();
+
+ void NotifyObservers(nsIHttpChannel *chan, const char *event);
+
+ static void TimerCallback(nsITimer * aTimer, void * aClosure);
+ private:
+@@ -488,16 +488,17 @@ private:
+ nsCString mCompatFirefox;
+ bool mCompatFirefoxEnabled;
+ nsXPIDLCString mCompatDevice;
+ nsCString mDeviceModelId;
+
+ nsCString mUserAgent;
+ nsXPIDLCString mUserAgentOverride;
+ bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt
++ bool mAcceptLanguagesIsDirty;
+
+
+ bool mPromptTempRedirect;
+
+ // Persistent HTTPS caching flag
+ bool mEnablePersistentHttpsCaching;
+
+ // For broadcasting tracking preference
--- a/series Fri Aug 11 09:17:07 2017 +0200
+++ b/series Sat Nov 11 13:13:22 2017 +0100
@@ -10,6 +10,7 @@
mozilla-reduce-files-per-UnifiedBindings.patch
mozilla-aarch64-startup-crash.patch
mozilla-ucontext.patch
+mozilla-bmo1005640.patch
# Firefox patches
firefox-kde.patch