libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] Rock Ridge and libisofs/xorriso 'AL' extension


From: Pete Batard
Subject: Re: [Libcdio-devel] Rock Ridge and libisofs/xorriso 'AL' extension
Date: Tue, 25 Jul 2017 10:47:54 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

Hi Thomas,

On 2017.07.25 08:21, Thomas Schmitt wrote:
> AL is my invention.

Without trying to sound passive-aggressive, if you create a Rock Ridge extension and produce a relatively popular utility that uses it can you at least try to add a mention of it on the relevant Wikipedia page, especially after it's been in use for a few years? Considering that you are basically trying to establish a new standard, it may help trying not to keep it too "hidden" into one's project.

Even if libcdio should not have been choking on 'AL', I must say it took me quite while to figure out where exactly that extension came from, as the people who made use of it weren't that eager to point me out in the right direction [1], and, more annoyingly, Google was no help at all in linking 'AL' usage in Rock Ridge with the AAIP proposal.

I have since edited the Wikipedia Rock Ridge page [2] to list 'AL' and point to the AAIP documentation. But I think this edit should probably have happened a lot sooner. ..

On 2017.07.25 09:36, Thomas Schmitt wrote:
In this case a preliminary fix could be to add "AL" to the list of
allowed SUSP+RR entries.

Yeah, that's basically what I did in Rufus, since I want to be able to process the Kali ISOs. I guess what we want to do on the default case is add a cdio_warn() about using an unsupported Rock Ridge extension, and continue instead of erroring out.

I'm attaching a patch proposal for review, which I'll be happy to commit to libcdio if everyone agrees. Note that, even though we wouldn't technically need to add 'AL' to the case list in this proposal, and let the default warn case handle it, what I've seen from testing against the Kali ISOs is that this will generate a lot of warnings. So I think we probably want to avoid the warning for extensions that we are already aware of, even if we don't formally support them in libcdio.

Regards,

/Pete

[1] https://bugs.kali.org/view.php?id=4109
[2] https://en.wikipedia.org/wiki/Rock_Ridge

From e8289ce885e692dbbc64ec57da9bb879ffa7bcc8 Mon Sep 17 00:00:00 2001
From: Pete Batard <address@hidden>
Date: Tue, 25 Jul 2017 10:37:40 +0100
Subject: [PATCH] Warn but don't bail out on unsupported Rock Ridge SUSPs

* This reverts part of the new behaviour from commit 8b96bd3f ("Guard against 
malformed rockridge iso")
  as SUSP 1.12, paragraph 6.3 states that "Any System Use Entry which the 
receiving system does not
  recognize shall be ignored and skipped."
---
 lib/iso9660/rock.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/iso9660/rock.c b/lib/iso9660/rock.c
index 00a22e8..2879fd3 100644
--- a/lib/iso9660/rock.c
+++ b/lib/iso9660/rock.c
@@ -182,10 +182,12 @@ get_rock_ridge_filename(iso9660_dir_t * p_iso9660_dir,
       case SIG('P','L'):
       case SIG('T','F'):
       case SIG('Z','F'):
+      case SIG('A','L'): /* libburnia's AAIP extension */
        break;
       default:
-        /* Something got screwed up here */
-       goto out;
+       /* Warn about unsupported SUSPs */
+       cdio_warn("Unsupported Rock Ridge extension: '%c%c'\n", *chr, *(chr+1));
+       break;
       }
 
       if (rr->len == 0) goto out; /* Something got screwed up here */
-- 
2.9.3.windows.2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]