New option -acl enables ACL loading
This commit is contained in:
@ -3821,6 +3821,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->split_size= 0;
|
||||
strcpy(m->list_delimiter, "--");
|
||||
m->do_joliet= 0;
|
||||
m->do_aaip= 0;
|
||||
m->relax_compliance= 0;
|
||||
m->do_follow_pattern= 1;
|
||||
m->do_follow_param= 0;
|
||||
@ -6120,6 +6121,11 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
||||
}
|
||||
|
||||
is_default= (xorriso->do_aaip==0);
|
||||
sprintf(line,"-acl %s\n", (xorriso->do_aaip & 1 ? "on" : "off"));
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
is_default= (xorriso->assert_volid[0] == 0);
|
||||
sprintf(line, "-assert_volid ");
|
||||
Text_shellsafe(xorriso->assert_volid, line, 1);
|
||||
@ -10723,6 +10729,27 @@ int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag)
|
||||
}
|
||||
|
||||
|
||||
/* Option -acl "on"|"off" */
|
||||
int Xorriso_option_acl(struct XorrisO *xorriso, char *mode, int flag)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if(strcmp(mode, "off")==0)
|
||||
xorriso->do_aaip&= ~3;
|
||||
else if(strcmp(mode, "on")==0)
|
||||
xorriso->do_aaip|= (1 | 2);
|
||||
else {
|
||||
sprintf(xorriso->info_text, "-acl: unknown mode '%s'", mode);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
ret= Xorriso_set_ignore_aclea(xorriso, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* Option -add */
|
||||
/* @param flag bit0=do not report the added item
|
||||
bit1=do not reset pacifier, no final pacifier message
|
||||
@ -13105,6 +13132,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" Like -charset but only for conversion to media.",
|
||||
" -local_charset name",
|
||||
" Override system assumption of the local character set name.",
|
||||
" -acl \"on\"|\"off\"",
|
||||
" Enable resp. disable reading and writing of ACLs.",
|
||||
" -ban_stdio_write",
|
||||
" Allow for writing only the usage of optical drives.",
|
||||
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
|
||||
@ -15580,7 +15609,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
""
|
||||
};
|
||||
static char arg1_commands[][40]= {
|
||||
"abort_on","add_plainly","application_id","backslash_codes","blank",
|
||||
"abort_on","acl","add_plainly","application_id","backslash_codes","blank",
|
||||
"cd","cdi","cdx","charset","close","commit_eject","compliance",
|
||||
"dev", "dummy","dialog","disk_pattern","eject","iso_rr_pattern","follow",
|
||||
"format","fs","gid","grow_blindly",
|
||||
@ -15741,6 +15770,10 @@ next_command:;
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_abort_on(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"acl")==0) {
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_acl(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"add")==0) {
|
||||
ret= Xorriso_option_add(xorriso, argc, argv, idx, 0);
|
||||
|
||||
|
Reference in New Issue
Block a user