KBNLresearch / iromlab

Loader software for automated imaging of optical media with Nimbie disc robot
Apache License 2.0
31 stars 5 forks source link

Use info in UDF/HFS FS if no volumeIdentifier was found (isolyzer extraction output) #57

Closed bitsgalore closed 6 years ago

bitsgalore commented 7 years ago

Examples:

Right now such discs wil be rejected because volumeIdentifier is not defined (see code in isobuster.py).

So we need fallbacks for volumeIdentifier in those cases. Possible fallbacks are:

UDF

Use fileSystems/fileSystem[@TYPE='UDF']/logicalVolumeDescriptor/logicalVolumeIdentifier

BUT beware of possible encoding issues due to use of "OSTA compressed Unicode" which I don't understand at all!

Apple partition without Apple Partition Map, HFS

Use fileSystems/fileSystem[@TYPE='HFS']/masterDirectoryBlock/volumeName

Apple partition without Apple Partition Map, HFS+

No volumeName in masterDirectoryBlock!

Apple partition with Apple Partition Map

Use fileSystems/fileSystem[@TYPE='HFS']/applePartitionMap/partitionName BUT there may be multiple partition maps so which one to use?!

Note: partitionName contains system-specific strings that are unrelated to the disc title!

Other possibility: just use some generic default name as a fallback.

bitsgalore commented 6 years ago

Rough PoC code here:

https://gist.github.com/bitsgalore/18e27af3ab5a8b0dc70b8d28bf3a8f4d

bitsgalore commented 6 years ago

Implemented https://github.com/KBNLresearch/iromlab/commit/62e2b16ab4e3c5a034177f212274a0162c877e77

Needs further testing with HFS / UDF-only discs,

bitsgalore commented 6 years ago

Test with HFS disc shows that Isolyzer misses out on MBD:

https://github.com/KBNLresearch/isolyzer/issues/18

bitsgalore commented 6 years ago

All seems to work now with Isolyzer 1.2.0.