From 1557304c9659990597d4e2e7f3c95d655f8cee39 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 24 Nov 2019 13:34:30 +0100 Subject: [PATCH] Switched to usage of libjte-2.0.0. New -jigdo parameters "checksum_algorithm", "demand_checksum", "checksum_path". New -as mkisofs options-jigdo-checksum-algorithm, "-checksum-list", "-jigdo-force-checksum". --- configure.ac | 16 ++--- xorriso/emulators.c | 20 ++++-- xorriso/lib_mgt.c | 19 +++-- xorriso/opts_d_h.c | 1 + xorriso/xorriso.1 | 42 ++++++++--- xorriso/xorriso.info | 126 ++++++++++++++++++-------------- xorriso/xorriso.texi | 42 ++++++++--- xorriso/xorriso_private.h | 9 +-- xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisofs.1 | 39 +++++++--- xorriso/xorrisofs.info | 139 +++++++++++++++++++++--------------- xorriso/xorrisofs.texi | 53 ++++++++++---- 12 files changed, 326 insertions(+), 182 deletions(-) diff --git a/configure.ac b/configure.ac index 5c83e3b8..35e9438a 100644 --- a/configure.ac +++ b/configure.ac @@ -37,16 +37,16 @@ dnl Libtool versioning dnl Generate libisoburn.so.1.x.y dnl SONAME will become LT_CURRENT - LT_AGE dnl -dnl ts B91026 +dnl ts B91123 dnl ### This is the release version 1.5.2 = libisoburn.so.1.109.0 dnl This is the development version after above stable release -dnl LT_CURRENT++, LT_AGE++ have not happened yet. -dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile. +dnl ### LT_CURRENT++, LT_AGE++ have not happened yet. +dnl LT_CURRENT++, LT_AGE++ has happened meanwhile. dnl -dnl SONAME = 110 - 109 = 1 . Library name = libisoburn.so.1.109.0 +dnl SONAME = 111 - 110 = 1 . Library name = libisoburn.so.1.110.0 LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION -LT_CURRENT=110 -LT_AGE=109 +LT_CURRENT=111 +LT_AGE=110 LT_REVISION=0 LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE` @@ -276,11 +276,11 @@ AC_SUBST(ZLIB_DEF) dnl ts B00928 AC_ARG_ENABLE(libjte, -[ --enable-libjte Enable use of libjte by xorriso, default=yes], +[ --enable-libjte Enable use of libjte >= 2.0 by xorriso, default=yes], , enable_libjte=yes) if test "x$enable_libjte" = xyes; then LIBJTE_DEF="-DXorriso_with_libjtE" - AC_CHECK_HEADER(libjte/libjte.h, AC_CHECK_LIB(jte, libjte_new, , LIBJTE_DEF= ), LIBJTE_DEF= ) + AC_CHECK_HEADER(libjte/libjte.h, AC_CHECK_LIB(jte, libjte_set_checksum_algorithm, , LIBJTE_DEF= ), LIBJTE_DEF= ) else LIBJTE_DEF= fi diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 388e7510..8b0fe9f6 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -657,8 +657,10 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "-alpha-boot", "-hppa-cmdline", "-hppa-kernel-32", "-hppa-kernel-64", "-hppa-bootloader", "-hppa-ramdisk", "-mips-boot", "-mipsel-boot", "-jigdo-jigdo", "-jigdo-template", "-jigdo-min-file-size", - "-jigdo-force-md5", "-jigdo-exclude", "-jigdo-map", "-md5-list", - "-jigdo-template-compress", + "-jigdo-force-md5", "-jigdo-force-checksum", + "-md5-list", "-checksum-list", + "-jigdo-exclude", "-jigdo-map", + "-jigdo-template-compress", "-jigdo-checksum-algorithm", "-checksum_algorithm_iso", "-checksum_algorithm_template", "--stdio_sync", "--quoted_path_list", "--efi-boot", "--embedded-boot", "-isohybrid-mbr", "-e", "-partition_offset", "-partition_hd_cyl", @@ -852,11 +854,16 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -jigdo-jigdo FILE Produce a jigdo .jigdo file as well as the .iso", " -jigdo-template FILE Produce a jigdo .template file as well as the .iso", " -jigdo-min-file-size SIZE Minimum size for a file to be listed in the jigdo file", -" -jigdo-force-md5 PATTERN Pattern(s) where files MUST match an externally-supplied MD5sum", +" -jigdo-force-checksum PTRN Pattern(s) where files MUST match an externally-supplied checksum", +" -jigdo-force-md5 PATTERN Outdated alias of -jigdo-force-checksum", " -jigdo-exclude PATTERN Pattern(s) to exclude from the jigdo file", " -jigdo-map PATTERN1=PATTERN2", " Pattern(s) to map paths (e.g. Debian=/mirror/debian)", -" -md5-list FILE File containing MD5 sums of the files that should be checked", +" -checksum-list FILE File containing checksums of the files that should be checked", +" -md5-list FILE Outdated alias of -checksum-list", +" -jigdo-checksum-algorithm ALGORITHM", +" Choose algorithm for file matching checksums: md5, sha256", +" Expected in the -checksum-list FILE, written into .jigdo file.", " -jigdo-template-compress ALGORITHM", " Choose to use gzip or bzip2 compression for template data; default is gzip", " -checksum_algorithm_iso alg1,alg2,...", @@ -2097,11 +2104,14 @@ not_enough_args:; strcmp(argpt, "-jigdo-min-file-size") == 0 || strcmp(argpt, "-jigdo-exclude") == 0 || strcmp(argpt, "-jigdo-force-md5") == 0 || + strcmp(argpt, "-jigdo-force-checksum") == 0 || strcmp(argpt, "-jigdo-map") == 0 || + strcmp(argpt, "-jigdo-checksum-algorithm") == 0 || strcmp(argpt, "-jigdo-template-compress") == 0 || strcmp(argpt, "-checksum_algorithm_iso") == 0 || strcmp(argpt, "-checksum_algorithm_template") == 0 || - strcmp(argpt, "-md5-list") == 0) { + strcmp(argpt, "-md5-list") == 0 || + strcmp(argpt, "-checksum-list") == 0) { i++; ret= Xorriso_option_jigdo(xorriso, argpt, argv[i], 0); if(ret <= 0) diff --git a/xorriso/lib_mgt.c b/xorriso/lib_mgt.c index e7a847f4..586d3ea6 100644 --- a/xorriso/lib_mgt.c +++ b/xorriso/lib_mgt.c @@ -765,8 +765,10 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg, goto jte_failed; xorriso->libjte_params_given|= 8; } else if(strcmp(aspect, "md5_path") == 0 || - strcmp(aspect, "-md5-list") == 0) { - ret= libjte_set_md5_path(jte, arg); + strcmp(aspect, "-md5-list") == 0 || + strcmp(aspect, "checksum_path") == 0 || + strcmp(aspect, "-checksum-list") == 0) { + ret= libjte_set_checksum_path(jte, arg); if(ret <= 0) goto jte_failed; xorriso->libjte_params_given|= 16; @@ -802,8 +804,10 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg, goto jte_failed; xorriso->libjte_params_given|= 512; } else if(strcmp(aspect, "demand_md5") == 0 || - strcmp(aspect, "-jigdo-force-md5") == 0) { - ret= libjte_add_md5_demand(jte, arg); + strcmp(aspect, "-jigdo-force-md5") == 0 || + strcmp(aspect, "demand_checksum") == 0 || + strcmp(aspect, "-jigdo-force-checksum") == 0) { + ret= libjte_add_checksum_demand(jte, arg); if(ret <= 0) goto jte_failed; xorriso->libjte_params_given|= 1024; @@ -813,6 +817,13 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg, if(ret <= 0) goto jte_failed; xorriso->libjte_params_given|= 2048; + } else if(strcmp(aspect, "checksum_algorithm") == 0 || + strcmp(aspect, "-jigdo-checksum-algorithm") == 0) { + int ck_size; + ret= libjte_set_checksum_algorithm(jte, arg, &ck_size); + if(ret <= 0) + goto jte_failed; + xorriso->libjte_params_given|= 4096; } else { sprintf(xorriso->info_text, "-jigdo: unknown aspect '%s'", aspect); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); diff --git a/xorriso/opts_d_h.c b/xorriso/opts_d_h.c index c5aebb8f..79a0ceb1 100644 --- a/xorriso/opts_d_h.c +++ b/xorriso/opts_d_h.c @@ -1879,6 +1879,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " Opportunity to omit Rock Ridge info. (Do not do it !)", " -jigdo \"clear\"|\"template_path\"|\"jigdo_path\"|\"md5_path\"", " |\"min_size\"|\"checksum_iso\"|\"checksum_template\"", +" |\"checksum_path\"|\"demand_checksum\"|\"checksum_algorithm\"", " |\"compression\"|\"exclude\"|\"demand_md5\"|\"mapping\"", " |\"checksum_iso\"|\"checksum_template\"", " value", diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index 8244a368..0a131266 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -9,7 +9,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 "Version 1.5.3, Oct 28, 2019" +.TH XORRISO 1 "Version 1.5.3, Nov 23, 2019" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -3772,14 +3772,19 @@ The .template file contains the compressed ISO image with reference tags instead of the content bytes of the listed files. .br Input for this process are the normal arguments for a \fBxorriso\fR session -on a blank \-outdev, and a .md5 file which lists those data files which may be -listed in the .jigdo file and externally referenced in the .template file. -Each designated file is represented in the .md5 file by a single text line: +on a blank \-outdev, and a checksum file which lists those data files which may +be listed in the .jigdo file and externally referenced in the .template file. +Each designated file is represented in the checksum file by a single text line: .br -MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, +Checksum as hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, symbolic file address .br -The file address in an .md5 line has to bear the same basename as the +The kind of checksum is chosen by \-jigdo "checksum_algorithm" with values "md5" +(32 hex digits) or "sha256" (64 hex digits). +It will also be used for the file address lines in the .jigdo file. +The default is "md5". +.br +The file address in a checksum file line has to bear the same basename as the disk_path of the file which it shall match. The directory path of the file address is decisive for To=From mapping, not for file recognition. After To=From mapping, the file address gets written into the .jigdo @@ -3801,6 +3806,12 @@ emulation command. Parameter \fBclear\fR with any value empties the whole list. No .jigdo and .template file will be produced. .br +\fBchecksum_algorithm\fR chooses the checksum algorithm which shall be used +for the data file entries in the .jigdo file and is expected in the checksum +file. Permissible are "md5" or "sha256". Default is "md5". +.br +Alias: \-jigdo\-checksum\-algorithm +.br \fBtemplate_path\fR sets the disk_path for the .template file with the holed and compressed ISO image copy. .br @@ -3811,7 +3822,12 @@ and download addresses for filling the holes in .template. .br Alias: \-jigdo\-jigdo .br -\fBmd5_path\fR sets the disk_path where to find the .md5 input file. +\fBchecksum_path\fR sets the disk_path where to find the checksum file with +symbolic file addresses and checksums according to \fBchecksum_algorithm\fR. +.br +Alias: md5_path +.br +Alias: \-checksum\-list .br Alias: \-md5\-list .br @@ -3826,15 +3842,19 @@ stay in .template in any case. .br Alias: \-jigdo\-exclude .br -\fBdemand_md5\fR adds a regular expression pattern which will get compared -with the absolute disk_path of any data file that was not found in the .md5 -list. A match causes a MISHAP event. +\fBdemand_checksum\fR adds a regular expression pattern which will get +compared with the absolute disk_path of any data file that was not found +in the checksum list file as of "checksum_path". A match causes a MISHAP event. +.br +Alias: demand_md5 +.br +Alias: \-jigdo\-force\-checksum .br Alias: \-jigdo\-force\-md5 .br \fBmapping\fR adds a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is referred by the -file address from its line in the .md5 file. This file address gets checked +file address from its line in the checksum file. This file address gets checked whether it begins with the From string. If so, then this string will be replaced by the To string and a ':' character, before it goes into the .jigdo file. The From string should end by a '/' character. diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 77ce31e5..0147ca0b 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -3184,18 +3184,22 @@ symbolic file addresses. The .template file contains the compressed ISO image with reference tags instead of the content bytes of the listed files. Input for this process are the normal arguments for a 'xorriso' session -on a blank -outdev, and a .md5 file which lists those data files which -may be listed in the .jigdo file and externally referenced in the -.template file. Each designated file is represented in the .md5 file by -a single text line: -MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 +on a blank -outdev, and a checksum file which lists those data files +which may be listed in the .jigdo file and externally referenced in the +.template file. Each designated file is represented in the checksum +file by a single text line: +Checksum as hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, symbolic file address -The file address in an .md5 line has to bear the same basename as the -disk_path of the file which it shall match. The directory path of the -file address is decisive for To=From mapping, not for file recognition. -After To=From mapping, the file address gets written into the .jigdo -file. Jigdo restore tools will convert these addresses into really -reachable data source addresses from which they can read. +The kind of checksum is chosen by -jigdo "checksum_algorithm" with +values "md5" (32 hex digits) or "sha256" (64 hex digits). It will also +be used for the file address lines in the .jigdo file. The default is +"md5". +The file address in a checksum file line has to bear the same basename +as the disk_path of the file which it shall match. The directory path +of the file address is decisive for To=From mapping, not for file +recognition. After To=From mapping, the file address gets written into +the .jigdo file. Jigdo restore tools will convert these addresses into +really reachable data source addresses from which they can read. If the list of jigdo parameters is not empty, then 'xorriso' will refuse to write to non-blank targets, it will disable multi-session emulation, and padding will be counted as part of the ISO image. @@ -3207,6 +3211,11 @@ and padding will be counted as part of the ISO image. they are recognized by the -as mkisofs emulation command. Parameter *clear* with any value empties the whole list. No .jigdo and .template file will be produced. + *checksum_algorithm* chooses the checksum algorithm which shall be + used for the data file entries in the .jigdo file and is expected + in the checksum file. Permissible are "md5" or "sha256". Default + is "md5". + Alias: -jigdo-checksum-algorithm *template_path* sets the disk_path for the .template file with the holed and compressed ISO image copy. Alias: -jigdo-template @@ -3214,7 +3223,11 @@ and padding will be counted as part of the ISO image. checksums and download addresses for filling the holes in .template. Alias: -jigdo-jigdo - *md5_path* sets the disk_path where to find the .md5 input file. + *checksum_path* sets the disk_path where to find the checksum file + with symbolic file addresses and checksums according to + *checksum_algorithm*. + Alias: md5_path + Alias: -checksum-list Alias: -md5-list *min_size* sets the minimum size for a data file to be listed in the .jigdo file and being a hole in the .template file. @@ -3223,17 +3236,20 @@ and padding will be counted as part of the ISO image. with the absolute disk_path of any data file. A match causes the file to stay in .template in any case. Alias: -jigdo-exclude - *demand_md5* adds a regular expression pattern which will get + *demand_checksum* adds a regular expression pattern which will get compared with the absolute disk_path of any data file that was not - found in the .md5 list. A match causes a MISHAP event. + found in the checksum list file as of "checksum_path". A match + causes a MISHAP event. + Alias: demand_md5 + Alias: -jigdo-force-checksum Alias: -jigdo-force-md5 *mapping* adds a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is - referred by the file address from its line in the .md5 file. This - file address gets checked whether it begins with the From string. - If so, then this string will be replaced by the To string and a ':' - character, before it goes into the .jigdo file. The From string - should end by a '/' character. + referred by the file address from its line in the checksum file. + This file address gets checked whether it begins with the From + string. If so, then this string will be replaced by the To string + and a ':' character, before it goes into the .jigdo file. The From + string should end by a '/' character. Alias: -jigdo-map *compression* chooses one of "bzip2" or "gzip" for the compression of the template file. The jigdo file is put out uncompressed. @@ -5408,7 +5424,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -iso_nowtime fixed "now" time for ISO 9660 objects: Loading. (line 217) * -iso_rr_pattern controls pattern expansion: Manip. (line 10) -* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 33) +* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 37) * -joliet enables production of Joliet tree: SetWrite. (line 10) * -launch_frontend starts frontend program at pipes: Frontend. (line 141) @@ -5703,7 +5719,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Interval reader for system area and partitions: Bootable. (line 32) * ISO 9660, _definition: Model. (line 6) * iso_rr_path, _definition: Insert. (line 7) -* Jigdo Template Extraction, -jigdo: Jigdo. (line 33) +* Jigdo Template Extraction, -jigdo: Jigdo. (line 37) * Jigdo Template Extraction, _definition: Jigdo. (line 6) * LBA, _definition: Drives. (line 17) * libisofs, fixed "now" time: Loading. (line 217) @@ -5884,39 +5900,39 @@ Node: Writing110455 Node: SetWrite120602 Node: Bootable145360 Node: Jigdo172315 -Node: Charset176574 -Node: Exception179903 -Node: DialogCtl186032 -Node: Inquiry188634 -Node: Navigate197516 -Node: Verify205973 -Node: Restore216444 -Node: Emulation225121 -Node: Scripting235577 -Node: Frontend243360 -Node: Examples252986 -Node: ExDevices254164 -Node: ExCreate254825 -Node: ExDialog256125 -Node: ExGrowing257396 -Node: ExModifying258205 -Node: ExBootable258715 -Node: ExCharset259270 -Node: ExPseudo260166 -Node: ExCdrecord261093 -Node: ExMkisofs261413 -Node: ExGrowisofs263310 -Node: ExException264463 -Node: ExTime264921 -Node: ExIncBackup265379 -Node: ExRestore269405 -Node: ExRecovery270351 -Node: Files270923 -Node: Environ272257 -Node: Seealso273005 -Node: Bugreport273722 -Node: Legal274313 -Node: CommandIdx275325 -Node: ConceptIdx292868 +Node: Charset177318 +Node: Exception180647 +Node: DialogCtl186776 +Node: Inquiry189378 +Node: Navigate198260 +Node: Verify206717 +Node: Restore217188 +Node: Emulation225865 +Node: Scripting236321 +Node: Frontend244104 +Node: Examples253730 +Node: ExDevices254908 +Node: ExCreate255569 +Node: ExDialog256869 +Node: ExGrowing258140 +Node: ExModifying258949 +Node: ExBootable259459 +Node: ExCharset260014 +Node: ExPseudo260910 +Node: ExCdrecord261837 +Node: ExMkisofs262157 +Node: ExGrowisofs264054 +Node: ExException265207 +Node: ExTime265665 +Node: ExIncBackup266123 +Node: ExRestore270149 +Node: ExRecovery271095 +Node: Files271667 +Node: Environ273001 +Node: Seealso273749 +Node: Bugreport274466 +Node: Legal275057 +Node: CommandIdx276069 +Node: ConceptIdx293612  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index 3fc2c856..df1f2f7e 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRISO 1 "Version 1.5.3, Oct 28, 2019" +@c man .TH XORRISO 1 "Version 1.5.3, Nov 23, 2019" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -4351,14 +4351,19 @@ The .template file contains the compressed ISO image with reference tags instead of the content bytes of the listed files. @* Input for this process are the normal arguments for a @command{xorriso} session -on a blank -outdev, and a .md5 file which lists those data files which may be -listed in the .jigdo file and externally referenced in the .template file. -Each designated file is represented in the .md5 file by a single text line: +on a blank -outdev, and a checksum file which lists those data files which may +be listed in the .jigdo file and externally referenced in the .template file. +Each designated file is represented in the checksum file by a single text line: @* -MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, +Checksum as hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, symbolic file address @* -The file address in an .md5 line has to bear the same basename as the +The kind of checksum is chosen by -jigdo "checksum_algorithm" with values "md5" +(32 hex digits) or "sha256" (64 hex digits). +It will also be used for the file address lines in the .jigdo file. +The default is "md5". +@* +The file address in a checksum file line has to bear the same basename as the disk_path of the file which it shall match. The directory path of the file address is decisive for To=From mapping, not for file recognition. After To=From mapping, the file address gets written into the .jigdo @@ -4384,6 +4389,12 @@ emulation command. Parameter @strong{clear} with any value empties the whole list. No .jigdo and .template file will be produced. @* +@strong{checksum_algorithm} chooses the checksum algorithm which shall be used +for the data file entries in the .jigdo file and is expected in the checksum +file. Permissible are "md5" or "sha256". Default is "md5". +@* +Alias: -jigdo-checksum-algorithm +@* @strong{template_path} sets the disk_path for the .template file with the holed and compressed ISO image copy. @* @@ -4394,7 +4405,12 @@ and download addresses for filling the holes in .template. @* Alias: -jigdo-jigdo @* -@strong{md5_path} sets the disk_path where to find the .md5 input file. +@strong{checksum_path} sets the disk_path where to find the checksum file with +symbolic file addresses and checksums according to @strong{checksum_algorithm}. +@* +Alias: md5_path +@* +Alias: -checksum-list @* Alias: -md5-list @* @@ -4409,15 +4425,19 @@ stay in .template in any case. @* Alias: -jigdo-exclude @* -@strong{demand_md5} adds a regular expression pattern which will get compared -with the absolute disk_path of any data file that was not found in the .md5 -list. A match causes a MISHAP event. +@strong{demand_checksum} adds a regular expression pattern which will get +compared with the absolute disk_path of any data file that was not found +in the checksum list file as of "checksum_path". A match causes a MISHAP event. +@* +Alias: demand_md5 +@* +Alias: -jigdo-force-checksum @* Alias: -jigdo-force-md5 @* @strong{mapping} adds a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is referred by the -file address from its line in the .md5 file. This file address gets checked +file address from its line in the checksum file. This file address gets checked whether it begins with the From string. If so, then this string will be replaced by the To string and a ':' character, before it goes into the .jigdo file. The From string should end by a '/' character. diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index fd9c6a61..9558fbfa 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -573,10 +573,11 @@ struct XorrisO { /* the global context of xorriso */ struct Xorriso_lsT *jigdo_params; struct Xorriso_lsT *jigdo_values; int libjte_params_given; /* bits: 0= outfile , 1= verbosity , 2= template_path - 3= jigdo_path , 4= md5_path , 5= min_size - 6= checksum_iso , 7= checksum_template - 8= compression , 9= exclude , 10= demand_md5 - 11= mapping + 3= jigdo_path , 4= checksum_path + 5= min_size , 6= checksum_iso + 7= checksum_template , 8= compression + 9= exclude , 10= demand_checksum + 11= mapping , 12= checksum_algorithm */ /* LBA of boot image after image loading */ diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index a0bc2ea8..527855bf 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2019.11.23.132942" +#define Xorriso_timestamP "2019.11.24.123339" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index ed2af636..f2d73a9f 100644 --- a/xorriso/xorrisofs.1 +++ b/xorriso/xorrisofs.1 @@ -9,7 +9,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 XORRISOFS 1 "Version 1.5.3, Oct 28, 2019" +.TH XORRISOFS 1 "Version 1.5.3, Nov 23, 2019" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -1529,15 +1529,20 @@ The .template file contains the compressed ISO image with reference tags instead of the content bytes of the listed files. .br Input for this process are the normal arguments for a \fBxorrisofs\fR -session -with no image loaded, and a .md5 file which lists those data files which may be +session with no image loaded, and a checksum file which lists those +data files which may be listed in the .jigdo file and externally referenced in the .template file. -Each designated file is represented in the .md5 file by a single text line: +Each designated file is represented in the checksum file by a single text line: .br -MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, +Checksum as hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, symbolic file address .br -The file address in an .md5 line has to bear the same basename as the +The kind of checksum is chosen by \-jigdo "checksum_algorithm" with values "md5" +(32 hex digits) or "sha256" (64 hex digits). +It will also be used for the file address lines in the .jigdo file. + The default is "md5". +.br +The file address in a checksum file line has to bear the same basename as the disk_path of the file which it shall match. The directory path of the file address is decisive for To=From mapping, not for file recognition. After To=From mapping, the file address gets written into the .jigdo @@ -1548,6 +1553,10 @@ If the list of jigdo parameters is not empty, then padding will be counted as part of the ISO image. .br .TP +\fB\-jigdo-checksum-algorithm\fR "md5"|"sha256" +Set the checksum algorithm which shall be used for the data file entries +in the .jigdo file and is expected in the checksum file. Default is "md5". +.TP \fB\-jigdo-jigdo\fR disk_path Set the disk_path for the .jigdo file with the checksums and download addresses for filling the holes in .template. @@ -1563,12 +1572,16 @@ size may be a plain number counting bytes, or a number with appended letter "k", "m", "g" to count KiB (1024 bytes), MiB (1024 KiB), or GiB (1024 MiB). .TP -\fB\-jigdo-force-md5\fR disk_path_pattern +\fB\-jigdo-force-checksum\fR disk_path_pattern adds a regular expression pattern which will get compared -with the absolute disk_path of any data file that was not found in the .md5 -list. A match causes a MISHAP event, which normally does not abort the +with the absolute disk_path of any data file that was not found in the +checksum file. +A match causes a MISHAP event, which normally does not abort the program run but finally causes a non\-zero exit value of the program. .TP +\fB\-jigdo-force-md5\fR disk_path_pattern +Outdated alias of \-jigdo\-force\-checksum. +.TP \fB\-jigdo-exclude\fR disk_path_pattern Add a regular expression pattern which will get compared with the absolute disk_path of any data file. A match causes the file to @@ -1577,13 +1590,17 @@ stay in .template in any case. \fB\-jigdo-map\fR To=From Add a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is referred by the -file address from its line in the .md5 file. This file address gets checked +file address from its line in the checksum file. This file address gets checked whether it begins with the From string. If so, then this string will be replaced by the To string and a ':' character, before it goes into the .jigdo file. The From string should end by a '/' character. .TP +\fB\-checksum-list\fR disk_path +Set the disk_path where to find the checksum file file with +symbolic file addresses and checksums according to \-jigdo\-checksum\-algorithm. +.TP \fB\-md5-list\fR disk_path -Set the disk_path where to find the .md5 input file. +Outdated alias of \-checksum\-list. .TP \fB\-jigdo-template-compress\fR "gzip"|"bzip2" Choose one of "bzip2" or "gzip" for the compression of diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index 57216b7f..c728c304 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -1334,21 +1334,29 @@ One may determine the ability for Jigdo by: .template file contains the compressed ISO image with reference tags instead of the content bytes of the listed files. Input for this process are the normal arguments for a 'xorrisofs' -session with no image loaded, and a .md5 file which lists those data +session with no image loaded, and a checksum file which lists those data files which may be listed in the .jigdo file and externally referenced -in the .template file. Each designated file is represented in the .md5 -file by a single text line: -MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 +in the .template file. Each designated file is represented in the +checksum file by a single text line: +Checksum as hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, symbolic file address -The file address in an .md5 line has to bear the same basename as the -disk_path of the file which it shall match. The directory path of the -file address is decisive for To=From mapping, not for file recognition. -After To=From mapping, the file address gets written into the .jigdo -file. Jigdo restore tools will convert these addresses into really -reachable data source addresses from which they can read. +The kind of checksum is chosen by -jigdo "checksum_algorithm" with +values "md5" (32 hex digits) or "sha256" (64 hex digits). It will also +be used for the file address lines in the .jigdo file. The default is +"md5". +The file address in a checksum file line has to bear the same basename +as the disk_path of the file which it shall match. The directory path +of the file address is decisive for To=From mapping, not for file +recognition. After To=From mapping, the file address gets written into +the .jigdo file. Jigdo restore tools will convert these addresses into +really reachable data source addresses from which they can read. If the list of jigdo parameters is not empty, then padding will be counted as part of the ISO image. +-jigdo-checksum-algorithm "md5"|"sha256" + Set the checksum algorithm which shall be used for the data file + entries in the .jigdo file and is expected in the checksum file. + Default is "md5". -jigdo-jigdo disk_path Set the disk_path for the .jigdo file with the checksums and download addresses for filling the holes in .template. @@ -1360,12 +1368,14 @@ counted as part of the ISO image. file and being a hole in the .template file. size may be a plain number counting bytes, or a number with appended letter "k", "m", "g" to count KiB (1024 bytes), MiB (1024 KiB), or GiB (1024 MiB). --jigdo-force-md5 disk_path_pattern +-jigdo-force-checksum disk_path_pattern adds a regular expression pattern which will get compared with the - absolute disk_path of any data file that was not found in the .md5 - list. A match causes a MISHAP event, which normally does not abort - the program run but finally causes a non-zero exit value of the - program. + absolute disk_path of any data file that was not found in the + checksum file. A match causes a MISHAP event, which normally does + not abort the program run but finally causes a non-zero exit value + of the program. +-jigdo-force-md5 disk_path_pattern + Outdated alias of -jigdo-force-checksum. -jigdo-exclude disk_path_pattern Add a regular expression pattern which will get compared with the absolute disk_path of any data file. A match causes the file to @@ -1373,13 +1383,17 @@ counted as part of the ISO image. -jigdo-map To=From Add a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is referred by - the file address from its line in the .md5 file. This file address - gets checked whether it begins with the From string. If so, then - this string will be replaced by the To string and a ':' character, - before it goes into the .jigdo file. The From string should end by - a '/' character. + the file address from its line in the checksum file. This file + address gets checked whether it begins with the From string. If + so, then this string will be replaced by the To string and a ':' + character, before it goes into the .jigdo file. The From string + should end by a '/' character. +-checksum-list disk_path + Set the disk_path where to find the checksum file file with + symbolic file addresses and checksums according to + -jigdo-checksum-algorithm. -md5-list disk_path - Set the disk_path where to find the .md5 input file. + Outdated alias of -checksum-list. -jigdo-template-compress "gzip"|"bzip2" Choose one of "bzip2" or "gzip" for the compression of the template file. The jigdo file is put out uncompressed. @@ -2011,9 +2025,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -C set load address and write address offset: Loading. (line 25) * -cdrecord-params set load address and write address offset: Loading. (line 41) -* -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 72) +* -checksum-list set path of input checksum file: Jigdo. (line 77) +* -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 86) * -checksum_algorithm_template choose .template checksums: Jigdo. - (line 78) + (line 92) * -chrp-boot CHRP partition: SystemArea. (line 267) * -chrp-boot-part CHRP partition: SystemArea. (line 258) * -copyright set Copyright File path: ImageId. (line 66) @@ -2089,14 +2104,20 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -iso_mbr_part_type Set type of ISO MBR partition: SystemArea. (line 127) * -J enable production of Joliet directory tree: SetExtras. (line 147) -* -jigdo-exclude add exclusion pattern for .md5: Jigdo. (line 55) -* -jigdo-force-md5 add check pattern for .md5: Jigdo. (line 49) -* -jigdo-jigdo set name of .jigdo file: Jigdo. (line 38) -* -jigdo-map add address translation for .jigdo: Jigdo. (line 59) -* -jigdo-min-file-size set minimum extract size: Jigdo. (line 44) -* -jigdo-template set name of .template file: Jigdo. (line 41) +* -jigdo-checksum-algorithm set data file checksum algorithm: Jigdo. + (line 42) +* -jigdo-exclude add exclusion pattern for checksum file: Jigdo. + (line 65) +* -jigdo-force-checksum add check pattern for checksum file: Jigdo. + (line 57) +* -jigdo-force-md5 add check pattern for checksum file: Jigdo. + (line 63) +* -jigdo-jigdo set name of .jigdo file: Jigdo. (line 46) +* -jigdo-map add address translation for .jigdo: Jigdo. (line 69) +* -jigdo-min-file-size set minimum extract size: Jigdo. (line 52) +* -jigdo-template set name of .template file: Jigdo. (line 49) * -jigdo-template-compress choose compression algorithm: Jigdo. - (line 69) + (line 83) * -joliet enable production of Joliet directory tree: SetExtras. (line 151) * -joliet-long allow longer Joliet names: SetExtras. (line 153) @@ -2107,7 +2128,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -M set path for loading existing ISO image: Loading. (line 11) * -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl. (line 61) -* -md5-list set path of readable .md5: Jigdo. (line 67) +* -md5-list set path of input checksum file: Jigdo. (line 81) * -mips-boot MIPS Big Endian boot image: SystemArea. (line 274) * -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 280) * -N omit version number in ISO file names: SetCompl. (line 64) @@ -2330,17 +2351,21 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * ISO level, specify, -iso-level <1>: SetCompl. (line 8) * ISO root directory, redirect, -root: SetInsert. (line 55) * iso_rr_path, _definition: Insert. (line 8) -* Jigdo Template Extraction, -checksum_algorithm_iso: Jigdo. (line 72) +* Jigdo Template Extraction, -checksum-list: Jigdo. (line 77) +* Jigdo Template Extraction, -checksum_algorithm_iso: Jigdo. (line 86) * Jigdo Template Extraction, -checksum_algorithm_template: Jigdo. - (line 78) -* Jigdo Template Extraction, -jigdo-exclude: Jigdo. (line 55) -* Jigdo Template Extraction, -jigdo-force-md5: Jigdo. (line 49) -* Jigdo Template Extraction, -jigdo-jigdo: Jigdo. (line 38) -* Jigdo Template Extraction, -jigdo-map: Jigdo. (line 59) -* Jigdo Template Extraction, -jigdo-min-file-size: Jigdo. (line 44) -* Jigdo Template Extraction, -jigdo-template: Jigdo. (line 41) -* Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 69) -* Jigdo Template Extraction, -md5-list: Jigdo. (line 67) + (line 92) +* Jigdo Template Extraction, -jigdo-checksum-algorithm: Jigdo. + (line 42) +* Jigdo Template Extraction, -jigdo-exclude: Jigdo. (line 65) +* Jigdo Template Extraction, -jigdo-force-checksum: Jigdo. (line 57) +* Jigdo Template Extraction, -jigdo-force-md5: Jigdo. (line 63) +* Jigdo Template Extraction, -jigdo-jigdo: Jigdo. (line 46) +* Jigdo Template Extraction, -jigdo-map: Jigdo. (line 69) +* Jigdo Template Extraction, -jigdo-min-file-size: Jigdo. (line 52) +* Jigdo Template Extraction, -jigdo-template: Jigdo. (line 49) +* Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 83) +* Jigdo Template Extraction, -md5-list: Jigdo. (line 81) * Jigdo Template Extraction, _definition: Jigdo. (line 6) * Joliet, allows longer names, -joliet-long: SetExtras. (line 153) * Joliet, enable, -J, -joliet: SetExtras. (line 147) @@ -2418,21 +2443,21 @@ Node: Bootable38983 Node: SystemArea45269 Node: Charset63501 Node: Jigdo64526 -Node: Miscellaneous68803 -Node: Examples70448 -Node: ExSimple70942 -Node: ExGraft71425 -Node: ExMkisofs72725 -Node: ExGrowisofs74533 -Node: ExIncBackup75723 -Node: ExIncBckAcc78899 -Node: ExBootable80604 -Node: Files84786 -Node: Environ85881 -Node: Seealso86754 -Node: Bugreport87405 -Node: Legal87998 -Node: CommandIdx88895 -Node: ConceptIdx104763 +Node: Miscellaneous69496 +Node: Examples71141 +Node: ExSimple71635 +Node: ExGraft72118 +Node: ExMkisofs73418 +Node: ExGrowisofs75226 +Node: ExIncBackup76416 +Node: ExIncBckAcc79592 +Node: ExBootable81297 +Node: Files85479 +Node: Environ86574 +Node: Seealso87447 +Node: Bugreport88098 +Node: Legal88691 +Node: CommandIdx89588 +Node: ConceptIdx105940  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index 71c49291..5e74c961 100644 --- a/xorriso/xorrisofs.texi +++ b/xorriso/xorrisofs.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRISOFS 1 "Version 1.5.3, Oct 28, 2019" +@c man .TH XORRISOFS 1 "Version 1.5.3, Nov 23, 2019" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -2004,15 +2004,20 @@ The .template file contains the compressed ISO image with reference tags instead of the content bytes of the listed files. @* Input for this process are the normal arguments for a @command{xorrisofs} -session -with no image loaded, and a .md5 file which lists those data files which may be +session with no image loaded, and a checksum file which lists those +data files which may be listed in the .jigdo file and externally referenced in the .template file. -Each designated file is represented in the .md5 file by a single text line: +Each designated file is represented in the checksum file by a single text line: @* -MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, +Checksum as hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, symbolic file address @* -The file address in an .md5 line has to bear the same basename as the +The kind of checksum is chosen by -jigdo "checksum_algorithm" with values "md5" +(32 hex digits) or "sha256" (64 hex digits). +It will also be used for the file address lines in the .jigdo file. + The default is "md5". +@* +The file address in a checksum file line has to bear the same basename as the disk_path of the file which it shall match. The directory path of the file address is decisive for To=From mapping, not for file recognition. After To=From mapping, the file address gets written into the .jigdo @@ -2025,6 +2030,12 @@ counted as part of the ISO image. @table @asis @sp 1 @c man .TP +@item -jigdo-checksum-algorithm "md5"|"sha256" +@kindex -jigdo-checksum-algorithm set data file checksum algorithm +@cindex Jigdo Template Extraction, -jigdo-checksum-algorithm +Set the checksum algorithm which shall be used for the data file entries +in the .jigdo file and is expected in the checksum file. Default is "md5". +@c man .TP @item -jigdo-jigdo disk_path @kindex -jigdo-jigdo set name of .jigdo file @cindex Jigdo Template Extraction, -jigdo-jigdo @@ -2046,16 +2057,22 @@ size may be a plain number counting bytes, or a number with appended letter "k", "m", "g" to count KiB (1024 bytes), MiB (1024 KiB), or GiB (1024 MiB). @c man .TP -@item -jigdo-force-md5 disk_path_pattern -@kindex -jigdo-force-md5 add check pattern for .md5 -@cindex Jigdo Template Extraction, -jigdo-force-md5 +@item -jigdo-force-checksum disk_path_pattern +@kindex -jigdo-force-checksum add check pattern for checksum file +@cindex Jigdo Template Extraction, -jigdo-force-checksum adds a regular expression pattern which will get compared -with the absolute disk_path of any data file that was not found in the .md5 -list. A match causes a MISHAP event, which normally does not abort the +with the absolute disk_path of any data file that was not found in the +checksum file. +A match causes a MISHAP event, which normally does not abort the program run but finally causes a non-zero exit value of the program. @c man .TP +@item -jigdo-force-md5 disk_path_pattern +@kindex -jigdo-force-md5 add check pattern for checksum file +@cindex Jigdo Template Extraction, -jigdo-force-md5 +Outdated alias of -jigdo-force-checksum. +@c man .TP @item -jigdo-exclude disk_path_pattern -@kindex -jigdo-exclude add exclusion pattern for .md5 +@kindex -jigdo-exclude add exclusion pattern for checksum file @cindex Jigdo Template Extraction, -jigdo-exclude Add a regular expression pattern which will get compared with the absolute disk_path of any data file. A match causes the file to @@ -2066,15 +2083,21 @@ stay in .template in any case. @cindex Jigdo Template Extraction, -jigdo-map Add a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is referred by the -file address from its line in the .md5 file. This file address gets checked +file address from its line in the checksum file. This file address gets checked whether it begins with the From string. If so, then this string will be replaced by the To string and a ':' character, before it goes into the .jigdo file. The From string should end by a '/' character. @c man .TP +@item -checksum-list disk_path +@kindex -checksum-list set path of input checksum file +@cindex Jigdo Template Extraction, -checksum-list +Set the disk_path where to find the checksum file file with +symbolic file addresses and checksums according to -jigdo-checksum-algorithm. +@c man .TP @item -md5-list disk_path -@kindex -md5-list set path of readable .md5 +@kindex -md5-list set path of input checksum file @cindex Jigdo Template Extraction, -md5-list -Set the disk_path where to find the .md5 input file. +Outdated alias of -checksum-list. @c man .TP @item -jigdo-template-compress "gzip"|"bzip2" @kindex -jigdo-template-compress choose compression algorithm