Had to split isoburn_ropt_noaaip into isoburn_ropt_noacl and isoburn_ropt_noea

This commit is contained in:
Thomas Schmitt 2009-01-21 20:39:00 +00:00
parent 6db35143f8
commit 7935ab6df4
6 changed files with 29 additions and 10 deletions

View File

@ -265,6 +265,8 @@ int isoburn_is_intermediate_dvd_rw(struct burn_drive *d, int flag)
bit3= if the drive reports a -ROM profile then try to read bit3= if the drive reports a -ROM profile then try to read
table of content by scanning for ISO image headers. table of content by scanning for ISO image headers.
bit4= do not emulate TOC on overwriteable media bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
*/ */
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d, static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
int flag) int flag)
@ -290,6 +292,7 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
(*o)->msgs_submit= libisoburn_default_msgs_submit; (*o)->msgs_submit= libisoburn_default_msgs_submit;
(*o)->msgs_submit_handle= libisoburn_default_msgs_submit_handle; (*o)->msgs_submit_handle= libisoburn_default_msgs_submit_handle;
(*o)->msgs_submit_flag= libisoburn_default_msgs_submit_flag; (*o)->msgs_submit_flag= libisoburn_default_msgs_submit_flag;
iso_image_set_ignore_aclea((*o)->image, (flag >> 5 ) & 3);
#ifdef Hardcoded_cd_rW #ifdef Hardcoded_cd_rW
/* <<< A70929 : hardcoded CD-RW with fabricated -msinfo */ /* <<< A70929 : hardcoded CD-RW with fabricated -msinfo */
@ -382,6 +385,8 @@ ex:
(depending on media type and drive state this might (depending on media type and drive state this might
help or it might make the resulting toc even worse) help or it might make the resulting toc even worse)
bit4= do not emulate TOC on overwriteable media bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
*/ */
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[], int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
char *adr, int flag) char *adr, int flag)
@ -412,7 +417,7 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
goto ex; goto ex;
drive_grabbed= 1; drive_grabbed= 1;
ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive, ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive,
(flag & 24) | !!(flag&2)); (flag & (8 | 16 | 32 | 64)) | !!(flag&2));
if(ret<=0) if(ret<=0)
goto ex; goto ex;

View File

@ -629,7 +629,8 @@ int isoburn_ropt_new(struct isoburn_read_opts **new_o, int flag)
o->norock= 0; o->norock= 0;
o->nojoliet= 0; o->nojoliet= 0;
o->noiso1999= 1; o->noiso1999= 1;
o->noaaip= 1; o->noacl= 1;
o->noea= 1;
o->preferjoliet= 0; o->preferjoliet= 0;
o->uid= geteuid(); o->uid= geteuid();
o->gid= getegid(); o->gid= getegid();
@ -663,7 +664,8 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
o->noiso1999= !!(ext&4); o->noiso1999= !!(ext&4);
o->preferjoliet= !!(ext&8); o->preferjoliet= !!(ext&8);
o->pretend_blank= !!(ext&16); o->pretend_blank= !!(ext&16);
o->noaaip= !!(ext & 32); o->noacl= !!(ext & 32);
o->noea= !!(ext & 64);
return(1); return(1);
} }
@ -672,7 +674,7 @@ int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext)
{ {
*ext= (!!o->norock) | ((!!o->nojoliet)<<1) | ((!!o->noiso1999)<<2) | *ext= (!!o->norock) | ((!!o->nojoliet)<<1) | ((!!o->noiso1999)<<2) |
((!!o->preferjoliet)<<3) | ((!!o->pretend_blank)<<4) | ((!!o->preferjoliet)<<3) | ((!!o->pretend_blank)<<4) |
((!!o->noaaip) << 5); ((!!o->noacl) << 5) | ((!!o->noea) << 6);
return(1); return(1);
} }

View File

@ -250,7 +250,11 @@ struct isoburn_read_opts {
unsigned int norock:1; /*< Do not read Rock Ridge extensions */ unsigned int norock:1; /*< Do not read Rock Ridge extensions */
unsigned int nojoliet:1; /*< Do not read Joliet extensions */ unsigned int nojoliet:1; /*< Do not read Joliet extensions */
unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */ unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */
unsigned int noaaip:1; /* Do not read AAIP for ACL and POSIX EA*/
/* ts A90121 */
unsigned int noacl:1; /* Do not read AAIP for ACL */
unsigned int noea:1; /* Do not read AAIP for POSIX EA */
unsigned int preferjoliet:1; unsigned int preferjoliet:1;
/*< When both Joliet and RR extensions are present, the RR /*< When both Joliet and RR extensions are present, the RR
* tree is used. If you prefer using Joliet, set this to 1. */ * tree is used. If you prefer using Joliet, set this to 1. */

View File

@ -166,6 +166,8 @@ create_blank_image:;
iso_image_ref(*image); /*protects object from premature free*/ iso_image_ref(*image); /*protects object from premature free*/
} }
} }
iso_image_set_ignore_aclea(*image,
(!!(read_opts->noacl)) | ((!!read_opts->noea) << 1) );
return 1; return 1;
} }
@ -200,7 +202,7 @@ create_blank_image:;
iso_read_opts_set_no_rockridge(ropts, read_opts->norock); iso_read_opts_set_no_rockridge(ropts, read_opts->norock);
#ifdef Libisofs_with_aaiP #ifdef Libisofs_with_aaiP
iso_read_opts_set_no_aaip(ropts, read_opts->noaaip); iso_read_opts_set_no_aaip(ropts, read_opts->noacl && read_opts->noea);
#endif /* Libisofs_with_aaiP */ #endif /* Libisofs_with_aaiP */
iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet); iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet);

View File

@ -367,6 +367,9 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
(depending on media type and drive this might (depending on media type and drive this might
help or it might make the resulting toc even worse) help or it might make the resulting toc even worse)
bit4= do not emulate table of content on overwriteable media bit4= do not emulate table of content on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external
filesystems
@return 1 = success , 0 = drive not found , <0 = other error @return 1 = success , 0 = drive not found , <0 = other error
*/ */
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[], int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
@ -682,9 +685,11 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
tree is used. If you prefer using Joliet, set this to 1. tree is used. If you prefer using Joliet, set this to 1.
bit4= pretend_blank bit4= pretend_blank
Always create empty image.Ignore any image on input drive. Always create empty image.Ignore any image on input drive.
bit5= noaaip bit5= noacl
@since 0.3.4 @since 0.3.4
Do not read AAIP informations for ACL and POSIX Extended No need to read AAIP informations for ACL
bit6= noea
No need to read AAIP informations for POSIX Extended
Attributes. Attributes.
@return 1 success, <=0 failure @return 1 success, <=0 failure
*/ */
@ -693,7 +698,8 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
#define isoburn_ropt_noiso1999 4 #define isoburn_ropt_noiso1999 4
#define isoburn_ropt_preferjoliet 8 #define isoburn_ropt_preferjoliet 8
#define isoburn_ropt_pretend_blank 16 #define isoburn_ropt_pretend_blank 16
#define isoburn_ropt_noaaip 32 #define isoburn_ropt_noacl 32
#define isoburn_ropt_noea 64
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext); int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext); int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.01.21.150243" #define Xorriso_timestamP "2009.01.21.203852"