Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add disc filesystem #571

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

MaxGroot
Copy link
Contributor

@MaxGroot MaxGroot commented Mar 9, 2024

Depends on fox-it/dissect.disc#1.

@MaxGroot
Copy link
Contributor Author

MaxGroot commented Jul 23, 2024

While testing against some ISOs, I ran into something interesting with this one: https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-12.6.0-amd64-DVD-1.iso

This disc is both a FAT and an ISO9660 filesystem, and uses the system use area of the disc for volume information. Dissect recognizes this MBR and opens the file-handle as a volume. However, the file-handle is also an ISO9660 disc, the information of which is lost. I'm not too familiar with the volume system of dissect, but playing around I came across this part of the volume system:

# Some LVM configurations (i.e. RAID with the metadata at the end of the disk)
            # may be misidentified as having a valid MBR/GPT on some of the disks
            # To counter this, first check if the disk is part of any LVM configurations that we support
            if not volume.is_lvm_volume(disk):

(https://github.com/fox-it/dissect.target/blob/main/dissect/target/target.py#L717)

If i add an or False at the end of this line, both the FAT and ISO9660 filesystems are added to the target. It looks to me as though we would need to edit the volume opening logic to 're-submit' a file handle after having opened it, and checking if other filesystems other than the one we already have, detect it. Is this correct? I don't mind fidgetting in the volume opening logic a bit, but would like to hear what you think before making too drastic changes just to support this edge case.

@EinatFox EinatFox linked an issue Aug 6, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add disc filesystem PR#571
1 participant