Bug ID | 1094761 |
---|---|
Summary | Kiwi does not produce ISO that are compliant with the ISO9660 specs |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 15.0 |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Other |
Assignee | bnc-team-screening@forge.provo.novell.com |
Reporter | pete@akeo.ie |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
As per the following analysis by Thomas Schmitt, who investigated an error report reported against libcdio when trying to process openSUSE-Leap-15.0-DVD-x86_64.iso: http://lists.gnu.org/archive/html/libcdio-devel/2018-05/msg00008.html Specifically: ECMA-119, 7.3.3 "Both-byte orders" and 9.1.4 "Data Length (BP11 to BP18)" prescribe that the byte count of a data file is to be recorded as first a little-endian 32-bit number and then a big-endian 32-bit number. However, Kiwi only appears to patch the little-endian bytes into the ISO when it sets the final size of the affected files. For instance, you can find a file in openSUSE-Leap-15.0 that bears as size: e1 01 00 00 00 00 08 00 where the first four bytes are correct and the next four are wrong. This is probably because only the first four were overwritten by Kiwi, when it patched in the new size after manipulating the file content. Therefore, independently of a separate libcdio issue (which should gracefully warn when it finds such an inconsistency, rather than bail out), there is a definite problem with the way Kiwi updates the file sizes, as only seems to do half the job, which is in breach of the ECMA specs. Hopefully this specs compliance issue can be fixed for future releases of openSUSE.