Commit Graph

413 Commits

Author SHA1 Message Date
3f918d1acb New API call iso_file_make_md5() to equip old file nodes with MD5. 2009-08-22 19:38:07 +02:00
cadd77776b Transplanting checksum buffer from Ecma119Image to IsoImage. 2009-08-20 17:08:07 +02:00
72e9c67d05 Closed a tiny memory leak found by valgrind. 2009-08-20 17:06:11 +02:00
62edebad06 Introduced file content stability check with iso_write_opts_set_record_md5(). 2009-08-19 22:26:18 +02:00
363a39af3e Better messages when aborting iso_image_import() due to checksum failure. 2009-08-18 18:38:29 +02:00
8b800094af Verifying checksum tags of superblock and tree if available and enabled.
New API call iso_md5_match().
2009-08-18 17:03:33 +02:00
868005ed0e Introduced checksum tag for relocated 64 kB superblock on overwriteable media. 2009-08-17 17:22:31 +02:00
07a67a59e7 Further enhancements of new API call iso_util_decode_md5_tag(). 2009-08-16 22:03:51 +02:00
955471a064 Augmented checksum tags for superblock and tree by parameter next=
for unambigous linking.
2009-08-16 16:58:41 +02:00
b4e2a60cd9 Introduced checksum tags for superblock and directory tree. 2009-08-16 13:57:42 +02:00
9467f2e644 New API call iso_util_decode_md5_tag(). Augmented checksum tag by self-MD5. 2009-08-14 16:32:10 +02:00
ba66a7896a Avoiding to equip old session nodes with 0-MD5 if the checksum array
was not loaded during own checksum mismatch.
2009-08-13 23:34:55 +02:00
74198afa04 Discarding MD5 array at image load time if its own checksum does not match. 2009-08-13 21:41:30 +02:00
40c39af271 Described libisofs MD5 recording and implemented checksum array checksum
and stream detectable session checksum tag.
2009-08-13 17:19:58 +02:00
ecf2ca044e Prevented that non-MD5 nodes from old image get an MD5 in appended session. 2009-08-11 21:08:15 +02:00
fd124c82d2 New API for MD5 production: iso_md5_start(), iso_md5_compute(),
iso_md5_clone(), iso_md5_end()
2009-08-11 12:07:32 +02:00
429b4cd21c New API calls iso_write_opts_set_record_md5(), iso_read_opts_set_no_md5() 2009-08-10 21:23:30 +02:00
b5f4a66c59 Initial implementation of MD5 checksums for session and single data files.
To be activated by macro Libisofs_with_checksumS.
New AAIP attributes "isfs.ca" and "isofs.cx".
New API calls iso_image_get_session_md5() and iso_file_get_md5().
2009-08-10 13:56:06 +02:00
4b5a5658a6 Improved alignment of ./configure --help texts
and avoided compiler warnings about unused variables with --disable-libacl
2009-07-03 20:11:01 +02:00
9c2bf0197b Introduced own automacro LIBBURNIA_CHECK_ICONV to handle iconv() peculiarities 2009-07-01 13:16:29 +02:00
e52b5e7f2a Provisory remedy for missing compile option -liconv
with GNU libiconv on FreeBSD.
2009-06-30 13:41:34 +02:00
0e14549521 Version leap to 0.6.21 2009-05-31 16:15:57 +02:00
1d44d931d0 Version leap to 0.6.20 2009-05-30 21:24:50 +02:00
5d5a0cbfd4 Removed change timestamps of 0.6.19 2009-05-30 18:00:21 +02:00
4353a35c59 Removed some development remarks 2009-05-30 16:36:54 +02:00
2f48297d25 Removed loud warning not to activate Libisofs_hardlink_matcheR 2009-05-28 13:25:21 +02:00
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
f370829717 Removed old code for AAIP 1.0 production.
Obsoleted macro Libisofs_aaip_2_0.
2009-05-26 18:41:51 +02:00
ef96f3588c Made use of iconv wrapper function unconditionally.
Obsoleted macro Libisofs_with_iso_iconV.
2009-05-26 18:23:59 +02:00
e8fc149423 Made centralized call of setlocale() unconditional.
Obsoleted macro Libisofs_setlocale_in_iniT.
2009-05-26 18:13:15 +02:00
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
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
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
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
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
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
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
46a947b602 Created means to inquire ECMA119_SYMLINK and ECMA119_SPECIAL
for their original fs,dev,ino
2009-05-03 19:21:21 +02:00
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
1cbae01f12 Outsourced stream comparison from iso_file_src_cmp() to iso_stream_cmp_ino() 2009-05-03 08:42:45 +02:00
da4634a593 Removed a redundant test expression 2009-05-02 19:57:39 +02:00
f18d5157dc Caused image root to memorize its eventual PX inode number. 2009-05-01 16:18:59 +02:00
1195614881 Removed a redundant line of code 2009-05-01 15:02:30 +02:00
1218e6e32d New API call iso_read_opts_set_new_inos() 2009-05-01 15:00:43 +02:00
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
19fd87ef7b Small adjustments in new code after review. 2009-04-29 12:52:32 +02:00
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
5009d1038d Made early preparations for implementation of hard link persistence 2009-04-26 12:57:17 +02:00
1ae2a39d1d Registered stream types "gzip" and "pizg" 2009-04-24 08:45:03 +02:00
70af4872c9 Clarification of iso_stream_get_source_path() result 2009-04-19 07:10:22 +02:00
71d491ed37 Version leap to 0.6.19 2009-04-17 14:35:30 +02:00
ece42746ec Version leap to 0.6.18 2009-04-15 20:50:34 +02:00
3f90111052 Removed change timestamps of 0.6.17 2009-04-15 16:50:44 +02:00
d87e5721db Removed some development remarks
and implemented skipping of zisofs headers larger than 16 bytes.
2009-04-15 13:22:20 +02:00
00802a1934 New API functions iso_file_add_gzip_filter() and iso_gzip_get_refcounts(). 2009-04-14 22:26:00 +02:00
c2f502b9a8 Silenced a compiler warning with zisofs filter 2009-04-14 11:48:41 +02:00
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
9a873ed693 Fixed a bug with non-appending multi-session and zisofs decompression. 2009-04-12 16:21:46 +02:00
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
99ddd5c116 New API functions iso_zisofs_set_params(), iso_zisofs_get_params() 2009-04-11 19:10:37 +02:00
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
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
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
540df15ec9 Writing ZF entries if filters and image generation mode indicate so. 2009-04-10 22:38:16 +02:00
ce7a5c810f Implemented a zisofs uncompression filter. 2009-04-10 12:16:41 +02:00
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
1b5328d619 Corrected a remnant "AA" in AAIP specs. 2009-04-07 18:11:30 +02:00
d565ae87f4 Removed dangerous test code of Libisofs_file_src_cmp_non_zerO. 2009-04-07 12:21:35 +02:00
98a6db7f7f Made comparison of file sizes in iso_file_src_cmp() unconditional. 2009-04-07 12:17:52 +02:00
8a0be8ca19 Corrected test of Libisofs_setlocale_in_iniT. 2009-04-07 12:13:22 +02:00
dd1cde0379 Made portability improvement Libisofs_avoid_using_allocA unconditional. 2009-04-07 12:07:48 +02:00
d8d2709de9 Made bug fix Libisofs_rrip_1_10_er_bugfiX unconditional 2009-04-07 11:52:03 +02:00
854a3b8088 Made bug fix Libisofs_external_filters_selecT unconditional 2009-04-07 11:45:17 +02:00
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
f709a95fda Some documentation polishing in libisofs.h 2009-04-06 12:25:55 +02:00
d98081f173 (Forgot to store libisofs.h before rev 514) 2009-04-06 09:56:26 +02:00
6389bbbf58 Changed freshly introduced iso_file_get_external_filter()
to iso_stream_get_external_filter().
2009-04-06 09:52:21 +02:00
b27bcc7022 Experiment about select() versus non-blocking i/o. select() lost. 2009-04-05 14:48:03 +02:00
f2b7872fc6 Fixed a bug about detection of failure inside iso_file_add_external_filter() 2009-04-05 12:29:37 +02:00
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
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
437713cd8e Moved storage location of suffix from xorriso into IsoExternalFilterCommand 2009-04-02 18:07:27 +02:00
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
806ea7b82e New component IsoExternalFilterCommand.name 2009-04-01 17:53:41 +02:00
e7853df2f4 Changed some documentation references from AAIP-1.0 to AAIP-2.0. 2009-03-31 13:00:33 +02:00
ece52dc070 Fixed a false success return value with iso_aa_lookup_attr(). 2009-03-31 12:16:19 +02:00
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
d28351c5a4 Adjustment of minimal size for a IsoExternalFilterCommand.behavior bit2 filter 2009-03-29 18:45:00 +02:00
2534be5b5d Implemented IsoExternalFilterCommand.behavior bits 1 and 2
which control revocation due to insufficient size reduction.
2009-03-29 14:37:26 +02:00
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
8b0920df53 Fixed a bug which prevented final waiting and caused lots of zombies 2009-03-27 21:25:44 +01:00
e759bd5240 mall adjustment in API description 2009-03-27 18:15:18 +01:00
1a307cb790 Introduced IsoExternalFilterCommand.behavior and implemented
optional shortcut with files of size 0.
2009-03-27 16:40:07 +01:00
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
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
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
6f9db3d8c1 Introduced short notations for AAIP namespaces "trusted." and "security." 2009-03-22 11:15:05 +01:00
8eff065b5f Fixed wrong use of acl_free() 2009-03-21 22:59:06 +01:00
5f2bde776b Closed memory leaks opened with rev 487. 2009-03-21 11:09:14 +01:00
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
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
183ed6cc5a Made read_aaip_AA() safe against eventual Apple ISO AA fields 2009-03-18 10:27:28 +01:00
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
a6090a6273 Version leap to 0.6.16 2009-03-10 16:45:37 +01:00
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
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
4f468171ad Experiments about inode number generation for nodes out of the loaded
image.
2009-03-07 08:28:35 +01:00
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
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
4daf626493 Made root node write and read own AA entries. 2009-02-24 17:50:53 +01:00
f52c1aeb77 Version leap to 0.6.14 2009-02-19 17:02:29 +01:00
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
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
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
e17a8c718f Fixed a memory leak underneath iso_node_get_attrs() 2009-02-17 15:40:00 +01:00
fb2309ea16 Moved iso_local_*() API functions from node.c to fs_local.c 2009-02-16 08:29:21 +01:00
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
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
c789c23119 Removed clearly obsolete code branches. 2009-02-14 11:05:33 +01:00
49821f6962 Made preservation of ACL in iso_node_set_attrs() more efficient 2009-02-13 20:05:42 +01:00
22e45ed489 Preserving non-userspace xattr if all userspace shall be overwritten. 2009-02-13 18:45:53 +01:00
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
620547ac0a Recognizing future AAIP signature "AAIP_0100" 2009-02-10 21:02:58 +01:00
699866f984 Introduced into AAIP a short notation for name spaces "system.", "user.",
and "isofs.".
2009-02-10 20:36:34 +01:00
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
b09dcd5246 Fixed a bug about setting "default" ACL on Linux directories. 2009-02-09 11:17:33 +01:00
b1f8161006 Correct group permission bits with iso_read_opts_set_no_aaip(,1)
and node import from image with ACLs.
2009-02-08 12:45:15 +01:00
d7f691d6df Correct group permission bits with -acl off and import of disk file with ACL.
New API function iso_local_get_perms_wo_acl().
2009-02-07 21:00:43 +01:00
b5fd981482 Changing S_IRWXG from "mask::" to "group::" settings when
a non-trivial ACL gets erased. New API call iso_node_get_perms_wo_acl()
allows to obtain st_mode prediction for ACL removal.
Still to do: handle ACL stripping with st_mode import from local filesystem
and st_mode import from ISO image.
2009-02-07 09:48:30 +01:00
c974365b16 Extended the capabilities of iso_node_set_attrs() and
mentioned the new error codes in the error text generator
2009-02-06 11:41:24 +01:00
64a9b79224 Some comment changes which were not stored before the previous commit 2009-02-04 20:16:32 +01:00
e8267b71d1 Took into respect that ACL operations always happen on link targets
while xattr can happen on the link itself.
2009-02-04 19:53:00 +01:00
1add3e32c5 Revoked the iconv dummy of previous revision
Solution was:
  export CPPFLAGS="-I/usr/local/include"
  export LDFLAGS="-L/usr/local/lib -liconv"
  ./configure
2009-02-03 21:39:54 +01:00
4c13522783 Some adpations to FreeBSD
and a temporary dummy of iconv (which is not installed on the test box)
2009-02-03 16:13:08 +01:00
8d459c7f77 Fixed unterminated comment. 2009-02-02 21:33:22 +01:00
1eb8029e60 Some enhancements about xattr API. 2009-02-02 21:10:21 +01:00
4950f869cb Giving access to AAIP xattr by new API functions iso_node_get_attrs() and
iso_node_set_attrs. Giving access to local filesystem xattr by new API
functions iso_local_get_attrs(), iso_local_set_attrs().
2009-02-02 11:49:28 +01:00
84c100c2f5 Gave up adjustability of Signature Word "AA" in specs and implementation. 2009-01-30 18:58:11 +01:00
b600757649 Changed iso_node_set_acl_text() and iso_node_set_acl_text() so they
process both eventual ACLs of a node in one call.
2009-01-30 15:37:48 +01:00
313c4ff20f Silenced a warning of FreeBSD about shifting 32-bit dev_t by 32 bit.
Silenced warnings of FreeBSD about unused variables.
2009-01-29 21:54:24 +01:00
b824db94dc Clarified role of aaip_xinfo_func in libisofs API 2009-01-29 11:24:20 +01:00
9f60c75f08 Introduced generic ACL-EA-system adapter aaip-os-dummy.c
which steps in at compile time if neither __FreeBSD__ nor __linux is defined.
2009-01-29 10:52:08 +01:00
6dee6e4c20 More bug fixes about "default" ACL.
Made aaip_xinfo_func() available unconditionally.
2009-01-28 12:37:59 +01:00
b53ef57ac6 New API call iso_local_get_acl_text()
and bug fixes about "default" ACL
2009-01-27 21:19:49 +01:00
0b4792bc0c Mentioned the need for 64 bit file i/o 2009-01-27 12:19:10 +01:00
2cc74562fb Changed aaip API to allow fabrication of missing mandatory ACL entries
from st_mode
2009-01-27 09:50:55 +01:00
4ed2269570 Writing ES fields with RRIP and AAIP fields when ER of AAIP is written.
Also provided API call iso_write_opts_set_aaip_susp_1_10() which prevents
writing AAIP ER and consequentially of ES fields.
2009-01-26 15:12:57 +01:00
7dfec561d9 Avoided to store deleted ACL as attribute with empty value 2009-01-25 10:49:07 +01:00
dc26d8eefc Updating st_mode permission bits in iso_node_set_acl_text() 2009-01-24 17:45:22 +01:00
bd9b49714f Let configure detect availability of libacl and of Linux listxattr call
and aaip-os work around eventual missing functionality
2009-01-23 18:28:51 +01:00