2.9 Uncompressed OAB Version 4 Full Details File
The Full Details file contains the entire OAB, including all Address Book objects, the list of properties that can be found in the address book, and information about the address book itself, including its name, a unique identity identifier, a version number, and a hash value.
Apart from the OAB header, the uncompressed Full Details file consists of the following three sections:
OAB metadata record
OAB header record
One or more Address Book object records. Each Address Book object record starts with a little-endian 32 bit value that specifies the size of the record in bytes, including the record size field itself.
The OAB metadata record describes the schema of the OAB header record and Address Book object records. It starts with a record size value, then two schema tables: one for the OAB header record, and one for the Address Book object records. The server stores the tables sequentially after each other. The schema tables contain a 32-bit little-endian record count followed by the specified number of 32-bit property tag and 32-bit flag value pairs. The flag value tells the client which properties to index to match the behavior of a client working online.
The first property in the OAB header record and Address Book object records is the record size value, followed by a presence bit array, and then the property values. The property values appear in the order provided in the property table in the metadata record. The presence bit array indicates whether the property exists in the OAB header record or Address Book object records.
The OAB header record contains information about the address list itself, including the Unicode OAB name, the ASCIIX500 DN of the OAB, an integer sequence number, and the OAB GUID formatted as an ASCII string.
Address Book object records contain at minimum an ASCII SMTP address, an ASCII DN (3), a Unicode display name, an integer display type, and an integer object type. The number of Address Book object records matches the record count contained in the file header.
The Address Book object data in the Full Details file is not sorted in a predetermined manner, thus it is up to the client to decompress and index the file to enable fast retrieval and searches.
The following ABNF definition shows the format of an uncompressed OAB version 4 Details file.
v4-details-file = OAB_HDR OAB_META_DATA header-record 1*address-book-object-record header-record = OAB_V4_REC address-book-object-record = OAB_V4_REC