New -as mkisofs option -disallow_dir_id_ext, allow_dir_id_ext is default

This commit is contained in:
Thomas Schmitt 2010-12-25 09:43:15 +00:00
parent 77ff5f5cb9
commit 0b641cf425
5 changed files with 77 additions and 38 deletions

View File

@ -533,6 +533,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-no-mac-files", "-chrp-boot", "-no-mac-files", "-chrp-boot",
"--hardlinks", "--acl", "--xattr", "--md5", "--for_backup", "--hardlinks", "--acl", "--xattr", "--md5", "--for_backup",
"--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc", "--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc",
"-disallow_dir_id_ext",
"" ""
}; };
static char arg1_options[][41]= { static char arg1_options[][41]= {
@ -683,6 +684,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -input-charset CHARSET Local input charset for file name conversion", " -input-charset CHARSET Local input charset for file name conversion",
" -output-charset CHARSET Output charset for file name conversion", " -output-charset CHARSET Output charset for file name conversion",
" -iso-level LEVEL Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2", " -iso-level LEVEL Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2",
" -disallow_dir_id_ext Do not allow dot in ISO directory names",
" -J, -joliet Generate Joliet directory information", " -J, -joliet Generate Joliet directory information",
" -joliet-long Allow Joliet file names to be 103 Unicode characters", " -joliet-long Allow Joliet file names to be 103 Unicode characters",
" -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660).", " -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660).",
@ -876,9 +878,9 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int argc, char **argv, int flag) int argc, char **argv, int flag)
{ {
int ret, i, j, was_path= 0, was_other_option= 0, mem_graft_points, mem; int ret, i, j, was_path= 0, was_other_option= 0, mem_graft_points, mem;
int do_print_size= 0, fd, idx, iso_level= 0, emul_boot= 2; int do_print_size= 0, fd, idx, iso_level= 1, emul_boot= 2;
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0; int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
int dir_mode= -1, file_mode= -1, count, partition_number; int dir_mode= -1, file_mode= -1, count, partition_number, allow_dir_id_ext= 1;
mode_t mode_and, mode_or; mode_t mode_and, mode_or;
int with_boot_image= 0, with_cat_path= 0; int with_boot_image= 0, with_cat_path= 0;
int *weight_list= NULL, weight_count= 0; int *weight_list= NULL, weight_count= 0;
@ -971,7 +973,6 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
if(iso_level == 4) if(iso_level == 4)
xorriso->do_iso1999= 1; xorriso->do_iso1999= 1;
else { else {
xorriso->file_size_limit= 0;
sprintf(sfe, "iso_9660_level=%s", argv[i]); sprintf(sfe, "iso_9660_level=%s", argv[i]);
ret= Xorriso_relax_compliance(xorriso, sfe, 0); ret= Xorriso_relax_compliance(xorriso, sfe, 0);
if(ret <= 0) if(ret <= 0)
@ -1047,6 +1048,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
goto not_enough_args; goto not_enough_args;
i++; i++;
Xorriso_option_stdio_sync(xorriso, argv[i], 0); Xorriso_option_stdio_sync(xorriso, argv[i], 0);
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
allow_dir_id_ext= 0;
} else } else
was_other_option= 1; was_other_option= 1;
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 0); ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 0);
@ -1176,10 +1179,12 @@ not_enough_args:;
} else if(strcmp(argv[i], "-o")==0) { } else if(strcmp(argv[i], "-o")==0) {
i++; i++;
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-M")==0 || strcmp(argv[i], "-dev")==0) { } else if(strcmp(argv[i], "-M")==0 || strcmp(argv[i], "-dev")==0 ||
strcmp(argv[i], "-prev-session")==0) {
i++; i++;
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-C")==0) { } else if(strcmp(argv[i], "-C")==0 ||
strcmp(argv[i], "-cdrecord-params")==0) {
i++; i++;
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-help")==0) { } else if(strcmp(argv[i], "-help")==0) {
@ -1434,6 +1439,14 @@ not_enough_args:;
strncpy(xorriso->ascii_disc_label, argv[i], Xorriso_disc_label_sizE - 1); strncpy(xorriso->ascii_disc_label, argv[i], Xorriso_disc_label_sizE - 1);
xorriso->ascii_disc_label[Xorriso_disc_label_sizE - 1] = 0; xorriso->ascii_disc_label[Xorriso_disc_label_sizE - 1] = 0;
} else if(strcmp(argv[i], "--stdio_sync")==0) {
if(i+1>=argc)
goto not_enough_args;
i++;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
/* was already handled in first argument scan */;
} else if(argv[i][0]=='-' && argv[i][1]!=0) { } else if(argv[i][0]=='-' && argv[i][1]!=0) {
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1); ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1);
if(ret > 0) { if(ret > 0) {
@ -1478,7 +1491,18 @@ is_pathspec_2:;
if(ret<=0) if(ret<=0)
goto problem_handler_2; goto problem_handler_2;
was_path= 1; was_path= 1;
/* Enforce odd mkisofs defaults on first pathspec */
xorriso->pacifier_style= 1; xorriso->pacifier_style= 1;
if(allow_dir_id_ext == 1) {
Xorriso_relax_compliance(xorriso, "allow_dir_id_ext", 0);
allow_dir_id_ext= 2;
}
if(iso_level >= 1 && iso_level <= 3) {
sprintf(sfe, "iso_9660_level=%d", iso_level);
Xorriso_relax_compliance(xorriso, sfe, 0);
iso_level= 0;
}
} }
continue; /* regular bottom of loop */ continue; /* regular bottom of loop */
problem_handler_2:; problem_handler_2:;

View File

@ -3509,6 +3509,11 @@ standard output.
-print-size inhibits automatic image production at program end. This ban is -print-size inhibits automatic image production at program end. This ban is
lifted only if the pending image changes get discarded. lifted only if the pending image changes get discarded.
.br .br
If no -iso-level is given, then level 1 is chosen when the first file or
directory is added to the image. At the same occasion directory names get
allowed to violate the standard by -compliance option allow_dir_id_ext.
This may be avoided by option -disallow_dir_id_ext.
.br
Not original mkisofs options are --quoted_path_list , Not original mkisofs options are --quoted_path_list ,
--hardlinks , --acl , --hardlinks , --acl ,
--xattr , --md5 , --stdio_sync . --xattr , --md5 , --stdio_sync .

View File

@ -3129,6 +3129,11 @@ programs trigger comparable actions.
drive to standard output. drive to standard output.
-print-size inhibits automatic image production at program end. -print-size inhibits automatic image production at program end.
This ban is lifted only if the pending image changes get discarded. This ban is lifted only if the pending image changes get discarded.
If no -iso-level is given, then level 1 is chosen when the first
file or directory is added to the image. At the same occasion
directory names get allowed to violate the standard by -compliance
option allow_dir_id_ext. This may be avoided by option
-disallow_dir_id_ext.
Not original mkisofs options are --quoted_path_list , --hardlinks Not original mkisofs options are --quoted_path_list , --hardlinks
, --acl , --xattr , --md5 , --stdio_sync . They work like the , --acl , --xattr , --md5 , --stdio_sync . They work like the
xorriso options with the same name and hardcoded argument "on", xorriso options with the same name and hardcoded argument "on",
@ -4087,7 +4092,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -out_charset sets output character set: SetWrite. (line 180) * -out_charset sets output character set: SetWrite. (line 180)
* -outdev aquires a drive for output: AqDrive. (line 29) * -outdev aquires a drive for output: AqDrive. (line 29)
* -overwrite enables overwriting in ISO: SetInsert. (line 127) * -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 134) * -pacifier controls pacifier text form: Emulation. (line 139)
* -padding sets amount of image padding: SetWrite. (line 263) * -padding sets amount of image padding: SetWrite. (line 263)
* -page set terminal geometry: DialogCtl. (line 15) * -page set terminal geometry: DialogCtl. (line 15)
* -paste_in copies file into disk file: Restore. (line 117) * -paste_in copies file into disk file: Restore. (line 117)
@ -4107,7 +4112,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -quoted_not_list sets exclusions: SetInsert. (line 72) * -quoted_not_list sets exclusions: SetInsert. (line 72)
* -quoted_path_list inserts paths from disk file: Insert. (line 80) * -quoted_path_list inserts paths from disk file: Insert. (line 80)
* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation. * -read_mkisofsrc searches and reads .mkisofsrc file: Emulation.
(line 122) (line 127)
* -reassure enables confirmation question: DialogCtl. (line 28) * -reassure enables confirmation question: DialogCtl. (line 28)
* -report_about controls verbosity: Exception. (line 55) * -report_about controls verbosity: Exception. (line 55)
* -return_with controls exit value: Exception. (line 39) * -return_with controls exit value: Exception. (line 39)
@ -4117,7 +4122,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rollback discards pending changes: Writing. (line 9) * -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 125) * -rollback_end ends program without writing: Scripting. (line 125)
* -rom_toc_scan searches for sessions: Loading. (line 203) * -rom_toc_scan searches for sessions: Loading. (line 203)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 144) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 149)
* -scsi_log reports SCSI commands: Scripting. (line 113) * -scsi_log reports SCSI commands: Scripting. (line 113)
* -session_log logs written sessions: Scripting. (line 104) * -session_log logs written sessions: Scripting. (line 104)
* -session_string composes session info line: Inquiry. (line 56) * -session_string composes session info line: Inquiry. (line 56)
@ -4174,11 +4179,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backslash Interpretation, _definition: Processing. (line 49) * Backslash Interpretation, _definition: Processing. (line 49)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 182) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 182)
* Backup, enable features, -for_backup: Loading. (line 177) * Backup, enable features, -for_backup: Loading. (line 177)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 144) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 149)
* Blank media, _definition: Media. (line 29) * Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40) * Blind growing, _definition: Methods. (line 40)
* Bootability, control, -boot_image: Bootable. (line 26) * Bootability, control, -boot_image: Bootable. (line 26)
* cdrecord, Emulation: Emulation. (line 89) * cdrecord, Emulation: Emulation. (line 94)
* Character Set, _definition: Charset. (line 6) * Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 92) * Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43) * Character Set, for input/output, -charset: Charset. (line 43)
@ -4213,10 +4218,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, write and eject, -commit_eject: Writing. (line 40) * Drive, write and eject, -commit_eject: Writing. (line 40)
* El Torito, _definiton: Extras. (line 19) * El Torito, _definiton: Extras. (line 19)
* Emulation, -as: Emulation. (line 13) * Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 122) * Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 127)
* Emulation, cdrecord, -as: Emulation. (line 89) * Emulation, cdrecord, -as: Emulation. (line 94)
* Emulation, mkisofs, -as: Emulation. (line 16) * Emulation, mkisofs, -as: Emulation. (line 16)
* Emulation, pacifier form, -pacifier: Emulation. (line 134) * Emulation, pacifier form, -pacifier: Emulation. (line 139)
* Examples: Examples. (line 6) * Examples: Examples. (line 6)
* Filter, _definition: Filter. (line 6) * Filter, _definition: Filter. (line 6)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84) * Filter, apply to file tree, -set_filter_r: Filter. (line 84)
@ -4430,29 +4435,29 @@ Node: Navigate131260
Node: Verify139155 Node: Verify139155
Node: Restore147744 Node: Restore147744
Node: Emulation154400 Node: Emulation154400
Node: Scripting162774 Node: Scripting163071
Node: Frontend168336 Node: Frontend168633
Node: Examples169631 Node: Examples169928
Node: ExDevices170800 Node: ExDevices171097
Node: ExCreate171434 Node: ExCreate171731
Node: ExDialog172708 Node: ExDialog173005
Node: ExGrowing173970 Node: ExGrowing174267
Node: ExModifying174772 Node: ExModifying175069
Node: ExBootable175273 Node: ExBootable175570
Node: ExCharset175820 Node: ExCharset176117
Node: ExPseudo176648 Node: ExPseudo176945
Node: ExCdrecord177542 Node: ExCdrecord177839
Node: ExMkisofs177857 Node: ExMkisofs178154
Node: ExGrowisofs178860 Node: ExGrowisofs179157
Node: ExException179984 Node: ExException180281
Node: ExTime180438 Node: ExTime180735
Node: ExIncBackup180897 Node: ExIncBackup181194
Node: ExRestore184369 Node: ExRestore184666
Node: ExRecovery185338 Node: ExRecovery185635
Node: Files185904 Node: Files186201
Node: Seealso187132 Node: Seealso187429
Node: Legal187656 Node: Legal187953
Node: CommandIdx188578 Node: CommandIdx188875
Node: ConceptIdx202804 Node: ConceptIdx203101
 
End Tag Table End Tag Table

View File

@ -4160,6 +4160,11 @@ standard output.
-print-size inhibits automatic image production at program end. This ban is -print-size inhibits automatic image production at program end. This ban is
lifted only if the pending image changes get discarded. lifted only if the pending image changes get discarded.
@* @*
If no -iso-level is given, then level 1 is chosen when the first file or
directory is added to the image. At the same occasion directory names get
allowed to violate the standard by -compliance option allow_dir_id_ext.
This may be avoided by option -disallow_dir_id_ext.
@*
Not original mkisofs options are @minus{}@minus{}quoted_path_list , Not original mkisofs options are @minus{}@minus{}quoted_path_list ,
@minus{}@minus{}hardlinks , @minus{}@minus{}acl , @minus{}@minus{}hardlinks , @minus{}@minus{}acl ,
@minus{}@minus{}xattr , @minus{}@minus{}md5 , @minus{}@minus{}stdio_sync . @minus{}@minus{}xattr , @minus{}@minus{}md5 , @minus{}@minus{}stdio_sync .

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.12.25.092828" #define Xorriso_timestamP "2010.12.25.094309"