2f435219ac
* MFSA 2012-13/CVE-2012-0455 (bmo#704354) XSS with Drag and Drop and Javascript: URL * MFSA 2012-14/CVE-2012-0456/CVE-2012-0457 (bmo#711653, #720103) SVG issues found with Address Sanitizer * MFSA 2012-15/CVE-2012-0451 (bmo#717511) XSS with multiple Content Security Policy headers * MFSA 2012-16/CVE-2012-0458 Escalation of privilege with Javascript: URL as home page * MFSA 2012-17/CVE-2012-0459 (bmo#723446) Crash when accessing keyframe cssText after dynamic modification * MFSA 2012-18/CVE-2012-0460 (bmo#727303) window.fullScreen writeable by untrusted content * MFSA 2012-19/CVE-2012-0461/CVE-2012-0462/CVE-2012-0464/ CVE-2012-0463 Miscellaneous memory safety hazards - update enigmail to 1.4 - added KDE integration patches (bnc#749440) - update enigmail to 1.3.99 (1.4a1pre) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=162
39 lines
1.6 KiB
Diff
39 lines
1.6 KiB
Diff
From: Wolfgang Rosenauer
|
|
Subject: Do not use gconf for proxy settings if not running within Gnome
|
|
|
|
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
|
===================================================================
|
|
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
|
|
retrieving revision 1.1
|
|
|
|
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
|
|
@@ -71,18 +71,24 @@ private:
|
|
nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult);
|
|
};
|
|
|
|
NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
|
|
|
|
nsresult
|
|
nsUnixSystemProxySettings::Init()
|
|
{
|
|
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
|
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
|
+ // If this is a GNOME session, load gconf and try to use its preferences.
|
|
+ // If gconf is not available (which would be stupid) we'll proceed as if
|
|
+ // this was not a GNOME session, using *_PROXY environment variables.
|
|
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
|
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
|
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
|
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
|
+ }
|
|
return NS_OK;
|
|
}
|
|
|
|
bool
|
|
nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
|
|
{
|
|
nsCAutoString mode;
|
|
return NS_SUCCEEDED(mGConf->GetString(NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
|