From 0cd2d869c35a4b22c09319b2c1954650ca121c70 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Mon, 26 Jan 2009 17:36:15 +0000 Subject: [PATCH] Gave user control over isoburn_igopt_aaip_susp_1_10 --- xorriso/xorriso.1 | 48 ++++++++++++++++++++++++++++++++++++- xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisoburn.c | 8 +++++++ 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index 9a8e2d03..c69229eb 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -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 "Jan 23, 2008" +.TH XORRISO 1 "Jan 25, 2008" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -932,6 +932,35 @@ For octal numbers see man 2 stat. \fB\-chmod_r\fR mode iso_rr_path [***] Like -chmod but affecting all files below eventual directories. .TP +\fB\-setfacl\fR acl_text iso_rr_path [***] +Attach the given ACL to the given iso_rr_paths after deleting their eventually +existing ACLs. +If acl_text is empty, or contains the text "clear" or the text +"--remove-all", then the existing ACLs will be removed and no new ones will be +attached. Any other content of acl_text will be interpreted as a list of +ACL entries. It may be in the long format as put out by -getfacl but may also +be abbreviated as follows: +.br +ACL entries are separated by comma or newline. If an entry is empty text or +begins with "#" then it will be gracefully ignored. A valid entry has to begin +by a letter out of {ugom} for "user", "group", "other", "mask". It has to +contain two colons ":". A non-empty text between those two gives a user id +resp. group id. After the second ":" there may be letters out of {rwx-}. +Letter "-" is ignored. The other three give read, write resp. +execute permission. +Letter "X" or any other letters are not supported. Examples: +.br + g:toolies:rw,u:lisa:rw,u:1001:rw,u::wr,g::r,o::r,m::rw +.br + group:toolies:rw-,user::rw-,group::r--,other::r--,mask::rw- +.br +A valid entry may be prefixed by "d", some following characters and ":". +This indicates that the entry goes to the "default" ACL rather than to the +"access" ACL. +.TP +\fB\-setfacl_r\fR acl_text iso_rr_path [***] +Like -setfacl but affecting all files below eventual directories. +.TP \fB\-alter_date\fR type timestring iso_rr_path [***] Alter the date entries of a file in the ISO image. type is one of "a", "m", "b" for access time, modification time, @@ -1080,6 +1109,19 @@ E.g.: .br -find / -lba_range 302000 50000 -exec report_lba .br +"getfacl" prints access permissions in ACL text form to the result channel. +.br +E.g.: +.br + -find / -has_acl -exec getfacl +.br +"setfacl" attaches ACLs after removing eventually exiting ones. The new +ACL is given in text form as defined with option -setfacl. +.br +E.g.: +.br + -find /workgroup -exec setfacl u:lisa:rw,u::rw,g::r,o::-,m::rw +.br "find" performs another run of -find on the matching file address. It accepts the same params as -find, except iso_rr_path. E.g.: @@ -1449,6 +1491,10 @@ system does not recognize Rock Ridge 1.12 signature). "rec_mtime" record with ISO files the disk file's mtime and not the creation time of the image. .br +"aaip_susp_1_10" allows AAIP to be written as inofficial extension of RRIP +rather than as official extension under SUSP-1.12. Try this if a reader program +dislikes the official form. +.br Default setting is "clear:deep_paths:long_paths:always_gmt". .br Note: The term "ISO file" means the plain ISO 9660 names wnd attributes diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 70c07b29..b221bc3e 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.01.26.173254" +#define Xorriso_timestamP "2009.01.26.173606" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index e78ba7fe..07a20797 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -8439,6 +8439,12 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, } else if(l == 13 && strncmp(cpt, "rec_mtime_off", l) == 0) { xorriso->relax_compliance&= ~isoburn_igopt_dir_rec_mtime; + } else if((l == 14 && strncmp(cpt, "aaip_susp_1_10", l) == 0) || + (l == 17 && strncmp(cpt, "aaip_susp_1_10_on", l) == 0)) { + xorriso->relax_compliance|= isoburn_igopt_aaip_susp_1_10; + } else if(l == 18 && strncmp(cpt, "aaip_susp_1_10_off", l) == 0) { + xorriso->relax_compliance&= ~isoburn_igopt_aaip_susp_1_10; + } else if((l == 8 && strncmp(cpt, "iso_9660", l) == 0) || (l == 11 && strncmp(cpt, "iso_9660_on", l) == 0)) { /* may have a meaning in future */; @@ -8498,6 +8504,8 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024], strcat(mode, ":old_rr"); if(r & isoburn_igopt_dir_rec_mtime) strcat(mode, ":rec_mtime"); + if(r & isoburn_igopt_aaip_susp_1_10) + strcat(mode, ":aaip_susp_1_10"); return(1 + (r == Xorriso_relax_compliance_defaulT)); }