Thanks for the patches. Over the next week or so I will be looking at these and most likely merging these in.
I have been meaning to do a release of the code. Usually at the end of October I do releases. That should give me plenty of leeway here. Probably for the next release, I'll use linters and style checkers going over the code. On Wed, Jan 24, 2024 at 12:43 PM Pete Batard <pbat...@gmail.com> wrote: > The following patchset adds El Torito virtual image listing and extraction > support > in a manner similar to what 7-zip does, by creating a virtual "[BOOT]/" > directory > under root, and listing a bunch of "#-Boot-NoEmul.img" virtual images > there. > > The motivation for this stems from Rufus recently needing to perform El > Torito > image extraction through libcdio, due to Linux Mint 21.3 using a broken > Rock Ridge > symlink for their /EFI/Boot/bootx64.efi bootloaders on the ISO-9660 file > system, > whereas a working bootx64.efi could be found in the El Torito images (for > more on > this see https://github.com/linuxmint/linuxmint/issues/622). > > Note that because I don't have the scope to cover the full El Torito > specs, we > limit ourselves to listing a maximum of 8 virtual images, and only ones > that > have type Bootable and No Emulation. I did however add the capablity to > enable/ > disable virtual image support through a new ISO_EXTENSION_EL_TORITO > extension bit > and added the relevant El Torito testing to the test suite. > > You can also find a repository with these patches at: > https://github.com/pbatard/libcdio/commits/eltorito/ > > The tests were validated against MinGW and Linux/gcc. > > Regards, > > /Pete > > Pete Batard (4): > Add case insensitive _cdio_stricmp and _cdio_strnicmp function calls > Add El Torito virtual boot image support > Add --no-el-torito option to iso-info > Add El Torito tests > > include/cdio/iso9660.h | 40 ++++++++++++++-- > include/cdio/util.h | 6 +++ > lib/driver/libcdio.sym | 2 + > lib/driver/util.c | 29 ++++++++++++ > lib/iso9660/iso9660_fs.c | 99 ++++++++++++++++++++++++++++++++++++++- > src/iso-info.c | 14 ++++-- > test/Makefile.am | 10 ++-- > test/check_eltorito.sh | 57 ++++++++++++++++++++++ > test/data/eltorito.iso | Bin 0 -> 55296 bytes > test/data/eltorito_file | Bin 0 -> 512 bytes > test/eltorito.right | 12 +++++ > test/no_eltorito.right | 8 ++++ > 12 files changed, 264 insertions(+), 13 deletions(-) > create mode 100755 test/check_eltorito.sh > create mode 100644 test/data/eltorito.iso > create mode 100644 test/data/eltorito_file > create mode 100644 test/eltorito.right > create mode 100644 test/no_eltorito.right > > -- > 2.43.0.windows.1 > > >