Compare commits

..

4 Commits

22 changed files with 1221 additions and 2564 deletions

18
README
View File

@ -4,7 +4,7 @@
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org.
http://files.libburnia-project.org/releases/libisoburn-0.4.2.pl02.tar.gz
http://files.libburnia-project.org/releases/libisoburn-0.4.0.pl00.tar.gz
Copyright (C) 2006-2009 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2.
------------------------------------------------------------------------------
@ -29,17 +29,17 @@ By using this software you agree to the disclaimer at the end of this text:
Compilation, First Glimpse, Installation
Dynamic library and compile time header requirements for libisoburn-0.4.2 :
- libburn.so.4 , version libburn-0.7.0 or higher
- libisofs.so.6 , version libisofs-0.6.22 or higher
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
- libburn.so.4 , version libburn-0.6.4 or higher
- libisofs.so.6 , version libisofs-0.6.20 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time.
Obtain libisoburn-0.4.2.pl02.tar.gz, take it to a directory of your choice
Obtain libisoburn-0.4.0.pl00.tar.gz, take it to a directory of your choice
and do:
tar xzf libisoburn-0.4.2.pl02.tar.gz
cd libisoburn-0.4.2
tar xzf libisoburn-0.4.0.pl00.tar.gz
cd libisoburn-0.4.0
Within that directory execute:
@ -94,8 +94,8 @@ user id differ. This ban can be lifted by
Drives and Disk File Objects
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
drives which shall be used, even if only reading is intended.
The user of libisoburn applications needs rw-permission for the CD/DVD burner
devices which shall be used.
A list of rw-accessible drives can be obtained by
xorriso -devices
resp. by libburn API call

View File

@ -13,8 +13,6 @@ AC_DEFUN([TARGET_SHIZZLE],
*-*-freebsd*)
ARCH=freebsd
LIBBURN_ARCH_LIBS=-lcam
# This may later be overridden by configure --enable-libdir-pkgconfig
LIBBURNIA_PKGCONFDIR=$(echo "$libdir" | sed 's/\/lib$/\/libdata/')/pkgconfig
;;
*)
@ -26,95 +24,3 @@ AC_DEFUN([TARGET_SHIZZLE],
AC_MSG_RESULT([$ARCH])
])
dnl LIBBURNIA_CHECK_ICONV is by Thomas Schmitt, libburnia project
dnl It is based on gestures from:
dnl iconv.m4 serial AM7 (gettext-0.18)
dnl Copyright (C) 2000-2002, 2007-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl
AC_DEFUN([LIBBURNIA_CHECK_ICONV],
[
dnl Check whether it is allowed to link with -liconv
AC_MSG_CHECKING([for separate -liconv ])
libburnia_liconv="no"
libburnia_save_LIBS="$LIBS"
LIBS="$LIBS -liconv"
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
[libburnia_liconv="yes"],
[LIBS="$libburnia_save_LIBS"]
)
AC_MSG_RESULT([$libburnia_liconv])
dnl Check for iconv(..., const char **inbuf, ...)
AC_MSG_CHECKING([for const qualifier with iconv() ])
AC_TRY_COMPILE([
#include <stdlib.h>
#include <iconv.h>
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
], [], [libburnia_iconv_const=""], [libburnia_iconv_const="const"]
)
AC_DEFINE_UNQUOTED([ICONV_CONST], [$libburnia_iconv_const])
test -z "$libburnia_iconv_const" && libburnia_iconv_const="no"
AC_MSG_RESULT([$libburnia_iconv_const])
])
dnl LIBBURNIA_SET_PKGCONFIG determines the install directory for the *.pc file.
dnl Important: Must be performed _after_ TARGET_SHIZZLE
dnl
AC_DEFUN([LIBBURNIA_SET_PKGCONFIG],
[
### for testing --enable-libdir-pkgconfig on Linux
### LIBBURNIA_PKGCONFDIR="$libdir"data/pkgconfig
if test "x$LIBBURNIA_PKGCONFDIR" = "x$libdir"/pkgconfig
then
dummy=dummy
else
AC_ARG_ENABLE(libdir-pkgconfig,
[ --enable-libdir-pkgconfig Install to $libdir/pkgconfig on any OS, default=no],
, enable_libdir_pkgconfig="no")
AC_MSG_CHECKING([for --enable-libdir-pkgconfig])
if test "x$enable_libdir_pkgconfig" = xyes
then
LIBBURNIA_PKGCONFDIR="$libdir"/pkgconfig
fi
AC_MSG_RESULT([$enable_libdir_pkgconfig])
fi
libburnia_pkgconfig_override="no"
AC_ARG_ENABLE(pkgconfig-path,
[ --enable-pkgconfig-path=DIR Absolute path of directory for libisofs-*.pc],
libburnia_pkgconfig_override="yes" , enable_pkgconfig_path="none")
AC_MSG_CHECKING([for overridden pkgconfig directory path])
if test "x$enable_pkgconfig_path" = xno
then
libburnia_pkgconfig_override="no"
fi
if test "x$enable_pkgconfig_path" = x -o "x$enable_pkgconfig_path" = xyes
then
libburnia_pkgconfig_override="invalid argument"
fi
if test "x$libburnia_pkgconfig_override" = xyes
then
LIBBURNIA_PKGCONFDIR="$enable_pkgconfig_path"
AC_MSG_RESULT([$LIBBURNIA_PKGCONFDIR])
else
AC_MSG_RESULT([$libburnia_pkgconfig_override])
fi
AC_SUBST(LIBBURNIA_PKGCONFDIR)
dnl For debugging only
### AC_MSG_RESULT([LIBBURNIA_PKGCONFDIR = $LIBBURNIA_PKGCONFDIR])
])

View File

@ -1,4 +1,4 @@
AC_INIT([libisoburn], [0.4.2], [http://libburnia-project.org])
AC_INIT([libisoburn], [0.4.0], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -21,7 +21,7 @@ dnl
dnl These three are only copies to provide libtool with unused LT_RELEASE
ISOBURN_MAJOR_VERSION=0
ISOBURN_MINOR_VERSION=4
ISOBURN_MICRO_VERSION=2
ISOBURN_MICRO_VERSION=0
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
@ -34,16 +34,16 @@ dnl Libtool versioning
dnl Generate libisoburn.so.1.x.y
dnl SONAME will become LT_CURRENT - LT_AGE
dnl
dnl ts A90829
dnl This is the release version 0.4.2 = libisoburn.so.1.31.0
dnl ts A90628
dnl This is the release version 0.4.0 = libisoburn.so.1.29.0
dnl ### This is the development version after above stable release
dnl LT_CURRENT++, LT_AGE++ have not happened happened yet.
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
dnl
dnl SONAME = 32 - 31 = 1 . Library name = libisoburn.so.1.31.0
dnl SONAME = 30 - 29 = 1 . Library name = libisoburn.so.1.29.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
LT_CURRENT=32
LT_AGE=31
LT_CURRENT=30
LT_AGE=29
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@ -74,8 +74,6 @@ fi
dnl If iconv(3) is in an extra lib, then it gets added to variable LIBS.
dnl If not, then no -liconv will be added.
AC_CHECK_LIB(iconv, iconv, , )
dnl GNU iconv has no function iconv() but libiconv() and a macro iconv()
AC_CHECK_LIB(iconv, libiconv, , )
AC_PROG_LIBTOOL
AC_SUBST(LIBTOOL_DEPS)
@ -94,12 +92,6 @@ AC_SUBST(LIBBURNIA_PKGCONFDIR)
AC_SUBST(LIBBURN_ARCH_LIBS)
dnl Determine target directory for libisoburn-*.pc
dnl Important: Must be performed _after_ TARGET_SHIZZLE
dnl
LIBBURNIA_SET_PKGCONFIG
AC_ARG_ENABLE(libreadline,
[ --enable-libreadline Enable use of libreadline by xorriso, default=yes],
, enable_libreadline=yes)
@ -125,7 +117,7 @@ dnl So for now it seems to be best to do the same configuration for libisoburn
dnl and xorriso as for libisofs.
AC_ARG_ENABLE(libacl,
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
, enable_libacl=yes)
if test x$enable_libacl = xyes; then
dnl Check whether there is libacl-devel and libacl-runtime.
@ -140,7 +132,7 @@ AC_SUBST(LIBACL_DEF)
AC_ARG_ENABLE(xattr,
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
, enable_xattr=yes)
if test x$enable_xattr = xyes; then
dnl Check whether there is the header for Linux xattr.
@ -158,7 +150,7 @@ dnl Same situation as with xattr and ACL: libisoburn does not depend directly
dnl on zlib. But if it is enabled in libisofs then it seems wise to link it
dnl with libisoburn apps.
AC_ARG_ENABLE(zlib,
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
, enable_zlib=yes)
if test x$enable_zlib = xyes; then
dnl Check whether there is the header for zlib.
@ -173,7 +165,7 @@ AC_SUBST(ZLIB_DEF)
AC_ARG_ENABLE(external-filters,
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
, enable_external_filters=yes)
if test x"$enable_external_filters" = xyes; then
EXTF_DEF="-DXorriso_allow_external_filterS"
@ -185,7 +177,7 @@ fi
AC_SUBST(EXTF_DEF)
AC_ARG_ENABLE(external-filters-setuid,
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
, enable_external_filters_setuid=no)
if test x$enable_external_filters_setuid = xyes; then
EXTF_SUID_DEF="-DXorriso_allow_extf_suiD"
@ -201,8 +193,8 @@ AC_CHECK_HEADER(libburn/libburn.h)
AC_CHECK_HEADER(libisofs/libisofs.h)
dnl Check for proper library versions
LIBBURN_REQUIRED=0.7.0
LIBISOFS_REQUIRED=0.6.22
LIBBURN_REQUIRED=0.6.4
LIBISOFS_REQUIRED=0.6.20
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)

View File

@ -322,13 +322,16 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
(*o)->emulation_mode= -1;
goto ex;
}
/* try to read emulated toc */
ret= isoburn_emulate_toc(d, flag & 16);
if(ret<0) {
(*o)->emulation_mode= -1;
goto ex;
if(!(flag & 16)) {
/* try to read emulated toc */
ret= isoburn_emulate_toc(d, 0);
if(ret<0) {
(*o)->emulation_mode= -1;
goto ex;
}
}
}
} else {
/* >>> recognize unsuitable media (but allow read-only media) */;
@ -1110,8 +1113,6 @@ no_memory:;
/* @param flag bit0= allow unemulated media
bit1= free scanning without enclosing LBA-0-header
bit4= represent emulated media as one single session
(not with bit1)
@return -1 severe error, 0= no neat header chain, 1= credible chain read
*/
int isoburn_emulate_toc(struct burn_drive *d, int flag)
@ -1140,10 +1141,6 @@ int isoburn_emulate_toc(struct burn_drive *d, int flag)
{ret= 0; goto failure;}
lba= Libisoburn_overwriteable_starT;
with_enclosure= 1;
if((flag & 16) && o->emulation_mode == 1) {
ret= 1;
goto failure; /* This will represent the media as single session */
}
}
while(lba<image_size || (flag&2)) {
now= time(NULL);

View File

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

View File

@ -261,9 +261,6 @@ struct isoburn_read_opts {
/* ts A90508 */
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;
/*< When both Joliet and RR extensions are present, the RR
* tree is used. If you prefer using Joliet, set this to 1. */
@ -331,14 +328,6 @@ struct isoburn_imgen_opts {
/* Write eventual AAIP info containing ACL and EA */
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.
See parameter files of iso_write_opts_set_record_md5().
*/
unsigned int file_md5 :2;
/* relaxed constraints */
/*

View File

@ -201,10 +201,14 @@ create_blank_image:;
iso_read_opts_set_start_block(ropts, ms_block);
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_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);
#endif /* Libisofs_hardlink_prooF */
iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet);
iso_read_opts_set_no_iso1999(ropts, read_opts->noiso1999);
iso_read_opts_set_preferjoliet(ropts, read_opts->preferjoliet);

View File

@ -216,15 +216,15 @@ void isoburn_version(int *major, int *minor, int *micro);
*/
#define isoburn_libisofs_req_major 0
#define isoburn_libisofs_req_minor 6
#define isoburn_libisofs_req_micro 22
#define isoburn_libisofs_req_micro 20
/** The minimum version of libburn to be used with this version of libisoburn
at compile time.
@since 0.1.0
*/
#define isoburn_libburn_req_major 0
#define isoburn_libburn_req_minor 7
#define isoburn_libburn_req_micro 0
#define isoburn_libburn_req_minor 6
#define isoburn_libburn_req_micro 4
/** The minimum version of libisofs to be used with this version of libisoburn
@ -260,7 +260,7 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
*/
#define isoburn_header_version_major 0
#define isoburn_header_version_minor 4
#define isoburn_header_version_micro 2
#define isoburn_header_version_micro 0
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
@ -739,9 +739,6 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
giving all family members the same inode number. libisofs
keeps the PX inode numbers unaltered when IsoNode objects
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
*/
#define isoburn_ropt_norock 1
@ -753,7 +750,6 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
#define isoburn_ropt_noacl 64
#define isoburn_ropt_noea 128
#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_get_extensions(struct isoburn_read_opts *o, int *ext);
@ -928,28 +924,13 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
bit5= aaip
The libisofs specific SUSP based extension of ECMA-119 which
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.
bit8= file_stability (only together with file_md5)
@since 0.4.2
Compute MD5 of each file before copying it into the image and
compare this with the MD5 of the actual copying. If they do
not match then issue MISHAP event.
See also libisofs.h iso_write_opts_set_record_md5()
@return 1 success, <=0 failure
*/
#define isoburn_igopt_rockridge 1
#define isoburn_igopt_joliet 2
#define isoburn_igopt_iso1999 4
#define isoburn_igopt_hardlinks 8
#define isoburn_igopt_aaip 32
#define isoburn_igopt_session_md5 64
#define isoburn_igopt_file_md5 128
#define isoburn_igopt_file_stability 256
#define isoburn_igopt_rockridge 1
#define isoburn_igopt_joliet 2
#define isoburn_igopt_iso1999 4
#define isoburn_igopt_hardlinks 8
#define isoburn_igopt_aaip 32
int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext);
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);

View File

@ -4,12 +4,12 @@
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org but also published via:
http://scdbackup.sourceforge.net/xorriso_eng.html
http://scdbackup.sourceforge.net/xorriso-0.4.2.pl02.tar.gz
http://scdbackup.sourceforge.net/xorriso-0.4.0.pl00.tar.gz
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
------------------------------------------------------------------------------
xorriso is a program which copies file objects from POSIX compliant
xorriso is a program which maps file objects from POSIX compliant
filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows
session-wise manipulation of such filesystems. It can load the management
information of existing ISO images and it writes the session results to
@ -46,10 +46,10 @@ Optional at compile time are:
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
Obtain xorriso-0.4.2.pl02.tar.gz, take it to a directory of your choice and do:
Obtain xorriso-0.4.0.pl00.tar.gz, take it to a directory of your choice and do:
tar xzf xorriso-0.4.2.pl02.tar.gz
cd xorriso-0.4.2
tar xzf xorriso-0.4.0.pl00.tar.gz
cd xorriso-0.4.0
Within that directory execute:
@ -108,8 +108,7 @@ If you want xorriso to report a "Build timestamp" with its option -version:
Drives and Disk File Objects
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
drives which shall be used, even if only reading is intended.
The user of xorriso needs rw-permission for the CD burner device.
A list of rw-accessible drives can be obtained by
xorriso -devices
@ -186,9 +185,8 @@ and vice versa:
File Formats
Sector Maps
Sector maps describe the valid and invalid blocks on a media or a disk copy of
Currently there is only one file format peculiar to xorriso : sector maps
which describe the valid and invalid blocks on a media or a disk copy of
a media. xorriso creates and reads these file with its option -check_media.
The file begins with 32 bytes of cleartext of which the last one is a
@ -204,45 +202,6 @@ bit in the map. Then come the bits in form of 8-bit bytes.
Data block M is covered by bit B=M/S in the map, bit number B is stored in
byte B/8 as bit B%8. A valid readable data block has its bit set to 1.
Checksum Tags
Checksum tags are data blocks inside an ISO 9660 image which do not belong to
any file but rather tell the MD5 of a certain range of data blocks.
The superblock checksum tag is written after the ECMA-119 volume descriptors.
The tree checksum tag is written after the ECMA-119 directory entries.
The session checksum tag is written after all payload including the checksum
array. (Then follows eventual padding.)
The tags are single lines of printable text, padded by 0 bytes. They have
the following format:
Tag_id pos=# range_start=# range_size=# [session_start|next=#] md5=# self=#\n
Parameters md5= and self= are 32 digit hex, the others are decimal numbers.
Tag_id distinguishes the following tag types
"libisofs_rlsb32_checksum_tag_v1" Relocated 64 kB superblock tag
"libisofs_sb_checksum_tag_v1" Superblock tag
"libisofs_tree_checksum_tag_v1" Directory tree tag
"libisofs_checksum_tag_v1" Session tag
A relocated superblock may appear at LBA 0 of an image which was produced for
being stored in a disk file or on overwriteable media (e.g. DVD+R, BD-RE).
xorriso records a first session recorded with its superblock at LBA 32 and
the may follow at the next block address after the session tag which is
divisible by 32. Normally no session starts after the address given by
relocated superblock parameter session_start=.
Session oriented media like CD-R[W], DVD+R, BD-R will have no relocated
superblock but rather bear a table-of-content on media level.
A tag is valid if pos= tells its own block address and self= tells its own MD5
up to the last hex digit of md5=. range_start= tells the first block that is
covered by md5=, range_size= tells the number of blocks covered by md5=.
Relocated superblocks tell the block address of their session by session_start=.
Superblock and tree tag tell the block address of the next tag by next=.
The newline character at the end is mandatory.
libisoburn
@ -264,8 +223,8 @@ This binary is leaner but depends on properly installed libraries of suitable
revision.
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
- libburn.so.4 , version libburn-0.7.0 or higher
- libisofs.so.6 , version libisofs-0.6.22 or higher
- libburn.so.4 , version libburn-0.6.4 or higher
- libisofs.so.6 , version libisofs-0.6.20 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time. So compile in the oldest possible installation
setup unless you have reason to enforce a newer bug fix level.

View File

@ -5844,7 +5844,7 @@ xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.0
28 Jun 2009 [2684]
[]
xorriso/changelog.txt
Documented changes and release timestamp
@ -5858,7 +5858,7 @@ Documented changes and release timestamp
* Bug fix: -load volid did not perform pattern search
* Bug fix: Copies of overwriteable media on sequential were mistaken in ROM drives
2009.06.28.100124 [2685]
2009.06.28.100124 []
configure.ac
README
libisoburn/libisoburn.h
@ -5872,363 +5872,14 @@ xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.1
28 Jun 2009 [2686]
[]
xorriso/changelog.txt
Documented changes and release timestamp
28 Jun 2009 [2687]
svn move -m 'Promoted branch to tag' \
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourZero \
http://svn.libburnia-project.org/libisoburn/tags/ZeroFourZero
------------------------------------ cycle - xorriso-0.4.1 - 2009.06.28.100124
2009.06.30.120311 [2688]
configure.ac
xorriso/configure_ac.txt
Provisory patch on ticket 152: GNU libiconv needs -liconv but offers no iconv()
2009.06.30.154606 [2689]
xorriso/xorriso.c
Bug fix: Ticket 149, one byte overflow of local variable.
2009.07.07.175748 [2690]
configure.ac
xorriso/configure_ac.txt
Aligned configure --help texts provided by own code in configure.ac
2009.07.07.193955 [2693]
acinclude.m4
configure.ac
xorriso/configure_ac.txt
configure options --enable-libdir-pkgconfig and --enable-pkgconfig-path=DIR
2009.07.14.134423 [2701]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libburn-0.6.9
2009.07.19.214008 [2703]
xorriso/xorriso.c
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
------------------------------------ cycle - xorriso-0.4.1 - 2009.07.19.214008
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
------------------------------ release - xorriso-0.4.0.pl01 - 2009.07.20.060001
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
23 Jul 2009 [2704]
xorriso/xorriso.1
More emphasis on early use of -hardlinks, -acl, -xattr etc.
2009.07.23.103339 [2705]
xorriso/compile_xorriso.sh
xorriso/xorriso_makefile_am.txt
Adopted new libisofs source module md5.[cho]
2009.07.23.103728 [2706]
xorriso/xorriso.c
xorriso/xorrisoburn.c
Showing a better link count with -hardlinks on -lsl
2009.07.25.181857 [2707]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso_eng.html
Updating sorted link array before usage after image manipulations
------------------------------------ cycle - xorriso-0.4.1 - 2009.07.25.181857
Options -lsl and lsdl now display correct link counts if -hardlinks is on
2009.08.03.075954 [2708]
xorriso/xorrisoburn.c
Bug fix: Use of freed memory with -hardlinks on and -update
03 Aug 2009 [2709]
xorriso/xorriso.1
Hints about -hardlinks and file content filtering
2009.08.10.123146 [2710]
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New find actions get_md5, get_any_xattr, test -has_any_xattr
2009.08.10.192240 [2711]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
libisoburn/isofs_wrap.c
New write options session_md5, file_md5, read option nomd5
2009.08.10.193843 [2712]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -md5, new -as mkisofs option --md5
2009.08.10.194416 [2713]
xorriso/xorriso.h
xorriso/xorrisoburn.h
Missing changes in rev 2710 and 2712
2009.08.11.194836 [2714]
configure.ac
libisoburn/libisoburn.h
Requiring at least libisofs-0.6.21 now
2009.08.11.194836 [2715]
xorriso/xorriso_private.h
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New options -check_md5, -check_md5_r, find action check_md5, test -has_md5
2009.08.12.130401 [2716]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
Completed find action check_md5
2009.08.12.202423 [2717]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
Checking MD5 of whole session with -check_md5 and empty path list
2009.08.13.203718 [2718]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
Better reaction wich -check_md5 if no MD5 array is loaded
2009.08.14.102355 [2719]
xorriso/xorriso.c
xorriso/xorrisoburn.c
More timely abort of find jobs if the result pager gets aborted
2009.08.14.211648 [2720]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorriso.1
Letting -check_media look for session checksum tags
2009.08.15.173403 [2724]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso.1
Introduced -check_media event= for mismatch events
2009.08.16.200906 [2725]
xorriso/xorriso.c
xorriso/xorrisoburn.c
Adapted to a change in iso_util_decode_md5_tag()
2009.08.17.162456 [2726]
libisoburn/burn_wrap.c
Giving overwriteable media a single-session toc with isoburn_drive_aquire(bit4)
2009.08.17.162834 [2727]
xorriso/xorrisoburn.c
-check_media recognizes relocated 64kB superblock tag and hops over session gaps
2009.08.18.173453 [2728]
xorriso/xorrisoburn.c
Making use of new API call iso_md5_match() and adapted to MD5 image mismatches
2009.08.18.191013 [2729]
xorriso/xorriso.c
xorriso/xorriso.1
Included -md5 on with option -for_backup
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.18.191013
New option -md5, new -as mkisofs option --md5
New options -check_md5, -check_md5_r
New find actions check_md5 get_md5, get_any_xattr
New find tests -has_md5, -has_any_xattr
libisoburn: New write options session_md5, file_md5, read option nomd5
2009.08.19.180632 [2730]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
Adapted to enhanced iso_write_opts_set_record_md5()
2009.08.19.180842 [2731]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -md5 mode "all"
19 Aug 2009 [2732]
xorriso/xorriso_eng.html
Corrections with xorriso web page
2009.08.20.204309 [2733]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
Made -compare and -update work with recorded MD5 sums
2009.08.22.184241 [2734]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -find action make_md5 to equip files from old images with MD5
2009.08.24.182839 [2738]
configure.ac
libisoburn/libisoburn.h
Demanding libburn-0.6.9 now
2009.08.24.183750 [2739]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -calm_drive
2009.08.25.191217 [2741]
xorriso/xorrisoburn.c
More timely report of library messages with -check_md5
2009.08.25.191325 [2742]
xorriso/xorriso.1
Updated incremental backup example
2009.08.25.191433 [2743]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-0.6.22 now
2009.08.25.191543 [2744]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libisofs-0.6.23
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.25.191543
Options -compare, -compare_r, -update, update_r now can use recorded MD5
New -find action make_md5 to equip files from old images with MD5
New option -calm_drive
2009.08.27.175608 [2752]
xorriso/xorriso.c
Updated helptext about -find actions, new -as mkisofs option --for_backup
2009.08.27.175719 [2753]
libisoburn/libisoburn.h
configure.ac
Requiring libburn-0.7.0 now
2009.08.27.175806 [2754]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libburn-0.7.1
2009.08.28.100829 [2756]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -list_profiles
2009.08.28.101405 [2757]
xorriso/xorriso.c
Forgot to store before committing
2009.08.28.101716 [2758]
xorriso/xorriso_private.h
Forgot to commit xorriso_private.h
2009.08.28.112825 [2759]
xorriso/xorrisoburn.c
Small correction with reporting profile "Removable disk"
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.28.112825
New option -list_profiles
29 Aug 2009 [2760]
svn copy -m "Branching for libisoburn release 0.4.2"
http://svn.libburnia-project.org/libisoburn/trunk
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourTwo
2009.08.29.143001 [2761]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.2
29 Aug 2009 [2762]
xorriso/xorriso.1
Some updates and corrections in xorriso man page
29 Aug 2009 []
xorriso/changelog.txt
Document changes and release timestamp
----------------------------------- release - xorriso-0.4.2 - 2009.08.29.143001
* Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
* Options -lsl and lsdl now display correct link counts if -hardlinks is on
* New option -md5, new -as mkisofs option --md5
* New options -check_md5, -check_md5_r
* New find actions check_md5 get_md5, get_any_xattr
* New find tests -has_md5, -has_any_xattr
* libisoburn: New write options session_md5, file_md5, read option nomd5
* Options -compare, -compare_r, -update, update_r now can use recorded MD5
* New -find action make_md5 to equip files from old images with MD5
* New option -calm_drive
* New option -list_profiles
29 Aug 2009 [2763]
xorriso/xorriso.1
Some updates and corrections in xorriso man page
2009.08.29.180146 [2764]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.3
[]
xorriso/changelog.txt
Document changes and release timestamp
------------------------------------ cycle - xorriso-0.4.3 - 2009.08.29.180146
------------------------------------ cycle - xorriso-0.4.3 -
------------------------------------ cycle - xorriso-0.4.3 -
------------------------------------ cycle - xorriso-0.4.1 -
------------------------------------ cycle - xorriso-0.4.1 -
===============================================================================
TODO
@ -6236,11 +5887,6 @@ Document changes and release timestamp
------------------------------------------------- bugs
- >>> what about stat.st_nlink ?
- Must it be maintained for directories (i.e. nlink == files + 2)?
There are indications that it should either give the number of subdirs
(including . and ..) or be 1
- what about split files and hard links ?
- xorriso -as cdrecord in rare cases reports intermediate "X of X MB"
@ -6255,21 +5901,23 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
------------------------------------------------- important
- Mark data blocks of -check_md5 matching files as valid in sector map ?
- tree of name nodes to represent the cached paths of hardlink candidates.
- register hard link disk path for files with link count 1
and allow in Xorriso_restore_target_hl() to use the own hln_target of
a node when that node is copied to disk a second time.
- libisofs call to create a hard link ?
- during -update*
- what about differently filtered streams ?
It is not wrong but a waste to update them as siblings.
- >>> what about stat.st_nlink ?
- Must it be maintained for directories (i.e. nlink == files + 2)?
There are indications that it should either give the number of subdirs
(including . and ..) or be 1
- It would be nice if xorriso -lsl could display the actual nlink number.
But that is not easy with -map /a /x -map /a /y . One would need a fast
lookup of existing inode tuples. I.e. a permanent RBTree of IsoNode.
Current is a sorted array of Ecma119Node, because Ecma119Node can record
the final inode number in the emerging image easily.
??? Should one unite IsoNode and Ecma119 node ???
- libisofs call to create a hard link ?
- sudo and setuid chapter in man page
? option -sudo_aware
@ -6339,27 +5987,8 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
- the error handling system should be comprehensively documented
and eventually rectified where needed.
- the iterators are still not safe with node renamings:
iso_dir_get_children(...);
while(...) {
iso_dir_iter_next(...);
... iso_node_get_name() returns "xyz" ...
iso_node_set_name("xyz.gz");
... iso_file_add_external_filter() returns 2 ...
iso_node_set_name("xyz");
}
- demo/ produces on FreeBSD several binaries of 500k each.
On all systems gcc issues warnings.
- Which demo binary is still valid ?
------ feature enhancements :
- With 100,000 files in a single directory, adding new nodes becomes
very slow with high workload.
Some hash accelerator would be nice.
- isohybrid
- as of syslinux-3.81pre10/utils/isohybrid.in :
- new signature {0xf7, 0xe3, 0xef, 0x0d}

View File

@ -91,7 +91,6 @@ libisofs="$libisofs $isofs"filter.o
libisofs="$libisofs $isofs_filter"external.o
libisofs="$libisofs $isofs_filter"zisofs.o
libisofs="$libisofs $isofs_filter"gzip.o
libisofs="$libisofs $isofs"md5.o
echo "Version timestamp : $(sed -e 's/#define Xorriso_timestamP "//' -e 's/"$//' "$xorr"/xorriso_timestamp.h)"

View File

@ -1,4 +1,4 @@
AC_INIT([xorriso], [0.4.2], [http://libburnia-project.org])
AC_INIT([xorriso], [0.4.0], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -8,15 +8,15 @@ AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([subdir-objects])
BURN_MAJOR_VERSION=0
BURN_MINOR_VERSION=7
BURN_MICRO_VERSION=1
BURN_MINOR_VERSION=6
BURN_MICRO_VERSION=7
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)
LIBISOFS_MAJOR_VERSION=0
LIBISOFS_MINOR_VERSION=6
LIBISOFS_MICRO_VERSION=23
LIBISOFS_MICRO_VERSION=21
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
@ -46,9 +46,7 @@ fi
dnl If iconv(3) is in an extra libiconv, then it gets added to variable LIBS.
dnl If not, then no -liconv will be added.
AC_CHECK_LIB(iconv, iconv, , )
dnl GNU iconv has no function iconv() but libiconv() and a macro iconv()
AC_CHECK_LIB(iconv, libiconv, , )
AC_PROG_LIBTOOL
AC_SUBST(LIBTOOL_DEPS)
LIBTOOL="$LIBTOOL --silent"
@ -112,13 +110,6 @@ else
CFLAGS="$CFLAGS -DDEBUG"
fi
dnl Determine target directory for libisoburn-*.pc
dnl Important: Must be performed _after_ TARGET_SHIZZLE
dnl
LIBBURNIA_SET_PKGCONFIG
AC_ARG_ENABLE(libreadline,
[ --enable-libreadline Enable use of libreadline by xorriso, default=yes],
, enable_libreadline=yes)
@ -137,7 +128,7 @@ AC_SUBST(READLINE_DEF)
AC_ARG_ENABLE(libacl,
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
[ --enable-libacl Enable use of libacl by libisofs, default=yes],
, enable_libacl=yes)
if test x$enable_libacl = xyes; then
dnl Check whether there is libacl-devel and libacl-runtime.
@ -152,7 +143,7 @@ AC_SUBST(LIBACL_DEF)
AC_ARG_ENABLE(xattr,
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
[ --enable-xattr Enable use of xattr by libisofs, default=yes],
, enable_xattr=yes)
if test x$enable_xattr = xyes; then
dnl Check whether there is the header for Linux xattr.
@ -166,7 +157,7 @@ AC_SUBST(XATTR_DEF)
AC_ARG_ENABLE(zlib,
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
[ --enable-zlib Enable use of zlib by libisofs, default=yes],
, enable_zlib=yes)
if test x$enable_zlib = xyes; then
dnl Check whether there is the header for zlib.
@ -181,7 +172,7 @@ AC_SUBST(ZLIB_DEF)
AC_ARG_ENABLE(external-filters,
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
[ --enable-external-filters Enable use of external filter programs by xorriso, default=yes],
, enable_external_filters=yes)
if test x"$enable_external_filters" = xyes; then
EXTF_DEF="-DXorriso_allow_external_filterS"
@ -193,7 +184,7 @@ fi
AC_SUBST(EXTF_DEF)
AC_ARG_ENABLE(external-filters-setuid,
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
[ --enable-external-filters-setuid Enable xorriso external filter programs under setuid, default=no],
, enable_external_filters_setuid=no)
if test x$enable_external_filters_setuid = xyes; then
EXTF_SUID_DEF="-DXorriso_allow_extf_suiD"

View File

@ -25,9 +25,9 @@
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
xorriso_rev=0.4.2
xorriso_rev=0.4.0
# For unstable uploads:
## xorriso_pl=""
# xorriso_pl=""
# For stable releases:
xorriso_pl=".pl00"

View File

@ -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 "Aug 29, 2009"
.TH XORRISO 1 "Jun 27, 2009"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -67,8 +67,6 @@ Can issue commands to mount older sessions on Linux or FreeBSD.
.br
Can check media for damages and copy readable blocks to disk.
.br
Can attach MD5 checksums to each data file and the whole session.
.br
Scans for optical drives, blanks re-useable optical media.
.br
Reads its instructions from command line arguments, dialog, and files.
@ -489,7 +487,7 @@ to make dialog more comfortable.
.PP
Readline is an enhancement for the input line. You may know it already from
the bash shell. Whether it is available in xorriso depends on the availability
of package readline-dev at the time when xorriso was built from its sourcecode.
package readline-dev at the time when xorriso was built from its sourcecode.
.br
It allows to move the cursor over the text in the line by help of the
Leftward and the Rightward arrow key.
@ -521,15 +519,14 @@ try to abort as soon as possible.
.SH OPTIONS
.br
All command words are shown with a leading dash although this dash is not
mandatory for the option to be recognized. Note that with emulation modes the
dashes of the emulated options are mandatory.
mandatory for the option to be recognized. There may be future emulation
modes, where dashes may become mandatory in order to distinguish options
from file addresses.
.br
Normally any number of leading dashes is ignored with command words and
inner dashes are interpreted as underscores.
.TP
.B Aquiring source and target drive:
Before aquiring a drive one will eventually enable options which influence
the behavior of image loading. See next option group.
.TP
\fB\-dev\fR address
Set input and output drive to the same address and load an eventual ISO image.
@ -568,53 +565,6 @@ apply. See above paragraph "Libburn drives".
An empty address string "" gives up the current output drive
without aquiring a new one. No writing is possible without an output drive.
.TP
\fB\-grow_blindly\fR "off"|predicted_nwa
If predicted_nwa is a non-negative number then perform blind growing rather
than modifying if -indev and -outdev are set to different drives.
"off" or "-1" switch to modifying, which is the default.
.br
predicted_nwa is the block address where the add-on session of blind
growing will finally end up. It is the responsibility of the user to ensure
this final position and the presence of the older sessions. Else the
overall ISO image will not be mountable or will produce read errors when
accessing file content. xorriso will write the session to the address
as obtained from examining -outdev and not necessarily to predicted_nwa.
.br
During a run of blind growing, the input drive is given up before output
begins. The output drive is given up when writing is done.
.TP
.B Influencing the behavior of image loading:
The following options should normally be performed before loading an image
by aquiring an input drive. In rare cases it is desirable to activate
them only after image loading.
.TP
\fB\-load\fR entity id
Load a particular (possibly outdated) ISO image from -dev or -indev.
Usually all available sessions are shown with option -toc.
.br
entity depicts the kind of addressing. id depicts the particular
address. The following entities are defined:
.br
"auto" with any id addresses the last session in -toc. This is the default.
.br
"session" with id being a number as of a line "ISO session", column "Idx".
.br
"track" with id being a number as of a line "ISO track", column "Idx".
.br
"lba" or "sbsector" with a number as of a line "ISO ...", column "sbsector".
.br
"volid" with a search pattern for a text as of a line "ISO ...",
column "Volume Id".
.br
Adressing a non-existing entity or one which does not represent an ISO
image will either abandon -indev or at least lead to a blank image.
.br
If an input drive is set at the moment when -load is executed, then the
addressed ISO image is loaded immediately. Else, the setting will be pending
until the next -dev or -indev. After the image has been loaded once, the
setting is valid for -rollback until next -dev or -indev, where it
will be reset to "auto".
.TP
\fB\-drive_class\fR "harmless"|"banned"|"caution"|"clear_list" disk_pattern
Add a drive path pattern to one of the safety lists or make those lists empty.
There are three lists defined which get tested in the following sequence:
@ -650,6 +600,48 @@ Note: This is not a security feature but rather a bumper for the superuser to
prevent inadverted mishaps. For reliably blocking access to a device file you
have to deny its rw-permissions in the filesystem.
.TP
\fB\-grow_blindly\fR "off"|predicted_nwa
If predicted_nwa is a non-negative number then perform blind growing rather
than modifying if -indev and -outdev are set to different drives.
"off" or "-1" switch to modifying, which is the default.
.br
predicted_nwa is the block address where the add-on session of blind
growing will finally end up. It is the responsibility of the user to ensure
this final position and the presence of the older sessions. Else the
overall ISO image will not be mountable or will produce read errors when
accessing file content. xorriso will write the session to the address
as obtained from examining -outdev and not necessarily to predicted_nwa.
.br
During a run of blind growing, the input drive is given up before output
begins. The output drive is given up when writing is done.
.TP
\fB\-load\fR entity id
Load a particular (possibly outdated) ISO image from -dev or -indev.
Usually all available sessions are shown with option -toc.
.br
entity depicts the kind of addressing. id depicts the particular
address. The following entities are defined:
.br
"auto" with any id addresses the last session in -toc. This is the default.
.br
"session" with id being a number as of a line "ISO session", column "Idx".
.br
"track" with id being a number as of a line "ISO track", column "Idx".
.br
"lba" or "sbsector" with a number as of a line "ISO ...", column "sbsector".
.br
"volid" with a search pattern for a text as of a line "ISO ...",
column "Volume Id".
.br
Adressing a non-existing entity or one which does not represent an ISO
image will either abandon -indev or at least lead to a blank image.
.br
If an input drive is set at the moment when -load is executed, then the
addressed ISO image is loaded immediately. Else, the setting will be pending
until the next -dev or -indev. After the image has been loaded once, the
setting is valid for -rollback until next -dev or -indev, where it
will be reset to "auto".
.TP
\fB\-assert_volid\fR pattern severity
Refuse to load ISO images with volume ids which do not match the given
search pattern. When refusing an image, give up the input drive and issue
@ -693,11 +685,9 @@ system.
Commands -update and -update_r track splits and fusions of hard links in
filesystems which have stable device and inode numbers. This can cause
automatic last minute changes before the session gets written. Command
-hardlinks "perform_update" may be used to do these changes earlier,
e.g. if you need to apply filters to all updated files.
-hardlinks "perform_update" may be used to do these changes earlier.
.br
Mode "without_update" avoids hardlink processing during update commands.
Use this if your filesystem situation does not allow -disk_dev_ino "on".
.br
xorriso commands which extract files from an ISO image try to hardlink files
with identical inode number. The normal scope of this operation is from
@ -728,34 +718,10 @@ Enable or disable processing of xattr attributes in user namespace.
If enabled, then xorriso will handle xattr similar to ACL.
See also options -getfattr, -setfattr and above paragraph about xattr.
.TP
\fB\-md5\fR "on"|"all"|"off"
Enable or disable processing of MD5 checksums for the overall session and for
each single data file. If enabled then images get loaded only if eventual
checksums tags of superblock and directory tree match properly. The MD5
checksums of data files and whole session get loaded from the image if there
are any.
.br
With options -compare and -update the eventually recorded MD5 of a file
will be used to avoid content reading from the image. Only the disk file
content will be read and compared with that MD5. This can save much time
if -disk_dev_ino "on" is not suitable.
.br
At image generation time they are computed for each file which gets its data
written into the new session. The checksums of files which have their data
in older sessions get copied into the new session. Superblock, tree and whole
session get a checksum tag each.
.br
Mode "all" will additionally check during image generation whether the checksum
of a data file changed between the time when its reading began and the time
when it ended. This implies reading every file twice.
.br
Checksums can be exploited via options -check_md5, -check_md5_r, via find
actions get_md5, check_md5, and via -check_media.
.TP
\fB\-for_backup\fR
Enable all extra features which help to produce or to restore backups with
highest fidelity of file properties.
Currently this is a shortcut for: -hardlinks on -acl on -xattr on -md5 on.
Currently this is a shortcut for: -hardlinks on -acl on -xattr on .
.TP
\fB\-disk_dev_ino\fR "on"|"ino_only"|"off"
Enable or disable processing of recorded file identification numbers
@ -776,9 +742,6 @@ same filesystems. Use this if mode "on" always sees all files changed.
.br
The speed advantage appears only if the loaded session was produced with
-disk_dev_ino "on" too.
.br
Note that -disk_dev_ino "off" is totally in effect only if -hardlinks is "off",
too.
.TP
\fB\-rom_toc_scan\fR "on"|"off"[:"emul_on"|"emul_off"]
Read-only drives do not tell the actual media type but show any media as
@ -800,16 +763,6 @@ the elsewise trustworthy table-of-content scan for those media.
To be in effect, the -rom_toc_scan setting has to be made before the -*dev
command which aquires drive and media.
.TP
\fB\-calm_drive\fR "in"|"out"|"all"|"on"|"off"
Reduce drive noise until it is actually used again. Some drives stay alert
for substantial time after they have been used for reading. This reduces
the startup time for the next drive operation but can be loud and waste
energy if no i/o with the drive is expected to happen soon.
.br
Modes "in", "out", "all" immediately calm down -indev, -outdev, resp. both.
Mode "on" causes -calm_drive to be performed automatically after each -dev,
-indev, and -outdev. Mode "off" disables this.
.TP
\fB\-ban_stdio_write\fR
Allow for writing only the usage of MMC optical drives. Disallow
to write the result into files of nearly arbitrary type.
@ -1344,12 +1297,6 @@ Matches files which have xattr name-value pairs from user namespace.
\fB\-has_aaip\fR :
Matches files which have ACL or any xattr.
.br
\fB\-has_any_xattr\fR :
Matches files which have any xattr other than ACL.
.br
\fB\-has_md5\fR :
Matches data files which have MD5 checksums.
.br
\fB\-has_filter\fR :
Matches files which are filtered by -set_filter.
.br
@ -1458,24 +1405,7 @@ ACL is given in text form as defined with option -setfacl.
.br
E.g.: -exec setfacl u:lisa:rw,u::rw,g::r,o::-,m::rw --
.br
\fBgetfattr\fR prints eventual xattr name-value pairs from user namespace
to the result channel.
.br
\fBget_any_xattr\fR prints eventual xattr name-value pairs from any namespace
except ACL to the result channel. This is mostly for debugging of
namespace "isofs".
.br
\fBget_md5\fR prints eventual recorded MD5 sum together with file path.
.br
\fBcheck_md5\fR compares eventual recorded MD5 sum with the file content
and reports if mismatch.
.br
E.g.: -find / -not -pending_data -exec check_md5 FAILURE --
\fBmake_md5\fR equips a data file with an MD5 sum of its content. Useful to
upgrade the files in the loaded image to full MD5 coverage by the next
commit with -md5 "on".
.br
E.g.: -find / -type f -not -has_md5 -exec make_md5 --
\fBgetfattr\fR prints eventual xattr name-value pairs to the result channel.
.br
\fBsetfattr\fR sets or deletes xattr name value pairs.
.br
@ -1508,7 +1438,7 @@ Discard the manipulated ISO image and reload it from -indev.
\fB\-rollback_end\fR
Discard the manipulated ISO image. End program without loading a new image.
.TP
.B Writing the result, drive control:
.B Writing the result:
(see also paragraph about settings below)
.TP
\fB\-commit\fR
@ -1637,10 +1567,6 @@ MMC format codes are manifold. Most important are:
.br
Smaller format size with DVD-RAM, BD-RE, or BD-R means more reserve space.
.TP
\fB\-list_profiles\fR "in"|"out"|"all"
Put out a list of media types supported by -indev, resp. -outdev, resp. both.
The currently recognized type is marked by text "(current)".
.TP
.B Settings for data insertion:
.TP
\fB\-file_size_limit\fR value [value [...]] --
@ -2570,10 +2496,6 @@ correction will fail and the drive is supposed to indicate error.
xorriso can scan the media for readable data blocks, classify them according
to their read speed, save them to a file, and keep track of successfuly saved
blocks for further tries on the same media.
.br
By option -md5 checksums may get recorded with data files and whole
sessions. These checksums are reachable only via indev and a loaded image.
They work independently of the media type and can detect transmission errors.
.TP
\fB\-check_media\fR [option [option ...]] --
Try to read data blocks from the indev drive, eventually copy them to a
@ -2586,16 +2508,9 @@ description of options.
.br
The result list tells intervals of 2 KiB blocks with start address, number
of blocks and quality. Qualities which begin with "+" are
supposed to be valid readable data. Qualities with "-" are unreadable or
corrupted data.
"0" indicates qualities which are not covered by the check run or are regularly
allowed to to be unreadable (e.g. gaps between tracks).
supposed to be valid readable data. Qualities with "-" are no valid data.
.br
Alternatively it is possible to report damaged files rather than blocks.
.br
If -md5 is on then the default mode what=tracks looks out for libisofs
checksum tags for the ISO session data and and eventually checks them
against the checksums computed from the data stream.
.TP
\fB\-check_media_defaults\fR [option [option ...]] --
Preset options for runs of -check_media, -extract_cut and best_effort
@ -2608,12 +2523,11 @@ may override each other. So their sequence matters.
The default setting at program start is:
.br
use=indev what=tracks min_lba=-1 max_lba=-1 retry=default
.br
time_limit=28800 item_limit=100000 data_to='' event=ALL
time_limit=28800 item_limit=100000
.br
abort_file=/var/opt/xorriso/do_abort_check_media
.br
sector_map='' map_with_volid=off patch_lba0=off report=blocks
data_to='' sector_map='' map_with_volid=off patch_lba0=off report=blocks
.br
Option "reset=now" restores these startup defaults.
.br
@ -2654,10 +2568,6 @@ Value -1 means unlimited item number.
.br
"data_to=" copies the valid blocks to the file which is given as option value.
.br
"event=" sets the given severity for a problem event which shall be issued at
the end of a check run if data blocks were unreadable or failed to match
recorded MD5 checksums. Severity "ALL" disables this event.
.br
"sector_map=" tries to read the file given by option value as
sector bitmap and to store such a map file after the scan run.
The bitmap tells which blocks have been read successfully in previous runs.
@ -2686,25 +2596,6 @@ have an -indev and a loaded image. ":force" may be appended after the number.
"use=sector_map" does not read any media but loads the file given by option
sector_map= and processes this virtual outcome.
.TP
\fB\-check_md5\fR severity iso_rr_path [***]
Compare the data content of the given files in the loaded image with their
recorded MD5 checksums, if there are any. In case of any mismatch an event of
the given severity is issued. It may then be handled by appropriate settings of
options -abort_on or -return_with which both can cause non-zero exit values
of the program run. Severity ALL suppresses that event.
.br
This option reports match and mismatch of data files to the result channel.
Non-data files cause NOTE events. There will also be UPDATE events from
data reading.
.br
If no iso_rr_path is given then the whole loaded session is compared with its
MD5 sum. Be aware that this covers only one session and not the whole image
if there are older sessions.
.TP
\fB\-check_md5_r\fR severity iso_rr_path [***]
Like -check_md5 but checking all data files underneath the given paths.
Only mismatching data files will be reported.
.TP
.B osirrox restore options:
.PP
Normally xorriso only writes to disk files which were given as stdio:
@ -3452,13 +3343,11 @@ in the ISO image so that they become exact copies of their disk counterparts.
ISO file objects get created, deleted or get their attributes adjusted
accordingly.
.br
ACL, xattr, hard links and MD5 checksums will be recorded.
Accelerated comparison is enabled at the expense of potentially larger backup
size. Only media with the expected volume id or blank media are accepted.
ACL, xattr and hard links will be recorded. Accelerated comparison is enabled
at the expense of potentially larger backup size.
Only media with the expected volume id or blank media are accepted.
Files with names matching *.o or *.swp get excluded explicitely.
.br
When done with writing the new session gets checked by its recorded MD5.
.br
\fB$\fR xorriso \\
.br
-for_backup -disk_dev_ino on \\
@ -3475,7 +3364,7 @@ When done with writing the new session gets checked by its recorded MD5.
.br
-update_r /home/thomas/personal_mail /personal_mail \\
.br
-commit -toc -check_md5 FAILURE -- -eject all
-commit -toc -eject all
.br
To be used several times on the same media, whenever an update of
the two disk trees to the media is desired. Begin with blank media and start
@ -3485,16 +3374,13 @@ the old one.
This makes sense if the full backup leaves substantial remaining capacity
on media and if the expected changes are much smaller than the full backup.
To apply zisofs compression to those data files which get newly copied from
the local filesystem, insert these options immediately before -commit :
the local filesystem, perform immediately before -commit :
.br
-hardlinks perform_update \\
-find / -type f -pending_data -exec set_filter --zisofs --
.br
-find / -type f -pending_data -exec set_filter --zisofs -- \\
.br
Options -disk_dev_ino and -for_backup depend on stable device and inode numbers
on disk. Without them, an update run may use -md5 "on" to match recorded MD5
sums against the current file content on hard disk. This is usually much faster
than the default which compares both contents directly.
Option -disk_dev_ino depends on stable device and inode numbers on disk.
Without it, an update run will probably save no time but last longer than
a full backup. Such a slow run might produce a smaller backup, though.
.br
With \fBmount\fR option \fB-o "sbsector="\fR on Linux resp. \fB-s\fR on FreeBSD
it is possible to access the session trees which represent the older backup
@ -3619,9 +3505,6 @@ ACL and xattr
.BR setfacl(1),
.BR getfattr(1),
.BR setfattr(1)
.TP
MD5 checksums
.BR md5sum(1)
.br
.SH AUTHOR
Thomas Schmitt <scdbackup@gmx.net>

File diff suppressed because it is too large Load Diff

View File

@ -16,13 +16,13 @@
struct XorrisO;
#define Xorriso_program_versioN "0.4.2"
#define Xorriso_program_versioN "0.4.0"
/* --------------------- Fundamental Management ------------------- */
/* Get the version text (e.g. "0.4.2") of the program code.
/* Get the version text (e.g. "0.4.0") of the program code.
@param flag unused yet, submit 0
@return readonly character string
*/
@ -497,15 +497,6 @@ int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag);
*/
int Xorriso_option_charset(struct XorrisO *xorriso, char *name, int flag);
/* Options -check_md5 and -check_md5_r
@param flag bit0= issue summary message
bit1= do not reset pacifier, no final pacifier message
bit2= do not issue pacifier messages at all
bit3= recursive: -check_md5_r
*/
int Xorriso_option_check_md5(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
/* Option -check_media */
int Xorriso_option_check_media(struct XorrisO *xorriso,
int argc, char **argv, int *idx, int flag);
@ -733,9 +724,6 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
/* Option -mark */
int Xorriso_option_mark(struct XorrisO *xorriso, char *mark, int flag);
/* Option -md5 */
int Xorriso_option_md5(struct XorrisO *xorriso, char *mode, int flag);
/* Option -mkdir alias -mkdiri */
int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag);

View File

@ -35,12 +35,10 @@ Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
<P>
<H2>Hardware requirements:</H2>
About any CD, DVD, or BD recorder produced in the recent ten years.
<BR>
<A HREF="http://libburnia-project.org">libburn</A>
supports recorders which are compliant to standards MMC-1 for CD and
MMC-5 for DVD or BD. Linux and FreeBSD allow to access drives connected
via SCSI, PATA (aka IDE, ATA), USB, or SATA.
A CD/DVD/BD recorder suitable for
<A HREF="http://libburnia-project.org">http://libburnia-project.org</A> <BR>
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
and to MMC-5 for DVD or BD).
<BR>
</P>
@ -105,9 +103,6 @@ Updates ISO subtrees incrementally to match given disk subtrees.
Can record and restore hard link relations, ACL, and xattr.
</LI>
<LI>
Can attach MD5 checksums to each data file and the whole session.
</LI>
<LI>
File content may get zisofs or gzip compressed or filtered by external
processes.
</LI>
@ -279,27 +274,23 @@ to match the new disk trees.
Older states can be retrieved by help of mount options like "sbsector="
or by help of xorriso option -mount.
<BR>
Eventual ACL, xattr and hardlink relations will be recorded. MD5 checksums
will be computed and recorded. Data reading will be avoided by accelerator
option -disk_dev_ino. After writing, the new session will be checked
by its recorded MD5.
<BR>
Eventual ACL or xattr will be recorded. Data reading will be avoided by
accelerator option -disk_dev_ino.
Only blank media or media with volume id "PROJECTS_MAIL_..." will be accepted.
Files with names ending by ".o" or ".swp" are excluded by options -not_leaf.
</DT>
<DD>$<KBD>&nbsp;xorriso -for_backup -disk_dev_ino on \</KBD></DD>
<DD>$<KBD>&nbsp;xorriso -acl on -xattr on -disk_dev_ino on \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -assert_volid 'PROJECTS_MAIL_*' FATAL \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -dev /dev/sr0 \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -not_leaf '*.o' -not_leaf '*.swp' \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -update_r /home/thomas/open_source_projects /open_source_projects \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -update_r /home/thomas/personal_mail /personal_mail \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -commit -toc -check_md5 FAILURE -- -eject all</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -commit -toc -eject all</KBD></DD>
<DT>
To apply zisofs compression to those data files which get newly copied from
the local filesystem, perform immediately before -commit :
<DD><KBD>&nbsp;&nbsp; -hardlinks perform_update \</KBD></DD>
<DD>
<KBD>&nbsp;&nbsp; -find / -type f -pending_data -exec set_filter --zisofs -- \</KBD></DD>
</DD>
@ -429,10 +420,10 @@ files or trees to disk:
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
<DD><A HREF="xorriso-0.4.2.pl02.tar.gz">xorriso-0.4.2.pl02.tar.gz</A>
(1295 KB).
<DD><A HREF="xorriso-0.4.0.pl00.tar.gz">xorriso-0.4.0.pl00.tar.gz</A>
(1260 KB).
</DD>
<DD>(Released 8 Oct 2009)</DD>
<DD>(Released 28 Jun 2009)</DD>
</DL>
</DD>
</DL>
@ -457,42 +448,31 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
<HR>
<P>
Bug fixes towards xorriso-0.4.0.pl00:
Bug fixes towards xorriso-0.3.8.pl00:
<UL>
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
<LI>Option -devices stalled if a U3 enhanced memory stick was present</LI>
<LI>SIGSEGV by dereferencing NULL with option -status and no search string</LI>
<LI>-load volid did not perform pattern search</LI>
<!--
<LI>- none -</LI>
-->
</UL>
</P>
<P>
Bug fixes towards xorriso-0.4.2.pl00:
Enhancements towards previous stable version xorriso-0.3.8.pl00:
<UL>
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
</UL>
</P>
<P>
Bug fixes towards xorriso-0.4.2.pl01:
<UL>
<LI>Filenames could lose blanks during a multi-session cycle</LI>
<LI>-for_backup did not enable -xattr and -md5 if no drive was chosen yet</LI>
<LI>xorrisofs -help, xorrecord -help displayed original xorriso -help</LI>
</UL>
</P>
<P>
Enhancements towards previous stable version xorriso-0.4.0.pl00:
<UL>
<LI>New option -md5, new -as mkisofs option --md5</LI>
<LI>New options -check_md5, -check_md5_r</LI>
<LI>New find actions check_md5 get_md5, get_any_xattr, make_md5</LI>
<LI>New find tests -has_md5, -has_any_xattr</LI>
<LI>New option -list_profiles</LI>
<LI>New option -calm_drive</LI>
<LI>Options -lsl and -lsdl now display correct link counts if -hardlinks is on
<LI>New option -hardlinks for recording and restoring of hard link relations
</LI>
<LI>New option -for_backup as shortcut for -acl -xattr -hardlinks
</LI>
<LI>Improved read performance with -update_r
</LI>
<LI>Improved read performance with -extract by -osirrox sort_lba
</LI>
<LI>Operators with option -find : -not, -or, -and, (, ), -if, -then, -else</LI>
<LI>New -find tests -wholename, -prune, -sort_lba</LI>
<!--
<LI>- none -</LI>
@ -507,16 +487,16 @@ Enhancements towards previous stable version xorriso-0.4.0.pl00:
Library copies included in xorriso tarballs:
</H3>
<DL>
<DT>libburn-0.7.1</DT>
<DT>libburn-0.6.7</DT>
<DD>reads and writes data from and to CD, DVD, BD.</DD>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)</DD>
<DT>libisofs-0.6.23</DT>
<DT>libisofs-0.6.21</DT>
<DD>operates on ISO 9660 filesystem images.</DD>
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
from team of libburnia-project.org)</DD>
<DT>libisoburn-0.4.2</DT>
<DT>libisoburn-0.4.0</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed.</DD>
<DD>(By Vreixo Formoso and Thomas Schmitt
from team of libburnia-project.org)</DD>
@ -530,36 +510,25 @@ cdrecord and mkisofs.</DT>
<P>
<DL>
<DT><H3>Development snapshot, version 0.4.3 :</H3></DT>
<DD>Bug fixes towards xorriso-0.4.2.pl00:
<DT><H3>Development snapshot, version 0.4.1 :</H3></DT>
<DD>Bug fixes towards xorriso-0.4.0.pl00:
<UL>
<LI>Filenames could lose blanks during a multi-session cycle</LI>
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
<LI>-for_backup did not enable -xattr and -md5 if no drive was chosen yet</LI>
<LI>With -as cdrecord : -xa1 and -xamix were ignored although they do matter</LI>
<LI>xorrisofs -help, xorrecord -help displayed original xorriso -help</LI>
<!--
<LI>- none yet -</LI>
<!--
-->
</UL>
</DD>
<DD>Enhancements towards stable version 0.4.2.pl01:
<DD>Enhancements towards stable version 0.4.0.pl00:
<UL>
</LI>
<LI>New option -scdbackup_tag</LI>
<LI>New option -pvd_info</LI>
<LI>Option -toc now reports "Media product:"</LI>
<LI>New options -system_id , -volset_id</LI>
<!--
<LI>- none yet -</LI>
<!--
-->
</UL>
</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_xorriso_devel">README 0.4.3</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.4.3 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.3)</A></DD>
<DD><A HREF="README_xorriso_devel">README 0.4.1</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.4.1 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.1)</A></DD>
<DD>&nbsp;</DD>
<DT>If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@ -569,8 +538,8 @@ libburnia libraries.
installation see README)
</DD>
<DD>
<A HREF="xorriso-0.4.3.tar.gz">xorriso-0.4.3.tar.gz</A>
(1310 KB).
<A HREF="xorriso-0.4.1.tar.gz">xorriso-0.4.1.tar.gz</A>
(1260 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of

View File

@ -109,8 +109,6 @@ xorriso_xorriso_SOURCES = \
libisofs/make_isohybrid_mbr.c \
libisofs/aaip_0_2.h \
libisofs/aaip_0_2.c \
libisofs/md5.h \
libisofs/md5.c \
\
libburn/async.c \
libburn/async.h \

View File

@ -107,7 +107,7 @@ struct XorrisO { /* the global context of xorriso */
bit3= with update:
Do not try to detect hardlink splits and joinings.
bit4= with extract:
Do not create or use hln arrays if sort_lba_on
Do not automatically create hln arrays
*/
int do_joliet;
@ -124,13 +124,6 @@ struct XorrisO { /* the global context of xorriso */
bit9= allow to set input charset from xattr "isofs.cs"
*/
int do_md5; /* bit0= read MD5 array
bit1= write session MD5
bit2= write MD5 for each data file
bit3= make file content stability check by double reading
bit4= use recorded MD5 as proxy of ISO file
*/
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
int do_follow_pattern;
int do_follow_param;
@ -199,8 +192,6 @@ struct XorrisO { /* the global context of xorriso */
*/
char image_start_value[81]; /* value according image_start_mode */
int do_calm_drive; /* bit0= calm down drive after aquiring it */
char indev[SfileadrL];
void *in_drive_handle; /* interpreted only by xorrisoburn.c */
void *in_volset_handle; /* interpreted only by xorrisoburn.c */
@ -399,11 +390,6 @@ struct XorrisO { /* the global context of xorriso */
void *pacifier_fifo;
int find_compare_result; /* 1=everything matches , 0=mismatch , -1=error */
int find_check_md5_result; /* bit0= seen mismatch
bit1= seen error
bit2= seen data file without MD5
bit3= seen match
*/
/* Tree node collection and LBA sorting facility */
int node_counter;
@ -417,7 +403,6 @@ struct XorrisO { /* the global context of xorriso */
int hln_count;
void **hln_array;
void **hln_targets;
int hln_change_pending; /* whether a change was made since hln creation */
/* >>> this should count all temp_mem and thus change its name */
off_t node_targets_availmem;
@ -447,9 +432,6 @@ struct XorrisO { /* the global context of xorriso */
};
/* @param flag bit0= do not set hln_change_pending */
int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag);
int Xorriso_prepare_regex(struct XorrisO *xorriso, char *adr, int flag);
int Xorriso_result(struct XorrisO *xorriso, int flag);
@ -681,10 +663,6 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
char *iso_adr, char *adr_common_tail,
int *result, int flag);
int Xorriso_report_md5_outcome(struct XorrisO *xorriso, char *severity,
int flag);
int Sfile_str(char target[SfileadrL], char *source, int flag);
double Sfile_microtime(int flag);
@ -854,8 +832,6 @@ struct ExprtesT {
11= -decision char *arg1 ("yes", "no")
12= -prune
13= -wholename char *arg1 (regex_t in *arg2)
14= -has_any_xattr
15= -has_md5
*/
int test_type;
@ -957,10 +933,6 @@ struct FindjoB {
30= internal: count by xorriso->node_counter
31= internal: register in xorriso->node_array
32= internal: widen_hardlinks disk_equiv: update nodes marked in di_do_widen
33= get_any_xattr
34= get_md5
35= check_md5
36= make_md5
*/
int action;
int prune;
@ -1190,7 +1162,6 @@ char *Spotlist__quality_name(int quality, char name[80], int flag);
#define Xorriso_read_quality_gooD 0x7fffffff
#define Xorriso_read_quality_md5_matcH 0x70000000
#define Xorriso_read_quality_sloW 0x60000000
#define Xorriso_read_quality_partiaL 0x50000000
#define Xorriso_read_quality_valiD 0x40000000
@ -1198,58 +1169,9 @@ char *Spotlist__quality_name(int quality, char name[80], int flag);
#define Xorriso_read_quality_invaliD 0x3ffffffe
#define Xorriso_read_quality_tao_enD 0x28000000
#define Xorriso_read_quality_off_tracK 0x20000000
#define Xorriso_read_quality_md5_mismatcH 0x10000000
#define Xorriso_read_quality_unreadablE 0x00000000
struct CheckmediajoB {
int use_dev; /* 0= use indev , 1= use outdev , 2= use sector map*/
int min_lba; /* if >=0 : begin checking at this address */
int max_lba; /* if >=0 : read up to this address, else use mode */
int min_block_size; /* >>> not yet implemented:
granularity desired by user
*/
int mode; /* 0= track by track
1= single sweep over libisoburn media capacity
>>> 2= single sweep over libburn media capacity
*/
time_t start_time;
int time_limit; /* Number of seconds after which to abort */
int item_limit; /* Maximum number of media check list items as result */
char abort_file_path[SfileadrL];
char data_to_path[SfileadrL];
int data_to_fd;
off_t data_to_offset; /* usually 0 with image copy, negative with file copy */
off_t data_to_limit; /* used with file copy */
int patch_lba0;
int patch_lba0_msc1;
char sector_map_path[SfileadrL];
struct SectorbitmaP *sector_map;
int map_with_volid; /* 0=add quick toc to map file,
1=read ISO heads for toc
*/
int retry; /* -1= only try full read_chunk, 1=retry with 2k blocks
0= retry with CD, full chunk else
*/
int report_mode; /* 0= print MCL items
1= print damaged files
*/
char event_severity[20]; /* If not "ALL": trigger event of given severity
at the end of a check job if bad blocks were
discovered.
*/
};
int Checkmediajob_new(struct CheckmediajoB **o, int flag);
int Checkmediajob_destroy(struct CheckmediajoB **o, int flag);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.10.08.080001"
#define Xorriso_timestamP "2009.06.28.090001"

File diff suppressed because it is too large Load Diff

View File

@ -19,12 +19,7 @@
*/
#define xorriso_libisoburn_req_major 0
#define xorriso_libisoburn_req_minor 4
#define xorriso_libisoburn_req_micro 2
struct SpotlisT; /* List of intervals with different read qualities */
struct CheckmediajoB; /* Parameters for Xorriso_check_media() */
#define xorriso_libisoburn_req_micro 0
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
@ -92,11 +87,6 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t size, int flag);
*/
int Xorriso_list_formats(struct XorrisO *xorriso, int flag);
/* @param flag bit1= obtain outdrive, else indrive
@return <=0 error, 1 success
*/
int Xorriso_list_profiles(struct XorrisO *xorriso, int flag);
/* @param flag bit2= formatting rather than blanking
@return 0=failure, did not touch media , -1=failure, altered media
1=success, altered media , 2=success, did not touch media
@ -228,7 +218,6 @@ int Xorriso_get_profile(struct XorrisO *xorriso, int *profile_number,
char profile_name[80], int flag);
/* @param flag bit0= node_pt is a valid ISO object handle, ignore pathname
bit1= dig out the most original stream for reading
*/
int Xorriso_iso_file_open(struct XorrisO *xorriso, char *pathname,
void *node_pt, void **stream, int flag);
@ -321,8 +310,7 @@ int Xorriso_destroy_hln_array(struct XorrisO *xorriso, int flag);
int Xorriso_destroy_di_array(struct XorrisO *xorriso, int flag);
int Xorriso_new_node_array(struct XorrisO *xorriso, off_t mem_limit,
int addon_nodes, int flag);
int Xorriso_new_node_array(struct XorrisO *xorriso, off_t mem_limit, int flag);
int Xorriso_sort_node_array(struct XorrisO *xorriso, int flag);
@ -332,14 +320,49 @@ int Xorriso_new_hln_array(struct XorrisO *xorriso, off_t mem_limit, int flag);
*/
int Xorriso_restore_node_array(struct XorrisO *xorriso, int flag);
int Xorriso_check_md5(struct XorrisO *xorriso, void *in_node, char *path,
int flag);
int Xorriso_check_session_md5(struct XorrisO *xorriso, char *severity,
int flag);
struct CheckmediajoB {
int use_dev; /* 0= use indev , 1= use outdev , 2= use sector map*/
int Xorriso_image_has_md5(struct XorrisO *xorriso, int flag);
int min_lba; /* if >=0 : begin checking at this address */
int max_lba; /* if >=0 : read up to this address, else use mode */
int min_block_size; /* >>> not yet implemented:
granularity desired by user
*/
int mode; /* 0= track by track
1= single sweep over libisoburn media capacity
>>> 2= single sweep over libburn media capacity
*/
time_t start_time;
int time_limit; /* Number of seconds after which to abort */
int item_limit; /* Maximum number of media check list items as result */
char abort_file_path[SfileadrL];
char data_to_path[SfileadrL];
int data_to_fd;
off_t data_to_offset; /* usually 0 with image copy, negative with file copy */
off_t data_to_limit; /* used with file copy */
int patch_lba0;
int patch_lba0_msc1;
char sector_map_path[SfileadrL];
struct SectorbitmaP *sector_map;
int map_with_volid; /* 0=add quick toc to map file,
1=read ISO heads for toc
*/
int retry; /* -1= only try full read_chunk, 1=retry with 2k blocks
0= retry with CD, full chunk else
*/
int report_mode; /* 0= print MCL items
1= print damaged files
*/
};
int Xorriso_check_media(struct XorrisO *xorriso, struct SpotlisT **spotlist,
struct CheckmediajoB *job, int flag);
@ -461,25 +484,6 @@ int Xorriso_hardlink_update(struct XorrisO *xorriso, int *compare_result,
int Xorriso_finish_hl_update(struct XorrisO *xorriso, int flag);
int Xorriso_get_md5(struct XorrisO *xorriso, void *in_node, char *path,
char md5[16], int flag);
int Xorriso_make_md5(struct XorrisO *xorriso, void *in_node, char *path,
int flag);
int Xorriso_md5_start(struct XorrisO *xorriso, void **ctx, int flag);
int Xorriso_md5_compute(struct XorrisO *xorriso, void *ctx,
char *data, int datalen, int flag);
int Xorriso_md5_end(struct XorrisO *xorriso, void **ctx, char md5[16],
int flag);
/* @param flag bit0=input drive
bit1=output drive
*/
int Xorriso_drive_snooze(struct XorrisO *xorriso, int flag);
/* A pseudo file type for El-Torito bootsectors as in man 2 stat :
For now take the highest possible value.