New write options session_md5, file_md5, read option nomd5

This commit is contained in:
Thomas Schmitt 2009-08-10 19:21:43 +00:00
parent d1490aa95e
commit 219aa7e4b6
5 changed files with 36 additions and 13 deletions

View File

@ -433,6 +433,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
iso_write_opts_set_dir_rec_mtime(wopts, opts->dir_rec_mtime); iso_write_opts_set_dir_rec_mtime(wopts, opts->dir_rec_mtime);
iso_write_opts_set_aaip_susp_1_10(wopts, opts->aaip_susp_1_10); iso_write_opts_set_aaip_susp_1_10(wopts, opts->aaip_susp_1_10);
iso_write_opts_set_sort_files(wopts, opts->sort_files); iso_write_opts_set_sort_files(wopts, opts->sort_files);
iso_write_opts_set_record_md5(wopts, opts->session_md5, opts->file_md5);
iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode, iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode,
opts->replace_file_mode, opts->replace_uid, opts->replace_gid); opts->replace_file_mode, opts->replace_uid, opts->replace_gid);
iso_write_opts_set_default_dir_mode(wopts, opts->dir_mode); iso_write_opts_set_default_dir_mode(wopts, opts->dir_mode);
@ -654,6 +655,7 @@ int isoburn_ropt_new(struct isoburn_read_opts **new_o, int flag)
o->noacl= 1; o->noacl= 1;
o->noea= 1; o->noea= 1;
o->noino= 1; o->noino= 1;
o->nomd5= 1;
o->preferjoliet= 0; o->preferjoliet= 0;
o->uid= geteuid(); o->uid= geteuid();
o->gid= getegid(); o->gid= getegid();
@ -691,6 +693,7 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
o->noacl= !!(ext & 64); o->noacl= !!(ext & 64);
o->noea= !!(ext & 128); o->noea= !!(ext & 128);
o->noino= !!(ext & 256); o->noino= !!(ext & 256);
o->nomd5= !!(ext & 512);
return(1); return(1);
} }
@ -700,7 +703,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) << 6) | ((!!o->noea) << 7) | ((!!o->noaaip) << 5) | ((!!o->noacl) << 6) | ((!!o->noea) << 7) |
((!!o->noino) << 8); ((!!o->noino) << 8) | ((!!o->nomd5) << 9);
return(1); return(1);
} }
@ -875,6 +878,8 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
o->iso1999= !!(ext&4); o->iso1999= !!(ext&4);
o->hardlinks= !!(ext & 8); o->hardlinks= !!(ext & 8);
o->aaip= !!(ext & 32); o->aaip= !!(ext & 32);
o->session_md5= !!(ext & 64);
o->file_md5= !!(ext & 128);
return(1); return(1);
} }
@ -882,7 +887,8 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext) int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext)
{ {
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) | *ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) |
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5); ((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) |
((!!o->session_md5) << 6) | ((!!o->file_md5) << 7);
return(1); return(1);
} }

View File

@ -261,6 +261,9 @@ struct isoburn_read_opts {
/* ts A90508 */ /* ts A90508 */
unsigned int noino:1; /* Discard eventual PX inode numbers */ unsigned int noino:1; /* Discard eventual PX inode numbers */
/* ts A90810 */
unsigned int nomd5:1; /* Do not read eventual MD5 array */
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. */
@ -328,6 +331,12 @@ struct isoburn_imgen_opts {
/* Write eventual AAIP info containing ACL and EA */ /* Write eventual AAIP info containing ACL and EA */
unsigned int aaip :1; unsigned int aaip :1;
/* Produce and write a MD5 checksum of the whole session stream. */
unsigned int session_md5 :1;
/* Produce and write MD5 checksums for each single IsoFile. */
unsigned int file_md5 :1;
/* relaxed constraints */ /* relaxed constraints */
/* /*

View File

@ -201,14 +201,10 @@ create_blank_image:;
iso_read_opts_set_start_block(ropts, ms_block); iso_read_opts_set_start_block(ropts, ms_block);
iso_read_opts_set_no_rockridge(ropts, read_opts->norock); iso_read_opts_set_no_rockridge(ropts, read_opts->norock);
iso_read_opts_set_no_aaip(ropts, read_opts->noaaip); iso_read_opts_set_no_aaip(ropts, read_opts->noaaip);
iso_read_opts_set_no_md5(ropts, read_opts->nomd5);
/* <<< #ifdef shall be removed when libisofs-0.6.20 is released */
#ifdef Libisofs_hardlink_prooF
iso_read_opts_set_new_inos(ropts, read_opts->noino); iso_read_opts_set_new_inos(ropts, read_opts->noino);
#endif /* Libisofs_hardlink_prooF */
iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet); iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet);
iso_read_opts_set_no_iso1999(ropts, read_opts->noiso1999); iso_read_opts_set_no_iso1999(ropts, read_opts->noiso1999);
iso_read_opts_set_preferjoliet(ropts, read_opts->preferjoliet); iso_read_opts_set_preferjoliet(ropts, read_opts->preferjoliet);

View File

@ -739,6 +739,9 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
giving all family members the same inode number. libisofs giving all family members the same inode number. libisofs
keeps the PX inode numbers unaltered when IsoNode objects keeps the PX inode numbers unaltered when IsoNode objects
get written into an ISO image. get written into an ISO image.
bit9= nomd5
@since 0.4.2
Do not load the eventual MD5 checksum array.
@return 1 success, <=0 failure @return 1 success, <=0 failure
*/ */
#define isoburn_ropt_norock 1 #define isoburn_ropt_norock 1
@ -750,6 +753,7 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
#define isoburn_ropt_noacl 64 #define isoburn_ropt_noacl 64
#define isoburn_ropt_noea 128 #define isoburn_ropt_noea 128
#define isoburn_ropt_noino 256 #define isoburn_ropt_noino 256
#define isoburn_ropt_nomd5 512
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);
@ -924,13 +928,21 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
bit5= aaip bit5= aaip
The libisofs specific SUSP based extension of ECMA-119 which The libisofs specific SUSP based extension of ECMA-119 which
can encode ACL and XFS-style Extended Attributes. can encode ACL and XFS-style Extended Attributes.
bit6= session_md5
@since 0.4.2
Produce and write a MD5 checksum of the whole session stream.
bit7= file_md5
@since 0.4.2
Produce and write MD5 checksums for each single IsoFile.
@return 1 success, <=0 failure @return 1 success, <=0 failure
*/ */
#define isoburn_igopt_rockridge 1 #define isoburn_igopt_rockridge 1
#define isoburn_igopt_joliet 2 #define isoburn_igopt_joliet 2
#define isoburn_igopt_iso1999 4 #define isoburn_igopt_iso1999 4
#define isoburn_igopt_hardlinks 8 #define isoburn_igopt_hardlinks 8
#define isoburn_igopt_aaip 32 #define isoburn_igopt_aaip 32
#define isoburn_igopt_session_md5 64
#define isoburn_igopt_file_md5 128
int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext); int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext);
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext); int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.08.10.123146" #define Xorriso_timestamP "2009.08.10.192240"