checksums.txt (xorriso-1.5.2) | : | checksums.txt (xorriso-1.5.4) | ||
---|---|---|---|---|
skipping to change at line 78 | skipping to change at line 78 | |||
Tag_id pos=# range_start=# range_size=# [session_start|next=#] md5=# self=#\n | Tag_id pos=# range_start=# range_size=# [session_start|next=#] md5=# self=#\n | |||
Tag_id distinguishes the following tag types | Tag_id distinguishes the following tag types | |||
"libisofs_rlsb32_checksum_tag_v1" Relocated 64 kB superblock tag | "libisofs_rlsb32_checksum_tag_v1" Relocated 64 kB superblock tag | |||
"libisofs_sb_checksum_tag_v1" Superblock tag | "libisofs_sb_checksum_tag_v1" Superblock tag | |||
"libisofs_tree_checksum_tag_v1" Directory tree tag | "libisofs_tree_checksum_tag_v1" Directory tree tag | |||
"libisofs_checksum_tag_v1" Session tag | "libisofs_checksum_tag_v1" Session tag | |||
A relocated superblock may appear at LBA 0 of an image which was produced for | A relocated superblock may appear at LBA 0 of an image which was produced for | |||
being stored in a disk file or on overwriteable media (e.g. DVD+RW, BD-RE). | being stored in a disk file or on overwritable media (e.g. DVD+RW, BD-RE). | |||
Typically there is a first session recorded with a superblock at LBA 32 and | Typically there is a first session recorded with a superblock at LBA 32 and | |||
the next session may follow shortly after its session tag. (Typically at the | the next session may follow shortly after its session tag. (Typically at the | |||
next block address which is divisible by 32.) Normally no session starts after | next block address which is divisible by 32.) Normally no session starts after | |||
the address given by parameter session_start=. | the address given by parameter session_start=. | |||
Session oriented media like CD-R[W], DVD+R, BD-R will have no relocated | Session oriented media like CD-R[W], DVD+R, BD-R will have no relocated | |||
superblock but rather bear a table-of-content on media level (to be inquired | superblock but rather bear a table-of-content on media level (to be inquired | |||
by MMC commands). | by MMC commands). | |||
Example: | Example: | |||
skipping to change at line 128 | skipping to change at line 128 | |||
pos= | pos= | |||
gives the block address where the tag supposes itself to be stored. | gives the block address where the tag supposes itself to be stored. | |||
If this does not match the block address where the tag is found then this | If this does not match the block address where the tag is found then this | |||
either indicates that the tag is payload of the image or that the image has | either indicates that the tag is payload of the image or that the image has | |||
been relocated. (The latter makes the image unusable.) | been relocated. (The latter makes the image unusable.) | |||
range_start= | range_start= | |||
The block address where the session is supposed to start. If this does not | The block address where the session is supposed to start. If this does not | |||
match the session start on media then the volume descriptors of the | match the session start on media then the volume descriptors of the | |||
image have been relocated. (This can happen with overwriteable media. If | image have been relocated. (This can happen with overwritable media. If | |||
checksumming started at LBA 0 and finds range_start=32, then one has to | checksumming started at LBA 0 and finds range_start=32, then one has to | |||
restart checksumming at LBA 32. See libburn/doc/cookbook.txt | restart checksumming at LBA 32. See libburn/doc/cookbook.txt | |||
"ISO 9660 multi-session emulation on overwriteable media" for background | "ISO 9660 multi-session emulation on overwritable media" for background | |||
information.) | information.) | |||
range_size= | range_size= | |||
The number of blocks beginning at range_start which are covered by the | The number of blocks beginning at range_start which are covered by the | |||
checksum of the tag. | checksum of the tag. | |||
Only with superblock tag and tree tag: | Only with superblock tag and tree tag: | |||
next= | next= | |||
The block address where the next tag is supposed to be found. This is | The block address where the next tag is supposed to be found. This is | |||
to avoid the small possibility that a checksum tag with matching position | to avoid the small possibility that a checksum tag with matching position | |||
skipping to change at line 227 | skipping to change at line 227 | |||
and range_size match the state of block reading, and whether the returned | and range_size match the state of block reading, and whether the returned | |||
bytes in parameter md5 match the MD5 computed from the data blocks which were | bytes in parameter md5 match the MD5 computed from the data blocks which were | |||
read before the tag block. | read before the tag block. | |||
Checking All Sessions | Checking All Sessions | |||
If the media is sequentially recordable, obtain a table of content and check | If the media is sequentially recordable, obtain a table of content and check | |||
the first track of each session as prescribed above in Checking Before Image | the first track of each session as prescribed above in Checking Before Image | |||
Tree Loading and in Checking the Data Part of the Session. | Tree Loading and in Checking the Data Part of the Session. | |||
With disk files or overwriteable media, look for a relocated superblock tag | With disk files or overwritable media, look for a relocated superblock tag | |||
but do not hop to address next_tag (given by session_start=). Instead look at | but do not hop to address next_tag (given by session_start=). Instead look at | |||
LBA 32 for the first session and check it as prescribed above. | LBA 32 for the first session and check it as prescribed above. | |||
After reaching its end, round up the read address to the next multiple of 32 | After reaching its end, round up the read address to the next multiple of 32 | |||
and check whether it is smaller than session_start= from the super block. | and check whether it is smaller than session_start= from the super block. | |||
If so, expect another session to start there. | If so, expect another session to start there. | |||
Checking Single Files in a Loaded Image | Checking Single Files in a Loaded Image | |||
An image may consist of many sessions wherein many data blocks may not belong | An image may consist of many sessions wherein many data blocks may not belong | |||
to files in the directory tree of the most recent session. Checking this | to files in the directory tree of the most recent session. Checking this | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added |