Software Update:MAR

Revision as of 23:16, 2 June 2005 by Darin (talk | contribs) (Mozilla ARchive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Mozilla ARchive

This document describes the Mozilla ARchive (MAR) format used by the update system to deliver update packages. It is basically a series of files with an index tacked on to the end.

Details

The file structure in a nut-shell is a header (HEADER), followed by a list of variable length files, and finally ending with an index of the files (INDEX). The index is a list of variable length entries (INDEX_ENTRY).

HEADER

 4 bytes : "MAR1"
 4 bytes : offset-to-index (big endian)

INDEX

 4 bytes : size-of-index (big endian)

INDEX_ENTRY

 4 bytes : offset (big endian)
 4 bytes : length (big endian)
 N bytes : name (byte array)
 1 byte  : null terminator
 

Why not use ZIP or some other standard file format?

There is no single overriding reason for this decision.