diff --git a/xorriso/xorriso.c b/xorriso/xorriso.c index 209f0526..a152a660 100644 --- a/xorriso/xorriso.c +++ b/xorriso/xorriso.c @@ -631,8 +631,8 @@ ex:; /* @param flag bit0= only encode inside quotes bit1= encode < 32 outside quotes except 7, 8, 9, 10, 12, 13 bit2= encode in any case above 126 - bit3= encode in any case shellsafe: - <=42 , 59, 60, 62, 63, 92, 94, 96, >=123 + bit3= encode in any case shellsafe and name-value-safe: + <=42 , 59, 60, 61, 62, 63, 92, 94, 96, >=123 */ int Sfile_bsl_encoder(char **result, char *text, size_t text_len, int flag) { @@ -643,9 +643,8 @@ int Sfile_bsl_encoder(char **result, char *text, size_t text_len, int flag) for(rpt= text; rpt - text < text_len; rpt++) { count++; if(flag & 8) { - if(!(*rpt <= 42 || *rpt == 59 || *rpt == 60 || *rpt == 62 || - *rpt == 63 || *rpt == 92 || *rpt == 94 || *rpt == 96 || - *rpt >= 123)) + if(!(*rpt <= 42 || (*rpt >= 59 && *rpt <= 63) || + *rpt == 92 || *rpt == 94 || *rpt == 96 || *rpt >= 123)) continue; } else if(*rpt >= 32 && *rpt <= 126 && *rpt != '\\') continue; @@ -9578,6 +9577,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, " -print-size Print estimated filesystem size and exit", " -quiet Run quietly", " -R, -rock Generate Rock Ridge directory information", +" --acl Record eventual ACLs of files", +" --xattr Record eventual user space xattr of files", " -V ID, -volid ID Set Volume ID", " -b FILE, -eltorito-boot FILE", " Set El Torito boot image name", @@ -9731,6 +9732,10 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, ret= Xorriso_option_charset(xorriso, argv[i], 3); if(ret <= 0) goto problem_handler_1; + } else if(strcmp(argv[i], "--acl")==0) { + Xorriso_option_acl(xorriso, "on", 0); + } else if(strcmp(argv[i], "--xattr")==0) { + Xorriso_option_xattr(xorriso, "on", 0); } else was_other_option= 1; diff --git a/xorriso/xorriso.h b/xorriso/xorriso.h index c04da9cd..b6d7e305 100644 --- a/xorriso/xorriso.h +++ b/xorriso/xorriso.h @@ -734,6 +734,8 @@ int Xorriso_option_version(struct XorrisO *xorriso, int flag); /* Option -volid */ int Xorriso_option_volid(struct XorrisO *xorriso, char *volid, int flag); +/* Option -xattr "on"|"off" */ +int Xorriso_option_xattr(struct XorrisO *xorriso, char *mode, int flag); #endif /* Xorriso_includeD */ diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index d4023fca..fb23769a 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.02.10.125831" +#define Xorriso_timestamP "2009.02.12.110516"