User:NThomas:Mar Generation: Difference between revisions
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 == |
Revision as of 23:59, 19 June 2014
The aim of this page is to document changes in format of the mar container, and the files within it.
MAR container
Relevant directories: modules/libmar
Software_Update:MAR is the main documentation for the MAR format. To date the only major revision 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
- 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.
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 for Firefox 30.0, in preparation for verifying mar files on all platforms bug 973933.