2.1 Data Spaces

The data spaces structure consists of a set of interrelated storages and streams (1) in an OLE compound file as specified in [MS-CFB].

Software components that interact with data spaces MUST check the DataSpaceVersionInfo structure (section 2.1.5) contained in the \0x06DataSpaces\Version stream (1) for the version numbers and respect the following rules.

Data space readers:

  • Data space readers MUST read the protected content when the reader version is less than or equal to the highest data spaces structure version understood by the software component.

  • Readers MUST NOT read the protected content when the reader version is greater than the highest data spaces structure version understood by the software component.

Data space updaters:

  • Data space updaters MUST preserve the format of the protected content when the updater version is less than or equal to the highest data spaces structure version understood by the software component.

  • Updaters MUST NOT change the protected content when the updater version is greater than the highest data spaces structure version understood by the software component.

Data space writers:

  • Data space writers MUST set the writer version to "1.0".

  • Writers MUST set the updater version to "1.0".

  • Writers MUST set the reader version to "1.0".