Hello community, here is the log from the commit of package MozillaFirefox checked in at Tue Apr 25 17:18:38 CEST 2006. -------- --- MozillaFirefox/MozillaFirefox.changes 2006-04-24 08:07:39.000000000 +0200 +++ STABLE/MozillaFirefox/MozillaFirefox.changes 2006-04-25 14:16:13.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Apr 25 14:14:51 CEST 2006 - stark@suse.de + +- fixed iframe crash (#169039, bmo #334515) +- fixed img tag misuse (#168710, bmo #334341) + +------------------------------------------------------------------- Old: ---- backports-20060424.patch New: ---- backports-20060425.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.L0Kf7P/_old 2006-04-25 17:17:02.000000000 +0200 +++ /var/tmp/diff_new_pack.L0Kf7P/_new 2006-04-25 17:17:02.000000000 +0200 @@ -21,7 +21,7 @@ Obsoletes: mozilla %endif Version: 1.5.0.1 -Release: 25 +Release: 27 Summary: Mozilla Firefox Web Browser URL: http://www.mozilla.org/ Group: Productivity/Networking/Web/Browsers @@ -82,7 +82,7 @@ Patch32: postscript.patch # integration Patch34: skin-selection.patch -Patch35: backports-20060424.patch +Patch35: backports-20060425.patch # Patch100: configure.patch Patch101: configure-nss.patch @@ -480,6 +480,9 @@ %defattr(-,root,root) %changelog -n MozillaFirefox +* Tue Apr 25 2006 - stark@suse.de +- fixed iframe crash (#169039, bmo #334515) +- fixed img tag misuse (#168710, bmo #334341) * Mon Apr 24 2006 - stark@suse.de - improved postscript output (bmo #334485) - changed defaults for printer properties (#6534) ++++++ backports-20060424.patch -> backports-20060425.patch ++++++ --- MozillaFirefox/backports-20060424.patch 2006-04-24 08:03:39.000000000 +0200 +++ STABLE/MozillaFirefox/backports-20060425.patch 2006-04-25 14:07:57.000000000 +0200 @@ -1,5 +1,7 @@ References: https://bugzilla.mozilla.org/show_bug.cgi?id=289897 +https://bugzilla.mozilla.org/show_bug.cgi?id=334515 +https://bugzilla.mozilla.org/show_bug.cgi?id=334341 Index: widget/src/xpwidgets/nsTransferable.cpp =================================================================== @@ -69,3 +71,240 @@ return NS_ERROR_FAILURE; } +Index: embedding/components/commandhandler/src/nsBaseCommandController.h +=================================================================== +RCS file: /cvsroot/mozilla/embedding/components/commandhandler/src/nsBaseCommandController.h,v +retrieving revision 1.3 +diff -u -8 -p -r1.3 nsBaseCommandController.h +--- embedding/components/commandhandler/src/nsBaseCommandController.h 18 Apr 2004 22:00:43 -0000 1.3 ++++ embedding/components/commandhandler/src/nsBaseCommandController.h 25 Apr 2006 00:17:44 -0000 +@@ -44,16 +44,18 @@ + #define NS_BASECOMMANDCONTROLLER_CONTRACTID \ + "@mozilla.org/embedcomp/base-command-controller;1" + + + #include "nsIController.h" + #include "nsIControllerContext.h" + #include "nsIControllerCommandTable.h" + #include "nsIInterfaceRequestor.h" ++#include "nsIWeakReference.h" ++#include "nsIWeakReferenceUtils.h" + + // The base editor controller is used for both text widgets, + // and all other text and html editing + class nsBaseCommandController : public nsIController, + public nsIControllerContext, + public nsIInterfaceRequestor, + public nsICommandController + { +@@ -74,16 +76,16 @@ public: + //nsIControllerContext + NS_DECL_NSICONTROLLERCONTEXT + + // nsIInterfaceRequestor + NS_DECL_NSIINTERFACEREQUESTOR + + private: + +- nsISupports *mCommandContext; ++ nsWeakPtr mCommandContext; + + // Our reference to the command manager + nsCOMPtr<nsIControllerCommandTable> mCommandTable; + }; + + #endif /* nsBaseCommandController_h_ */ + +Index: embedding/components/commandhandler/src/nsBaseCommandController.cpp +=================================================================== +RCS file: /cvsroot/mozilla/embedding/components/commandhandler/src/nsBaseCommandController.cpp,v +retrieving revision 1.4 +diff -u -p -6 -r1.4 nsBaseCommandController.cpp +--- embedding/components/commandhandler/src/nsBaseCommandController.cpp 18 Apr 2004 22:00:43 -0000 1.4 ++++ embedding/components/commandhandler/src/nsBaseCommandController.cpp 25 Apr 2006 09:51:09 -0000 +@@ -52,13 +52,12 @@ NS_INTERFACE_MAP_BEGIN(nsBaseCommandCont + NS_INTERFACE_MAP_ENTRY(nsIControllerContext) + NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor) + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIControllerContext) + NS_INTERFACE_MAP_END + + nsBaseCommandController::nsBaseCommandController() +-: mCommandContext(nsnull) + { + } + + nsBaseCommandController::~nsBaseCommandController() + { + } +@@ -76,13 +75,13 @@ nsBaseCommandController::Init(nsIControl + return rv; + } + + NS_IMETHODIMP + nsBaseCommandController::SetCommandContext(nsISupports *aCommandContext) + { +- mCommandContext = aCommandContext; // no addref ++ mCommandContext = do_GetWeakReference(aCommandContext); + return NS_OK; + } + + NS_IMETHODIMP + nsBaseCommandController::GetInterface(const nsIID & aIID, void * *result) + { +@@ -110,44 +109,49 @@ nsBaseCommandController::GetInterface(co + NS_IMETHODIMP + nsBaseCommandController::IsCommandEnabled(const char *aCommand, + PRBool *aResult) + { + NS_ENSURE_ARG_POINTER(aCommand); + NS_ENSURE_ARG_POINTER(aResult); +- return mCommandTable->IsCommandEnabled(aCommand, mCommandContext, aResult); ++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext); ++ return mCommandTable->IsCommandEnabled(aCommand, context, aResult); + } + + NS_IMETHODIMP + nsBaseCommandController::SupportsCommand(const char *aCommand, PRBool *aResult) + { + NS_ENSURE_ARG_POINTER(aCommand); + NS_ENSURE_ARG_POINTER(aResult); +- return mCommandTable->SupportsCommand(aCommand, mCommandContext, aResult); ++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext); ++ return mCommandTable->SupportsCommand(aCommand, context, aResult); + } + + NS_IMETHODIMP + nsBaseCommandController::DoCommand(const char *aCommand) + { + NS_ENSURE_ARG_POINTER(aCommand); +- return mCommandTable->DoCommand(aCommand, mCommandContext); ++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext); ++ return mCommandTable->DoCommand(aCommand, context); + } + + NS_IMETHODIMP + nsBaseCommandController::DoCommandWithParams(const char *aCommand, + nsICommandParams *aParams) + { + NS_ENSURE_ARG_POINTER(aCommand); +- return mCommandTable->DoCommandParams(aCommand, aParams, mCommandContext); ++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext); ++ return mCommandTable->DoCommandParams(aCommand, aParams, context); + } + + NS_IMETHODIMP + nsBaseCommandController::GetCommandStateWithParams(const char *aCommand, + nsICommandParams *aParams) + { + NS_ENSURE_ARG_POINTER(aCommand); +- return mCommandTable->GetCommandState(aCommand, aParams, mCommandContext); ++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext); ++ return mCommandTable->GetCommandState(aCommand, aParams, context); + } + + NS_IMETHODIMP + nsBaseCommandController::OnEvent(const char * aEventName) + { + NS_ENSURE_ARG_POINTER(aEventName); +Index: caps/src/nsScriptSecurityManager.cpp +=================================================================== +RCS file: /cvsroot/mozilla/caps/src/nsScriptSecurityManager.cpp,v +retrieving revision 1.266.2.7.2.3 +retrieving revision 1.266.2.7.2.4 +diff -u -p -6 -r1.266.2.7.2.3 -r1.266.2.7.2.4 +--- caps/src/nsScriptSecurityManager.cpp 21 Apr 2006 01:43:06 -0000 1.266.2.7.2.3 ++++ caps/src/nsScriptSecurityManager.cpp 25 Apr 2006 03:28:07 -0000 1.266.2.7.2.4 +@@ -78,12 +78,14 @@ + #include "nsIPrefBranch2.h" + #include "nsIJSRuntimeService.h" + #include "nsIObserverService.h" + #include "nsIContent.h" + #include "nsAutoPtr.h" + #include "nsAboutProtocolUtils.h" ++#include "nsIURIFixup.h" ++#include "nsCDefaultURIFixup.h" + + static NS_DEFINE_CID(kZipReaderCID, NS_ZIPREADER_CID); + + nsIIOService *nsScriptSecurityManager::sIOService = nsnull; + nsIXPConnect *nsScriptSecurityManager::sXPConnect = nsnull; + nsIStringBundle *nsScriptSecurityManager::sStrBundle = nsnull; +@@ -1451,17 +1453,47 @@ nsScriptSecurityManager::CheckLoadURIStr + PRUint32 aFlags) + { + nsCOMPtr<nsIURI> source; + nsresult rv = NS_NewURI(getter_AddRefs(source), aSourceURIStr, + nsnull, nsnull, sIOService); + NS_ENSURE_SUCCESS(rv, rv); ++ + nsCOMPtr<nsIURI> target; + rv = NS_NewURI(getter_AddRefs(target), aTargetURIStr, + nsnull, nsnull, sIOService); + NS_ENSURE_SUCCESS(rv, rv); +- return CheckLoadURI(source, target, aFlags); ++ ++ rv = CheckLoadURI(source, target, aFlags); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ // Now start testing fixup -- since aTargetURIStr is a string, not ++ // an nsIURI, we may well end up fixing it up before loading. ++ // Note: This needs to stay in sync with the nsIURIFixup api. ++ nsCOMPtr<nsIURIFixup> fixup = do_GetService(NS_URIFIXUP_CONTRACTID); ++ if (!fixup) { ++ return rv; ++ } ++ ++ PRUint32 flags[] = { ++ nsIURIFixup::FIXUP_FLAG_NONE, ++ nsIURIFixup::FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP, ++ nsIURIFixup::FIXUP_FLAGS_MAKE_ALTERNATE_URI, ++ nsIURIFixup::FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP | ++ nsIURIFixup::FIXUP_FLAGS_MAKE_ALTERNATE_URI ++ }; ++ ++ for (PRUint32 i = 0; i < NS_ARRAY_LENGTH(flags); ++i) { ++ rv = fixup->CreateFixupURI(aTargetURIStr, flags[i], ++ getter_AddRefs(target)); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ rv = CheckLoadURI(source, target, aFlags); ++ NS_ENSURE_SUCCESS(rv, rv); ++ } ++ ++ return rv; + } + + NS_IMETHODIMP + nsScriptSecurityManager::CheckFunctionAccess(JSContext *aCx, void *aFunObj, + void *aTargetObj) + { +Index: toolkit/content/contentAreaUtils.js +=================================================================== +RCS file: /cvsroot/mozilla/toolkit/content/contentAreaUtils.js,v +retrieving revision 1.77.2.2.2.1 +retrieving revision 1.77.2.2.2.2 +diff -u -p -6 -r1.77.2.2.2.1 -r1.77.2.2.2.2 +--- toolkit/content/contentAreaUtils.js 11 Jan 2006 15:08:37 -0000 1.77.2.2.2.1 ++++ toolkit/content/contentAreaUtils.js 25 Apr 2006 03:28:29 -0000 1.77.2.2.2.2 +@@ -109,20 +109,17 @@ function openNewWindowWith(href, sourceU + * + * @param url The URL a page has linked to. + * @param sourceURL The URL of the document from which the URL came. + */ + function urlSecurityCheck(url, sourceURL) + { +- var sourceURI = makeURI(sourceURL); +- var destURI = makeURI(url); +- + const nsIScriptSecurityManager = Components.interfaces.nsIScriptSecurityManager; + var secMan = Components.classes["@mozilla.org/scriptsecuritymanager;1"] + .getService(nsIScriptSecurityManager); + try { +- secMan.checkLoadURI(sourceURI, destURI, nsIScriptSecurityManager.STANDARD); ++ secMan.checkLoadURIStr(sourceURL, url, nsIScriptSecurityManager.STANDARD); + } catch (e) { + throw "Load of " + url + " from " + sourceURL + " denied."; + } + } + + function webPanelSecurityCheck(aSourceURL, aDestURL) { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...