Confirmed users
4,293
edits
Line 2: | Line 2: | ||
= MAR container = | = MAR container = | ||
[ | Relevant directories: [http://hg.mozilla.org/mozilla-central/file/default/modules/libmar modules/libmar] | ||
[[Software_Update:MAR]] is the main documentation for the MAR format. To date the only major revision is ... | |||
To secure the update process a digital signature is | == Signing (from Firefox 12.0) == | ||
{{Bug|481815}} added a maintenance service on Windows, which can install updates without user intervention (no password or UAC prompts). It landed in mozilla-central during the Firefox 12.0 cycle (see comment 481), and rode the trains to release. Initially it was for administrator accounts, but {{bug|711475}} extended it to limited users accounts in Firefox 26.0. | |||
To secure the update process a digital signature is included in the mar file, as well as a production information block. The latter labels the mar with a | |||
* ProductVersion - the application of the bits contained by mar file | * ProductVersion - the application of the bits contained by mar file | ||
* ChannelID - the combination of the product name and code branch, eg firefox-mozilla-central, firefox-mozilla-beta. | * ChannelID - the combination of the product name and code branch, eg firefox-mozilla-central, firefox-mozilla-beta. | ||
These are set when the mar utility creates a mar file. Default values are set at ''compile time'', but can be overridden by -V and -H arguments when mar is called. A signature can be added to an existing mar using the signmar utility; Release Engineering set up automated signing in {{bug|509158}}. | These are set when the mar utility creates a mar file. Default values are set at ''compile time'', but can be overridden by -V and -H arguments when mar is called. A signature can be added to an existing mar using the signmar utility; Release Engineering set up automated signing in {{bug|509158}}. | ||
When it's time to apply | When it's time to apply an update, the updater checks the signature of the mar file using a builtin certificate, and uses the product information block to ensure that the version doesn't decrease, and that ChannelID is allowed in <install_dir>/update-settings.ini. More information about the process flow is available at [[Windows_Service_Silent_Update]]. | ||
Signing of all platforms started with {{bug|974570}} | Signing of all platforms started with {{bug|974570}} for Firefox 30.0, in preparation for verifying mar files on all platforms {{bug|973933}}. | ||
= MAR contents = | = MAR contents = | ||
== Update manifest == | == Update manifest == |