Commit Graph

187 Commits

Author SHA1 Message Date
Thomas Schmitt 38483d894e Added missing iso_filesystem_ref() for cloned node from local filesystem. 2011-02-01 22:16:05 +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 a3eeda3d23 Yet incomplete implementation of IsoNode cloning.
(Commited to avoid tangling with upcomming 
 iso_write_opts_set_no_dummy_block_adr())
2011-01-25 10:50:37 +01:00
Thomas Schmitt 48ae8acbd6 Better handling of El Torito boot images with identical block address
at image load time.
2010-11-24 10:06:19 +01:00
Thomas Schmitt ba11413a6f Corrected several memory leaks and potential NULL pointer evaluations
in case of memory shortage. All reported by George Danchev.
2010-09-01 10:45:10 +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 3528493b92 Removed development macro Libisofs_with_checksumS
and made the affected code unconditional.
2010-05-08 22:24:02 +02:00
Thomas Schmitt eb23260459 Removed most of the development remarks of 0.6.31 2010-05-01 20:38:01 +02:00
Thomas Schmitt e4cf93665a Making an educated guess whether the boot images contain a boot info table.
New API call el_torito_seems_boot_info_table() publishes this guess.
2010-04-29 15:10:18 +02:00
Thomas Schmitt 02d7a690eb New API calls el_torito_set_id_string(), el_torito_get_id_string(),
el_torito_set_selection_crit(), el_torito_get_selection_crit().
2010-04-23 18:01:27 +02:00
Thomas Schmitt 59d143c1f0 Added support for multiple boot images.
New API calls iso_image_add_boot_image() , iso_image_get_all_boot_imgs(),
el_torito_get_boot_platform_id(), el_torito_get_load_seg(),
el_torito_get_load_size(), el_torito_get_bootable()
2010-04-22 14:04:51 +02:00
Thomas Schmitt 517f520570 New API call iso_image_set_boot_platform_id().
Downgraded ISO_WRONG_EL_TORITO and ISO_UNSUPPORTED_EL_TORITO from SORRY
to WARN and implemented the tolerance that is promised by their message
texts.
2010-04-20 11:10:00 +02:00
Thomas Schmitt 38a7b4a5b1 New API calls iso_read_opts_load_system_area() and iso_image_get_system_area() 2010-04-16 21:49:44 +02:00
Thomas Schmitt 23d3c43022 Removed more occurences of old restriction to GPLv2. 2010-01-27 06:48:59 +01:00
Thomas Schmitt cbb376a137 Introduced a default definition for PATH_MAX. 2009-12-31 08:48:51 +01: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 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 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 955471a064 Augmented checksum tags for superblock and tree by parameter next=
for unambigous linking.
2009-08-16 16:58:41 +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 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 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 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 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 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 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 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 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 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 3f90111052 Removed change timestamps of 0.6.17 2009-04-15 16:50:44 +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 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 8a0be8ca19 Corrected test of Libisofs_setlocale_in_iniT. 2009-04-07 12:13:22 +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 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 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 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 4f468171ad Experiments about inode number generation for nodes out of the loaded
image.
2009-03-07 08:28:35 +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
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 620547ac0a Recognizing future AAIP signature "AAIP_0100" 2009-02-10 21:02:58 +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 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 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 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 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 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 7990e01a57 More apostrophes removed from messages 2008-11-25 16:49:10 +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 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 3a503a3e85 Implement iso_file_get_old_image_sections() and deprecate old way to obtain image lba. 2008-08-19 02:01:42 +02:00
Vreixo Formoso 87f08d27ac Add support for reading Level 3 images. 2008-08-19 01:08:46 +02:00
Vreixo Formoso ccc7b0b58f Fix allocation problem. 2008-04-05 17:08:17 +02:00
Vreixo Formoso 648941cb15 lseek() needs to be added to the end to ensure ABI compatibility. 2008-03-08 21:48:03 +01:00
Vreixo Formoso bad03a9a2b Add lseek() function to IsoFileSource. 2008-03-08 18:34:41 +01:00
Vreixo Formoso 061dce1ec2 s/openned/opened. Deprecate incorrectly spelled errors. 2008-03-01 17:12:44 +01:00
Vreixo Formoso fe4976497b Warn users when hidden El-Torito boot images are found. 2008-02-09 20:02:57 +01:00
Vreixo Formoso e6593c9738 Fix new bug introduced when fixing previous bug. 2008-02-08 22:32:33 +01:00
Vreixo Formoso b501546627 Allow relaxe volume and volset id constraints. 2008-02-08 17:23:09 +01:00
Vreixo Formoso 444689d163 Fix severe bug related with hidden el-torito catalog. 2008-02-07 19:10:45 +01:00
Vreixo Formoso e88b361b5f Make iso_read_image_features private. Add getters for its properties. 2008-02-02 16:05:03 +01:00
Vreixo Formoso 99298c10a4 Move error codes to libisofs.h. Remove error.h header. 2008-01-30 23:43:59 +01:00
Vreixo Formoso e42a583a2f Support for different default permissions for file and dirs on image
import.
2008-01-30 13:21:41 +01:00
Vreixo Formoso 307a98815e src renamed to libisofs. 2008-01-26 22:18:07 +01:00