• [^] # Re: Note de mise à jour un peu dégueulasse avec Mozilla

    Posté par (site web personnel) . En réponse à la dépêche Debian GNU/Linux 5.0 : Lenny. Évalué à 4.

    Oui, la mauvaise foi, cela va 5 minutes.

    Linux utilise depuis longtemps des contributions sous forme de patchs unifonctionnels. Ce sont donc des patchs courts et ciblés. Pour un problème de sécurité, le patch est donc souvent assez court. Comparativement, voilà ce que proposait Mozilla à l'époque concernant une mise à jour de sécurité (1.0.4 -> 1.0.5) :


    accessible/src/base/nsBaseWidgetAccessible.cpp | 4
    browser/app/module.ver | 4
    browser/base/content/browser.js | 205 ++---
    browser/base/content/setWallpaper.xul | 12
    browser/base/content/utilityOverlay.js | 3
    browser/config/version.txt | 2
    browser/installer/unix/installer.cfg | 2
    browser/installer/unix/packages-static | 2
    browser/installer/windows/config.it | 2
    browser/installer/windows/installer.cfg | 4
    browser/installer/windows/packages-static | 2
    caps/idl/nsIPrincipal.idl | 22
    caps/include/nsPrincipal.h | 2
    caps/include/nsScriptSecurityManager.h | 33
    caps/src/nsJSPrincipals.cpp | 17
    caps/src/nsPrincipal.cpp | 23
    caps/src/nsScriptSecurityManager.cpp | 45 -
    caps/src/nsSystemPrincipal.cpp | 7
    chrome/src/nsChromeProtocolHandler.cpp | 3
    client.mk | 26
    config/milestone.txt | 2
    content/base/public/nsContentUtils.h | 2
    content/base/src/nsContentUtils.cpp | 15
    content/base/src/nsDocument.cpp | 50 +
    content/base/src/nsDocument.h | 5
    content/base/src/nsDocumentViewer.cpp | 6
    content/base/src/nsGenericDOMDataNode.cpp | 17
    content/base/src/nsGenericElement.cpp | 68 +
    content/base/src/nsGenericElement.h | 12
    content/base/src/nsImageLoadingContent.cpp | 2
    content/base/src/nsSelection.cpp | 3
    content/events/public/nsIEventListenerManager.h | 9
    content/events/public/nsIPrivateDOMEvent.h | 5
    content/events/public/nsMutationEvent.h | 21
    content/events/src/nsDOMEvent.cpp | 130 +++
    content/events/src/nsDOMMutationEvent.cpp | 21
    content/events/src/nsEventListenerManager.cpp | 97 +-
    content/events/src/nsEventListenerManager.h | 7
    content/events/src/nsEventStateManager.cpp | 157 ++--
    content/html/content/src/nsGenericHTMLElement.cpp | 7
    content/html/content/src/nsHTMLButtonElement.cpp | 42 -
    content/html/content/src/nsHTMLFormElement.cpp | 2
    content/html/content/src/nsHTMLInputElement.cpp | 31
    content/html/content/src/nsHTMLScriptElement.cpp | 5
    content/html/content/src/nsHTMLSelectElement.cpp | 15
    content/html/content/src/nsHTMLTableCellElement.cpp | 20
    content/html/content/src/nsHTMLTextAreaElement.cpp | 5
    content/html/document/src/nsHTMLDocument.cpp | 11
    content/svg/content/src/nsSVGElement.cpp | 4
    content/xbl/builtin/Makefile.in | 20
    content/xbl/builtin/gtk2/.cvsignore | 1
    content/xbl/builtin/gtk2/Makefile.in | 45 +
    content/xbl/builtin/gtk2/jar.mn | 2
    content/xbl/builtin/mac/.cvsignore | 1
    content/xbl/builtin/mac/Makefile.in | 45 +
    content/xbl/builtin/mac/jar.mn | 2
    content/xbl/builtin/unix/.cvsignore | 1
    content/xbl/builtin/unix/Makefile.in | 45 +
    content/xbl/builtin/unix/jar.mn | 2
    content/xbl/builtin/win/.cvsignore | 1
    content/xbl/builtin/win/Makefile.in | 45 +
    content/xbl/builtin/win/jar.mn | 2
    content/xbl/src/nsXBLBinding.cpp | 70 +
    content/xbl/src/nsXBLBinding.h | 2
    content/xbl/src/nsXBLPrototypeHandler.cpp | 6
    content/xbl/src/nsXBLService.cpp | 24
    content/xbl/src/nsXBLWindowHandler.cpp | 32
    content/xml/content/src/nsXMLElement.cpp | 3
    content/xml/document/src/nsXMLDocument.cpp | 7
    content/xul/content/src/nsXULElement.cpp | 210 +++--
    content/xul/document/src/nsXULCommandDispatcher.cpp | 4
    content/xul/document/src/nsXULDocument.cpp | 17
    docshell/base/nsDocShell.cpp | 29
    docshell/base/nsDocShell.h | 2
    docshell/base/nsIDocShellLoadInfo.idl | 2
    docshell/base/nsIWebNavigation.idl | 5
    dom/public/idl/events/Makefile.in | 1
    dom/public/idl/events/nsIDOMNSEventTarget.idl | 71 +
    dom/src/Makefile.in | 9
    dom/src/base/nsDOMClassInfo.cpp | 205 +++--
    dom/src/base/nsDOMClassInfo.h | 8
    dom/src/base/nsGlobalWindow.cpp | 153 ++--
    dom/src/base/nsGlobalWindow.h | 5
    dom/src/base/nsJSEnvironment.cpp | 2
    dom/src/base/nsWindowRoot.cpp | 49 +
    dom/src/base/nsWindowRoot.h | 8
    dom/src/res/hiddenWindow.html | 1
    embedding/components/windowwatcher/src/nsWindowWatcher.cpp | 62 +
    embedding/config/basebrowser-installer-win.pkg | 1
    embedding/config/basebrowser-mac-macho | 1
    embedding/config/basebrowser-qnx | 1
    embedding/config/basebrowser-unix | 1
    embedding/config/basebrowser-win | 1
    embedding/config/minimo-qnx | 1
    embedding/config/minimo-unix | 1
    extensions/xmlextras/base/src/nsXMLHttpRequest.cpp | 13
    gfx/src/gtk/nsImageGTK.cpp | 38 -
    gfx/src/windows/nsDrawingSurfaceWin.cpp | 32
    gfx/src/windows/nsImageWin.cpp | 361 +++++-----
    gfx/src/windows/nsImageWin.h | 34
    js/src/jsapi.h | 6
    js/src/jsarray.c | 7
    js/src/jsdbgapi.c | 19
    js/src/jsdbgapi.h | 9
    js/src/jsemit.c | 11
    js/src/jsexn.c | 3
    js/src/jsinterp.h | 1
    js/src/jsobj.c | 86 ++
    js/src/jsparse.c | 15
    js/src/jsregexp.c | 12
    js/src/jsscript.c | 9
    js/src/jsstr.c | 37 -
    js/src/xpconnect/loader/mozJSComponentLoader.cpp | 76 --
    js/src/xpconnect/loader/mozJSComponentLoader.h | 14
    js/src/xpconnect/src/XPCDispObject.cpp | 11
    js/src/xpconnect/src/XPCIDispatchExtension.cpp | 2
    js/src/xpconnect/src/xpccomponents.cpp | 4
    js/src/xpconnect/src/xpcjsruntime.cpp | 1
    js/src/xpconnect/src/xpcprivate.h | 8
    js/src/xpconnect/src/xpcwrappednativeinfo.cpp | 50 +
    js/src/xpconnect/src/xpcwrappednativejsops.cpp | 4
    js/src/xpconnect/src/xpcwrappednativescope.cpp | 13
    layout/build/layout.pkg | 2
    layout/html/base/src/nsGfxScrollFrame.cpp | 2
    layout/html/base/src/nsObjectFrame.cpp | 6
    layout/html/base/src/nsPresShell.cpp | 2
    layout/html/document/src/forms.css | 4
    layout/html/forms/public/nsIFormControlFrame.h | 2
    layout/html/forms/resources/content/xbl-forms.css | 4
    layout/html/forms/src/nsComboboxControlFrame.cpp | 12
    layout/html/forms/src/nsComboboxControlFrame.h | 3
    layout/html/forms/src/nsFileControlFrame.h | 2
    layout/html/forms/src/nsFormControlFrame.cpp | 7
    layout/html/forms/src/nsFormControlFrame.h | 5
    layout/html/forms/src/nsGfxButtonControlFrame.cpp | 5
    layout/html/forms/src/nsHTMLButtonControlFrame.cpp | 7
    layout/html/forms/src/nsHTMLButtonControlFrame.h | 1
    layout/html/forms/src/nsImageControlFrame.cpp | 9
    layout/html/forms/src/nsListControlFrame.cpp | 13
    layout/html/forms/src/nsListControlFrame.h | 1
    layout/html/forms/src/nsTextControlFrame.cpp | 8
    layout/html/forms/src/nsTextControlFrame.h | 1
    layout/xul/base/src/nsBoxFrame.cpp | 5
    layout/xul/base/src/nsButtonBoxFrame.cpp | 7
    layout/xul/base/src/nsButtonBoxFrame.h | 9
    layout/xul/base/src/nsImageBoxFrame.cpp | 2
    layout/xul/base/src/nsMenuFrame.cpp | 24
    layout/xul/base/src/nsPopupSetFrame.cpp | 10
    layout/xul/base/src/nsResizerFrame.cpp | 12
    layout/xul/base/src/nsResizerFrame.h | 2
    layout/xul/base/src/nsScrollBoxFrame.cpp | 36
    layout/xul/base/src/nsScrollbarButtonFrame.cpp | 12
    layout/xul/base/src/nsTitleBarFrame.cpp | 12
    layout/xul/base/src/nsTitleBarFrame.h | 2
    layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp | 4
    layout/xul/base/src/tree/src/nsTreeSelection.cpp | 2
    mailnews/base/search/src/nsMsgFilterService.cpp | 2
    mailnews/base/util/nsMsgIncomingServer.cpp | 2
    mailnews/imap/src/nsImapMailFolder.cpp | 1
    mailnews/local/src/nsParseMailbox.cpp | 8
    modules/libpr0n/decoders/bmp/nsBMPDecoder.cpp | 4
    modules/libpr0n/decoders/bmp/nsICODecoder.cpp | 64 +
    modules/libpr0n/decoders/bmp/nsICODecoder.h | 2
    modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp | 13
    modules/plugin/base/src/nsPluginsDirUnix.cpp | 75 ++
    netwerk/protocol/http/src/nsHttpHandler.cpp | 24
    rdf/chrome/src/nsChromeProtocolHandler.cpp | 3
    security/nss/cmd/addbuiltin/addbuiltin.c | 2
    security/nss/lib/asn1/Makefile | 2
    security/nss/lib/asn1/asn1.c | 2
    security/nss/lib/asn1/asn1.h | 2
    security/nss/lib/asn1/asn1m.h | 2
    security/nss/lib/asn1/asn1t.h | 2
    security/nss/lib/asn1/config.mk | 2
    security/nss/lib/asn1/manifest.mn | 2
    security/nss/lib/asn1/nssasn1t.h | 2
    security/nss/lib/base/Makefile | 2
    security/nss/lib/base/arena.c | 2
    security/nss/lib/base/base.h | 2
    security/nss/lib/base/baset.h | 2
    security/nss/lib/base/config.mk | 2
    security/nss/lib/base/error.c | 2
    security/nss/lib/base/errorval.c | 2
    security/nss/lib/base/hash.c | 2
    security/nss/lib/base/hashops.c | 2
    security/nss/lib/base/item.c | 2
    security/nss/lib/base/libc.c | 2
    security/nss/lib/base/list.c | 2
    security/nss/lib/base/manifest.mn | 2
    security/nss/lib/base/nssbase.h | 2
    security/nss/lib/base/nssbaset.h | 2
    security/nss/lib/base/tracker.c | 2
    security/nss/lib/base/utf8.c | 2
    security/nss/lib/base/whatnspr.c | 2
    security/nss/lib/ckfw/Makefile | 2
    security/nss/lib/ckfw/builtins/Makefile | 2
    security/nss/lib/ckfw/builtins/anchor.c | 2
    security/nss/lib/ckfw/builtins/bfind.c | 2
    security/nss/lib/ckfw/builtins/binst.c | 2
    security/nss/lib/ckfw/builtins/bobject.c | 2
    security/nss/lib/ckfw/builtins/bsession.c | 2
    security/nss/lib/ckfw/builtins/bslot.c | 2
    security/nss/lib/ckfw/builtins/btoken.c | 2
    security/nss/lib/ckfw/builtins/builtins.h | 2
    security/nss/lib/ckfw/builtins/certdata.c | 4
    security/nss/lib/ckfw/builtins/certdata.perl | 2
    security/nss/lib/ckfw/builtins/certdata.txt | 2
    security/nss/lib/ckfw/builtins/config.mk | 2
    security/nss/lib/ckfw/builtins/constants.c | 2
    security/nss/lib/ckfw/builtins/manifest.mn | 2
    security/nss/lib/ckfw/ck.api | 2
    security/nss/lib/ckfw/ck.h | 2
    security/nss/lib/ckfw/ckapi.perl | 2
    security/nss/lib/ckfw/ckfw.h | 2
    security/nss/lib/ckfw/ckfwm.h | 2
    security/nss/lib/ckfw/ckfwtm.h | 2
    security/nss/lib/ckfw/ckmd.h | 2
    security/nss/lib/ckfw/config.mk | 2
    security/nss/lib/ckfw/dbm/Makefile | 2
    security/nss/lib/ckfw/dbm/anchor.c | 2
    security/nss/lib/ckfw/dbm/ckdbm.h | 2
    security/nss/lib/ckfw/dbm/config.mk | 2
    security/nss/lib/ckfw/dbm/db.c | 2
    security/nss/lib/ckfw/dbm/find.c | 2
    security/nss/lib/ckfw/dbm/instance.c | 2
    security/nss/lib/ckfw/dbm/manifest.mn | 2
    security/nss/lib/ckfw/dbm/object.c | 2
    security/nss/lib/ckfw/dbm/session.c | 2
    security/nss/lib/ckfw/dbm/slot.c | 2
    security/nss/lib/ckfw/dbm/token.c | 2
    security/nss/lib/ckfw/find.c | 2
    security/nss/lib/ckfw/hash.c | 2
    security/nss/lib/ckfw/instance.c | 2
    security/nss/lib/ckfw/manifest.mn | 2
    security/nss/lib/ckfw/mechanism.c | 2
    security/nss/lib/ckfw/mutex.c | 2
    security/nss/lib/ckfw/nssck.api | 2
    security/nss/lib/ckfw/nssckfw.h | 2
    security/nss/lib/ckfw/nssckfwc.h | 2
    security/nss/lib/ckfw/nssckfwt.h | 2
    security/nss/lib/ckfw/nssckmdt.h | 2
    security/nss/lib/ckfw/object.c | 2
    security/nss/lib/ckfw/session.c | 2
    security/nss/lib/ckfw/sessobj.c | 2
    security/nss/lib/ckfw/slot.c | 2
    security/nss/lib/ckfw/token.c | 2
    security/nss/lib/ckfw/wrap.c | 2
    security/nss/lib/dev/Makefile | 2
    security/nss/lib/dev/ckhelper.c | 2
    security/nss/lib/dev/ckhelper.h | 2
    security/nss/lib/dev/config.mk | 2
    security/nss/lib/dev/dev.h | 2
    security/nss/lib/dev/devm.h | 2
    security/nss/lib/dev/devmod.c | 2
    security/nss/lib/dev/devslot.c | 2
    security/nss/lib/dev/devt.h | 2
    security/nss/lib/dev/devtm.h | 2
    security/nss/lib/dev/devtoken.c | 2
    security/nss/lib/dev/devutil.c | 2
    security/nss/lib/dev/manifest.mn | 2
    security/nss/lib/dev/nssdev.h | 2
    security/nss/lib/dev/nssdevt.h | 2
    security/nss/lib/pk11wrap/dev3hack.c | 2
    security/nss/lib/pk11wrap/dev3hack.h | 2
    security/nss/lib/pki/Makefile | 2
    security/nss/lib/pki/asymmkey.c | 2
    security/nss/lib/pki/certdecode.c | 2
    security/nss/lib/pki/certificate.c | 2
    security/nss/lib/pki/config.mk | 2
    security/nss/lib/pki/cryptocontext.c | 2
    security/nss/lib/pki/manifest.mn | 2
    security/nss/lib/pki/nsspki.h | 2
    security/nss/lib/pki/nsspkit.h | 2
    security/nss/lib/pki/pki.h | 2
    security/nss/lib/pki/pki3hack.c | 2
    security/nss/lib/pki/pki3hack.h | 2
    security/nss/lib/pki/pkibase.c | 2
    security/nss/lib/pki/pkim.h | 2
    security/nss/lib/pki/pkistore.c | 2
    security/nss/lib/pki/pkistore.h | 2
    security/nss/lib/pki/pkit.h | 2
    security/nss/lib/pki/pkitm.h | 2
    security/nss/lib/pki/symmkey.c | 2
    security/nss/lib/pki/tdcache.c | 2
    security/nss/lib/pki/trustdomain.c | 2
    security/nss/lib/pki1/Makefile | 2
    security/nss/lib/pki1/atav.c | 2
    security/nss/lib/pki1/config.mk | 2
    security/nss/lib/pki1/genname.c | 2
    security/nss/lib/pki1/gnseq.c | 2
    security/nss/lib/pki1/manifest.mn | 2
    security/nss/lib/pki1/name.c | 2
    security/nss/lib/pki1/nsspki1.h | 2
    security/nss/lib/pki1/nsspki1t.h | 2
    security/nss/lib/pki1/oid.c | 2
    security/nss/lib/pki1/oiddata.c | 2
    security/nss/lib/pki1/oiddata.h | 2
    security/nss/lib/pki1/oidgen.perl | 2
    security/nss/lib/pki1/oids.txt | 2
    security/nss/lib/pki1/pki1.h | 2
    security/nss/lib/pki1/pki1t.h | 2
    security/nss/lib/pki1/rdn.c | 2
    security/nss/lib/pki1/rdnseq.c | 2
    security/nss/lib/softoken/pkcs11n.h | 2
    security/nss/lib/util/utf8.c | 2
    security/nss/tests/pkcs11/netscape/trivial/Makefile.in | 2
    security/nss/tests/pkcs11/netscape/trivial/configure.in | 2
    security/nss/tests/pkcs11/netscape/trivial/trivial.c | 2
    toolkit/components/autocomplete/src/nsAutoCompleteController.cpp | 19
    toolkit/components/help/content/help.js | 21
    toolkit/components/satchel/src/nsFormFillController.cpp | 10
    toolkit/mozapps/downloads/src/nsHelperAppDlg.js.in | 4
    toolkit/mozapps/installer/windows/wizard/setup/dialogs.c | 2
    toolkit/mozapps/installer/windows/wizard/setup/extra.c | 2
    toolkit/mozapps/update/content/update.xul | 2
    toolkit/xre/nsAppRunner.cpp | 2
    view/public/nsIViewObserver.h | 2
    view/src/nsViewManager.cpp | 5
    webshell/public/nsILinkHandler.h | 2
    widget/public/nsEvent.h | 36
    widget/public/nsGUIEvent.h | 284 ++++---
    widget/public/nsIEventListener.h | 2
    widget/public/nsIWidget.h | 2
    widget/src/beos/nsWindow.cpp | 14
    widget/src/cocoa/nsChildView.mm | 51 -
    widget/src/cocoa/nsCocoaWindow.mm | 6
    widget/src/cocoa/nsMenuBarX.cpp | 4
    widget/src/cocoa/nsMenuItemX.cpp | 2
    widget/src/cocoa/nsMenuX.cpp | 12
    widget/src/gtk/nsGtkEventHandler.cpp | 14
    widget/src/gtk/nsWidget.cpp | 28
    widget/src/gtk/nsWindow.cpp | 38 -
    widget/src/gtk2/nsCommonWidget.cpp | 12
    widget/src/gtk2/nsWindow.cpp | 50 -
    widget/src/mac/nsMacControl.cpp | 2
    widget/src/mac/nsMacEventHandler.cpp | 48 -
    widget/src/mac/nsMacWindow.cpp | 2
    widget/src/mac/nsMenuBarX.cpp | 4
    widget/src/mac/nsMenuX.cpp | 10
    widget/src/mac/nsWindow.cpp | 8
    widget/src/os2/nsFrameWindow.cpp | 4
    widget/src/os2/nsWindow.cpp | 33
    widget/src/photon/nsWidget.cpp | 30
    widget/src/photon/nsWidget.h | 2
    widget/src/photon/nsWindow.cpp | 6
    widget/src/windows/nsFilePicker.cpp | 14
    widget/src/windows/nsNativeDragTarget.cpp | 2
    widget/src/windows/nsWindow.cpp | 46 -
    widget/src/xlib/nsAppShell.cpp | 34
    widget/src/xlib/nsWidget.cpp | 2
    widget/src/xlib/nsWindow.cpp | 10
    xpcom/obsolete/nsFileSpec.cpp | 51 -
    xpcom/obsolete/nsFileSpec.h | 7
    xpcom/obsolete/nsFileSpecImpl.cpp | 16
    xpcom/obsolete/nsIFileSpec.idl | 5
    xpfe/appshell/src/nsAppShellService.cpp | 5
    xpfe/appshell/src/nsWebShellWindow.cpp | 4
    xpfe/appshell/src/nsXULWindow.cpp | 5
    xpfe/communicator/resources/content/contentAreaClick.js | 6
    xpfe/communicator/resources/content/contentAreaUtils.js | 21
    xpfe/communicator/resources/content/nsContextMenu.js | 61 -
    xpinstall/packager/packages-os2 | 1
    xpinstall/packager/packages-static-unix | 2
    xpinstall/packager/packages-unix | 1
    xpinstall/src/nsJSFile.cpp | 6
    xpinstall/src/nsJSFileSpecObj.cpp | 6
    xpinstall/src/nsJSInstall.cpp | 90 --
    xpinstall/src/nsJSInstallTriggerGlobal.cpp | 23
    xpinstall/src/nsJSInstallVersion.cpp | 12
    xpinstall/src/nsJSWinProfile.cpp | 6
    xpinstall/src/nsJSWinReg.cpp | 6
    xpinstall/src/nsXPITriggerInfo.cpp | 28
    xpinstall/src/nsXPITriggerInfo.h | 8
    373 files changed, 3284 insertions(+), 1959 deletions(-)


    Comparativement, pour Linux, un fix de sécu, c'est ça :
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6(...)
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6(...)

    Bref...

    Quant au fait de backporter, Debian n'a jamais eu de problème à backporter un fix pour le noyau. Après, les mainteneurs de Firefox sont p'tet des buses.