From dff6c45a42874bea872ddbde9f2fe42e560dc5c4 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 4 Dec 2010 17:44:40 +0000 Subject: [PATCH] Preliminarily banned writing while read displacement is non-zero --- libisoburn/trunk/xorriso/write_run.c | 7 + libisoburn/trunk/xorriso/xorriso.1 | 5 +- libisoburn/trunk/xorriso/xorriso.info | 139 ++++++++++--------- libisoburn/trunk/xorriso/xorriso.texi | 7 +- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- 5 files changed, 85 insertions(+), 75 deletions(-) diff --git a/libisoburn/trunk/xorriso/write_run.c b/libisoburn/trunk/xorriso/write_run.c index 6052b411..b38024f5 100644 --- a/libisoburn/trunk/xorriso/write_run.c +++ b/libisoburn/trunk/xorriso/write_run.c @@ -549,6 +549,13 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag) char profile_name[80]; IsoBoot *bootcat_node; + if(abs(xorriso->displacement_sign) == 1 && xorriso->displacement != 0) { + sprintf(xorriso->info_text, + "May not write session while -displacement is non-zero"); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + {ret= 0; goto ex;} + } + ret= Xorriso_finish_hl_update(xorriso, 0); if(ret <= 0) return(ret); diff --git a/libisoburn/trunk/xorriso/xorriso.1 b/libisoburn/trunk/xorriso/xorriso.1 index bb3807ff..06215ec4 100644 --- a/libisoburn/trunk/xorriso/xorriso.1 +++ b/libisoburn/trunk/xorriso/xorriso.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 XORRISO 1 "Dec 02, 2010" +.TH XORRISO 1 "Dec 04, 2010" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -644,7 +644,8 @@ will be reset to "auto". \fB\-displacement\fR [-]lba Compensate an eventual displacement of the image versus the start address for which the image was prepared. This affects only loading of ISO images -and reading of their files. +and reading of their files. Writing is not allowed as long as -displacement +is non-zero. Examples: .br If a track of a CD starts at block 123456 and gets copied to a disk file diff --git a/libisoburn/trunk/xorriso/xorriso.info b/libisoburn/trunk/xorriso/xorriso.info index 0c456412..b6d33eee 100644 --- a/libisoburn/trunk/xorriso/xorriso.info +++ b/libisoburn/trunk/xorriso/xorriso.info @@ -610,7 +610,8 @@ activate them only after image loading. -displacement [-]lba Compensate an eventual displacement of the image versus the start address for which the image was prepared. This affects only - loading of ISO images and reading of their files. Examples: + loading of ISO images and reading of their files. Writing is not + allowed as long as -displacement is non-zero. Examples: If a track of a CD starts at block 123456 and gets copied to a disk file where it begins at block 0, then this copy can be loaded with -displacement -123456. @@ -3920,7 +3921,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * # starts a comment line: Scripting. (line 128) * -abort_on controls abort on error: Exception. (line 27) * -abstract_file sets abstract file name: SetWrite. (line 131) -* -acl controls handling of ACLs: Loading. (line 137) +* -acl controls handling of ACLs: Loading. (line 138) * -add inserts one or more paths: Insert. (line 42) * -add_plainly inserts one or more paths: Insert. (line 61) * -alter_date sets timestamps in ISO image: Manip. (line 146) @@ -3929,14 +3930,14 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top (line 186) * -application_id sets application id: SetWrite. (line 90) * -as emulates mkisofs or cdrecord: Emulation. (line 13) -* -assert_volid rejects undesired images: Loading. (line 79) -* -auto_charset learns character set from image: Loading. (line 94) +* -assert_volid rejects undesired images: Loading. (line 80) +* -auto_charset learns character set from image: Loading. (line 95) * -backslash_codes enables backslash conversion: Scripting. (line 45) -* -ban_stdio_write demands real drive: Loading. (line 234) +* -ban_stdio_write demands real drive: Loading. (line 235) * -biblio_file sets biblio file name: SetWrite. (line 138) * -blank erases media: Writing. (line 45) * -boot_image controls bootability: Bootable. (line 26) -* -calm_drive reduces drive activity: Loading. (line 223) +* -calm_drive reduces drive activity: Loading. (line 224) * -cd sets working directory in ISO: Navigate. (line 7) * -cdx sets working directory on disk: Navigate. (line 16) * -charset sets input/output character set: Charset. (line 43) @@ -3967,11 +3968,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -dev aquires one drive for input and output: AqDrive. (line 10) * -devices gets list of drives: Inquiry. (line 7) * -dialog enables dialog mode: DialogCtl. (line 7) -* -disk_dev_ino fast incremental backup: Loading. (line 177) +* -disk_dev_ino fast incremental backup: Loading. (line 178) * -disk_pattern controls pattern expansion: Insert. (line 31) -* -displacment compensate altered image start address: Loading. +* -displacement compensate altered image start address: Loading. (line 35) -* -drive_class controls drive accessability: Loading. (line 49) +* -drive_class controls drive accessability: Loading. (line 50) * -du show directory size in ISO image: Navigate. (line 88) * -dummy controls write simulation: SetWrite. (line 222) * -dus show directory size in ISO image: Navigate. (line 92) @@ -3992,7 +3993,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -find traverses and alters ISO tree: CmdFind. (line 7) * -findx traverses disk tree: Navigate. (line 105) * -follow softlinks and mount points: SetInsert. (line 76) -* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 172) +* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 173) * -format formats media: Writing. (line 69) * -fs sets size of fifo: SetWrite. (line 226) * -getfacl shows ACL in ISO image: Navigate. (line 69) @@ -4001,11 +4002,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -getfattr_r shows xattr in ISO image: Navigate. (line 84) * -gid sets global ownership: SetWrite. (line 166) * -grow_blindly overides next writeable address: AqDrive. (line 44) -* -hardlinks controls handling of hard links: Loading. (line 105) +* -hardlinks controls handling of hard links: Loading. (line 106) * -help prints help text: Scripting. (line 16) * -hide excludes file names from directory trees: Manip. (line 170) * -history brings text into readline history: Scripting. (line 22) -* -in_charset sets input character set: Loading. (line 87) +* -in_charset sets input character set: Loading. (line 88) * -indev aquires a drive for input: AqDrive. (line 22) * -iso_rr_pattern controls pattern expansion: Manip. (line 10) * -jigdo clears JTE or sets input/output character set: Jigdo. @@ -4029,7 +4030,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -map_l inserts paths from disk file: Insert. (line 94) * -map_single inserts path: Insert. (line 90) * -mark sets synchronizing message: Frontend. (line 25) -* -md5 controls handling of MD5 sums: Loading. (line 150) +* -md5 controls handling of MD5 sums: Loading. (line 151) * -mkdir creates ISO directory: Insert. (line 166) * -mount issues mount command for ISO session: Restore. (line 122) * -mount_cmd composes mount command line: Inquiry. (line 31) @@ -4074,7 +4075,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -rmdir deletes ISO directory: Manip. (line 32) * -rollback discards pending changes: Writing. (line 9) * -rollback_end ends program without writing: Scripting. (line 125) -* -rom_toc_scan searches for sessions: Loading. (line 198) +* -rom_toc_scan searches for sessions: Loading. (line 199) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 142) * -scsi_log reports SCSI commands: Scripting. (line 113) * -session_log logs written sessions: Scripting. (line 104) @@ -4108,7 +4109,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -volid sets volume id: SetWrite. (line 60) * -volset_id sets volume set id: SetWrite. (line 79) * -volume_date sets volume timestamp: SetWrite. (line 106) -* -xattr controls handling of xattr (EA): Loading. (line 145) +* -xattr controls handling of xattr (EA): Loading. (line 146) * -zisofs controls zisofs production: SetWrite. (line 170)  @@ -4121,7 +4122,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Menu: * ACL, _definiton: Extras. (line 37) -* ACL, control handling, -acl: Loading. (line 137) +* ACL, control handling, -acl: Loading. (line 138) * ACL, set in ISO image, -setfacl: Manip. (line 73) * ACL, set in ISO image, -setfacl_list: Manip. (line 100) * ACL, set in ISO image, -setfacl_r: Manip. (line 97) @@ -4130,18 +4131,18 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Appendable media, _definition: Media. (line 38) * Appended Filesystem Image, -append_partition: Bootable. (line 186) * Backslash Interpretation, _definition: Processing. (line 49) -* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 177) -* Backup, enable features, -for_backup: Loading. (line 172) +* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 178) +* Backup, enable features, -for_backup: Loading. (line 173) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 142) * Blank media, _definition: Media. (line 29) * Blind growing, _definition: Methods. (line 40) * Bootability, control, -boot_image: Bootable. (line 26) * cdrecord, Emulation: Emulation. (line 87) * Character Set, _definition: Charset. (line 6) -* Character Set, for input, -in_charset: Loading. (line 87) +* Character Set, for input, -in_charset: Loading. (line 88) * Character Set, for input/output, -charset: Charset. (line 43) * Character Set, for output, -out_charset: SetWrite. (line 156) -* Character set, learn from image, -auto_charset: Loading. (line 94) +* Character set, learn from image, -auto_charset: Loading. (line 95) * Character Set, of terminal, -local_charset: Charset. (line 47) * Closed media, _definition: Media. (line 43) * Comment, #: Scripting. (line 128) @@ -4158,15 +4159,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Directory, delete, -rmdir: Manip. (line 32) * disk_path, _definition: Insert. (line 6) * Drive, _definiton: Drives. (line 6) -* Drive, accessability, -drive_class: Loading. (line 49) -* Drive, demand real MMC, -ban_stdio_write: Loading. (line 234) +* Drive, accessability, -drive_class: Loading. (line 50) +* Drive, demand real MMC, -ban_stdio_write: Loading. (line 235) * Drive, eject tray, -eject: Writing. (line 36) * Drive, for input and output, -dev: AqDrive. (line 10) * Drive, for input, -indev: AqDrive. (line 22) * Drive, for output, -outdev: AqDrive. (line 29) * Drive, get drive list, -devices: Inquiry. (line 7) * Drive, list supported media, -list_profiles: Writing. (line 119) -* Drive, reduce activity, -calm_drive: Loading. (line 223) +* Drive, reduce activity, -calm_drive: Loading. (line 224) * Drive, report SCSI commands, -scsi_log: Scripting. (line 113) * Drive, write and eject, -commit_eject: Writing. (line 40) * El Torito, _definiton: Extras. (line 19) @@ -4189,10 +4190,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Group, in ISO image, -chgrp: Manip. (line 50) * Group, in ISO image, -chgrp_r: Manip. (line 55) * Growing, _definition: Methods. (line 19) -* Hard links, control handling, -hardlinks: Loading. (line 105) +* Hard links, control handling, -hardlinks: Loading. (line 106) * hidden, set in ISO image, -hide: Manip. (line 170) * Image, _definition: Model. (line 9) -* Image, demand volume id, -assert_volid: Loading. (line 79) +* Image, demand volume id, -assert_volid: Loading. (line 80) * Image, discard pending changes, -rollback: Writing. (line 9) * Image, set abstract file name, -abstract_file: SetWrite. (line 131) * Image, set application id, -application_id: SetWrite. (line 90) @@ -4233,7 +4234,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * List delimiter, _definiton: Processing. (line 8) * MBR, _definiton: Extras. (line 26) * MBR, set, -boot_image system_area=: Bootable. (line 123) -* MD5, control handling, -md5: Loading. (line 150) +* MD5, control handling, -md5: Loading. (line 151) * Media, erase, -blank: Writing. (line 45) * Media, format, -format: Writing. (line 69) * Media, list formats, -list_formats: Writing. (line 107) @@ -4319,7 +4320,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * SUN Disk Label, production: Bootable. (line 173) * SUN SPARC boot images, activation: Bootable. (line 207) * System area, _definiton: Bootable. (line 123) -* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 198) +* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 199) * Table-of-content, show, -toc: Inquiry. (line 18) * Timestamps, set in ISO image, -alter_date: Manip. (line 146) * Timestamps, set in ISO image, -alter_date_r: Manip. (line 166) @@ -4349,7 +4350,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Write, set speed, -speed: SetWrite. (line 182) * Write, simulation, -dummy: SetWrite. (line 222) * xattr, _definiton: Extras. (line 51) -* xattr, control handling, -xattr: Loading. (line 145) +* xattr, control handling, -xattr: Loading. (line 146) * xattr, set in ISO image, -setfattr: Manip. (line 110) * xattr, set in ISO image, -setfattr_list: Manip. (line 126) * xattr, set in ISO image, -setfattr_r: Manip. (line 123) @@ -4371,46 +4372,46 @@ Node: Dialog21524 Node: Options23181 Node: AqDrive24789 Node: Loading27695 -Node: Insert40593 -Node: SetInsert48950 -Node: Manip57517 -Node: CmdFind66198 -Node: Filter76443 -Node: Writing80792 -Node: SetWrite87081 -Node: Bootable99032 -Node: Jigdo111339 -Node: Charset115597 -Node: Exception118348 -Node: DialogCtl122863 -Node: Inquiry125208 -Node: Navigate129338 -Node: Verify136936 -Node: Restore145356 -Node: Emulation152012 -Node: Scripting160301 -Node: Frontend165863 -Node: Examples167158 -Node: ExDevices168327 -Node: ExCreate168961 -Node: ExDialog170235 -Node: ExGrowing171497 -Node: ExModifying172299 -Node: ExBootable172800 -Node: ExCharset173347 -Node: ExPseudo174175 -Node: ExCdrecord175069 -Node: ExMkisofs175384 -Node: ExGrowisofs176387 -Node: ExException177511 -Node: ExTime177965 -Node: ExIncBackup178424 -Node: ExRestore181896 -Node: ExRecovery182865 -Node: Files183431 -Node: Seealso184659 -Node: Legal185183 -Node: CommandIdx186105 -Node: ConceptIdx200330 +Node: Insert40659 +Node: SetInsert49016 +Node: Manip57583 +Node: CmdFind66264 +Node: Filter76509 +Node: Writing80858 +Node: SetWrite87147 +Node: Bootable99098 +Node: Jigdo111405 +Node: Charset115663 +Node: Exception118414 +Node: DialogCtl122929 +Node: Inquiry125274 +Node: Navigate129404 +Node: Verify137002 +Node: Restore145422 +Node: Emulation152078 +Node: Scripting160367 +Node: Frontend165929 +Node: Examples167224 +Node: ExDevices168393 +Node: ExCreate169027 +Node: ExDialog170301 +Node: ExGrowing171563 +Node: ExModifying172365 +Node: ExBootable172866 +Node: ExCharset173413 +Node: ExPseudo174241 +Node: ExCdrecord175135 +Node: ExMkisofs175450 +Node: ExGrowisofs176453 +Node: ExException177577 +Node: ExTime178031 +Node: ExIncBackup178490 +Node: ExRestore181962 +Node: ExRecovery182931 +Node: Files183497 +Node: Seealso184725 +Node: Legal185249 +Node: CommandIdx186171 +Node: ConceptIdx200397  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorriso.texi b/libisoburn/trunk/xorriso/xorriso.texi index 327b1b89..e9ad1c48 100644 --- a/libisoburn/trunk/xorriso/xorriso.texi +++ b/libisoburn/trunk/xorriso/xorriso.texi @@ -44,7 +44,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 XORRISO 1 "Dec 02, 2010" +@c man .TH XORRISO 1 "Dec 04, 2010" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -838,11 +838,12 @@ setting is valid for -rollback until next -dev or -indev, where it will be reset to "auto". @c man .TP @item -displacement [-]lba -@kindex -displacment compensate altered image start address +@kindex -displacement compensate altered image start address @cindex Session, altered start address, -displacement Compensate an eventual displacement of the image versus the start address for which the image was prepared. This affects only loading of ISO images -and reading of their files. +and reading of their files. Writing is not allowed as long as -displacement +is non-zero. Examples: @* If a track of a CD starts at block 123456 and gets copied to a disk file diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index bf4f6f19..1afc6de3 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2010.12.04.174311" +#define Xorriso_timestamP "2010.12.04.174431"