libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] Rock Ridge RRIP Deep Directory support


From: Rocky Bernstein
Subject: Re: [Libcdio-devel] Rock Ridge RRIP Deep Directory support
Date: Wed, 29 Apr 2020 20:28:47 -0400

On Wed, Apr 29, 2020 at 8:22 PM Pete Batard <address@hidden> wrote:

> Hi,
>
> I got an issue reported today from a user trying to use a Rock Ridge ISO
> with folders that go more than 8 levels, and it appears that the Rock
> Ridge extensions from libcdio do not support RRIP Deep Directories, as
> described on pages 33-34 of
> http://www.reverse-engineering.info/CD/iso9660.pdf
>
> More specifically, if you master a Rock Ridge ISO with something like
> ./1/2/3/4/5/6/7/8/test.txt, because it goes deeper than 8 levels, the
> RRIP extensions enables '8/test.txt' to be moved into a top level
> ./rr_moved/ directory, with the '8/' subdirectory being replaced by a
> 0-byte file with the relevant System Use fields.
>
> An example of such an image can be found at:
>   https://files.akeo.ie/test/rrip_deep_folder.iso (374 KB).
>
> This image was generated with Folder2Iso
> (https://www.trustfm.net/software/utilities/Folder2Iso.php), which calls
> mkisofs behind the scenes, with Joliet extensions disabled to force Rock
> Ridge. Note that you can ignore '.efi/boot/bootx64.efi' from this image,
> as it is only there so I can test this image in Rufus.
>
> Obviously, libcdio should be able to recognize the RRIP extension and
> extract the deep directory content accordingly, but this doesn't appear
> to be the case.
>
> Specifically, the extract.exe sample will produce the following:
>
> # extract.exe rrip_deep_folder.iso tmp
> Application: MKISOFS ISO9660/HFS/UDF FILESYSTEM BUILDER & CDRECORD
> CD/DVD/BluRay CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J
> .PEARSON/J.SCHILLING
> System     : Win32
> Volume     : ISO Label
> Extracting: tmp/1/2/3/4/5/6/7/8
> Extracting: tmp/efi/boot/bootx64.efi
> Could not access /rr_moved
>
>
> Now, looking at section 4.1.5 of
> https://ia800605.us.archive.org/16/items/enf_pobox_Rrip/rrip.pdf which
> describes support for deep directory, and the rock.c code, it seems
> there has been some attempt at adding some form support at least for the
> CL relocation field, but this currently sits behind a '#ifdef FINISHED'
> guard, and doesn't seem to be linked to active code.
>
> So I have to ask:
>
> What's the status of Deep Directory Rock Ridge support in libcdio?
> Is someone planning to work on/finalize it?
>

Not that I am aware of.


>
> Regards,
>
> /Pete
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]