Hello community, here is the log from the commit of package seamonkey for openSUSE:Factory checked in at Sun Apr 4 00:09:58 CEST 2010. -------- --- seamonkey/seamonkey.changes 2010-02-24 07:13:34.000000000 +0100 +++ /mounts/work_src_done/STABLE/seamonkey/seamonkey.changes 2010-04-02 13:29:48.000000000 +0200 @@ -1,0 +2,21 @@ +Wed Mar 17 23:40:16 CET 2010 - wr@rosenauer.org + +- security update to 2.0.4 (bnc#586567) + * MFSA 2010-16/CVE-2010-0173/CVE-2010-0174 + Crashes with evidence of memory corruption + * MFSA 2010-17/CVE-2010-0175 (bmo#540100,375928) + Remote code execution with use-after-free in nsTreeSelection + * MFSA 2010-18/CVE-2010-0176 (bmo#538308) + Dangling pointer vulnerability in nsTreeContentView + * MFSA 2010-19/CVE-2010-0177 (bmo#538310) + Dangling pointer vulnerability in nsPluginArray + * MFSA 2010-20/CVE-2010-0178 (bmo#546909) + Chrome privilege escalation via forced URL drag and drop + * MFSA 2010-22/CVE-2009-3555 (bmo#545755) + Update NSS to support TLS renegotiation indication + * MFSA 2010-23/CVE-2010-0181 (bmo#452093) + Image src redirect to mailto: URL opens email editor + * MFSA 2010-24/CVE-2010-0182 (bmo#490790) + XMLDocument::load() doesn't check nsIContentPolicy + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- l10n-2.0.3.tar.bz2 seamonkey-2.0.3-source.tar.bz2 New: ---- l10n-2.0.4.tar.bz2 mozilla-ua-locale.patch seamonkey-2.0.4-source.tar.bz2 seamonkey-ua-locale.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ seamonkey.spec ++++++ --- /var/tmp/diff_new_pack.nzGxYk/_old 2010-04-04 00:09:46.000000000 +0200 +++ /var/tmp/diff_new_pack.nzGxYk/_new 2010-04-04 00:09:46.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package seamonkey (Version 2.0.3) +# spec file for package seamonkey (Version 2.0.4) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # 2006-2010 Wolfgang Rosenauer @@ -29,8 +29,8 @@ %endif License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ Provides: web_browser -Version: 2.0.3 -Release: 2 +Version: 2.0.4 +Release: 1 Summary: The successor of the Mozilla Application Suite Url: http://www.mozilla.org/projects/seamonkey Group: Productivity/Networking/Web/Browsers @@ -44,7 +44,7 @@ Source7: seamonkey-rpmlintrc Source8: find-external-requires.sh Source9: create-tar.sh -# Gecko patches +Patch1: seamonkey-ua-locale.patch Patch2: mozilla-helper-app.patch Patch3: mozilla-nongnome-proxies.patch Patch4: mozilla-path_len.patch @@ -55,13 +55,14 @@ Patch9: mozilla-gtkfilepicker-buttonorder.patch Patch10: mozilla-system-hunspell.patch.bz2 Patch11: mozilla-prefer_plugin_pref.patch +Patch13: mozilla-ua-locale.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /bin/sh coreutils Provides: seamonkey-mail = %{version} Obsoletes: seamonkey-mail <= 2.0 Provides: seamonkey-spellchecker = %{version} Obsoletes: seamonkey-spellchecker <= 2.0 -%define releasedate 2010020600 +%define releasedate 2010031700 %define progname %{name} %define prefix /usr %define progdir %_libdir/%{progname} @@ -71,7 +72,6 @@ %if %suse_version > 1110 %define has_system_cairo 1 %endif -%define localize 1 ### build options end %define _use_internal_dependency_generator 0 %define __find_requires sh %{SOURCE8} @@ -81,7 +81,7 @@ # so using %opensuse_bs is secure for now BuildRequires: mozilla-nspr-devel PreReq: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr) -BuildRequires: mozilla-nss-devel +BuildRequires: mozilla-nss-devel >= 3.12.6 PreReq: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss) %description @@ -122,7 +122,6 @@ SeaMonkey. This is of great use to people who are doing SeaMonkey chrome development or web page development. -%if %localize %package translations-common License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ @@ -146,7 +145,7 @@ %description translations-other This package contains several optional languages for the user interface of SeaMonkey. -%endif + %prep %setup -n seamonkey -b 1 -b 5 -q @@ -162,8 +161,10 @@ %patch10 popd %patch11 -p1 +%patch13 -p1 popd # comm patches +%patch1 -p1 %patch7 -p1 %patch8 -p1 @@ -199,6 +200,7 @@ ac_add_options --disable-mochitest ac_add_options --disable-crashreporter ac_add_options --enable-startup-notification +#ac_add_options --enable-system-mozldap EOF %if %suse_version > 1030 cat << EOF >> $MOZCONFIG @@ -220,7 +222,6 @@ cp -rf $RPM_BUILD_DIR/seamonkey/mozilla/dist/seamonkey/* $RPM_BUILD_ROOT%{progdir} # remove some executable permissions find $RPM_BUILD_ROOT%{progdir} -name "*.js" | xargs chmod a-x -%if %localize rm -f %{_tmppath}/translations.* for locale in $(awk '{ print $1; }' suite/locales/shipped-locales); do case $locale in @@ -255,7 +256,6 @@ #echo %{progdir}/chrome/venkman-$locale.manifest >> %{_tmppath}/translations.$_l10ntarget esac done -%endif # overwrite the mozilla start-script and link it to /usr/bin mkdir --parents $RPM_BUILD_ROOT%{_bindir} sed "s:%%PREFIX:%{prefix}:g @@ -377,13 +377,10 @@ %defattr(-,root,root) %{progdir}/extensions/inspector@mozilla.org/ -%if %localize - %files translations-common -f %{_tmppath}/translations.common %defattr(-,root,root) %files translations-other -f %{_tmppath}/translations.other %defattr(-,root,root) -%endif %changelog ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.nzGxYk/_old 2010-04-04 00:09:46.000000000 +0200 +++ /var/tmp/diff_new_pack.nzGxYk/_new 2010-04-04 00:09:46.000000000 +0200 @@ -1,27 +1,41 @@ #!/bin/bash -RELEASE_TAG="SEAMONKEY_2_0_3_RELEASE" -VERSION="2.0.3" +BRANCH="releases/comm-1.9.1" +RELEASE_TAG="SEAMONKEY_2_0_4_RELEASE" +VERSION="2.0.4" -# mozilla -hg clone http://hg.mozilla.org/releases/comm-1.9.1 seamonkey +echo "cloning $BRANCH..." +hg clone http://hg.mozilla.org/$BRANCH seamonkey pushd seamonkey hg update -r $RELEASE_TAG -python client.py checkout --comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG --inspector-rev=$RELEASE_TAG --venkman-rev=$RELEASE_TAG --chatzilla-rev=$RELEASE_TAG +echo "running client.py..." +[ "$RELEASE_TAG" == "default" ] || \ + _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG --inspector-rev=$RELEASE_TAG --venkman-rev=$RELEASE_TAG --chatzilla-rev=$RELEASE_TAG" +python client.py checkout $_extra popd +echo "creating archive..." tar cjf seamonkey-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS seamonkey # l10n -#test ! -d l10n && mkdir l10n -#for locale in $(awk '{ print $1; }' seamonkey/suite/locales/all-locales); do -# case $locale in -# ja-JP-mac|en-US) -# ;; -# *) -# hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/$locale l10n/$locale -# hg -R l10n/$locale up -C -r $RELEASE_TAG -# ;; -# esac -#done -#tar cjf l10n-$VERSION.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n - +echo "fetching locales..." +if [ -e shipped-locales ]; then + SHIPPED_LOCALES=shipped-locales +else + SHIPPED_LOCALES=seamonkey/suite/locales/shipped-locales +fi +test ! -d l10n && mkdir l10n +for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do + case $locale in + ja-JP-mac|en-US) + ;; + *) + hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/$locale l10n/$locale + hg -R l10n/$locale up -C $RELEASE_TAG + ;; + esac +done +echo "creating l10n archive..." +tar cjf l10n-$VERSION.tar.bz2 \ + --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=calendar \ + --exclude=mail \ + l10n ++++++ l10n-2.0.3.tar.bz2 -> l10n-2.0.4.tar.bz2 ++++++ seamonkey/l10n-2.0.3.tar.bz2 /mounts/work_src_done/STABLE/seamonkey/l10n-2.0.4.tar.bz2 differ: char 11, line 1 ++++++ mozilla-ua-locale.patch ++++++ From: upstream Subject: allow reading general.useragent.locale from user profile References: https://bugzilla.mozilla.org/show_bug.cgi?id=519468 https://bugzilla.mozilla.org/show_bug.cgi?id=542999 http://bugzilla.novell.com/show_bug.cgi?id=582654 diff --git a/chrome/src/nsChromeRegistry.cpp b/chrome/src/nsChromeRegistry.cpp --- a/chrome/src/nsChromeRegistry.cpp +++ b/chrome/src/nsChromeRegistry.cpp @@ -545,58 +545,39 @@ nsChromeRegistry::Init() if (safeMode) prefserv->GetDefaultBranch(nsnull, getter_AddRefs(prefs)); else prefs = do_QueryInterface(prefserv); if (!prefs) { NS_WARNING("Could not get pref service!"); } - - PRBool useLocalePref = PR_TRUE; - - if (prefs) { - // check the pref first - PRBool matchOS = PR_FALSE; - rv = prefs->GetBoolPref(MATCH_OS_LOCALE_PREF, &matchOS); - - // match os locale - if (NS_SUCCEEDED(rv) && matchOS) { - // compute lang and region code only when needed! - nsCAutoString uiLocale; - rv = getUILangCountry(uiLocale); - if (NS_SUCCEEDED(rv)) { - useLocalePref = PR_FALSE; - mSelectedLocale = uiLocale; - } - } - } - - if (prefs) { + else { nsXPIDLCString provider; - rv = prefs->GetCharPref(SELECTED_SKIN_PREF, getter_Copies(provider)); if (NS_SUCCEEDED(rv)) mSelectedSkin = provider; + SelectLocalePref(prefs); + nsCOMPtr<nsIPrefBranch2> prefs2 (do_QueryInterface(prefs)); - if (prefs2) + if (prefs2) { + rv = prefs2->AddObserver(MATCH_OS_LOCALE_PREF, this, PR_TRUE); + rv = prefs2->AddObserver(SELECTED_LOCALE_PREF, this, PR_TRUE); rv = prefs2->AddObserver(SELECTED_SKIN_PREF, this, PR_TRUE); - - if (useLocalePref) { - rv = prefs->GetCharPref(SELECTED_LOCALE_PREF, getter_Copies(provider)); - if (NS_SUCCEEDED(rv)) - mSelectedLocale = provider; - - if (prefs2) - prefs2->AddObserver(SELECTED_LOCALE_PREF, this, PR_TRUE); } } + nsCOMPtr<nsIObserverService> obsService (do_GetService("@mozilla.org/observer-service;1")); + if (obsService) { + obsService->AddObserver(this, "command-line-startup", PR_TRUE); + obsService->AddObserver(this, "profile-initial-state", PR_TRUE); + } + CheckForNewChrome(); mInitialized = PR_TRUE; return NS_OK; } NS_IMETHODIMP @@ -1479,40 +1460,68 @@ nsChromeRegistry::ProcessNewChromeBuffer while (aBuffer < bufferEnd && (*aBuffer == '\0' || *aBuffer == ' ' || *aBuffer == '\r' || *aBuffer == '\n')) ++aBuffer; } return NS_OK; } +nsresult +nsChromeRegistry::SelectLocalePref(nsIPrefBranch* prefs) +{ + nsresult rv; + PRBool matchOSLocale = PR_FALSE, userLocaleOverride = PR_FALSE; + prefs->PrefHasUserValue(SELECTED_LOCALE_PREF, &userLocaleOverride); + rv = prefs->GetBoolPref(MATCH_OS_LOCALE_PREF, &matchOSLocale); + + if (NS_SUCCEEDED(rv) && matchOSLocale && !userLocaleOverride) { + // compute lang and region code only when needed! + nsCAutoString uiLocale; + rv = getUILangCountry(uiLocale); + if (NS_SUCCEEDED(rv)) + mSelectedLocale = uiLocale; + } + else { + nsXPIDLCString provider; + rv = prefs->GetCharPref(SELECTED_LOCALE_PREF, getter_Copies(provider)); + if (NS_SUCCEEDED(rv)) { + mSelectedLocale = provider; + } + } + + return rv; +} + NS_IMETHODIMP nsChromeRegistry::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *someData) { nsresult rv = NS_OK; if (!strcmp(NS_PREFBRANCH_PREFCHANGE_TOPIC_ID, aTopic)) { nsCOMPtr<nsIPrefBranch> prefs (do_QueryInterface(aSubject)); NS_ASSERTION(prefs, "Bad observer call!"); NS_ConvertUTF16toUTF8 pref(someData); - nsXPIDLCString provider; - rv = prefs->GetCharPref(pref.get(), getter_Copies(provider)); - if (NS_FAILED(rv)) { - NS_ERROR("Couldn't get new locale or skin pref!"); - return rv; + if (pref.EqualsLiteral(MATCH_OS_LOCALE_PREF) || + pref.EqualsLiteral(SELECTED_LOCALE_PREF)) { + rv = SelectLocalePref(prefs); + if (NS_SUCCEEDED(rv) && mProfileLoaded) + FlushAllCaches(); } - - if (pref.EqualsLiteral(SELECTED_SKIN_PREF)) { + else if (pref.EqualsLiteral(SELECTED_SKIN_PREF)) { + nsXPIDLCString provider; + rv = prefs->GetCharPref(pref.get(), getter_Copies(provider)); + if (NS_FAILED(rv)) { + NS_ERROR("Couldn't get new locale pref!"); + return rv; + } + mSelectedSkin = provider; RefreshSkins(); - } - else if (pref.EqualsLiteral(SELECTED_LOCALE_PREF)) { - mSelectedLocale = provider; - FlushAllCaches(); } else { NS_ERROR("Unexpected pref!"); } } else if (!strcmp("command-line-startup", aTopic)) { nsCOMPtr<nsICommandLine> cmdLine (do_QueryInterface(aSubject)); if (cmdLine) { nsAutoString uiLocale; @@ -1522,16 +1531,19 @@ NS_IMETHODIMP nsChromeRegistry::Observe( CopyUTF16toUTF8(uiLocale, mSelectedLocale); nsCOMPtr<nsIPrefBranch2> prefs (do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefs) { prefs->RemoveObserver(SELECTED_LOCALE_PREF, this); } } } } + else if (!strcmp("profile-initial-state", aTopic)) { + mProfileLoaded = PR_TRUE; + } else { NS_ERROR("Unexpected observer topic!"); } return rv; } #ifdef MOZ_XUL diff --git a/chrome/src/nsChromeRegistry.h b/chrome/src/nsChromeRegistry.h --- a/chrome/src/nsChromeRegistry.h +++ b/chrome/src/nsChromeRegistry.h @@ -56,16 +56,17 @@ #include "nsInterfaceHashtable.h" struct PRFileDesc; class nsIAtom; class nsICSSLoader; class nsICSSStyleSheet; class nsIDOMWindowInternal; class nsILocalFile; +class nsIPrefBranch; class nsIRDFDataSource; class nsIRDFResource; class nsIRDFService; class nsISimpleEnumerator; class nsIURL; // for component registration // {47049e42-1d87-482a-984d-56ae185e367a} @@ -89,17 +90,17 @@ public: #ifdef MOZ_XUL NS_DECL_NSIXULOVERLAYPROVIDER #endif NS_DECL_NSIOBSERVER // nsChromeRegistry methods: - nsChromeRegistry() : mInitialized(PR_FALSE) { + nsChromeRegistry() : mInitialized(PR_FALSE), mProfileLoaded(PR_FALSE) { mPackagesHash.ops = nsnull; } ~nsChromeRegistry(); nsresult Init(); static nsChromeRegistry* gChromeRegistry; @@ -110,16 +111,18 @@ protected: nsresult LoadInstallDataSource(); nsresult LoadProfileDataSource(); void FlushSkinCaches(); void FlushAllCaches(); private: + nsresult SelectLocalePref(nsIPrefBranch* prefs); + static nsresult RefreshWindow(nsIDOMWindowInternal* aWindow, nsICSSLoader* aCSSLoader); static nsresult GetProviderAndPath(nsIURL* aChromeURL, nsACString& aProvider, nsACString& aPath); #ifdef MOZ_XUL NS_HIDDEN_(void) ProcessProvider(PRFileDesc *fd, nsIRDFService* aRDFs, nsIRDFDataSource* ds, nsIRDFResource* aRoot, @@ -239,16 +242,17 @@ public: const nsCOMArray<nsIURI>* GetArray(nsIURI* aBase); private: nsTHashtable<OverlayListEntry> mTable; }; private: PRBool mInitialized; + PRBool mProfileLoaded; // Hash of package names ("global") to PackageEntry objects PLDHashTable mPackagesHash; // Hashes on the file to be overlaid (chrome://browser/content/browser.xul) // to a list of overlays/stylesheets OverlayListHash mOverlayHash; OverlayListHash mStyleHash; diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp --- a/toolkit/xre/nsXREDirProvider.cpp +++ b/toolkit/xre/nsXREDirProvider.cpp @@ -811,16 +811,18 @@ nsXREDirProvider::DoStartup() static const PRUnichar kStartup[] = {'s','t','a','r','t','u','p','\0'}; obsSvc->NotifyObservers(nsnull, "profile-do-change", kStartup); obsSvc->NotifyObservers(nsnull, "profile-after-change", kStartup); // Any component that has registered for the profile-after-change category // should also be created at this time. (void)NS_CreateServicesFromCategory("profile-after-change", nsnull, "profile-after-change"); + + obsSvc->NotifyObservers(nsnull, "profile-initial-state", nsnull); } return NS_OK; } class ProfileChangeStatusImpl : public nsIProfileChangeStatus { public: NS_DECL_ISUPPORTS ++++++ seamonkey-2.0.3-source.tar.bz2 -> seamonkey-2.0.4-source.tar.bz2 ++++++ seamonkey/seamonkey-2.0.3-source.tar.bz2 /mounts/work_src_done/STABLE/seamonkey/seamonkey-2.0.4-source.tar.bz2 differ: char 11, line 1 ++++++ seamonkey-ua-locale.patch ++++++ diff --git a/suite/locales/en-US/suite-l10n.js b/suite/locales/en-US/suite-l10n.js --- a/suite/locales/en-US/suite-l10n.js +++ b/suite/locales/en-US/suite-l10n.js @@ -31,10 +31,10 @@ # 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 ***** #filter substitution -pref("general.useragent.locale", "@AB_CD@"); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); pref("spellchecker.dictionary", "@AB_CD@"); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org