|
|
|
@ -4690,6 +4690,8 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
|
|
|
|
m->do_joliet= 0;
|
|
|
|
|
m->do_aaip= 0;
|
|
|
|
|
m->do_md5= 0;
|
|
|
|
|
m->scdbackup_tag_name[0]= 0;
|
|
|
|
|
m->scdbackup_tag_time[0]= 0;
|
|
|
|
|
m->relax_compliance= 0;
|
|
|
|
|
m->do_follow_pattern= 1;
|
|
|
|
|
m->do_follow_param= 0;
|
|
|
|
@ -7129,6 +7131,16 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
|
|
|
|
if(!(is_default && no_defaults))
|
|
|
|
|
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
|
|
|
|
|
|
|
|
|
is_default= (xorriso->scdbackup_tag_name[0] == 0 &&
|
|
|
|
|
xorriso->scdbackup_tag_time[0] == 0);
|
|
|
|
|
sprintf(line, "-scdbackup_tag ");
|
|
|
|
|
Text_shellsafe(xorriso->scdbackup_tag_name, line, 1);
|
|
|
|
|
strcat(line, " ");
|
|
|
|
|
Text_shellsafe(xorriso->scdbackup_tag_time, line, 1);
|
|
|
|
|
strcat(line, "\n");
|
|
|
|
|
if(!(is_default && no_defaults))
|
|
|
|
|
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
|
|
|
|
|
|
|
|
|
is_default= (Xorriso_get_relax_text(xorriso, sfe, 0) == 2);
|
|
|
|
|
sprintf(line,"-compliance %s\n", sfe);
|
|
|
|
|
if(!(is_default && no_defaults))
|
|
|
|
@ -10725,6 +10737,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|
|
|
|
" --acl Record eventual ACLs of files",
|
|
|
|
|
" --xattr Record eventual user space xattr of files",
|
|
|
|
|
" --md5 Compute and record MD5 checksums of data files",
|
|
|
|
|
" --scdbackup_tag NAME TIME With --md5 record a scdbackup checksum tag",
|
|
|
|
|
" --for_backup Use all options which improve backup fidelity",
|
|
|
|
|
" -V ID, -volid ID Set Volume ID",
|
|
|
|
|
" -b FILE, -eltorito-boot FILE",
|
|
|
|
@ -10889,6 +10902,13 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|
|
|
|
Xorriso_option_xattr(xorriso, "on", 0);
|
|
|
|
|
} else if(strcmp(argv[i], "--md5")==0) {
|
|
|
|
|
Xorriso_option_md5(xorriso, "on", 0);
|
|
|
|
|
} else if(strcmp(argv[i], "--scdbackup_tag")==0) {
|
|
|
|
|
if(i + 2 >= argc)
|
|
|
|
|
goto not_enough_args;
|
|
|
|
|
i+= 2;
|
|
|
|
|
ret= Xorriso_option_scdbackup_tag(xorriso, argv[i-1], argv[i], 0);
|
|
|
|
|
if(ret <= 0)
|
|
|
|
|
goto problem_handler_1;
|
|
|
|
|
} else if(strcmp(argv[i], "--for_backup")==0) {
|
|
|
|
|
Xorriso_option_hardlinks(xorriso, "on", 0);
|
|
|
|
|
Xorriso_option_acl(xorriso, "on", 0);
|
|
|
|
@ -11107,6 +11127,9 @@ not_enough_args:;
|
|
|
|
|
strcmp(argv[i], "--md5")==0 ||
|
|
|
|
|
strcmp(argv[i], "--for_backup")==0) {
|
|
|
|
|
/* was already handled in first argument scan */;
|
|
|
|
|
} else if(strcmp(argv[i], "--scdbackup_tag")==0) {
|
|
|
|
|
/* was already handled in first argument scan */;
|
|
|
|
|
i+= 2;
|
|
|
|
|
} else if(strcmp(argv[i], "-z")==0 ||
|
|
|
|
|
strcmp(argv[i], "-transparent-compression")==0) {
|
|
|
|
|
/* was already handled in first argument scan */;
|
|
|
|
@ -15586,6 +15609,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
|
|
|
|
" and their use in file comparison.",
|
|
|
|
|
" -md5 \"on\"|\"all\"|\"off\"",
|
|
|
|
|
" Enable resp. disable processing of MD5 checksums.",
|
|
|
|
|
" -scdbackup_tag name timestamp",
|
|
|
|
|
" Enable production of scdbackup tag with -md5 on",
|
|
|
|
|
" -ban_stdio_write",
|
|
|
|
|
" Allow for writing only the usage of optical drives.",
|
|
|
|
|
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
|
|
|
|
@ -17721,6 +17746,23 @@ unknown_mode:;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Option -scdbackup_tag name timestamp */
|
|
|
|
|
int Xorriso_option_scdbackup_tag(struct XorrisO *xorriso, char *name,
|
|
|
|
|
char *timestamp, int flag)
|
|
|
|
|
{
|
|
|
|
|
if(strlen(name) > 80 || strlen(timestamp) > 18 ||
|
|
|
|
|
name[0] == 0 || timestamp[0] == 0) {
|
|
|
|
|
sprintf(xorriso->info_text,
|
|
|
|
|
"Unsuitable name or timestamp given with -scdbackup_tag");
|
|
|
|
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
|
|
|
|
return(0);
|
|
|
|
|
}
|
|
|
|
|
strcpy(xorriso->scdbackup_tag_name, name);
|
|
|
|
|
strcpy(xorriso->scdbackup_tag_time, timestamp);
|
|
|
|
|
return(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Option -session_log */
|
|
|
|
|
int Xorriso_option_session_log(struct XorrisO *xorriso, char *path, int flag)
|
|
|
|
|
{
|
|
|
|
@ -17730,6 +17772,7 @@ int Xorriso_option_session_log(struct XorrisO *xorriso, char *path, int flag)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Option -setfacl_list alias -setfacl_listi */
|
|
|
|
|
int Xorriso_option_setfacl_listi(struct XorrisO *xorriso, char *path, int flag)
|
|
|
|
|
{
|
|
|
|
@ -18842,7 +18885,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
|
|
|
|
"assert_volid","boot_image","compare","compare_r","drive_class",
|
|
|
|
|
"errfile_log","error_behavior","extract","extract_single",
|
|
|
|
|
"load","logfile",
|
|
|
|
|
"map","map_single","page","return_with","update","update_r",
|
|
|
|
|
"map","map_single","page","return_with",
|
|
|
|
|
"scdbackup_tag","update","update_r",
|
|
|
|
|
""
|
|
|
|
|
};
|
|
|
|
|
static char arg4_commands[][40]= {
|
|
|
|
@ -19524,6 +19568,10 @@ next_command:;
|
|
|
|
|
(*idx)++;
|
|
|
|
|
Xorriso_option_rom_toc_scan(xorriso, arg1, 0);
|
|
|
|
|
|
|
|
|
|
} else if(strcmp(cmd,"scdbackup_tag")==0) {
|
|
|
|
|
(*idx)+= 2;
|
|
|
|
|
ret= Xorriso_option_scdbackup_tag(xorriso, arg1, arg2, 0);
|
|
|
|
|
|
|
|
|
|
} else if(strcmp(cmd,"session_log")==0) {
|
|
|
|
|
(*idx)++;
|
|
|
|
|
ret= Xorriso_option_session_log(xorriso, arg1, 0);
|
|
|
|
|