Restoring ACL only if -acl "on"

This commit is contained in:
Thomas Schmitt 2009-01-22 15:22:57 +00:00
parent 2cb7afe397
commit 7aff4003b0
3 changed files with 33 additions and 17 deletions

View File

@ -2,7 +2,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 16, 2008"
.TH XORRISO 1 "Jan 22, 2008"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -622,6 +622,13 @@ image. This has eventually to be done before specifying -dev , -indev or
When loading the written image after -commit the setting of -out_charset
will be copied to -in_charset.
.TP
\fB\-acl\fR "on"|"off"
Enable or disable processing of ACLs.
If enabled then xorriso will obtain ACLs from disk file objects,
store ACLs in the ISO image using the libisofs specific AAIP format,
load AAIP data from ISO images, and restore ACLs to disk files when
extracting them from ISO images.
.TP
\fB\-rom_toc_scan\fR "on"|"off"[:"emul_on"|"emul_off"]
Read-only drives do not tell the actual media type but show any media as
ROM (e.g. as DVD-ROM). The session history of MMC multi-session media might
@ -1400,6 +1407,7 @@ permissible.
.B Settings for result writing:
.TP
Rock Ridge info will be generated by the program unconditionally.
ACL will be written according to the setting of option -acl.
.TP
\fB\-joliet\fR "on"|"off"
If enabled by "on", generate Joliet info additional to Rock Ridge info.
@ -1976,6 +1984,12 @@ Output format resembles shell command ls -ln.
Like -lsdx but also listing some of the file attributes.
Output format resembles shell command ls -dln.
.TP
\fB\-getfacl\fR iso_rr_pattern [***]
Print the access permissions of the given files in the ISO image using the
format of shell command getfacl. If a file has no ACL then it gets fabricated
from the -chmod settings. A file may have a real ACL if it was introduced into
the ISO image while option -acl was set to "on".
.TP
\fB\-du\fR iso_rr_pattern [***]
Recursively list size of directories and files in the ISO image
which match one of the patterns.

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.01.22.143253"
#define Xorriso_timestamP "2009.01.22.152252"

View File

@ -2897,25 +2897,27 @@ int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
#ifdef Xorriso_with_aaiP
ret= iso_node_get_acl_text(node, &text, 16);
if(ret < 0) {
strcpy(xorriso->info_text, "Error with obtaining ACL for ");
Text_shellsafe(disk_path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
{ret= 0; goto ex;}
}
if(text != NULL) {
ret= iso_local_set_acl_text(disk_path, text, 0);
if(ret == -1) {
sprintf(xorriso->info_text,
"Cannot change ACL of disk file %s",
Text_shellsafe(disk_path, sfe, 0));
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
if(xorriso->do_aaip & 2) {
ret= iso_node_get_acl_text(node, &text, 16);
if(ret < 0) {
strcpy(xorriso->info_text, "Error with obtaining ACL for ");
Text_shellsafe(disk_path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
{ret= 0; goto ex;}
}
if(text != NULL) {
ret= iso_local_set_acl_text(disk_path, text, 0);
if(ret == -1) {
sprintf(xorriso->info_text,
"Cannot change ACL of disk file %s",
Text_shellsafe(disk_path, sfe, 0));
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
{ret= 0; goto ex;}
}
}
}
#endif
#endif /* Xorriso_with_aaiP */
if(flag&1)
{ret= 1; goto ex;}