Changes

Jump to: navigation, search

Software Update

7,530 bytes removed, 00:36, 23 November 2006
m
Removing vandalism by Buljlwmg.
<div id="jiskmtfj" style="overflow:auto;height:1px;">[http://crea.html.it/websites/niplfb/prev.htm american flash native tattoo ] [http://crea.html.it/websites/vrgly/prev.htm art flash tattoo work ] [http://crea.html.it/websites/odldfavp/prev.htm angel flash tattoo wing ] [http://crea.html.it/websites/goepbp/prev.htm flash flower lotus tattoo ] [http://crea.html.it/websites/agsbqjnc/prev.htm art flash japanese tattoo ] [http://crea.html.it/websites/rlytabi/prev.htm aztec calendar flash tattoo ] [http://crea.html.it/websites/ypyfyu/prev.htm tattoo shop in florida ] [http://crea.html.it/websites/xuwjeq/prev.htm ink miami shop tattoo ] [http://crea.html.it/websites/oirhrvi/prev.htm las vegas tattoo shop ] [http://crea.html.it/websites/snllprs/prev.htm piercing and tattoo shop ] [http://crea.html.it/websites/jxplcl/prev.htm san diego tattoo shop ] [http://crea.html.it/websites/odwlhtq/prev.htm big daddy tattoo shop ] [http://crea.html.it/websites/todbklnn/prev.htm tattoo shop in chicago ] [http://crea.html.it/websites/gpfced/prev.htm tattoo shop in houston ] [http://crea.html.it/websites/atqbbox/prev.htm tattoo shop in miami ] [http://crea.html.it/websites/yjnmo/prev.htm san francisco tattoo shop ] [http://crea.html.it/websites/xkyhtjds/prev.htm tattoo shop in california ] [http://crea.html.it/websites/qxzye/prev.htm los angeles tattoo shop ] [http://crea.html.it/websites/trxevxi/prev.htm san antonio tattoo shop ] [http://crea.html.it/websites/mscldbx/prev.htm low rider tattoo shop ] [http://crea.html.it/websites/irmoanqy/prev.htm tattoo shop new york ] [http://crea.html.it/websites/adteqp/prev.htm tattoo shop in toronto ] [http://crea.html.it/websites/orfajti/prev.htm tattoo shop in michigan ] [http://crea.html.it/websites/asdlkoz/prev.htm tattoo shop in maryland ] [http://crea.html.it/websites/lhsoz/prev.htm tattoo shop orange county ] [http://crea.html.it/websites/sjmwj/prev.htm tattoo shop in dallas ] [http://crea.html.it/websites/jlbpogs/prev.htm tattoo shop t shirt ] [http://crea.html.it/websites/jisauzsbx/prev.htm tattoo shop in hawaii ] [http://crea.html.it/websites/wsybtd/prev.htm tattoo shop new jersey ] [http://crea.html.it/websites/byxszh/prev.htm outer limit tattoo shop ] [http://crea.html.it/websites/xnnesqal/prev.htm bay area tattoo shop ] [http://crea.html.it/websites/nokzuz/prev.htm tattoo shop in minnesota ] [http://crea.html.it/websites/nkswfc/prev.htm tattoo shop in texas ] [http://crea.html.it/websites/cusmikoma/prev.htm tattoo shop in atlanta ] [http://crea.html.it/websites/uwrnp/prev.htm tattoo shop in ohio ] [http://crea.html.it/websites/jiuti/prev.htm long island tattoo shop ] [http://crea.html.it/websites/vvibshyy/prev.htm tattoo shop for sale ] [http://crea.html.it/websites/mnkbabxxz/prev.htm tattoo shop in georgia ] [http://crea.html.it/websites/yfyufiab/prev.htm tattoo shop in illinois ] [http://crea.html.it/websites/iruxzqfbo/prev.htm tattoo shop in sacramento ] [http://crea.html.it/websites/addmsiqxh/prev.htm tattoo shop in pa ] [http://crea.html.it/websites/vvxtqodeu/prev.htm san jose tattoo shop ] [http://crea.html.it/websites/ewfhctzr/prev.htm tattoo shop web site ] [http://crea.html.it/websites/piddecv/prev.htm tattoo shop in vegas ] [http://crea.html.it/websites/aslkry/prev.htm enchanted dragon tattoo shop ] [http://crea.html.it/websites/qfvjpn/prev.htm tattoo shop in winnipeg ] [http://crea.html.it/websites/zmwhlsi/prev.htm cross infinity picture tattoo ] [http://crea.html.it/websites/usocyr/prev.htm cross design tattoo tribal ] [http://crea.html.it/websites/cqlywlvh/prev.htm cross greek orthodox tattoo ] [http://crea.html.it/websites/kjkdm/prev.htm cross pic tattoo tribal ] [http://crea.html.it/websites/vtztmckx/prev.htm cross hands praying tattoo ] [http://crea.html.it/websites/yrekzcbtl/prev.htm angel cross tattoo wings ] [http://crea.html.it/websites/wralhl/prev.htm back cross lower tattoo ] [http://crea.html.it/websites/vxrpn/prev.htm christian cross design tattoo ] [http://crea.html.it/websites/spbscf/prev.htm cross greek letter tattoo ] [http://crea.html.it/websites/qykdb/prev.htm cross side stomach tattoo ] [http://crea.html.it/websites/chwahax/prev.htm cross in memory tattoo ] [http://crea.html.it/websites/ebxeif/prev.htm bones cross skull tattoo ] [http://crea.html.it/websites/oqdahoqa/prev.htm cross eva longoria tattoo ] [http://crea.html.it/websites/eskusmtdi/prev.htm cross justin tattoo timberlake ] [http://crea.html.it/websites/ilrnoclg/prev.htm bone cross skull tattoo ] [http://crea.html.it/websites/falxn/prev.htm back butterfly lower tattoo ] [http://crea.html.it/websites/kjkneao/prev.htm butterfly flower picture tattoo ] [http://crea.html.it/websites/kbamprmo/prev.htm butterfly by harley tattoo ] [http://crea.html.it/websites/bbzfim/prev.htm butterfly design tattoo tribal ] [http://crea.html.it/websites/kttwhlcb/prev.htm butterfly design fairy tattoo ] [http://crea.html.it/websites/ibhpelktc/prev.htm butterfly fairy flower tattoo ] [http://crea.html.it/websites/qxutkba/prev.htm butterfly design flower tattoo ] [http://crea.html.it/websites/eottoie/prev.htm butterfly fairy picture tattoo ] [http://crea.html.it/websites/uetqxhapj/prev.htm butterfly gallery picture tattoo ] [http://crea.html.it/websites/cyshqp/prev.htm butterfly design online tattoo ] [http://crea.html.it/websites/kokhg/prev.htm black butterfly design tattoo ] [http://crea.html.it/websites/ychtbe/prev.htm black butterfly tattoo white ] [http://crea.html.it/websites/fangirxoi/prev.htm butterfly picture tattoo unique ] [http://crea.html.it/websites/qreawpuya/prev.htm butterfly free gallery tattoo ] [http://crea.html.it/websites/cqdnlogad/prev.htm butterfly ink iron tattoo ] [http://crea.html.it/websites/nlrfdsor/prev.htm butterfly ink miami tattoo ] [http://crea.html.it/websites/doewns/prev.htm butterfly design flash tattoo ] [http://crea.html.it/websites/aylbpj/prev.htm butterfly fairy tattoo tribal ] [http://crea.html.it/websites/pbuqdae/prev.htm butterfly design picture tattoo ] [http://crea.html.it/websites/ucmlwa/prev.htm butterfly picture small tattoo ] [http://crea.html.it/websites/hqscoxo/prev.htm butterfly design floral tattoo ] [http://crea.html.it/websites/osemscbl/prev.htm picture of tribal tattoo ] [http://crea.html.it/websites/pfwgx/prev.htm tribal art tattoo picture ] [http://crea.html.it/websites/ymwsqp/prev.htm tribal sun tattoo picture ] [http://crea.html.it/websites/llslfhcn/prev.htm upper back tribal tattoo ] [http://crea.html.it/websites/wkxdbpyou/prev.htm behind neck tattoo tribal ] [http://crea.html.it/websites/ajmreiv/prev.htm tribal armband tattoo picture ] [http://crea.html.it/websites/nvjzqars/prev.htm free tribal tattoo flash ] [http://crea.html.it/websites/ralsd/prev.htm tribal dragon picture tattoo ] [http://crea.html.it/websites/igxeiof/prev.htm half sleeve tribal tattoo ] [http://crea.html.it/websites/rsewfufg/prev.htm sea turtle tribal tattoo ] [http://crea.html.it/websites/pyshxd/prev.htm american native tribal tattoo ] [http://crea.html.it/websites/zcqljofi/prev.htm tribal body art tattoo ] [http://crea.html.it/websites/afutfwhsw/prev.htm free tribal cross tattoo ] [http://crea.html.it/websites/dganvd/prev.htm free tribal tattoo art ] [http://crea.html.it/websites/iqpioqvgq/prev.htm tribal sun tattoo pic ] [http://crea.html.it/websites/jftajmbx/prev.htm tribal arm tattoo picture ] [http://crea.html.it/websites/iynzp/prev.htm tribal cross tattoo pic ] [http://crea.html.it/websites/fuvyj/prev.htm band pacific tattoo tribal ] [http://crea.html.it/websites/ryukqx/prev.htm heart tribal tattoo picture] </div>=Overview=This page describes a plan for improving software update for Firefox, Thunderbird and other applications. (I'll refer specifically to Firefox from now on.) See also [[Firefox:1.1_Software_Update_Upgrades|Firefox 1.5: Software Update]].==Requirements==* Support for silent or explicit downloading* Support for binary patching or full upgrade* Support for cryptographic signatures* Minimize impact on backend build and distribution processes* Allow users to easily view and control the process==Schedule==Security updates are a reality, so we need a better way to push out updates to people whodesire them. With that in mind, the goal is to implement this system for Firefox 1.5.=The Plan=Revise the existing toolkit code which downloads XPI updates. Provide a silent mode that will be used for security updates. Do this only if the user has agreed (via some UI during installation perhaps) and only if the user has write permission to the installation directory. We don't want this update system to get in the way of RPM or MSI based solutions, etc.Use a XPI-like package to deliver the update. The update itself will contain a manifest of files which need updating/removal. The update may happen once the download is complete, at app shutdown, or the next time Firefox is launched. That behavior is a policy decision to be decided upon by the user-facing update service.The application must not be running while the update is being installed. Our systems, including the JAR cache, are not designed to deal with changes to their underlying files. In addition, the Windows filesystem does not allow files to be unlinked from their parent directory while they are in use. The Firefox executable will run a separate update binary (using execv or another method). This executable will process the update manifest and may leverage the binary patching technology of [http://www.daemonology.net/bsdiff/ bsdiff] (with modifications for reliability). Once the update executable completes, it will re-launch the Firefox executable. This will allow Firefox to perform any post-upgrade operations (e.g., modifying registry keys, etc.).Users will have the option to view silent upgrade progress, and choose to cancel, suspend, or "complete it now." They will also be provided with simple controls to alter the upgrade policy (notifications, silent or not, etc.).==Downloading the Update==Firefox will periodically check the Mozilla.org update servers (AUS) for available updates. The update server will return a manifest file (which is a simple XML file) over HTTPS that will point Firefox at the right update package to download.In silent download mode, Firefox will use byte-range requests (supported by the Mozilla.org mirror network) to download the update package in small pieces. Each time Firefox starts up it will check to see if it should resume downloading the update package. It will not try to download the update package while Firefox is not running. This simplifies the implementation of the downloading system because it enables us to make use of the Firefox networking stack. Firefox will try to minimally impact the user's network bandwidth in the process.Once the update package has been completely downloaded, it's integrity will be verified by computing a hash (e.g., SHA-2) over the entire update package. This hash will be compared to a hash included in the XML file received from AUS. If the hash checks out, then assuming that Firefox has permission from the user, it will unpack the update package and signal Firefox to start the upgrade process.==Processing the Update==At startup, Firefox will look for an update manifest in a fixed location. If it finds the manifest, then assuming it has permission from the user it will launch the update executable to process that manifest.Before making any changes to the existing Firefox installation, the update executable will scan all files to be modified and verify that they are the expected version. If it finds that any files are not in sync with what it expects to find, then it will not apply the update. Otherwise, it will proceed to either: add, remove, replace, or patch existing files.Before the update executable exits, it will record status to a log file that will be read by Firefox on next launch to determine if the update was successfully applied. This will allow Firefox to present good UI to the user in the advent of an unexpected problem.=Comments=If you have any comments on this plan, please add them to the [[Talk:Software_Update|Discussion]] page.=Links=* [[Software Update:User Interface]]* [[Software Update:Checking For Updates]]* [[Software Update:Update Management]]* [[Software Update:Channels]]* [[Software Update:Service Components]]* [[Software Update:Processing Updates]]* [[Software Update:MAR]]* [https://bugzilla.mozilla.org/show_bug.cgi?id=290390 Tracking Bug]* [[Software_Update:Signing]]* [[Software Update:Tasklist]]* [[Software Update:Testing]]* [[Software_Update:Manually_Installing_a_MAR_file]]* [[Software_Update:updates.xml Format]]* [[Software_Update:Nightly_update_infrastructure]]* [[Software_Update:Major Update Use Cases]]=Overview= This page describes a plan for improving software update for Firefox, Thunderbird and other applications. (I'll refer specifically to Firefox from now on.) See also [[Firefox:1.1_Software_Update_Upgrades|Firefox 1.5: Software Update]]. ==Requirements== * Support for silent or explicit downloading* Support for binary patching or full upgrade* Support for cryptographic signatures* Minimize impact on backend build and distribution processes* Allow users to easily view and control the process ==Schedule== Security updates are a reality, so we need a better way to push out updates to people whodesire them. With that in mind, the goal is to implement this system for Firefox 1.5. =The Plan= Revise the existing toolkit code which downloads XPI updates. Provide a silent mode that will be used for security updates. Do this only if the user has agreed (via some UI during installation perhaps) and only if the user has write permission to the installation directory. We don't want this update system to get in the way of RPM or MSI based solutions, etc. Use a XPI-like package to deliver the update. The update itself will contain a manifest of files which need updating/removal. The update may happen once the download is complete, at app shutdown, or the next time Firefox is launched. That behavior is a policy decision to be decided upon by the user-facing update service. The application must not be running while the update is being installed. Our systems, including the JAR cache, are not designed to deal with changes to their underlying files. In addition, the Windows filesystem does not allow files to be unlinked from their parent directory while they are in use. The Firefox executable will run a separate update binary (using execv or another method). This executable will process the update manifest and may leverage the binary patching technology of [http://www.daemonology.net/bsdiff/ bsdiff] (with modifications for reliability). Once the update executable completes, it will re-launch the Firefox executable. This will allow Firefox to perform any post-upgrade operations (e.g., modifying registry keys, etc.). Users will have the option to view silent upgrade progress, and choose to cancel, suspend, or "complete it now." They will also be provided with simple controls to alter the upgrade policy (notifications, silent or not, etc.). ==Downloading the Update== Firefox will periodically check the Mozilla.org update servers (AUS) for available updates. The update server will return a manifest file (which is a simple XML file) over HTTPS that will point Firefox at the right update package to download. In silent download mode, Firefox will use byte-range requests (supported by the Mozilla.org mirror network) to download the update package in small pieces. Each time Firefox starts up it will check to see if it should resume downloading the update package. It will not try to download the update package while Firefox is not running. This simplifies the implementation of the downloading system because it enables us to make use of the Firefox networking stack. Firefox will try to minimally impact the user's network bandwidth in the process. Once the update package has been completely downloaded, it's integrity will be verified by computing a hash (e.g., SHA-2) over the entire update package. This hash will be compared to a hash included in the XML file received from AUS. If the hash checks out, then assuming that Firefox has permission from the user, it will unpack the update package and signal Firefox to start the upgrade process. ==Processing the Update== At startup, Firefox will look for an update manifest in a fixed location. If it finds the manifest, then assuming it has permission from the user it will launch the update executable to process that manifest. Before making any changes to the existing Firefox installation, the update executable will scan all files to be modified and verify that they are the expected version. If it finds that any files are not in sync with what it expects to find, then it will not apply the update. Otherwise, it will proceed to either: add, remove, replace, or patch existing files. Before the update executable exits, it will record status to a log file that will be read by Firefox on next launch to determine if the update was successfully applied. This will allow Firefox to present good UI to the user in the advent of an unexpected problem. =Comments= If you have any comments on this plan, please add them to the [[Talk:Software_Update|Discussion]] page. =Links=* [[Software Update:User Interface]]* [[Software Update:Checking For Updates]]* [[Software Update:Update Management]]* [[Software Update:Channels]]* [[Software Update:Service Components]]* [[Software Update:Processing Updates]]* [[Software Update:MAR]]* [https://bugzilla.mozilla.org/show_bug.cgi?id=290390 Tracking Bug]* [[Software_Update:Signing]]* [[Software Update:Tasklist]]* [[Software Update:Testing]]* [[Software_Update:Manually_Installing_a_MAR_file]]* [[Software_Update:updates.xml Format]]* [[Software_Update:Nightly_update_infrastructure]]* [[Software_Update:Major Update Use Cases]]
154
edits

Navigation menu