Release ISO images have broken RockRidge data

Thomas Schmitt scdbackup at
Thu Apr 11 09:19:01 UTC 2013


i am not sure whether this is the correct source code version
of makefs, but here i can see the reason for the bad Rock Ridge
TF entries

Line 688 has:
        p->attr.rr_entry.TF.h.length[0] = 4;

This should be 5, because after the 4 bytes of generic SUSP header
there is one byte of flags. See typedef of ISO_RRIP_TF in 
.../iso9660_rrip.h line 135.


The reason for the missing hardlink info can be seen in line 648:
        /* Ignoring the serial number for now */

The program would have to detect hardlink relations among files
which get copied from the local filesystem into the ISO image.
It would then have to mark hardlink siblings by giving them the
same serial number.
This would not show them as hardlinks in mounted images on FreeBSD
or Linux. But xorriso would respect them, if -hardlinks is set to "on".
(Done by command -for_backup.)


There is a small bug with makefs and the Expiration Time in the
Primary Volume Descriptor.
Line 687:
        memset(diskStructure.primaryDescriptor.expiration_date, '0' ,17);
should be something like
        memset(diskStructure.primaryDescriptor.expiration_date, '0' ,16);
        ((char *) diskStructure.primaryDescriptor.expiration_date)[16] = 0;

ECMA-119 (ISO 9660 for cheapos)
"If all characters in RBP 1 to 16 of this field are the digit ZERO
 and the number in RBP 17 is zero, it shall mean that the date and
 time are not specified."

I just fixed a contrary bug in libisofs. {:)


A year ago FreeBSD 8 had problems with large files in mounted ISO 9660
images and with mounting multi-session images:

I wonder whether these have been fixed meanwhile.


Have a nice day :)


More information about the freebsd-stable mailing list