boredzo/impluse-hfs

Ability to pierce HFS wrappers

boredzo opened this issue · 1 comments

HFS+ intake support isn't a primary feature right now, but it exists partly for validation of conversion, partly for the possibility of #8, and partly because APFS might get dropped someday.

HFS+ volumes created on Classic Mac OS are contained in an HFS wrapper volume, containing a few helpful files (particularly one named “Where did all my files go?” that explains HFS+) that are only visible to people on operating systems that don't know how to read HFS+.

impluse knows how to read HFS+, but doesn't currently know how to see through the wrapper volume to the HFS+ volume inside. We should fix that, particularly for the sake of listing and extraction (if HFS+ ever gets dropped, ability to extract files from HFS+ volumes will suddenly become much more important).

We might need a --hfs switch on list and extract to make them list/extract items from the wrapper volume instead of the wrapped volume. I'm not sure why someone would particularly want to access the wrapper contents, but we certainly shouldn't lock away the wrapper unconditionally.

It might end up layered on top of ImpVolumeProbe's existing ability to discover volumes—perhaps it could discover the HFS wrapper and wrapped HFS+ volume separately. At some point we might need an option to select which volume to access on media with multiple volumes (including partitioned disks); if partitions are normally referred to by index in the partition map, perhaps “4” is the wrapped volume (being the default) and “4.wrapper” or “4.hfs” is the wrapper.