AUS:Manual
Overview
The Application Update Service (AUS) refers to the part of Software Update that tells clients:
- if they have an update
- information about that update if it exists
In general, the transaction looks like:
- Software Update checks app.update.url, passing information about itself
- AUS responds with a properly formed XML document
- Software Update processes that XML document and performs the appropriate task
Client Settings
Every client passes information to AUS through query string variables. This section breaks down each of these variables and explains its relation to the update service.
As an example, see the app.update.url value taken from Firefox 2.0.0.1 (split up to be readable):
https://aus2.mozilla.org/update /2 /%PRODUCT% /%VERSION% /%BUILD_ID% /%BUILD_TARGET% /%LOCALE% /%CHANNEL% /%OS_VERSION% /update.xml
Incoming URIs
A request from an actual Firefox 2.0.0.1 client on an Intel Mac would look like this:
https://aus2.mozilla.org/update /2 /Firefox /2.0.0.2pre /2007012207 /Darwin_Universal-gcc3 /en-US /nightly /Darwin%208.8.1 /update.xml
This URI is processed by Apache, which rewrites it to a PHP script that is responsible for finding update information based on passed client information. It then proceeds down the workflow illustrated above.
Update Version
/2
Update version was created during the infancy of AUS 2 in order to allow for inevitable changes in:
- the order or format of app.update.url pref
- future additional client information that may need to be processed
- other changes to the point-of-entry for Software Update
Initially, as one might expect, this was 0. 0 was never used in production. For reference, 0 URL looked like:
https://aus2.mozilla.org/update /0 /%PRODUCT% /%VERSION% /%BUILD_ID% /%BUILD_TARGET% /%LOCALE% /update.xml
1 was used in production up until Firefox 2.0. Here is an example:
https://aus2.mozilla.org/update /1 /%PRODUCT% /%VERSION% /%BUILD_ID% /%BUILD_TARGET% /%LOCALE% /%CHANNEL% /update.xml
2 is in use for Firefox 2.0 and above until another iteration is required. Here is an example:
https://aus2.mozilla.org/update /2 /%PRODUCT% /%VERSION% /%BUILD_ID% /%BUILD_TARGET% /%LOCALE% /%CHANNEL% /%OS_VERSION% /update.xml