Commit Graph

75 Commits

Author SHA1 Message Date
Thomas Schmitt 058f18d37a Bug fix: Large amounts of AAIP data or many long file names could cause with zisofs an unreadable filesystem after the warning "Calculated and written ECMA-119 tree end differ" 2021-02-01 18:46:34 +01:00
Thomas Schmitt 8d70c75d4a Added doc/zisofs2_format.txt to EXTRA_DIST 2020-10-29 09:16:58 +01:00
Thomas Schmitt 9605bbe748 New API call iso_zisofs_ctrl_susp_z2() 2020-10-29 09:11:11 +01:00
Thomas Schmitt b107443769 Implemented production and reading of zisofs2 for files larger than 4 GiB - 1. New API call iso_stream_get_zisofs_par(). New struct iso_zisofs_ctrl version 2. 2020-10-14 20:19:11 +02:00
Thomas Schmitt dc3d82cf36 Fixed spelling errors found by fossies.org with codespell 2019-10-28 15:56:58 +01:00
Thomas Schmitt c6aedc9eb5 Fixed double free introduced with rev 1233. 2015-10-11 19:57:36 +02:00
Thomas Schmitt fbe7f1e89d Closed memory leak with assert error or memory shortage while creating
SL entry. Coverity CID 12576.
2015-10-10 11:48:52 +02:00
Thomas Schmitt d04f438ba1 Closed memory leak with Rock Ridge character set conversion failure.
Coverity CID 12562.
2015-10-09 13:25:42 +02:00
Thomas Schmitt e29cd723dd Accounting for a long AAIP list in root directory. 2015-03-05 15:44:47 +01:00
Thomas Schmitt b0694b4e25 Name change with some debugging macros. 2015-03-01 22:18:59 +01:00
Thomas Schmitt 850302dde5 Fixed another bug introduced by rev 1084.
The assumption was wrong that CE must be the last SUSP entry in its
directory record.
2015-03-01 22:14:35 +01:00
Thomas Schmitt 26b4222948 Fixed a bug introduced with rev 1184.
Calculated size of the directory tree could differ from written size.
2015-03-01 17:52:19 +01:00
Thomas Schmitt 8e55195edc Working around a Linux kernel bug, which hides files of which the
Rock Ridge CE entry points to a range that crosses a block boundary,
or of which the byte offset is larger than the block size of 2048.
Thanks to Joerg Meyer.
2015-02-26 17:56:34 +01:00
Thomas Schmitt ed8066580a Reacted on compiler warning of gcc on AIX. Thanks Richard Nolde. 2014-04-03 21:45:19 +02:00
Thomas Schmitt 1be57e34ec Completed implementation of API call iso_conv_name_chars() 2013-12-28 15:36:33 +01:00
Thomas Schmitt fa61b94ac8 Consolidated the single copies of IsoWriteOpts members in Ecma119Image
by having a copy of the whole IsoWriteOpts in Ecma119Image
2013-12-22 19:02:44 +01:00
Thomas Schmitt 942ec97c7b Made Libisofs_with_rr_reloc_diR unconditional 2012-07-11 15:52:53 +02:00
Thomas Schmitt a2fe1a4100 Corrected flaws of revision 926. 2012-03-14 13:50:46 +01:00
Thomas Schmitt 76f2a5f4d3 New API call iso_write_opts_set_rr_reloc() 2012-03-09 19:59:51 +01:00
Thomas Schmitt cb25d4d4e5 Clarified a remark about maximum length of RR name parts in CA. 2011-09-26 18:23:24 +02:00
Thomas Schmitt 9653854462 Replaced some large local variables by other means in libisofs/rockridge.c 2011-06-12 09:51:08 +02:00
Thomas Schmitt e7d9559d16 Avoiding to produce NM field for "." and ".." entries if Rock Ridge
version 1.10 is chosen by iso_write_opts_set_rrip_version_1_10()
2011-06-01 11:34:45 +02:00
Thomas Schmitt b076ce9b44 Reacted on -Wextra -Wno-unused-parameter warnings of gcc for rockridge.c 2011-05-21 23:17:38 +02:00
Thomas Schmitt 73c9c7f244 Removed inactive debugging code 2011-04-08 18:56:08 +02:00
Thomas Schmitt c0bdf4d3b5 Reacted on warning about theoretical memory leak. 2011-03-28 20:43:13 +02:00
Thomas Schmitt 71efc996e3 New error code ISO_RR_PATH_TOO_LONG. 2011-03-28 15:00:44 +02:00
Thomas Schmitt 270cd1cad5 Closed a memory leak found by valgrind. 2011-03-26 19:23:51 +01:00
Thomas Schmitt 5c59295e72 Bug fix: With a probability of 2 to 5 percent, AAIP could spoil the image
by miscalculating the number of root directory's CE blocks.
This lead to fatal offset of all further data by one block.
All sub directories and all data file content is affected.
Quite obvious to see. The problem existed since March 2009.
AAIP is used for recording of ACL and xattr. The problem gets enabled by call
iso_write_opts_set_aaip(opts, 1).
2011-02-18 17:39:21 +01:00
Thomas Schmitt 1082e628d1 New API calls iso_tree_clone(), iso_stream_clone.
New IsoFileSourceIface version 2 with method clone_src().
New IsoStreamIface version 4 with method clone_stream().
New public function prototype iso_node_xinfo_cloner.
New API calls iso_node_xinfo_make_clonable(), iso_node_xinfo_get_cloner().
New public iso_node_xinfo_cloner instance aaip_xinfo_cloner().
New API calls iso_node_get_next_xinfo(), iso_node_remove_all_xinfo().
New API call iso_node_remove_tree().
2011-02-01 19:16:45 +01:00
Thomas Schmitt a69f45e8cd Made provisory test for directory record overflow permanent 2011-01-16 11:10:08 +01:00
Thomas Schmitt 2649045dfe New API call iso_write_opts_set_untranslated_name_len() 2010-12-22 14:21:00 +01:00
Thomas Schmitt d5c4af7378 Removed development marks and an obsolete conditional compilation case. 2010-09-11 13:25:51 +02:00
Thomas Schmitt 017dcb39f2 New API function iso_write_opts_set_part_offset() controls creation of
an MBR with a first partiton table entry that bears non-zero start address.
A second set of volume descriptors and directory tree+tables gets created
which can be used to mount the image at the partition start.
Not yet implemented for second set: ISO 9660:1999, MD5 checksums.
2010-09-05 12:43:48 +02:00
Thomas Schmitt ae626b9570 Eventually including autotools generated ../config.h with all source files.
(GNU xorriso plans to use autoheader for a diet of its build messages.)
2010-05-16 10:20:12 +02:00
Thomas Schmitt 4978424328 Corrected calls of functions iso_lsb(), iso_msb(), iso_bb() which used
integer types other than uint32_t.
2010-04-30 11:36:14 +02:00
Thomas Schmitt 23d3c43022 Removed more occurences of old restriction to GPLv2. 2010-01-27 06:48:59 +01:00
Thomas Schmitt 72e9c67d05 Closed a tiny memory leak found by valgrind. 2009-08-20 17:06:11 +02:00
Thomas Schmitt f370829717 Removed old code for AAIP 1.0 production.
Obsoleted macro Libisofs_aaip_2_0.
2009-05-26 18:41:51 +02:00
Thomas Schmitt 5b073a2f29 New API call iso_write_opts_set_hardlinks() controls hardlink matching,
new API call iso_write_opts_set_rrip_1_10_px_ino() controls RRIP-1.10 PX size.
2009-05-09 20:45:14 +02:00
Thomas Schmitt 3f90111052 Removed change timestamps of 0.6.17 2009-04-15 16:50:44 +02:00
Thomas Schmitt d87e5721db Removed some development remarks
and implemented skipping of zisofs headers larger than 16 bytes.
2009-04-15 13:22:20 +02:00
Thomas Schmitt 1f2fd259ae New API call int iso_node_zf_by_magic() for marking pre-compressed data
file nodes which were originally produced by program mkzftree.
2009-04-13 20:51:38 +02:00
Thomas Schmitt ec672ab903 Making sure that ZF fields get appropriately carried on with multi-session
even if osiz filters have been removed.
2009-04-12 13:13:04 +02:00
Thomas Schmitt 6886777ea0 Installing a zisofs uncompression filter on file from ISO image which bear
a ZF entry. Storing ZF entries during image write if that filter is found
directly on a fsrc stream from the loaded image and content does not get
copied.
2009-04-11 14:15:34 +02:00
Thomas Schmitt 540df15ec9 Writing ZF entries if filters and image generation mode indicate so. 2009-04-10 22:38:16 +02:00
Thomas Schmitt d8d2709de9 Made bug fix Libisofs_rrip_1_10_er_bugfiX unconditional 2009-04-07 11:52:03 +02:00
Thomas Schmitt 21de3e2087 Switched from AAIP-1.0 with field "AA" to AAIP-2.0 with field "AL"
because ancient Apple ISO 9660 already used "AA".
Old AAIP-1.0 enhanced images can still be read and luckily their AAIP fields
can be distinguished from eventual Apple AA fields.
2009-03-31 11:40:58 +02:00
Thomas Schmitt 4d0063f7e2 Bug fix: ECMA-119 ".." pointed always to the same block as ".".
Bug fix: iso_write_opts_set_rrip_version_1_10() caused wrong size of
         root record CE,
Stability enhancement: util.c:str2ascii() got a fallback for the case
                       that charset "WCHAR_T" is not available,
Debugging wrapper around iconv*() calls,
Experiments about inode numbers in fs_image,
Experiment to insert obsolete RR entries.
(Sorry for the obfuscation. Most is due to a hard ride on Solaris.
 See macros at the end of libisofs/libisofs.h)
2009-03-10 14:32:05 +01:00
Thomas Schmitt 4daf626493 Made root node write and read own AA entries. 2009-02-24 17:50:53 +01:00
Thomas Schmitt 0e0ecc1d00 Made code branch of Libisofs_with_aaiP unconditional
and removed change marks by (co-)copyright claims.
2009-02-18 23:01:14 +01:00