diff --git a/README b/README
index d71ba4f3..b8f081fd 100644
--- a/README
+++ b/README
@@ -4,7 +4,7 @@
libisoburn. By Vreixo Formoso
and Thomas Schmitt
Integrated sub project of libburnia-project.org.
-http://files.libburnia-project.org/releases/libisoburn-0.4.0.pl00.tar.gz
+http://files.libburnia-project.org/releases/libisoburn-0.4.2.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.0 :
-- libburn.so.4 , version libburn-0.6.4 or higher
-- libisofs.so.6 , version libisofs-0.6.20 or higher
+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
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time.
-Obtain libisoburn-0.4.0.pl00.tar.gz, take it to a directory of your choice
+Obtain libisoburn-0.4.2.pl00.tar.gz, take it to a directory of your choice
and do:
- tar xzf libisoburn-0.4.0.pl00.tar.gz
- cd libisoburn-0.4.0
+ tar xzf libisoburn-0.4.2.pl00.tar.gz
+ cd libisoburn-0.4.2
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 burner
-devices which shall be used.
+The user of libisoburn applications needs rw-permission for the CD/DVD/BD
+drives which shall be used, even if only reading is intended.
A list of rw-accessible drives can be obtained by
xorriso -devices
resp. by libburn API call
diff --git a/configure.ac b/configure.ac
index 81335bdb..4d66c365 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([libisoburn], [0.4.1], [http://libburnia-project.org])
+AC_INIT([libisoburn], [0.4.2], [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=1
+ISOBURN_MICRO_VERSION=2
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 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 ts A90829
+dnl This is the release version 0.4.2 = libisoburn.so.1.31.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 = 30 - 29 = 1 . Library name = libisoburn.so.1.29.0
+dnl SONAME = 32 - 31 = 1 . Library name = libisoburn.so.1.31.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
-LT_CURRENT=30
-LT_AGE=29
+LT_CURRENT=32
+LT_AGE=31
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
diff --git a/libisoburn/libisoburn.h b/libisoburn/libisoburn.h
index 04996908..f790ef68 100644
--- a/libisoburn/libisoburn.h
+++ b/libisoburn/libisoburn.h
@@ -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 1
+#define isoburn_header_version_micro 2
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
diff --git a/xorriso/README b/xorriso/README
index 2f32253e..d0d9e717 100644
--- a/xorriso/README
+++ b/xorriso/README
@@ -4,12 +4,12 @@
xorriso. By Thomas Schmitt
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.1.tar.gz
+http://scdbackup.sourceforge.net/xorriso-0.4.2.pl00.tar.gz
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
------------------------------------------------------------------------------
-xorriso is a program which maps file objects from POSIX compliant
+xorriso is a program which copies 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.1.tar.gz, take it to a directory of your choice and do:
+Obtain xorriso-0.4.2.pl00.tar.gz, take it to a directory of your choice and do:
- tar xzf xorriso-0.4.1.tar.gz
- cd xorriso-0.4.1
+ tar xzf xorriso-0.4.2.pl00.tar.gz
+ cd xorriso-0.4.2
Within that directory execute:
@@ -108,7 +108,8 @@ If you want xorriso to report a "Build timestamp" with its option -version:
Drives and Disk File Objects
-The user of xorriso needs rw-permission for the CD burner device.
+The user of libisoburn applications needs rw-permission for the CD/DVD/BD
+drives which shall be used, even if only reading is intended.
A list of rw-accessible drives can be obtained by
xorriso -devices
@@ -185,8 +186,9 @@ and vice versa:
File Formats
-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
+ Sector Maps
+
+Sector maps 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
@@ -202,6 +204,45 @@ 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
@@ -223,8 +264,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.6.4 or higher
-- libisofs.so.6 , version libisofs-0.6.20 or higher
+- libburn.so.4 , version libburn-0.7.0 or higher
+- libisofs.so.6 , version libisofs-0.6.22 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.
diff --git a/xorriso/configure_ac.txt b/xorriso/configure_ac.txt
index ba539e87..40c3fdd9 100644
--- a/xorriso/configure_ac.txt
+++ b/xorriso/configure_ac.txt
@@ -1,4 +1,4 @@
-AC_INIT([xorriso], [0.4.1], [http://libburnia-project.org])
+AC_INIT([xorriso], [0.4.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
diff --git a/xorriso/make_xorriso_standalone.sh b/xorriso/make_xorriso_standalone.sh
index 884d5635..46483b57 100755
--- a/xorriso/make_xorriso_standalone.sh
+++ b/xorriso/make_xorriso_standalone.sh
@@ -25,11 +25,11 @@
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
-xorriso_rev=0.4.1
+xorriso_rev=0.4.2
# For unstable uploads:
-xorriso_pl=""
+## xorriso_pl=""
# For stable releases:
-## xorriso_pl=".pl00"
+xorriso_pl=".pl00"
with_bootstrap_tarball=1
diff --git a/xorriso/xorriso.c b/xorriso/xorriso.c
index d3042e7d..8defd1c1 100644
--- a/xorriso/xorriso.c
+++ b/xorriso/xorriso.c
@@ -20005,7 +20005,7 @@ char *Xorriso__get_version_text(int flag)
/* xorriso consists only of a main() stub which has an own version to match
the version of libxorriso header and runtime code.
*/
-#define Xorriso_main_program_versioN "0.4.1"
+#define Xorriso_main_program_versioN "0.4.2"
#else /* Xorriso_without_subS */
diff --git a/xorriso/xorriso.h b/xorriso/xorriso.h
index 8f061bd4..13126bbf 100644
--- a/xorriso/xorriso.h
+++ b/xorriso/xorriso.h
@@ -16,13 +16,13 @@
struct XorrisO;
-#define Xorriso_program_versioN "0.4.1"
+#define Xorriso_program_versioN "0.4.2"
/* --------------------- Fundamental Management ------------------- */
-/* Get the version text (e.g. "0.4.1") of the program code.
+/* Get the version text (e.g. "0.4.2") of the program code.
@param flag unused yet, submit 0
@return readonly character string
*/
diff --git a/xorriso/xorriso_eng.html b/xorriso/xorriso_eng.html
index 78395ed6..60ef4064 100644
--- a/xorriso/xorriso_eng.html
+++ b/xorriso/xorriso_eng.html
@@ -35,10 +35,12 @@ Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
Hardware requirements:
-A CD/DVD/BD recorder suitable for
-http://libburnia-project.org
-(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
-and to MMC-5 for DVD or BD).
+About any CD, DVD, or BD recorder produced in the recent ten years.
+
+libburn
+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.
@@ -103,6 +105,9 @@ Updates ISO subtrees incrementally to match given disk subtrees.
Can record and restore hard link relations, ACL, and xattr.
+Can attach MD5 checksums to each data file and the whole session.
+
+
File content may get zisofs or gzip compressed or filtered by external
processes.
@@ -274,23 +279,27 @@ 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.
-Eventual ACL or xattr will be recorded. Data reading will be avoided by
-accelerator option -disk_dev_ino.
+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.
+
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.
-$ xorriso -acl on -xattr on -disk_dev_ino on \
+$ xorriso -for_backup -disk_dev_ino on \
-assert_volid 'PROJECTS_MAIL_*' FATAL \
-dev /dev/sr0 \
-volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \
-not_leaf '*.o' -not_leaf '*.swp' \
-update_r /home/thomas/open_source_projects /open_source_projects \
-update_r /home/thomas/personal_mail /personal_mail \
- -commit -toc -eject all
+ -commit -toc -check_md5 FAILURE -- -eject all
To apply zisofs compression to those data files which get newly copied from
the local filesystem, perform immediately before -commit :
+ -hardlinks perform_update \
-find / -type f -pending_data -exec set_filter --zisofs -- \
@@ -420,10 +429,10 @@ files or trees to disk:
Download as source code (see README):
-- xorriso-0.4.0.pl01.tar.gz
-(1270 KB).
+
- xorriso-0.4.2.pl00.tar.gz
+(1295 KB).
-- (Released 20 Jul 2009)
+- (Released 29 Aug 2009)
@@ -448,40 +457,27 @@ an Open Source approved license
-Bug fixes towards xorriso-0.3.8.pl00:
+Bug fixes towards xorriso-0.4.0.pl00:
-- SIGSEGV by dereferencing NULL with option -status and no search string
-- -load volid did not perform pattern search
+- xorriso -as mkisofs did not understand the -C option of growisofs any more
+
- Option -devices stalled if a U3 enhanced memory stick was present
-
-Bug fix towards xorriso-0.4.0.pl00:
+Enhancements towards previous stable version xorriso-0.4.0.pl00:
-- xorriso -as mkisofs did not understand the -C option of growisofs any more
-
-
-
-
-
-
-Enhancements towards previous stable version xorriso-0.3.8.pl00:
-
-- New option -hardlinks for recording and restoring of hard link relations
-
-- New option -for_backup as shortcut for -acl -xattr -hardlinks
-
-- Improved read performance with -update_r
-
-- Improved read performance with -extract by -osirrox sort_lba
-
-- Operators with option -find : -not, -or, -and, (, ), -if, -then, -else
-- New -find tests -wholename, -prune, -sort_lba
+- 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, make_md5
+- New find tests -has_md5, -has_any_xattr
+- New option -list_profiles
+- New option -calm_drive
+- Options -lsl and -lsdl now display correct link counts if -hardlinks is on
-Enhancements towards stable version 0.4.0.pl01:
+Enhancements towards stable version 0.4.2.pl00:
-- 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
-
-README 0.4.1
-xorriso_0.4.1 -help
-man xorriso (as of 0.4.1)
+README 0.4.3
+xorriso_0.4.3 -help
+man xorriso (as of 0.4.3)
If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@@ -556,8 +545,8 @@ libburnia libraries.
installation see README)
-xorriso-0.4.1.tar.gz
-(1280 KB).
+xorriso-0.4.3.tar.gz
+(1295 KB).
A dynamically linked development version of xorriso can be obtained
from repositories of
diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h
index fc6dc0d8..36ac43d8 100644
--- a/xorriso/xorriso_timestamp.h
+++ b/xorriso/xorriso_timestamp.h
@@ -1 +1 @@
-#define Xorriso_timestamP "2009.08.28.112825"
+#define Xorriso_timestamP "2009.08.29.143001"
diff --git a/xorriso/xorrisoburn.h b/xorriso/xorrisoburn.h
index 37153cf5..93cca64b 100644
--- a/xorriso/xorrisoburn.h
+++ b/xorriso/xorrisoburn.h
@@ -19,7 +19,7 @@
*/
#define xorriso_libisoburn_req_major 0
#define xorriso_libisoburn_req_minor 4
-#define xorriso_libisoburn_req_micro 1
+#define xorriso_libisoburn_req_micro 2
struct SpotlisT; /* List of intervals with different read qualities */