[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO
From: |
Pete Batard |
Subject: |
[Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO |
Date: |
Sat, 26 May 2018 14:31:00 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
Hi,
I am reporting this issue, since I don't know when/if I'll have the time
to investigate it properly and I suspect that we need to alter libcdio
to relax some checks.
The issue is that the current libcdio (tested with latest git using
MinGW32) bails out with an "Invalid directory" error when trying to
process the newest openSUSE Leap ISO9660 image
(openSUSE-Leap-15.0-DVD-x86_64.iso).
This ISO (3.7 GB) can be downloaded from
https://download.opensuse.org/distribution/leap/15.0/iso/openSUSE-Leap-15.0-DVD-x86_64-Current.iso?mirrorlist
For instance, if you try to run isolist against this image, you only get
the following:
-----------------------------------------------------------------------
$ ./isolist /d/ISOs/openSUSE-Leap-15.0-DVD-x86_64.iso
Application: openSUSE-Leap-15.0-DVD-x86_64-Build267.2-Media
Preparer : KIWI - http://opensuse.github.com/kiwi
Publisher : SUSE LINUX GmbH
System : LINUX
Volume : openSUSE-Leap-15.0-DVD-x86_64267
++ WARN: from_733: broken byte order
++ WARN: Invalid directory stat at offset 510
-----------------------------------------------------------------------
From what I gather, a certain numbers of directories will appear
"broken" to libcdio, starting with '/docu'. For instance, this is what
you get if you try to extract a file from the '/docu' directory:
-----------------------------------------------------------------------
$ ./isofile /d/ISOs/openSUSE-Leap-15.0-DVD-x86_64.iso
docu/RELEASE-NOTES.en.txt
++ WARN: from_733: broken byte order
++ WARN: Bad directory information for docu
Could not get ISO-9660 file information for file docu/RELEASE-NOTES.en.txt
-----------------------------------------------------------------------
Now, if you patch iso9660_fs.c around like 1161 to not return NULL on
error but just report the error and move forward:
if (!p_stat) {
cdio_warn("Bad directory information for %s", splitpath[0]);
offset += iso9660_get_dir_len(p_iso9660_dir);
continue;
}
then you can successfully extract the file:
-----------------------------------------------------------------------
$ ./isofile /d/ISOs/openSUSE-Leap-15.0-DVD-x86_64.iso
docu/RELEASE-NOTES.en.txt
++ WARN: from_733: broken byte order
++ WARN: Bad directory information for docu
Extraction of file 'docu/RELEASE-NOTES.en.txt' from
D:/ISOs/openSUSE-Leap-15.0-DVD-x86_64.iso successful.
-----------------------------------------------------------------------
NB: If you want to test the above, you need to have a docu/ folder in
your current directory else fopen() will fail.
Therefore, I would suggest that we relax the code so that we don't
simply bail out when a "bad directory" is found, especially as,
officially, this is a warning rather than a failure.
However, since I have not investigated the issue further, and I have no
idea how the openSUSE people are mastering their ISOs, I wouldn't mind
hearing the list's thoughts on this. For the record, this issue seems to
have been present for earlier openSUSE Leap ISOs, so it's not a punctual
problem that only started with the latest version.
Regards,
/Pete
- [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO,
Pete Batard <=
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Thomas Schmitt, 2018/05/26
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Pete Batard, 2018/05/26
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Thomas Schmitt, 2018/05/26
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Rocky Bernstein, 2018/05/26
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Thomas Schmitt, 2018/05/26
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Pete Batard, 2018/05/26
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Thomas Schmitt, 2018/05/26
- Re: [Libcdio-devel] Invalid/bad directory errors with openSUSE Leap 15.0 ISO, Thomas Schmitt, 2018/05/26
- [Libcdio-devel] [PATCH] Fix invalid/bad directory errors with openSUSE Leap 15.0 ISO, Pete Batard, 2018/05/27
- Re: [Libcdio-devel] [PATCH] Fix invalid/bad directory errors with openSUSE Leap 15.0 ISO, Rocky Bernstein, 2018/05/27