Bug fix: -not_leaf and -not_paths were not applied to -extract and alike
This commit is contained in:
parent
358262818e
commit
b5a33c3418
@ -1,7 +1,7 @@
|
||||
|
||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
|
||||
@ -3126,28 +3126,43 @@ int Xorriso_pipe_open(struct XorrisO *xorriso, char *purpose, char *cmd,
|
||||
|
||||
|
||||
/* @param flag bit0= path is a command parameter
|
||||
bit1= prepend xorriso->wdx if path is relative
|
||||
bit2= do not issue note about excluded parameter
|
||||
*/
|
||||
int Xorriso_path_is_excluded(struct XorrisO *xorriso, char *path, int flag)
|
||||
{
|
||||
int ret;
|
||||
char *path_pt, *local_path_mem= NULL;
|
||||
|
||||
if(!(xorriso->disk_excl_mode&1)) /* exclusion is off */
|
||||
return(0);
|
||||
{ret= 0; goto ex;}
|
||||
if((flag&1) && !(xorriso->disk_excl_mode&2)) /* params are exempted */
|
||||
return(0);
|
||||
ret= Exclusions_match(xorriso->disk_exclusions, path,
|
||||
{ret= 0; goto ex;}
|
||||
|
||||
path_pt= path;
|
||||
if((flag & 2) && path[0] != '/' && path[0] != 0) {
|
||||
Xorriso_alloc_meM(local_path_mem, char,
|
||||
strlen(xorriso->wdx) + 1 + strlen(path) + 1);
|
||||
strcpy(local_path_mem, xorriso->wdx);
|
||||
strcat(local_path_mem, "/");
|
||||
strcat(local_path_mem, path);
|
||||
path_pt= local_path_mem;
|
||||
}
|
||||
ret= Exclusions_match(xorriso->disk_exclusions, path_pt,
|
||||
!!(xorriso->disk_excl_mode&4));
|
||||
if(ret<0) {
|
||||
sprintf(xorriso->info_text,
|
||||
"Error during disk file exclusion decision");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
|
||||
}
|
||||
if(ret>0 && (flag&1)) {
|
||||
if(ret > 0 && (flag & 1) && !(flag & 4)) {
|
||||
sprintf(xorriso->info_text, "Disk path parameter excluded by %s : ",
|
||||
(ret==1 ? "-not_paths" : "-not_leaf"));
|
||||
Text_shellsafe(path, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
}
|
||||
ex:;
|
||||
Xorriso_free_meM(local_path_mem);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
|
||||
@ -1591,7 +1591,6 @@ ex:;
|
||||
/* @param flag bit0= recursion is active
|
||||
bit1= do not report restored files
|
||||
bit6= this is a copy action: do not fake times and ownership
|
||||
bit8= only register non-directory nodes in xorriso->node_array
|
||||
bit7+8=
|
||||
0= direct operation
|
||||
1= create only directories,
|
||||
@ -1731,9 +1730,14 @@ much_too_long:;
|
||||
{ret= 0; goto was_problem;}
|
||||
if(Xorriso_much_too_long(xorriso, len_ip + strlen(leaf_name)+1, 0)<=0)
|
||||
{ret= 0; goto was_problem;}
|
||||
/* name is a pointer into img_path */
|
||||
/* name and disk_name are pointers into img_path and disk_path */
|
||||
strcpy(name, leaf_name);
|
||||
strcpy(disk_name, leaf_name);
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, 2);
|
||||
if(ret < 0)
|
||||
goto was_problem;
|
||||
if(ret > 0)
|
||||
continue;
|
||||
|
||||
stbuf_src= srcpt;
|
||||
ret= Xorriso_fake_stbuf(xorriso, img_path, &stbuf, &node, 1);
|
||||
@ -1811,6 +1815,8 @@ much_too_long:;
|
||||
} else {
|
||||
ret= Xorriso_restore_disk_object(xorriso, img_path, node, disk_path,
|
||||
(off_t) 0, (off_t) 0, hflag);
|
||||
if(ret == 3) /* intentionally not restored */
|
||||
do_not_dive= 1;
|
||||
}
|
||||
if(ret<=0)
|
||||
goto was_problem;
|
||||
@ -1923,11 +1929,18 @@ int Xorriso_restore(struct XorrisO *xorriso,
|
||||
goto ex;
|
||||
}
|
||||
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, !(flag&4));
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, 4 | 2 | !(flag & 4));
|
||||
if(ret < 0)
|
||||
goto ex;
|
||||
if(ret>0)
|
||||
{ret= 0; goto ex;}
|
||||
if(ret > 0) {
|
||||
if(!(flag & 4)) {
|
||||
strcpy(xorriso->info_text,
|
||||
"Excluded from restoring by -not_path or -not_leaf :");
|
||||
Text_shellsafe(disk_path, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
}
|
||||
{ret= 3*!!(flag&16); goto ex;}
|
||||
}
|
||||
|
||||
ret= Xorriso_get_volume(xorriso, &volume, 0);
|
||||
if(ret<=0)
|
||||
@ -2127,6 +2140,10 @@ int Xorriso_restore_node_array(struct XorrisO *xorriso, int flag)
|
||||
if(ret<=0)
|
||||
goto was_problem;
|
||||
|
||||
/* (Exclusion must already be handled when the node array gets filled,
|
||||
because of no distinction between parameter and tree passenger here.)
|
||||
*/
|
||||
|
||||
ret= Xorriso_handle_collision(xorriso, node, img_path, disk_path, disk_path,
|
||||
&stbuf_ret, 64);
|
||||
if(ret<=0 || ret==3)
|
||||
@ -2213,9 +2230,16 @@ int Xorriso_paste_in(struct XorrisO *xorriso, char *disk_path,
|
||||
2|4);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, !(flag&1));
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, 4 | 2 | !(flag & 1));
|
||||
if(ret > 0 && !(flag & 1)) {
|
||||
strcpy(xorriso->info_text,
|
||||
"Excluded from restoring by -not_path or -not_leaf :");
|
||||
Text_shellsafe(disk_path, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
}
|
||||
if(ret!=0)
|
||||
{ret= 0; goto ex;}
|
||||
|
||||
ret= stat(eff_dest, &stbuf);
|
||||
if(ret!=-1 && !S_ISREG(stbuf.st_mode)) {
|
||||
Xorriso_msgs_submit(xorriso, 0, eff_dest, 0, "ERRFILE", 0);
|
||||
@ -2279,13 +2303,16 @@ int Xorriso_extract_cut(struct XorrisO *xorriso,
|
||||
disk_path, eff_disk_path, 2 | 4);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
Xorriso_pacifier_reset(xorriso, 0);
|
||||
mem_lut= xorriso->last_update_time;
|
||||
|
||||
ret= Xorriso_handle_collision(xorriso, node, img_path, eff_disk_path,
|
||||
disk_path, &stbuf_ret, 0);
|
||||
if(ret<=0 || ret==3)
|
||||
ret= Xorriso_path_is_excluded(xorriso, eff_disk_path, 1 | 2 | 4);
|
||||
if(ret < 0)
|
||||
goto ex;
|
||||
if(ret > 0) {
|
||||
strcpy(xorriso->info_text,
|
||||
"Excluded from restoring by -not_path or -not_leaf :");
|
||||
Text_shellsafe(eff_disk_path, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
|
||||
/* If it is a non-filtered stream from the ISO image
|
||||
and img_offset is a multiple of 2048
|
||||
@ -2299,6 +2326,13 @@ int Xorriso_extract_cut(struct XorrisO *xorriso,
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
ret= Xorriso_handle_collision(xorriso, node, img_path, eff_disk_path,
|
||||
disk_path, &stbuf_ret, 0);
|
||||
if(ret<=0 || ret==3)
|
||||
{ret= 0; goto ex;}
|
||||
|
||||
Xorriso_pacifier_reset(xorriso, 0);
|
||||
mem_lut= xorriso->last_update_time;
|
||||
read_raw= 0;
|
||||
if((img_offset % 2048) == 0) {
|
||||
ret= Xorriso_is_plain_image_file(xorriso, node, "", 0);
|
||||
|
@ -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 "Version 1.5.5, Sep 12, 2021"
|
||||
.TH XORRISO 1 "Version 1.5.5, Sep 13, 2021"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -1494,10 +1494,13 @@ the target filesystem of an \-extract must be able to take the file size.
|
||||
\fB\-not_mgt\fR code[:code[...]]
|
||||
Control the behavior of the exclusion lists.
|
||||
.br
|
||||
Exclusion processing happens before disk_paths get mapped to the ISO image
|
||||
and before disk files get compared with image files.
|
||||
The absolute disk path of the source is matched against the \-not_paths list.
|
||||
The leafname of the disk path is matched against the patterns in the \-not_leaf
|
||||
Exclusion processing happens before disk_paths get mapped to the ISO image,
|
||||
before disk files get compared with image files, and before image files get
|
||||
extracted to disk files.
|
||||
.br
|
||||
The absolute disk paths involved in such an action are matched against the
|
||||
\-not_paths list.
|
||||
The leafnames of disk paths are matched against the patterns in the \-not_leaf
|
||||
list. If a match is detected then the disk path will not be regarded as an
|
||||
existing file and not be added to the ISO image.
|
||||
.br
|
||||
@ -1538,6 +1541,13 @@ path is relative, then the current \-cdx is prepended to form an absolute path.
|
||||
Pattern matching, if enabled, happens at definition time and not when exclusion
|
||||
checks are made.
|
||||
.br
|
||||
Keep in mind that there may be alternative paths to the same disk file. The
|
||||
exclusion tests are done literally, so that they do not keep files from getting
|
||||
into the ISO filesystem by other paths. Accordingly an exclusion does not
|
||||
prevent a disk file from being overwritten by file extraction via an
|
||||
alternative not excluded path. So the exlusions need to be coordinated with
|
||||
the actual disk_path parameters given with commands.
|
||||
.br
|
||||
(Do not forget to end the list of disk_paths by "\-\-")
|
||||
.TP
|
||||
\fB\-not_leaf\fR pattern
|
||||
@ -4983,6 +4993,15 @@ But its alter ego osirrox is able to extract file objects
|
||||
from ISO images and to create, overwrite, or delete file objects on disk.
|
||||
.br
|
||||
Disk file exclusions by \-not_mgt, \-not_leaf, \-not_paths apply.
|
||||
The exclusion tests are made with the paths and names for the disk files.
|
||||
If exclusion of paths or names in the ISO image is desired, then use image
|
||||
manipulation commands like \-rm or \-find ... \-exec rm before extraction,
|
||||
and end the program by \-rollback_end .
|
||||
.br
|
||||
Excluded disk_path parameters of extraction commands cause SORRY events.
|
||||
Implicitely given paths in trees under disk_path parameters are excluded
|
||||
silently.
|
||||
.br
|
||||
If disk file objects already exist then the settings of \-overwrite and
|
||||
\-reassure apply. But \-overwrite "on" only triggers the behavior
|
||||
of \-overwrite "nondir". I.e. directories cannot be deleted.
|
||||
|
@ -1332,12 +1332,13 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands
|
||||
-not_mgt code[:code[...]]
|
||||
Control the behavior of the exclusion lists.
|
||||
Exclusion processing happens before disk_paths get mapped to the
|
||||
ISO image and before disk files get compared with image files. The
|
||||
absolute disk path of the source is matched against the -not_paths
|
||||
list. The leafname of the disk path is matched against the
|
||||
patterns in the -not_leaf list. If a match is detected then the
|
||||
disk path will not be regarded as an existing file and not be added
|
||||
to the ISO image.
|
||||
ISO image, before disk files get compared with image files, and
|
||||
before image files get extracted to disk files.
|
||||
The absolute disk paths involved in such an action are matched
|
||||
against the -not_paths list. The leafnames of disk paths are
|
||||
matched against the patterns in the -not_leaf list. If a match is
|
||||
detected then the disk path will not be regarded as an existing
|
||||
file and not be added to the ISO image.
|
||||
Several codes are defined. The _on/_off settings persist until
|
||||
they are revoked by their_off/_on counterparts.
|
||||
"erase" empties the lists which were accumulated by -not_paths and
|
||||
@ -1365,6 +1366,13 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands
|
||||
If a given path is relative, then the current -cdx is prepended to
|
||||
form an absolute path. Pattern matching, if enabled, happens at
|
||||
definition time and not when exclusion checks are made.
|
||||
Keep in mind that there may be alternative paths to the same disk
|
||||
file. The exclusion tests are done literally, so that they do not
|
||||
keep files from getting into the ISO filesystem by other paths.
|
||||
Accordingly an exclusion does not prevent a disk file from being
|
||||
overwritten by file extraction via an alternative not excluded
|
||||
path. So the exlusions need to be coordinated with the actual
|
||||
disk_path parameters given with commands.
|
||||
(Do not forget to end the list of disk_paths by "--")
|
||||
-not_leaf pattern
|
||||
Add a single shell parser style pattern to the list of exclusions
|
||||
@ -4201,10 +4209,17 @@ Normally 'xorriso' only writes to disk files which were given as stdio:
|
||||
pseudo-drives or as log files. But its alter ego osirrox is able to
|
||||
extract file objects from ISO images and to create, overwrite, or delete
|
||||
file objects on disk.
|
||||
Disk file exclusions by -not_mgt, -not_leaf, -not_paths apply. If disk
|
||||
file objects already exist then the settings of -overwrite and -reassure
|
||||
apply. But -overwrite "on" only triggers the behavior of -overwrite
|
||||
"nondir". I.e. directories cannot be deleted.
|
||||
Disk file exclusions by -not_mgt, -not_leaf, -not_paths apply. The
|
||||
exclusion tests are made with the paths and names for the disk files.
|
||||
If exclusion of paths or names in the ISO image is desired, then use
|
||||
image manipulation commands like -rm or -find ... -exec rm before
|
||||
extraction, and end the program by -rollback_end .
|
||||
Excluded disk_path parameters of extraction commands cause SORRY events.
|
||||
Implicitely given paths in trees under disk_path parameters are excluded
|
||||
silently.
|
||||
If disk file objects already exist then the settings of -overwrite and
|
||||
-reassure apply. But -overwrite "on" only triggers the behavior of
|
||||
-overwrite "nondir". I.e. directories cannot be deleted.
|
||||
Access permissions of files in the ISO image do not restrict restoring.
|
||||
The directory permissions on disk have to allow rwx.
|
||||
|
||||
@ -5599,14 +5614,14 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -compare_l reports ISO/disk differences: Navigate. (line 147)
|
||||
* -compare_r reports ISO/disk differences: Navigate. (line 143)
|
||||
* -compliance controls standard compliance: SetWrite. (line 62)
|
||||
* -concat copies ISO file content: Restore. (line 139)
|
||||
* -concat copies ISO file content: Restore. (line 146)
|
||||
* -copyright_file sets copyright file name: SetWrite. (line 245)
|
||||
* -cpax copies files to disk: Restore. (line 121)
|
||||
* -cpax copies files to disk: Restore. (line 128)
|
||||
* -cpr inserts like with cp -r: Insert. (line 164)
|
||||
* -cpx copies files to disk: Restore. (line 110)
|
||||
* -cpx copies files to disk: Restore. (line 117)
|
||||
* -cp_clone copies ISO directory tree: Insert. (line 196)
|
||||
* -cp_rx copies file trees to disk: Restore. (line 124)
|
||||
* -cp_rx copies file trees to disk <1>: Restore. (line 132)
|
||||
* -cp_rx copies file trees to disk: Restore. (line 131)
|
||||
* -cp_rx copies file trees to disk <1>: Restore. (line 139)
|
||||
* -cut_out inserts piece of data file: Insert. (line 139)
|
||||
* -data_cache_size adjusts read cache size: Loading. (line 362)
|
||||
* -dev acquires one drive for input and output: AqDrive. (line 12)
|
||||
@ -5633,17 +5648,17 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -error_behavior controls error workarounds: Exception. (line 92)
|
||||
* -external_filter registers data filter: Filter. (line 20)
|
||||
* -external_filter unregisters data filter: Filter. (line 47)
|
||||
* -extract copies file tree to disk: Restore. (line 83)
|
||||
* -extract copies file tree to disk: Restore. (line 90)
|
||||
* -extract_boot_images copies boot equipment to disk: Restore.
|
||||
(line 167)
|
||||
* -extract_cut copies file piece to disk: Restore. (line 101)
|
||||
* -extract_l copies files to disk: Restore. (line 97)
|
||||
* -extract_single copies file to disk: Restore. (line 94)
|
||||
(line 174)
|
||||
* -extract_cut copies file piece to disk: Restore. (line 108)
|
||||
* -extract_l copies files to disk: Restore. (line 104)
|
||||
* -extract_single copies file to disk: Restore. (line 101)
|
||||
* -file_name_limit curbs length of file names: Loading. (line 276)
|
||||
* -file_size_limit limits data file size: SetInsert. (line 7)
|
||||
* -find traverses and alters ISO tree: CmdFind. (line 7)
|
||||
* -findx traverses disk tree: Navigate. (line 91)
|
||||
* -follow softlinks and mount points: SetInsert. (line 69)
|
||||
* -follow softlinks and mount points: SetInsert. (line 77)
|
||||
* -format formats media: Writing. (line 87)
|
||||
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 215)
|
||||
* -fs sets size of fifo: SetWrite. (line 479)
|
||||
@ -5693,28 +5708,28 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -md5 controls handling of MD5 sums: Loading. (line 184)
|
||||
* -mkdir creates ISO directory: Insert. (line 177)
|
||||
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 419)
|
||||
* -mount issues mount command for ISO session: Restore. (line 195)
|
||||
* -mount issues mount command for ISO session: Restore. (line 202)
|
||||
* -mount_cmd composes mount command line: Inquiry. (line 49)
|
||||
* -mount_cmd controls mount command: Inquiry. (line 65)
|
||||
* -msg_op perform operations on program messages: Frontend. (line 27)
|
||||
* -mv renames files in ISO image: Manip. (line 37)
|
||||
* -mv renames single file in ISO image: Manip. (line 31)
|
||||
* -named_pipe_loop enters EOF resistant dialog: Frontend. (line 119)
|
||||
* -not_leaf sets exclusion pattern: SetInsert. (line 59)
|
||||
* -not_list sets exclusions from disk file: SetInsert. (line 63)
|
||||
* -not_leaf sets exclusion pattern: SetInsert. (line 67)
|
||||
* -not_list sets exclusions from disk file: SetInsert. (line 71)
|
||||
* -not_mgt controls file exclusion: SetInsert. (line 22)
|
||||
* -not_paths sets absolute exclusion paths: SetInsert. (line 53)
|
||||
* -not_paths sets absolute exclusion paths: SetInsert. (line 54)
|
||||
* -no_rc disables startup files: Scripting. (line 7)
|
||||
* -options_from_file reads commands from file: Scripting. (line 12)
|
||||
* -osirrox enables ISO-to-disk copying: Restore. (line 18)
|
||||
* -osirrox enables ISO-to-disk copying: Restore. (line 25)
|
||||
* -outdev acquires a drive for output: AqDrive. (line 29)
|
||||
* -out_charset sets output character set: SetWrite. (line 285)
|
||||
* -overwrite enables overwriting in ISO: SetInsert. (line 131)
|
||||
* -overwrite enables overwriting in ISO: SetInsert. (line 139)
|
||||
* -pacifier controls pacifier text form: Emulation. (line 166)
|
||||
* -padding sets amount or mode of image padding: SetWrite. (line 507)
|
||||
* -page set terminal geometry: DialogCtl. (line 18)
|
||||
* -paste_in copies file into disk file: Restore. (line 135)
|
||||
* -pathspecs sets meaning of = with -add: SetInsert. (line 115)
|
||||
* -paste_in copies file into disk file: Restore. (line 142)
|
||||
* -pathspecs sets meaning of = with -add: SetInsert. (line 123)
|
||||
* -path_list inserts paths from disk file: Insert. (line 81)
|
||||
* -pkt_output consolidates text output: Frontend. (line 7)
|
||||
* -preparer_id sets preparer id: SetWrite. (line 261)
|
||||
@ -5729,7 +5744,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -pvd_info shows image id strings: Inquiry. (line 108)
|
||||
* -pwd tells working directory in ISO: Navigate. (line 19)
|
||||
* -pwdx tells working directory on disk: Navigate. (line 21)
|
||||
* -quoted_not_list sets exclusions: SetInsert. (line 66)
|
||||
* -quoted_not_list sets exclusions: SetInsert. (line 74)
|
||||
* -quoted_path_list inserts paths from disk file: Insert. (line 85)
|
||||
* -read_fs filesystem type for image loading: Loading. (line 96)
|
||||
* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation.
|
||||
@ -5770,7 +5785,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
(line 66)
|
||||
* -sleep waits for a given time span: Scripting. (line 113)
|
||||
* -speed set write speed: SetWrite. (line 371)
|
||||
* -split_size enables large file splitting: SetInsert. (line 145)
|
||||
* -split_size enables large file splitting: SetInsert. (line 153)
|
||||
* -status shows current settings: Scripting. (line 44)
|
||||
* -status_history_max curbs -status history: Scripting. (line 52)
|
||||
* -stdio_sync controls stdio buffer: SetWrite. (line 469)
|
||||
@ -5886,7 +5901,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Emulation, pacifier form, -pacifier: Emulation. (line 166)
|
||||
* Examples: Examples. (line 6)
|
||||
* extattr, _definition: Extras. (line 66)
|
||||
* File content, copy, -concat: Restore. (line 139)
|
||||
* File content, copy, -concat: Restore. (line 146)
|
||||
* File names, curb length, -file_name_limit: Loading. (line 276)
|
||||
* File names, if Joliet is loaded: Loading. (line 242)
|
||||
* File names, if neither Rock Ridge nor Joliet: Loading. (line 229)
|
||||
@ -5936,21 +5951,21 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 138)
|
||||
* Image, _definition: Model. (line 9)
|
||||
* Input Character Set, _definition: Charset. (line 25)
|
||||
* Insert, enable overwriting, -overwrite: SetInsert. (line 131)
|
||||
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 53)
|
||||
* Insert, file exclusion from file, -not_list: SetInsert. (line 63)
|
||||
* Insert, file exclusion pattern, -not_leaf: SetInsert. (line 59)
|
||||
* Insert, enable overwriting, -overwrite: SetInsert. (line 139)
|
||||
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 54)
|
||||
* Insert, file exclusion from file, -not_list: SetInsert. (line 71)
|
||||
* Insert, file exclusion pattern, -not_leaf: SetInsert. (line 67)
|
||||
* Insert, file exclusion, -not_mgt: SetInsert. (line 22)
|
||||
* Insert, file exclusion, -quoted_not_list: SetInsert. (line 66)
|
||||
* Insert, file exclusion, -quoted_not_list: SetInsert. (line 74)
|
||||
* Insert, if different, -update: Insert. (line 100)
|
||||
* Insert, if different, -update_l: Insert. (line 120)
|
||||
* Insert, if different, -update_li: Insert. (line 124)
|
||||
* Insert, if different, -update_lxi: Insert. (line 128)
|
||||
* Insert, if different, -update_r: Insert. (line 110)
|
||||
* Insert, large file splitting, -split_size: SetInsert. (line 145)
|
||||
* Insert, large file splitting, -split_size: SetInsert. (line 153)
|
||||
* Insert, limit data file size, -file_size_limit: SetInsert. (line 7)
|
||||
* Insert, links or mount points, -follow: SetInsert. (line 69)
|
||||
* Insert, meaning of = with -add, -pathspecs: SetInsert. (line 115)
|
||||
* Insert, links or mount points, -follow: SetInsert. (line 77)
|
||||
* Insert, meaning of = with -add, -pathspecs: SetInsert. (line 123)
|
||||
* Insert, non-dashed arguments, -add_plainly: Insert. (line 68)
|
||||
* Insert, path, -map: Insert. (line 89)
|
||||
* Insert, path, -map_single: Insert. (line 93)
|
||||
@ -6008,7 +6023,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Ownership, in ISO image, -chown_r: Manip. (line 47)
|
||||
* Partition offset, _definition: Bootable. (line 315)
|
||||
* Partition table, _definition: Bootable. (line 265)
|
||||
* Pathspec, _definition: SetInsert. (line 117)
|
||||
* Pathspec, _definition: SetInsert. (line 125)
|
||||
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 34)
|
||||
* Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10)
|
||||
* Pattern expansion, _definition: Processing. (line 29)
|
||||
@ -6053,23 +6068,23 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Rename, in ISO image, -move: Manip. (line 31)
|
||||
* Rename, in ISO image, -mv: Manip. (line 37)
|
||||
* Restore, copy boot equipment to disk, -extract_boot_images: Restore.
|
||||
(line 167)
|
||||
* Restore, copy file into disk file, -paste_in: Restore. (line 135)
|
||||
* Restore, copy file piece to disk, -extract_cut: Restore. (line 101)
|
||||
* Restore, copy file to disk, -extract_single: Restore. (line 94)
|
||||
* Restore, copy file tree to disk, -extract: Restore. (line 83)
|
||||
* Restore, copy file trees to disk, -cp_rx: Restore. (line 124)
|
||||
* Restore, copy file trees to disk, -cp_rx <1>: Restore. (line 132)
|
||||
* Restore, copy files to disk, -cpax: Restore. (line 121)
|
||||
* Restore, copy files to disk, -cpx: Restore. (line 110)
|
||||
* Restore, copy files to disk, -extract_l: Restore. (line 97)
|
||||
* Restore, enable ISO-to-disk, -osirrox: Restore. (line 18)
|
||||
(line 174)
|
||||
* Restore, copy file into disk file, -paste_in: Restore. (line 142)
|
||||
* Restore, copy file piece to disk, -extract_cut: Restore. (line 108)
|
||||
* Restore, copy file to disk, -extract_single: Restore. (line 101)
|
||||
* Restore, copy file tree to disk, -extract: Restore. (line 90)
|
||||
* Restore, copy file trees to disk, -cp_rx: Restore. (line 131)
|
||||
* Restore, copy file trees to disk, -cp_rx <1>: Restore. (line 139)
|
||||
* Restore, copy files to disk, -cpax: Restore. (line 128)
|
||||
* Restore, copy files to disk, -cpx: Restore. (line 117)
|
||||
* Restore, copy files to disk, -extract_l: Restore. (line 104)
|
||||
* Restore, enable ISO-to-disk, -osirrox: Restore. (line 25)
|
||||
* Result layout, more shell-like, -sh_style_result: Scripting.
|
||||
(line 61)
|
||||
* Rock Ridge, _definition: Extras. (line 6)
|
||||
* Session, altered start address, -displacement: Loading. (line 78)
|
||||
* Session, info string, -session_string: Inquiry. (line 74)
|
||||
* Session, issue mount command, -mount: Restore. (line 195)
|
||||
* Session, issue mount command, -mount: Restore. (line 202)
|
||||
* Session, log when written, -session_log: Scripting. (line 134)
|
||||
* Session, mount command line, -mount_cmd: Inquiry. (line 49)
|
||||
* Session, mount parameters, -mount_opts: Inquiry. (line 65)
|
||||
@ -6140,46 +6155,46 @@ Node: AqDrive28961
|
||||
Node: Loading36118
|
||||
Node: Insert57957
|
||||
Node: SetInsert69460
|
||||
Node: Manip78892
|
||||
Node: CmdFind88992
|
||||
Node: Filter107921
|
||||
Node: Writing112543
|
||||
Node: SetWrite124798
|
||||
Node: Bootable154649
|
||||
Node: Jigdo182530
|
||||
Node: Charset187533
|
||||
Node: Exception190862
|
||||
Node: DialogCtl196991
|
||||
Node: Inquiry199593
|
||||
Node: Navigate208475
|
||||
Node: Verify217182
|
||||
Node: Restore228331
|
||||
Node: Emulation240030
|
||||
Node: Scripting250486
|
||||
Node: Frontend258269
|
||||
Node: Examples267895
|
||||
Node: ExDevices269073
|
||||
Node: ExCreate269734
|
||||
Node: ExDialog271034
|
||||
Node: ExGrowing272305
|
||||
Node: ExModifying273114
|
||||
Node: ExBootable273624
|
||||
Node: ExCharset274179
|
||||
Node: ExPseudo275075
|
||||
Node: ExCdrecord276002
|
||||
Node: ExMkisofs276322
|
||||
Node: ExGrowisofs278219
|
||||
Node: ExException279372
|
||||
Node: ExTime279830
|
||||
Node: ExIncBackup280288
|
||||
Node: ExRestore284314
|
||||
Node: ExRecovery285260
|
||||
Node: Files285832
|
||||
Node: Environ287166
|
||||
Node: Seealso287914
|
||||
Node: Bugreport288631
|
||||
Node: Legal289222
|
||||
Node: CommandIdx290234
|
||||
Node: ConceptIdx308059
|
||||
Node: Manip79424
|
||||
Node: CmdFind89524
|
||||
Node: Filter108453
|
||||
Node: Writing113075
|
||||
Node: SetWrite125330
|
||||
Node: Bootable155181
|
||||
Node: Jigdo183062
|
||||
Node: Charset188065
|
||||
Node: Exception191394
|
||||
Node: DialogCtl197523
|
||||
Node: Inquiry200125
|
||||
Node: Navigate209007
|
||||
Node: Verify217714
|
||||
Node: Restore228863
|
||||
Node: Emulation240979
|
||||
Node: Scripting251435
|
||||
Node: Frontend259218
|
||||
Node: Examples268844
|
||||
Node: ExDevices270022
|
||||
Node: ExCreate270683
|
||||
Node: ExDialog271983
|
||||
Node: ExGrowing273254
|
||||
Node: ExModifying274063
|
||||
Node: ExBootable274573
|
||||
Node: ExCharset275128
|
||||
Node: ExPseudo276024
|
||||
Node: ExCdrecord276951
|
||||
Node: ExMkisofs277271
|
||||
Node: ExGrowisofs279168
|
||||
Node: ExException280321
|
||||
Node: ExTime280779
|
||||
Node: ExIncBackup281237
|
||||
Node: ExRestore285263
|
||||
Node: ExRecovery286209
|
||||
Node: Files286781
|
||||
Node: Environ288115
|
||||
Node: Seealso288863
|
||||
Node: Bugreport289580
|
||||
Node: Legal290171
|
||||
Node: CommandIdx291183
|
||||
Node: ConceptIdx309008
|
||||
|
||||
End Tag Table
|
||||
|
@ -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 XORRISO 1 "Version 1.5.5, Sep 12, 2021"
|
||||
@c man .TH XORRISO 1 "Version 1.5.5, Sep 13, 2021"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -1821,10 +1821,13 @@ the target filesystem of an -extract must be able to take the file size.
|
||||
@cindex Insert, file exclusion, -not_mgt
|
||||
Control the behavior of the exclusion lists.
|
||||
@*
|
||||
Exclusion processing happens before disk_paths get mapped to the ISO image
|
||||
and before disk files get compared with image files.
|
||||
The absolute disk path of the source is matched against the -not_paths list.
|
||||
The leafname of the disk path is matched against the patterns in the -not_leaf
|
||||
Exclusion processing happens before disk_paths get mapped to the ISO image,
|
||||
before disk files get compared with image files, and before image files get
|
||||
extracted to disk files.
|
||||
@*
|
||||
The absolute disk paths involved in such an action are matched against the
|
||||
-not_paths list.
|
||||
The leafnames of disk paths are matched against the patterns in the -not_leaf
|
||||
list. If a match is detected then the disk path will not be regarded as an
|
||||
existing file and not be added to the ISO image.
|
||||
@*
|
||||
@ -1867,6 +1870,13 @@ path is relative, then the current -cdx is prepended to form an absolute path.
|
||||
Pattern matching, if enabled, happens at definition time and not when exclusion
|
||||
checks are made.
|
||||
@*
|
||||
Keep in mind that there may be alternative paths to the same disk file. The
|
||||
exclusion tests are done literally, so that they do not keep files from getting
|
||||
into the ISO filesystem by other paths. Accordingly an exclusion does not
|
||||
prevent a disk file from being overwritten by file extraction via an
|
||||
alternative not excluded path. So the exlusions need to be coordinated with
|
||||
the actual disk_path parameters given with commands.
|
||||
@*
|
||||
(Do not forget to end the list of disk_paths by "@minus{}@minus{}")
|
||||
@c man .TP
|
||||
@item -not_leaf pattern
|
||||
@ -5719,6 +5729,15 @@ But its alter ego osirrox is able to extract file objects
|
||||
from ISO images and to create, overwrite, or delete file objects on disk.
|
||||
@*
|
||||
Disk file exclusions by -not_mgt, -not_leaf, -not_paths apply.
|
||||
The exclusion tests are made with the paths and names for the disk files.
|
||||
If exclusion of paths or names in the ISO image is desired, then use image
|
||||
manipulation commands like -rm or -find ... -exec rm before extraction,
|
||||
and end the program by -rollback_end .
|
||||
@*
|
||||
Excluded disk_path parameters of extraction commands cause SORRY events.
|
||||
Implicitely given paths in trees under disk_path parameters are excluded
|
||||
silently.
|
||||
@*
|
||||
If disk file objects already exist then the settings of -overwrite and
|
||||
-reassure apply. But -overwrite "on" only triggers the behavior
|
||||
of -overwrite "nondir". I.e. directories cannot be deleted.
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2021.09.12.093333"
|
||||
#define Xorriso_timestamP "2021.09.13.151219"
|
||||
|
Loading…
Reference in New Issue
Block a user