- #Mozilla firefox patch update#
- #Mozilla firefox patch upgrade#
- #Mozilla firefox patch full#
- #Mozilla firefox patch software#
Otherwise, it will proceed to either: add, remove, replace, or patch existing files.īefore 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. If it finds that any files are not in sync with what it expects to find, then it will not apply the update. If it finds the manifest, then assuming it has permission from the user it will launch the update executable to process that manifest.īefore 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.
#Mozilla firefox patch upgrade#
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.Īt startup, Firefox will look for an update manifest in a fixed location. This hash will be compared to a hash included in the XML file received from AUS. Once the update package has been completely downloaded, its integrity will be verified by computing a hash (e.g., SHA-2) over the entire update package. Firefox will try to minimally impact the user's network bandwidth in the process. This simplifies the implementation of the downloading system because it enables us to make use of the Firefox networking stack. It will not try to download the update package while Firefox is not running. Each time Firefox starts up it will check to see if it should resume downloading the update package. In silent download mode, Firefox will use byte-range requests (supported by the mirror network) to download the update package in small pieces.
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. 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.).įirefox will periodically check the update servers (AUS) for available updates. This will allow Firefox to perform any post-upgrade operations (e.g., modifying registry keys, etc.). Once the update executable completes, it will re-launch the Firefox executable. This executable will process the update manifest and may leverage the binary patching technology of bsdiff (with modifications for reliability). The Firefox executable will run a separate update binary (using execv or another method). In addition, the Windows filesystem does not allow files to be unlinked from their parent directory while they are in use. Our systems, including the JAR cache, are not designed to deal with changes to their underlying files. The application must not be running while the update is being installed. That behavior is a policy decision to be decided upon by the user-facing update service. The update may happen once the download is complete, at app shutdown, or the next time Firefox is launched. The update itself will contain a manifest of files which need updating/removal. Use a XPI-like package to deliver the update. We don't want this update system to get in the way of RPM or MSI based solutions, etc. 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. Provide a silent mode that will be used for security updates. Revise the existing toolkit code which downloads XPI updates. With that in mind, the goal is to implement this system for Firefox 1.5.
Security updates are a reality, so we need a better way to push out updates to people whoĭesire them. Allow users to easily view and control the process.Minimize impact on backend build and distribution processes.
#Mozilla firefox patch full#
Support for binary patching or full upgrade.Support for silent or explicit downloading.
#Mozilla firefox patch software#
(I'll refer specifically to Firefox from now on.) See also Firefox 1.5: Software Update. This page describes a plan for improving software update for Firefox, Thunderbird and other applications.