diff --git a/libisofs/fs_image.c b/libisofs/fs_image.c index ccb7935..817668d 100644 --- a/libisofs/fs_image.c +++ b/libisofs/fs_image.c @@ -2344,6 +2344,12 @@ int iso_image_import(IsoImage *image, IsoDataSource *src, goto import_revert; } image->bootcat->image->image = (IsoFile*)node; + + /* warn about hidden images */ + iso_msg_submit(image->id, ISO_EL_TORITO_HIDDEN, 0, + "Found hidden El-Torito image. Its size could not " + "be figure out, so image modify or boot image " + "patching may lead to bad results."); } if (image->bootcat->node == NULL) { IsoNode *node = calloc(1, sizeof(IsoBoot)); diff --git a/libisofs/libiso_msgs.h b/libisofs/libiso_msgs.h index b9c61bd..36bd2c4 100644 --- a/libisofs/libiso_msgs.h +++ b/libisofs/libiso_msgs.h @@ -550,6 +550,7 @@ Range "vreixo" : 0x00030000 to 0x0003ffff 0x0003feb4 (HINT,MEDIUM) = Unsupported volume descriptor found 0x0003feb3 (WARNING,HIGH) = El-Torito related warning 0x0003feb2 (SORRY,HIGH) = Image write cancelled + 0x0003feb1 (WARNING,HIGH) = El-Torito image is hidden ------------------------------------------------------------------------------ diff --git a/libisofs/libisofs.h b/libisofs/libisofs.h index a871d26..d39e7ce 100644 --- a/libisofs/libisofs.h +++ b/libisofs/libisofs.h @@ -3113,4 +3113,7 @@ const char *iso_image_fs_get_biblio_file_id(IsoImageFilesystem *fs); /** Image write cancelled (SORRY,HIGH, -334) */ #define ISO_IMAGE_WRITE_CANCELED 0xE030FEB2 +/** El-Torito image is hidden (WARNING,HIGH, -335) */ +#define ISO_EL_TORITO_HIDDEN 0xD030FEB1 + #endif /*LIBISO_LIBISOFS_H_*/ diff --git a/libisofs/messages.c b/libisofs/messages.c index 087c166..b5d6d20 100644 --- a/libisofs/messages.c +++ b/libisofs/messages.c @@ -201,6 +201,8 @@ const char *iso_error_to_msg(int errcode) return "El-Torito related warning"; case ISO_IMAGE_WRITE_CANCELED: return "Image write cancelled"; + case ISO_EL_TORITO_HIDDEN: + return "El-Torito image is hidden"; default: return "Unknown error"; }