Commit Graph

548 Commits

Author SHA1 Message Date
Thomas Schmitt 55497d3931 Changed comments from "Linux" to "GNU/Linux" where appropriate. 2010-02-12 20:14:15 +01:00
Thomas Schmitt c47f206fe3 Version leap to 0.6.29 2010-02-10 15:45:19 +01:00
Thomas Schmitt 386ce0e60a Version leap to 0.6.28 2010-02-10 15:37:56 +01:00
Thomas Schmitt 61f2cdd02b Wrapped #endif mark into comment characters. 2010-02-08 15:08:53 +01:00
Thomas Schmitt f87c63da41 One more safety precaution about checksum indice. 2010-02-08 14:54:08 +01:00
Thomas Schmitt afebbe187d Bug fix: Random checksum index could sneak in via boot catalog node
and cause a SIGSEGV if checksumming is enabled.
This and other occurences of malloc() were changed to calloc().
2010-02-08 13:46:45 +01:00
Thomas Schmitt 3951df25be Corrected a wrong constant with checksum indice of Iso_File_Src.
It could have caused false checksum negatives in images with billions of files.
2010-02-08 13:04:56 +01:00
Thomas Schmitt 4b0f175a89 Reacted on compiler warnings from gzpLinux on kernel 2.6 2010-02-08 10:55:13 +01:00
Thomas Schmitt 633a8ada9e Avoiding unnecessary use of pthread_exit() 2010-02-05 14:52:24 +01:00
Thomas Schmitt 83ace3b486 Changed leftover text which disallowed GPLv3. 2010-01-27 17:27:32 +01:00
Thomas Schmitt 23d3c43022 Removed more occurences of old restriction to GPLv2. 2010-01-27 06:48:59 +01:00
Thomas Schmitt 00470cbfea Version leap to 0.6.27 2010-01-20 10:19:50 +01:00
Thomas Schmitt 4c1abdf2bd Version leap to 0.6.26 2010-01-20 09:58:07 +01:00
Thomas Schmitt d756551385 Removed outdated defunct code piece 2010-01-19 15:19:24 +01:00
Thomas Schmitt ced02f5903 Bug fix: Invalid checksum tags were preserved when the new session produced
no checksums
2010-01-17 21:08:58 +01:00
Thomas Schmitt 819e3218f6 More graceful reaction on filesystems where ACL are not enabled. 2010-01-11 09:57:00 +01:00
Thomas Schmitt da23a8166c Invalidating checksum buffer in case that image generation gets cancled. 2009-12-31 12:47:45 +01:00
Thomas Schmitt cbb376a137 Introduced a default definition for PATH_MAX. 2009-12-31 08:48:51 +01:00
Thomas Schmitt 3852621bc0 Clarified that absolute paths to the local filesystem are expected. 2009-12-04 15:56:28 +01:00
Thomas Schmitt 0ff4cb34ed Version leap to 0.6.25 2009-10-08 14:47:08 +02:00
Thomas Schmitt d863451771 Version leap to 0.6.24 2009-10-08 14:41:32 +02:00
Thomas Schmitt 78308eea24 Removed now unused function util.c:strcopy() 2009-10-08 13:29:27 +02:00
Thomas Schmitt 0ab2b8260c Bug fix: short Rock Ridge names got stripped of trailing blanks when loaded
and written again to a follow-up session. Long names could lose inner blanks.
2009-10-07 18:08:27 +02:00
Thomas Schmitt a30bd36a81 Removed the remaining single blanks from empty PVD id strings.
No strcopy() any more in fs_image.c
2009-10-07 17:06:15 +02:00
Thomas Schmitt 3814396b08 Added code for repairing "_" in all three PVD id file names. 2009-10-05 21:01:04 +02:00
Thomas Schmitt f88d8a76b0 Avoided to convert empty PVD components copyright_file_id, abstract_file_id, or
bibliographic_file_id to " " and then "_" during multi-session loading and
writing. New util function iso_util_strcopy_untail().
2009-10-05 17:18:20 +02:00
Thomas Schmitt 6bc1395e15 Avoided to return NULL by API calls iso_image_get_volset_id(), ...,
iso_image_get_biblio_file_id.
2009-10-05 13:48:18 +02:00
Thomas Schmitt 6bf538ff40 Expanded new API call iso_write_opts_set_scdbackup_tag 2009-09-17 16:41:54 +02:00
Thomas Schmitt c992687200 New API call iso_write_opts_set_scdbackup_tag() 2009-08-31 23:09:16 +02:00
Thomas Schmitt d9a11a3b8d Version leap to 0.6.23 2009-08-25 18:08:04 +02:00
Thomas Schmitt 2e7d85b85a Version leap to 0.6.22 2009-08-25 14:02:37 +02:00
Thomas Schmitt dfe6d16353 Now transplanting checksum array even in case of aborted write run. 2009-08-25 10:54:50 +02:00
Thomas Schmitt 1ad1d02e9f Disabled AAIP debug mode. (IT seems safe enough.) 2009-08-23 20:33:33 +02:00
Thomas Schmitt d0996450c7 Made development macro Libisofs_hardlink_prooF unconditional. 2009-08-22 22:33:04 +02:00
Thomas Schmitt b1c4571a95 Made development macro Libisofs_hardlink_matcheR unconditional
and removed an unused variable.
2009-08-22 22:27:24 +02:00
Thomas Schmitt 3f918d1acb New API call iso_file_make_md5() to equip old file nodes with MD5. 2009-08-22 19:38:07 +02:00
Thomas Schmitt cadd77776b Transplanting checksum buffer from Ecma119Image to IsoImage. 2009-08-20 17:08:07 +02:00
Thomas Schmitt 72e9c67d05 Closed a tiny memory leak found by valgrind. 2009-08-20 17:06:11 +02:00
Thomas Schmitt 62edebad06 Introduced file content stability check with iso_write_opts_set_record_md5(). 2009-08-19 22:26:18 +02:00
Thomas Schmitt 363a39af3e Better messages when aborting iso_image_import() due to checksum failure. 2009-08-18 18:38:29 +02:00
Thomas Schmitt 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
Thomas Schmitt 868005ed0e Introduced checksum tag for relocated 64 kB superblock on overwriteable media. 2009-08-17 17:22:31 +02:00
Thomas Schmitt 07a67a59e7 Further enhancements of new API call iso_util_decode_md5_tag(). 2009-08-16 22:03:51 +02:00
Thomas Schmitt 955471a064 Augmented checksum tags for superblock and tree by parameter next=
for unambigous linking.
2009-08-16 16:58:41 +02:00
Thomas Schmitt b4e2a60cd9 Introduced checksum tags for superblock and directory tree. 2009-08-16 13:57:42 +02:00
Thomas Schmitt 9467f2e644 New API call iso_util_decode_md5_tag(). Augmented checksum tag by self-MD5. 2009-08-14 16:32:10 +02:00
Thomas Schmitt 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
Thomas Schmitt 74198afa04 Discarding MD5 array at image load time if its own checksum does not match. 2009-08-13 21:41:30 +02:00
Thomas Schmitt 40c39af271 Described libisofs MD5 recording and implemented checksum array checksum
and stream detectable session checksum tag.
2009-08-13 17:19:58 +02:00
Thomas Schmitt ecf2ca044e Prevented that non-MD5 nodes from old image get an MD5 in appended session. 2009-08-11 21:08:15 +02:00
Thomas Schmitt 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
Thomas Schmitt 429b4cd21c New API calls iso_write_opts_set_record_md5(), iso_read_opts_set_no_md5() 2009-08-10 21:23:30 +02:00
Thomas Schmitt 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
Thomas Schmitt 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
Thomas Schmitt 9c2bf0197b Introduced own automacro LIBBURNIA_CHECK_ICONV to handle iconv() peculiarities 2009-07-01 13:16:29 +02:00
Thomas Schmitt e52b5e7f2a Provisory remedy for missing compile option -liconv
with GNU libiconv on FreeBSD.
2009-06-30 13:41:34 +02:00
Thomas Schmitt 0e14549521 Version leap to 0.6.21 2009-05-31 16:15:57 +02:00
Thomas Schmitt 1d44d931d0 Version leap to 0.6.20 2009-05-30 21:24:50 +02:00
Thomas Schmitt 5d5a0cbfd4 Removed change timestamps of 0.6.19 2009-05-30 18:00:21 +02:00
Thomas Schmitt 4353a35c59 Removed some development remarks 2009-05-30 16:36:54 +02:00
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
Thomas Schmitt b09dcd5246 Fixed a bug about setting "default" ACL on Linux directories. 2009-02-09 11:17:33 +01:00
Thomas Schmitt 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
Thomas Schmitt 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
Thomas Schmitt 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
Thomas Schmitt 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
Thomas Schmitt 64a9b79224 Some comment changes which were not stored before the previous commit 2009-02-04 20:16:32 +01:00
Thomas Schmitt 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
Thomas Schmitt 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
Thomas Schmitt 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
Thomas Schmitt 8d459c7f77 Fixed unterminated comment. 2009-02-02 21:33:22 +01:00
Thomas Schmitt 1eb8029e60 Some enhancements about xattr API. 2009-02-02 21:10:21 +01:00
Thomas Schmitt 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
Thomas Schmitt 84c100c2f5 Gave up adjustability of Signature Word "AA" in specs and implementation. 2009-01-30 18:58:11 +01:00
Thomas Schmitt 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
Thomas Schmitt 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
Thomas Schmitt b824db94dc Clarified role of aaip_xinfo_func in libisofs API 2009-01-29 11:24:20 +01:00
Thomas Schmitt 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
Thomas Schmitt 6dee6e4c20 More bug fixes about "default" ACL.
Made aaip_xinfo_func() available unconditionally.
2009-01-28 12:37:59 +01:00
Thomas Schmitt b53ef57ac6 New API call iso_local_get_acl_text()
and bug fixes about "default" ACL
2009-01-27 21:19:49 +01:00
Thomas Schmitt 0b4792bc0c Mentioned the need for 64 bit file i/o 2009-01-27 12:19:10 +01:00
Thomas Schmitt 2cc74562fb Changed aaip API to allow fabrication of missing mandatory ACL entries
from st_mode
2009-01-27 09:50:55 +01:00
Thomas Schmitt 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
Thomas Schmitt 7dfec561d9 Avoided to store deleted ACL as attribute with empty value 2009-01-25 10:49:07 +01:00
Thomas Schmitt dc26d8eefc Updating st_mode permission bits in iso_node_set_acl_text() 2009-01-24 17:45:22 +01:00
Thomas Schmitt 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
Thomas Schmitt aae339fe49 voiding to store empty ACL for all directories withou ACL 2009-01-23 13:17:22 +01:00
Thomas Schmitt c801fa60f7 Incremented version to 0.6.13 and .so age to 9. 2009-01-23 09:43:52 +01:00
Thomas Schmitt c8495481ca Controlling import and export of ACL, EA, AAIP 2009-01-23 09:32:32 +01:00
Thomas Schmitt 65e5b00171 Disabled loading of AAIP from ISO images by default
and provided new API function iso_read_opts_set_no_aaip()
2009-01-21 16:03:59 +01:00
Thomas Schmitt bb69e14b08 Better messages of non-AAIP aware libisofs about AAIP enhanced images 2009-01-21 14:25:08 +01:00
Thomas Schmitt a5aedd51a4 Re-enabled compilation without Libisofs_with_aaiP
but prepared messages of that code for existence of AA and ER of AAIP
2009-01-21 14:08:10 +01:00
Thomas Schmitt 1150ee32a4 New API call iso_node_set_acl_text()
and automatic update of ACL entries by iso_node_set_permissions()
2009-01-21 13:29:10 +01:00
Thomas Schmitt d4ce4a7f88 Forgot to store node.c before committing 425. 2009-01-19 10:52:40 +01:00
Thomas Schmitt 6659ec1566 Correcting my statement in the previous commit:
There is defined correspondence between ACL and st_mode in Linux man 5 acl.
It is complicated and libisofs will have to ensure integrity of ACL
manipulations and st_mode manipulations. (It will not check integrity when
loading ACLs and st_mode from filesystems.)
2009-01-19 10:48:34 +01:00
Thomas Schmitt 6ad6d3c219 Gave up deleting of single ACL entries if they match st_mode.
Only totally trivial ACLs are discarded as a whole.
This seems necessary because the relation between st_mode and ACL
is not clearly defined in man 5 acl.
2009-01-19 09:50:29 +01:00
Thomas Schmitt 24fadd7649 New API function iso_local_set_acl_text() 2009-01-18 22:36:06 +01:00
Thomas Schmitt 723d23321a Handling ACL entries which match the POSIX permissions 2009-01-18 18:39:06 +01:00
Thomas Schmitt ece6eca9a5 Avoided memory overflow with Aaip_encode_debuG 2009-01-17 20:25:00 +01:00
Thomas Schmitt 20adf50275 New API function iso_node_get_acl_text
Fixes for problems with CE usage and reading of multiple AA fields
2009-01-17 16:06:05 +01:00
Thomas Schmitt c6f4370e71 Fixed a memory hog about submitting multiple fields in aaip_add_AA() 2009-01-16 13:38:02 +01:00
Thomas Schmitt d01b3cc6cc Implemented generation of AA strings from local filesystem
and upgraded IsoFileSourceIface lfs_class to version 1
2009-01-16 13:24:30 +01:00
Thomas Schmitt 9dc56426c0 New API call iso_file_source_get_aa_string()
and IsoFileSource_Iface.version == 1 with ifs_class
Now libisofs is able to load AA strings from images and to store them again.
2009-01-15 21:58:48 +01:00
Thomas Schmitt de99f93640 Implemented reading of AA fields to struct image_fs_data.aa_string
and defined IsoFileSource_Iface version 1 with access function .get_aa_string()
2009-01-15 17:43:58 +01:00
Thomas Schmitt 3c91c2f333 Implemented reading of AA field string from iso_node_get_xinfo().
(No AA strings get submitted as xinfo yet.)
2009-01-14 15:49:02 +01:00
Thomas Schmitt 3294dd5e94 Introduced AAIP code. Now linking with libacl.
(Todo: handle system dependy of -lacl in configure.ac)
2009-01-14 12:11:47 +01:00
Thomas Schmitt e8f1dfb8e5 Silenced warning about multiple ER fields. Enabled recognizing of AAIP-ER.
Vreixo needs to explain TODO #00016 in fs_image.c
2009-01-13 20:44:36 +01:00
Thomas Schmitt 19661b0c05 Testing the ER field which announces AAIP. 2009-01-13 20:25:12 +01:00
Thomas Schmitt 1267052c03 Accounting for the size of AA fields in rrip_calc_len() 2009-01-13 18:35:14 +01:00
Thomas Schmitt f7a47baa22 Experiment with dummy AA fields.
Looks good when writing. But when reading there are
problems with the directory size which is not aligned
to 2048.
2009-01-13 14:02:27 +01:00
Thomas Schmitt cc9de1507f Described license situation of make_isohybrid_mbr.c 2008-11-25 17:11:52 +01:00
Thomas Schmitt 6b273ef79a Added a missing change for RRIP-1.10 option to rrip_calc_len() 2008-11-25 17:07:24 +01:00
Thomas Schmitt a8c7d1b0e6 Removed surplus line from rrip_add_PN().
It was introduced with the FreeBSD port.
2008-11-25 16:53:36 +01:00
Thomas Schmitt 7990e01a57 More apostrophes removed from messages 2008-11-25 16:49:10 +01:00
Thomas Schmitt 23e2647920 Described need to pad isohybrid to full MB.
Removed compiler warning about isohybrid FIXME.
2008-11-25 16:32:55 +01:00
Thomas Schmitt 412ad2fcdb Version switch to 0.6.12 , libisofs-6.8.0.so 2008-11-25 15:39:40 +01:00
Thomas Schmitt 14dd988f0f New API function iso_write_opts_set_dir_rec_mtime() to store the mtime
of the source files in their ECMA-119 Directory Records
2008-11-25 15:31:33 +01:00
Thomas Schmitt 698fdec290 New API function iso_write_opts_set_rrip_version_1_10() allows to
write old fashioned RRIP-1.10 rather than RRIP-1.12.
2008-11-25 15:19:53 +01:00
Thomas Schmitt 28e8936b4f Bug fix ticket 144: File size damage by non-unique inode numbers of
pre-RRIP 1.12 images

Replaced the extent-LBA based inode number by a static 32 bit counter.
I deem it safe because if the numbers repeat within a single image
reading, then we are doomed anyway. I banned inode number 0 just in
case it has a meaning.

TODO: what if ER says IEEE_1282 but the PX field has only 36 bytes ?
2008-11-25 14:34:47 +01:00
Thomas Schmitt 0026c93cd4 Emphasized in the API docs the fact that
iso_image_create_burn_source() starts image generation.
Mentioned the FreeBSD timezone bug with API docs of
iso_write_opts_set_always_gmt().
2008-11-25 13:26:34 +01:00
Thomas Schmitt fcf22cffe7 Small changes for the FreeBSD port. 2008-11-25 12:49:44 +01:00
Thomas Schmitt ed1041a069 Bug fix for ticket 145: ISOLINUX boot image does not get patched properly
Delayed the computation of El Torito until
all other computation methods were called.
This ensures that the LBA of isolinux.bin is
already computed when the patching gets defined.
The position of the El Torito writer in the list
was not changed. The call sequence of the write
methods was not changed.
2008-11-25 12:23:25 +01:00
Thomas Schmitt eccaac09cc New API functions iso_set_local_charset() and iso_get_local_charset() 2008-11-25 12:13:51 +01:00
Thomas Schmitt 88ef351e74 Removed apostrophe from some error messages and
dangerous text display from character set conversion
error messages.
2008-11-25 12:05:03 +01:00
Vreixo Formoso cb3a879baf Fix bug in make_isohybrid_mbr(). 2008-10-19 16:09:23 +02:00
Vreixo Formoso 7e97a45b20 Support for writing MBR in the system area, to make hybrid boot images.
With the specified isolinux option, a MBR is written to the system area, and this 
allows the image to boot from either CD/DVD or USB sticks.

This is also supported on overwriteable media (note that system area is always
overwritten), but it should not work on multisession media.
2008-10-19 16:03:13 +02:00
Vreixo Formoso 7db39f99b6 Add new API to deal with isolinux options.
This deprecates el_torito_patch_isolinux_image() in favour of the new API, that also
allows the generation of an hybrid boot image.
2008-10-19 16:00:51 +02:00
Vreixo Formoso 186c2f2ff7 Add Thomas function needed to make isohybrid bootable images. 2008-10-18 16:50:20 +02:00
Vreixo Formoso 1a4c5ba679 Increment version to 0.6.11 for next development cycle. 2008-10-18 16:49:21 +02:00
Mario Danic 62315dfc44 I did more! 2008-10-06 08:44:14 +02:00
Vreixo Formoso 89b0e9da68 Patch isolinux image before image writing.
Currently isolinux images are patching on-the-fly during image writing, and
that can be a problem on multisession images, as we may be reading the
old image after begining the burning of the new session. That is not supported
in several media and lead to burning failure. Fixed by caching the patched
image on memory.
2008-09-29 22:33:26 +02:00
Vreixo Formoso 65252934de Fix SIGSEGV with El-Torito images. 2008-09-27 12:34:40 +02:00
Vreixo Formoso 60ab97b5f4 Increment version to 0.6.9 for next development cycle. 2008-09-20 21:14:36 +02:00
Mario Danic b959b150e9 Preparing a release 2008-09-18 07:09:05 +02:00
Vreixo Formoso 68419703d7 Added iso_image_update_sizes() API.
This requires increasing IsoStreamIface version, as we need to add a new 
method on it. API/ABI remains compatible with older version.
2008-09-07 16:32:18 +02:00
Vreixo Formoso e79ee64a2f Fix bug #140, related to isolinux size, following patch by Christian Ostheimer.
We had assumed isolinux images are always a multiple of 4 bytes. However, 
this does not happens with recent isolinux images.
2008-08-29 20:54:14 +02:00
Vreixo Formoso 33e058a66a Fix bug #139 related to a wrong constant usage on non-emulated boot images. 2008-08-28 16:44:54 +02:00
Thomas Schmitt e91f12972b Switch to 0.6.7, error codes for iso_dat_source.read 2008-08-26 16:09:04 +02:00
Vreixo Formoso c1a7702f52 Merge level3 branch, adding support for ISO-9660 Level 3. 2008-08-20 02:14:47 +02:00
Vreixo Formoso 37e6752375 Fix documentation related to valid error codes (see ticket #134). 2008-08-20 00:52:33 +02:00
Vreixo Formoso 1ccc532808 Improve messages shown on some errors (fixes ticket #137). 2008-08-20 00:40:20 +02:00
Vreixo Formoso 2de74d04a7 Fix severity of some errors (see ticket #137). 2008-08-20 00:40:11 +02:00
Vreixo Formoso 7a87f47542 Prevent negative priorities on wrong error codes (fixes bug #135). 2008-08-20 00:05:27 +02:00
Vreixo Formoso 690e02a461 Revert Mario workaround to deal with wrong error codes. 2008-08-19 22:28:18 +02:00
Vreixo Formoso 882073f145 Make ISO-9660 Level 3 be the default for Backup Write Profile. 2008-08-19 21:41:42 +02:00
Vreixo Formoso fb3c3e1a6d Fix important bug. File sections must be computed before dir size. 2008-08-19 20:54:27 +02:00
Vreixo Formoso ff480b35e9 Control size of extents with #define blocks, to help testing. 2008-08-19 19:44:47 +02:00
Vreixo Formoso 643dbef05c Store RR entries in Directory Record for each File Section.
Linux do not mount correctly images where RR entries are only stored in 
last File Section Directory Entry.
2008-08-19 03:46:41 +02:00
Vreixo Formoso f9e15054db Correctly compute directoty size on Joliet and ISO-9660:1999 trees. 2008-08-19 03:46:04 +02:00
Vreixo Formoso ce0949a585 Compute correctly directory size. 2008-08-19 03:31:50 +02:00
Vreixo Formoso 126e60741e Fix tiny memory leak. 2008-08-19 03:03:16 +02:00