Correct group permission bits with -acl off and disk file that has ACL
This commit is contained in:
parent
8fd08730cc
commit
f4910bc02e
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2009.02.07.090104"
|
#define Xorriso_timestamP "2009.02.07.142605"
|
||||||
|
@ -1989,6 +1989,13 @@ int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf,
|
|||||||
char **names= NULL, **values= NULL;
|
char **names= NULL, **values= NULL;
|
||||||
|
|
||||||
mode= stbuf->st_mode;
|
mode= stbuf->st_mode;
|
||||||
|
|
||||||
|
#ifdef Xorriso_with_aaiP
|
||||||
|
if((!(flag & 2)) && !(xorriso->do_aaip & 1))
|
||||||
|
/* Will drop ACL. Update mode S_IRWXG by eventual group:: ACL entry */
|
||||||
|
iso_local_get_perms_wo_acl(disk_path, &mode, flag & 32);
|
||||||
|
#endif
|
||||||
|
|
||||||
if((flag&1) && S_ISDIR(mode)) {
|
if((flag&1) && S_ISDIR(mode)) {
|
||||||
if(mode&S_IRUSR)
|
if(mode&S_IRUSR)
|
||||||
mode|= S_IXUSR;
|
mode|= S_IXUSR;
|
||||||
@ -2007,6 +2014,8 @@ int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf,
|
|||||||
if(flag & 2)
|
if(flag & 2)
|
||||||
{ret= 1; goto ex;}
|
{ret= 1; goto ex;}
|
||||||
|
|
||||||
|
#ifdef Xorriso_with_aaiP
|
||||||
|
|
||||||
if(xorriso->do_aaip & 5) {
|
if(xorriso->do_aaip & 5) {
|
||||||
ret= iso_local_get_attrs(disk_path, &num_attrs, &names, &value_lengths,
|
ret= iso_local_get_attrs(disk_path, &num_attrs, &names, &value_lengths,
|
||||||
&values, ((xorriso->do_aaip & 1) && !(flag & 2))
|
&values, ((xorriso->do_aaip & 1) && !(flag & 2))
|
||||||
@ -2019,7 +2028,8 @@ int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf,
|
|||||||
"FAILURE", 1 | 2);
|
"FAILURE", 1 | 2);
|
||||||
ret= 0; goto ex;
|
ret= 0; goto ex;
|
||||||
}
|
}
|
||||||
ret= iso_node_set_attrs(node, num_attrs, names, value_lengths, values, 0);
|
ret= iso_node_set_attrs(node, num_attrs, names, value_lengths, values,
|
||||||
|
1 | 8);
|
||||||
if(ret < 0) {
|
if(ret < 0) {
|
||||||
Xorriso_process_msg_queues(xorriso,0);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
Xorriso_report_iso_error(xorriso, "", ret,
|
Xorriso_report_iso_error(xorriso, "", ret,
|
||||||
@ -2029,6 +2039,9 @@ int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf,
|
|||||||
}
|
}
|
||||||
ret= 1;
|
ret= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* Xorriso_with_aaiP */
|
||||||
|
|
||||||
ex:;
|
ex:;
|
||||||
Xorriso_process_msg_queues(xorriso,0);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
iso_local_get_attrs(disk_path, &num_attrs, &names, &value_lengths,
|
iso_local_get_attrs(disk_path, &num_attrs, &names, &value_lengths,
|
||||||
|
Loading…
Reference in New Issue
Block a user