Commit Graph

338 Commits

Author SHA1 Message Date
Thomas Schmitt 2f48297d25 Removed loud warning not to activate Libisofs_hardlink_matcheR 2009-05-28 13:25:21 +02:00
Thomas Schmitt dfcb815480 Removed experimental code about inode number generation from LBA.
Obsoleted macros Libisofs_ino_from_lbA Libisofs_patch_ticket_144.
2009-05-26 18:47:23 +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 ef96f3588c Made use of iconv wrapper function unconditionally.
Obsoleted macro Libisofs_with_iso_iconV.
2009-05-26 18:23:59 +02:00
Thomas Schmitt e8fc149423 Made centralized call of setlocale() unconditional.
Obsoleted macro Libisofs_setlocale_in_iniT.
2009-05-26 18:13:15 +02:00
Thomas Schmitt e12d409b80 Made sure that IsoStream from old image are equivalent only if their
data extents have same LBAs and sizes.
2009-05-24 18:22:02 +02:00
Thomas Schmitt b34fd35e62 Fixed bugs in iso_node_cmp_flag() introduced with revision 559
and clarified constraints for stream comparison functions in libisofs.h
2009-05-18 15:33:36 +02:00
Thomas Schmitt 714ee67472 New API call iso_node_cmp_ino()
and a bug fix about IsoSpecial and IsoSymlink in iso_node_cmp_flag()
2009-05-16 18:50:23 +02:00
Thomas Schmitt 8c4682ae92 IsoStream version 3 with cmp_ino(),
new API call iso_stream_cmp_ino() for proper comparison of filtered streams
2009-05-12 09:29:06 +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 c6f1101e9d Fixed a severe inode number mash-up from revision 554
and a minor bug introduced with revision 547 (for ticket 147).
2009-05-06 16:18:45 +02:00
Thomas Schmitt f8d3bca20a Registering fs,dev,ino of nodes which stem from outside the imported image
and using fs,dev,ino of IsoSymlink and IsoSpecial.
2009-05-05 22:03:44 +02:00
Thomas Schmitt 46a947b602 Created means to inquire ECMA119_SYMLINK and ECMA119_SPECIAL
for their original fs,dev,ino
2009-05-03 19:21:21 +02:00
Thomas Schmitt 56796ff55f Introduced hardlink unification at image generation time.
For now it works only with data files or with files from the imported image.
2009-05-03 17:08:29 +02:00
Thomas Schmitt 1cbae01f12 Outsourced stream comparison from iso_file_src_cmp() to iso_stream_cmp_ino() 2009-05-03 08:42:45 +02:00
Thomas Schmitt da4634a593 Removed a redundant test expression 2009-05-02 19:57:39 +02:00
Thomas Schmitt f18d5157dc Caused image root to memorize its eventual PX inode number. 2009-05-01 16:18:59 +02:00
Thomas Schmitt 1195614881 Removed a redundant line of code 2009-05-01 15:02:30 +02:00
Thomas Schmitt 1218e6e32d New API call iso_read_opts_set_new_inos() 2009-05-01 15:00:43 +02:00
Thomas Schmitt 95381ce258 Made directory inodes persistent during multi-session.
The reason is to produce a continued ino history for eventual incremental
backups from ISO images.
2009-05-01 12:49:37 +02:00
Thomas Schmitt 19fd87ef7b Small adjustments in new code after review. 2009-04-29 12:52:32 +02:00
Thomas Schmitt d20da80767 Transfering inode numbers from PX entries to IsoNode during image import
and using these numbers in PX entries during next image generation.
This also answers the concerns about PX without ino in RRIP 1.12
and PX with ino in RRIP 1.10 images produced by mkisofs.
2009-04-28 22:40:15 +02:00
Thomas Schmitt 5009d1038d Made early preparations for implementation of hard link persistence 2009-04-26 12:57:17 +02:00
Thomas Schmitt 1ae2a39d1d Registered stream types "gzip" and "pizg" 2009-04-24 08:45:03 +02:00
Thomas Schmitt 70af4872c9 Clarification of iso_stream_get_source_path() result 2009-04-19 07:10:22 +02:00
Thomas Schmitt 71d491ed37 Version leap to 0.6.19 2009-04-17 14:35:30 +02:00
Thomas Schmitt ece42746ec Version leap to 0.6.18 2009-04-15 20:50:34 +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 00802a1934 New API functions iso_file_add_gzip_filter() and iso_gzip_get_refcounts(). 2009-04-14 22:26:00 +02:00
Thomas Schmitt c2f502b9a8 Silenced a compiler warning with zisofs filter 2009-04-14 11:48:41 +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 9a873ed693 Fixed a bug with non-appending multi-session and zisofs decompression. 2009-04-12 16:21:46 +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 99ddd5c116 New API functions iso_zisofs_set_params(), iso_zisofs_get_params() 2009-04-11 19:10:37 +02:00
Thomas Schmitt 63ddfc1c94 Global reference counters for both zisofs filter types and
new API function iso_zisofs_get_refcounts()
2009-04-11 15:25:40 +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 77591e4546 Using faster compression level
and fixed a bug with uncompression if the last block is all zero.
2009-04-11 07:49:20 +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 ce7a5c810f Implemented a zisofs uncompression filter. 2009-04-10 12:16:41 +02:00
Thomas Schmitt a809a87eef New API call iso_file_add_zisofs_filter() (needs -lz and <zlib.h>).
This does not produce ZF entries yet but filtered file content already
suits mkzftree -uF
2009-04-09 16:18:50 +02:00
Thomas Schmitt 1b5328d619 Corrected a remnant "AA" in AAIP specs. 2009-04-07 18:11:30 +02:00
Thomas Schmitt d565ae87f4 Removed dangerous test code of Libisofs_file_src_cmp_non_zerO. 2009-04-07 12:21:35 +02:00
Thomas Schmitt 98a6db7f7f Made comparison of file sizes in iso_file_src_cmp() unconditional. 2009-04-07 12:17:52 +02:00
Thomas Schmitt 8a0be8ca19 Corrected test of Libisofs_setlocale_in_iniT. 2009-04-07 12:13:22 +02:00
Thomas Schmitt dd1cde0379 Made portability improvement Libisofs_avoid_using_allocA unconditional. 2009-04-07 12:07:48 +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 854a3b8088 Made bug fix Libisofs_external_filters_selecT unconditional 2009-04-07 11:45:17 +02:00
Thomas Schmitt e8f8876ee6 New API function iso_stream_get_source_path() tries to obtain a source
path depending on the stream class.
2009-04-06 14:19:49 +02:00
Thomas Schmitt f709a95fda Some documentation polishing in libisofs.h 2009-04-06 12:25:55 +02:00
Thomas Schmitt d98081f173 (Forgot to store libisofs.h before rev 514) 2009-04-06 09:56:26 +02:00
Thomas Schmitt 6389bbbf58 Changed freshly introduced iso_file_get_external_filter()
to iso_stream_get_external_filter().
2009-04-06 09:52:21 +02:00
Thomas Schmitt b27bcc7022 Experiment about select() versus non-blocking i/o. select() lost. 2009-04-05 14:48:03 +02:00
Thomas Schmitt f2b7872fc6 Fixed a bug about detection of failure inside iso_file_add_external_filter() 2009-04-05 12:29:37 +02:00
Thomas Schmitt da125e8f6b Changed sequence of fork and stream opening in extf_stream_class.open().
So the child does not inherit the pipe inlets of underlying filters
which would stay open and prevent those underlying filter children
from seeing EOF at their input.
2009-04-05 09:56:12 +02:00
Thomas Schmitt 198f6536bc New API call iso_node_lookup_attr()
and new xattr "isofs.st" for image start timestamp.
2009-04-03 15:34:23 +02:00
Thomas Schmitt 437713cd8e Moved storage location of suffix from xorriso into IsoExternalFilterCommand 2009-04-02 18:07:27 +02:00
Thomas Schmitt 0a265d9d4f Changed IsoExternalFilterCommand.behavior bit0.
The filter does not get installed if input size is 0.
This resembles more the other behavior bits.
2009-04-02 09:14:21 +02:00
Thomas Schmitt 806ea7b82e New component IsoExternalFilterCommand.name 2009-04-01 17:53:41 +02:00
Thomas Schmitt e7853df2f4 Changed some documentation references from AAIP-1.0 to AAIP-2.0. 2009-03-31 13:00:33 +02:00
Thomas Schmitt ece52dc070 Fixed a false success return value with iso_aa_lookup_attr(). 2009-03-31 12:16:19 +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 d28351c5a4 Adjustment of minimal size for a IsoExternalFilterCommand.behavior bit2 filter 2009-03-29 18:45:00 +02:00
Thomas Schmitt 2534be5b5d Implemented IsoExternalFilterCommand.behavior bits 1 and 2
which control revocation due to insufficient size reduction.
2009-03-29 14:37:26 +02:00
Thomas Schmitt 681d092118 New IsoStream_Iface.version 2 with method .get_input_stream(),
new API function iso_stream_get_input_stream(),
new API function iso_file_remove_filter(),
iso_file_get_old_image_sections() now refers to the most original stream
of a file.
2009-03-28 19:37:44 +01:00
Thomas Schmitt 8b0920df53 Fixed a bug which prevented final waiting and caused lots of zombies 2009-03-27 21:25:44 +01:00
Thomas Schmitt e759bd5240 mall adjustment in API description 2009-03-27 18:15:18 +01:00
Thomas Schmitt 1a307cb790 Introduced IsoExternalFilterCommand.behavior and implemented
optional shortcut with files of size 0.
2009-03-27 16:40:07 +01:00
Thomas Schmitt 41f75ea21f Fixed a SIGSEGV in iso_file_get_old_image_sections() with a
IsoFile from the old session which has not FSrcStreamData 
attached to its IsoStream.
2009-03-27 14:43:43 +01:00
Thomas Schmitt 6cf484442c Fixed a gridlock of external filtering in case that the
filter program is slow with processing.
2009-03-27 13:44:29 +01:00
Thomas Schmitt 691887fd2c New API function iso_file_add_external_filter()
with public parameter class IsoExternalFilterCommand
allows to use child processes as external content filter for IsoFile objects.
2009-03-26 17:34:38 +01:00
Thomas Schmitt 6f9db3d8c1 Introduced short notations for AAIP namespaces "trusted." and "security." 2009-03-22 11:15:05 +01:00
Thomas Schmitt 8eff065b5f Fixed wrong use of acl_free() 2009-03-21 22:59:06 +01:00
Thomas Schmitt 5f2bde776b Closed memory leaks opened with rev 487. 2009-03-21 11:09:14 +01:00
Thomas Schmitt 0402325ec2 New API call iso_read_opts_auto_input_charset() allows to obtain
the image tree character set name from root xattr "isofs.cs".
2009-03-20 17:48:42 +01:00
Thomas Schmitt da2619c42a New API function iso_init_with_flag().
Moved setup of locale from various places to util.c:iso_init_locale().
It is now called by the iso_init*() functions only.
2009-03-19 12:56:25 +01:00
Thomas Schmitt 183ed6cc5a Made read_aaip_AA() safe against eventual Apple ISO AA fields 2009-03-18 10:27:28 +01:00
Thomas Schmitt 50edfbea51 Avoided use of function alloca() by macro Libisofs_avoid_using_allocA
and incremented version to 0.6.17
2009-03-17 21:25:43 +01:00
Thomas Schmitt a6090a6273 Version leap to 0.6.16 2009-03-10 16:45:37 +01:00
Thomas Schmitt a87c28da95 Made sorting order under Libisofs_file_src_cmp_sizE identical to
old sorting order. Just in case it matters.
(Is there any reason for the inverse order of dev_id ?)
2009-03-10 15:34:09 +01: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 4f468171ad Experiments about inode number generation for nodes out of the loaded
image.
2009-03-07 08:28:35 +01:00
Thomas Schmitt 8d8dcb9c93 Changed severity of ISO_FILENAME_WRONG_CHARSET from HINT to WARNING.
Keeping old error code as ISO_FILENAME_WRONG_CHARSET_OLD.
2009-03-03 16:47:53 +01:00
Thomas Schmitt e1460aa9a6 Version leap to 0.6.15 and
new API call iso_write_opts_get_data_start()
2009-02-28 23:22:31 +01:00
Thomas Schmitt 4daf626493 Made root node write and read own AA entries. 2009-02-24 17:50:53 +01:00
Thomas Schmitt f52c1aeb77 Version leap to 0.6.14 2009-02-19 17:02:29 +01:00
Thomas Schmitt 97d885fc9a Made AAIP 1.0 official, mentioned it in aaip source files,
and claimed copyright and GPLv2 on aaip source files.
2009-02-19 09:36:22 +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
Thomas Schmitt c1ba7d93d9 Removed dependencies of libburn where possible and removed
the remaining demo/iso_grow.c from Makefile.am.
2009-02-18 10:29:26 +01:00
Thomas Schmitt e17a8c718f Fixed a memory leak underneath iso_node_get_attrs() 2009-02-17 15:40:00 +01:00
Thomas Schmitt fb2309ea16 Moved iso_local_*() API functions from node.c to fs_local.c 2009-02-16 08:29:21 +01:00
Thomas Schmitt e45f41fb44 Removed obsolete macro Libisofs_with_aaiP_retro and its unsuitable
code branches.
"AAIP_0100" gets issued if macro Libisofs_aaip_1_0 is defined.
2009-02-14 12:10:02 +01:00
Thomas Schmitt 0ada61b15e Gave up macro Libisofs_new_nm_sl_cE and the old computation of NM, SL, AA size. 2009-02-14 11:14:27 +01:00
Thomas Schmitt c789c23119 Removed clearly obsolete code branches. 2009-02-14 11:05:33 +01:00
Thomas Schmitt 49821f6962 Made preservation of ACL in iso_node_set_attrs() more efficient 2009-02-13 20:05:42 +01:00
Thomas Schmitt 22e45ed489 Preserving non-userspace xattr if all userspace shall be overwritten. 2009-02-13 18:45:53 +01:00
Thomas Schmitt 1b3f5186e7 Revoked AAIP prescription to map reserved name start bytes into "user."
name space. (It made trouble with cyclic conversions.)
2009-02-11 08:30:37 +01:00
Thomas Schmitt 620547ac0a Recognizing future AAIP signature "AAIP_0100" 2009-02-10 21:02:58 +01:00
Thomas Schmitt 699866f984 Introduced into AAIP a short notation for name spaces "system.", "user.",
and "isofs.".
2009-02-10 20:36:34 +01:00
Thomas Schmitt 2633aab967 Fixed memory hog in read_aaip_AA().
todo: Find the reason why node xinfo is not freed when the image is discarded.
This helped the hog to survive undetected since January 14.
2009-02-09 17:46:35 +01:00