From 0f2d174156c8c0b352e09719f975f35df0f85567 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Thu, 22 Mar 2012 10:33:24 +0000 Subject: [PATCH] Implemented -as mkisofs option -relaxed-filenames --- xorriso/emulators.c | 6 ++- xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisofs.1 | 9 ++++- xorriso/xorrisofs.info | 76 +++++++++++++++++++++---------------- xorriso/xorrisofs.texi | 11 +++++- 5 files changed, 66 insertions(+), 38 deletions(-) diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 6fbdb29b..ba39d510 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -654,7 +654,7 @@ int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom, "-cache-inodes", "-check-oldnames", "-L", "-no-bak", "-no-cache-inodes", "-no-split-symlink-components", "-no-split-symlink-fields", "-nobak", - "-force-rr", "-relaxed-filenames", "-T", + "-force-rr", "-T", "-no-iso-translate", "" }; @@ -723,6 +723,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660).", " -untranslated_name_len LEN Allow up to LEN (1..96) name characters (heavily violates ISO9660).", " -allow-lowercase Allow lower case characters in addition to the current character set (violates ISO9660)", +" -relaxed-filenames Allow 7 bit ASCII except lower case characters (violates ISO9660)", " -d, -omit-period Omit trailing periods from filenames (violates ISO9660)", " -l, -full-iso9660-filenames Allow full 31 character filenames for ISO9660 names", " -max-iso9660-filenames Allow 37 character filenames for ISO9660 names (violates ISO9660)", @@ -1503,7 +1504,8 @@ not_enough_args:; Xorriso_relax_compliance(xorriso, "no_force_dots", 0); } else if(strcmp(argpt, "-allow-lowercase") == 0) { Xorriso_relax_compliance(xorriso, "lowercase", 0); - + } else if(strcmp(argpt, "-relaxed-filenames") == 0) { + Xorriso_relax_compliance(xorriso, "7bit_ascii", 0); } else if(strcmp(argpt, "-hide") == 0 || strcmp(argpt, "-hide-list") == 0 || strcmp(argpt, "-hide-joliet") == 0 || diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index b45a8368..4fed0d48 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.03.22.103201" +#define Xorriso_timestamP "2012.03.22.103349" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index 2f54f968..fac1f3b5 100644 --- a/xorriso/xorrisofs.1 +++ b/xorriso/xorrisofs.1 @@ -9,7 +9,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISOFS 1 "Version 1.2.1, Mar 14, 2012" +.TH XORRISOFS 1 "Version 1.2.1, Mar 22, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -441,6 +441,13 @@ Allow lowercase character in ISO file names. .br This violates ISO 9660 specs. .TP +\fB\-relaxed-filenames\fR +Allow nearly all 7\-bit characters in ISO file names. +Not allowed are 0x0 and '/'. If not option \-allow\-lowercase is given, +then lowercase letters get converted to uppercase. +.br +This violates ISO 9660 specs. +.TP \fB\-d\fR .br Do not add trailing dot to ISO file names without dot. diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index 715112d6..d6302582 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -459,6 +459,12 @@ File: xorrisofs.info, Node: SetCompl, Next: SetExtras, Prev: SetProduct, Up: Allow lowercase character in ISO file names. This violates ISO 9660 specs. +-relaxed-filenames + Allow nearly all 7-bit characters in ISO file names. Not allowed + are 0x0 and '/'. If not option -allow-lowercase is given, then + lowercase letters get converted to uppercase. + This violates ISO 9660 specs. + -d Do not add trailing dot to ISO file names without dot. This violates ISO 9660 specs. @@ -1583,7 +1589,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 87) * -copyright set Copyright File path: ImageId. (line 77) * -D allow deep directory hierachies: SetExtras. (line 24) -* -d omit trailing dot in ISO file names: SetCompl. (line 50) +* -d omit trailing dot in ISO file names: SetCompl. (line 56) * -dev set path for loading existing ISO image: Loading. (line 25) * -dir-mode permissions for all directories: SetProduct. (line 60) * -disable-deep-relocation allow deep directory hierachies: SetExtras. @@ -1602,7 +1608,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -file-mode permissions for all data files: SetProduct. (line 66) * -follow-links follow symbolic links on disk: SetInsert. (line 28) * -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl. - (line 60) + (line 66) * -G Fill System Area e.g. by MBR: SystemArea. (line 17) * -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 24) * -graft-points enable target=source pathspecs: SetInsert. (line 31) @@ -1634,15 +1640,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -joliet enable production of Joliet directory tree: SetExtras. (line 107) * -joliet-long allow longer Joliet names: SetExtras. (line 110) -* -l allow 31 characters in ISO file names: SetCompl. (line 57) +* -l allow 31 characters in ISO file names: SetCompl. (line 63) * -m exclude disk files from inserting: SetInsert. (line 35) * -M set path for loading existing ISO image: Loading. (line 11) * -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl. - (line 63) + (line 69) * -md5-list set path of readable .md5: Jigdo. (line 73) * -mips-boot MIPS Big Endian boot image: SystemArea. (line 103) * -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 110) -* -N omit version number in ISO file names: SetCompl. (line 67) +* -N omit version number in ISO file names: SetCompl. (line 73) * -no-emul-boot El Torito boot image emulation: Bootable. (line 72) * -no-pad do not add zeros to ISO tree: SetProduct. (line 76) * -o set output file address: SetProduct. (line 8) @@ -1650,9 +1656,9 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 48) * -old-root enable incremental insertion: SetInsert. (line 70) * -omit-period omit trailing dot in ISO file names: SetCompl. - (line 54) + (line 60) * -omit-version-number omit version number in ISO file names: SetCompl. - (line 71) + (line 77) * -output set output file address: SetProduct. (line 22) * -output-charset set character set of ISO file names: Charset. (line 21) @@ -1676,6 +1682,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 15) * -rational-rock Rock Ridge with altered owner and permission: SetExtras. (line 21) +* -relaxed-filenames 7-bit special characters in ISO file names: SetCompl. + (line 50) * -rock Rock Ridge (is always enabled): SetExtras. (line 12) * -root redirect ISO root directory: SetInsert. (line 64) * -rr_reloc_dir set deep directory relocation target: SetExtras. @@ -1774,16 +1782,18 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Incremental insertion, enable, -old-root: SetInsert. (line 70) * ISO 9660, _definition: Standards. (line 6) * ISO 9660:1999, _definition: Standards. (line 26) +* ISO file names, 7-bit special characters, -relaxed-filenames: SetCompl. + (line 50) * ISO file names, allow 31 characters, -l, -full-iso9660-filenames: SetCompl. - (line 57) -* ISO file names, allow 37 characters, -max-iso9660-filenames: SetCompl. (line 63) +* ISO file names, allow 37 characters, -max-iso9660-filenames: SetCompl. + (line 69) * ISO file names, allow lowercase, -allow-lowercase: SetCompl. (line 46) * ISO file names, omit trailing dot, -d, -omit-period: SetCompl. - (line 50) + (line 56) * ISO file names, omit version number, -N, -omit-version-number: SetCompl. - (line 67) + (line 73) * ISO file names, untranslated, -untranslated_name_len: SetCompl. (line 39) * ISO file names, very relaxed rules, -U, -untranslated-filenames: SetCompl. @@ -1869,27 +1879,27 @@ Node: Loading6846 Node: SetInsert9142 Node: SetProduct13558 Node: SetCompl17265 -Node: SetExtras19616 -Node: SetHide24348 -Node: ImageId25347 -Node: Bootable28852 -Node: SystemArea32917 -Node: Charset39251 -Node: Jigdo40277 -Node: Miscellaneous44544 -Node: Examples45708 -Node: ExSimple46194 -Node: ExGraft46673 -Node: ExMkisofs47920 -Node: ExGrowisofs49173 -Node: ExIncBackup50345 -Node: ExIncBckAcc53453 -Node: ExBootable55129 -Node: Files57221 -Node: Seealso58295 -Node: Bugreport58951 -Node: Legal59532 -Node: CommandIdx60347 -Node: ConceptIdx72180 +Node: SetExtras19861 +Node: SetHide24593 +Node: ImageId25592 +Node: Bootable29097 +Node: SystemArea33162 +Node: Charset39496 +Node: Jigdo40522 +Node: Miscellaneous44789 +Node: Examples45953 +Node: ExSimple46439 +Node: ExGraft46918 +Node: ExMkisofs48165 +Node: ExGrowisofs49418 +Node: ExIncBackup50590 +Node: ExIncBckAcc53698 +Node: ExBootable55374 +Node: Files57466 +Node: Seealso58540 +Node: Bugreport59196 +Node: Legal59777 +Node: CommandIdx60592 +Node: ConceptIdx72575  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index b2c35cda..78e0d8a8 100644 --- a/xorriso/xorrisofs.texi +++ b/xorriso/xorrisofs.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRISOFS 1 "Version 1.2.1, Mar 14, 2012" +@c man .TH XORRISOFS 1 "Version 1.2.1, Mar 22, 2012" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -651,6 +651,15 @@ Allow lowercase character in ISO file names. @* This violates ISO 9660 specs. @c man .TP +@item -relaxed-filenames +@kindex -relaxed-filenames 7-bit special characters in ISO file names +@cindex ISO file names, 7-bit special characters, -relaxed-filenames +Allow nearly all 7-bit characters in ISO file names. +Not allowed are 0x0 and '/'. If not option -allow-lowercase is given, +then lowercase letters get converted to uppercase. +@* +This violates ISO 9660 specs. +@c man .TP @item -d @kindex -d omit trailing dot in ISO file names @cindex ISO file names, omit trailing dot, -d, -omit-period