Commit Graph

307 Commits

Author SHA1 Message Date
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
aae339fe49 voiding to store empty ACL for all directories withou ACL 2009-01-23 13:17:22 +01:00
c801fa60f7 Incremented version to 0.6.13 and .so age to 9. 2009-01-23 09:43:52 +01:00
c8495481ca Controlling import and export of ACL, EA, AAIP 2009-01-23 09:32:32 +01:00
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
bb69e14b08 Better messages of non-AAIP aware libisofs about AAIP enhanced images 2009-01-21 14:25:08 +01:00
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
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
d4ce4a7f88 Forgot to store node.c before committing 425. 2009-01-19 10:52:40 +01:00
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
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
24fadd7649 New API function iso_local_set_acl_text() 2009-01-18 22:36:06 +01:00
723d23321a Handling ACL entries which match the POSIX permissions 2009-01-18 18:39:06 +01:00
ece6eca9a5 Avoided memory overflow with Aaip_encode_debuG 2009-01-17 20:25:00 +01:00
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
c6f4370e71 Fixed a memory hog about submitting multiple fields in aaip_add_AA() 2009-01-16 13:38:02 +01:00
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
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
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
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
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
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
19661b0c05 Testing the ER field which announces AAIP. 2009-01-13 20:25:12 +01:00
1267052c03 Accounting for the size of AA fields in rrip_calc_len() 2009-01-13 18:35:14 +01:00
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
cc9de1507f Described license situation of make_isohybrid_mbr.c 2008-11-25 17:11:52 +01:00
6b273ef79a Added a missing change for RRIP-1.10 option to rrip_calc_len() 2008-11-25 17:07:24 +01:00
a8c7d1b0e6 Removed surplus line from rrip_add_PN().
It was introduced with the FreeBSD port.
2008-11-25 16:53:36 +01:00
7990e01a57 More apostrophes removed from messages 2008-11-25 16:49:10 +01:00
23e2647920 Described need to pad isohybrid to full MB.
Removed compiler warning about isohybrid FIXME.
2008-11-25 16:32:55 +01:00
412ad2fcdb Version switch to 0.6.12 , libisofs-6.8.0.so 2008-11-25 15:39:40 +01:00
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
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
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
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
fcf22cffe7 Small changes for the FreeBSD port. 2008-11-25 12:49:44 +01:00
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
eccaac09cc New API functions iso_set_local_charset() and iso_get_local_charset() 2008-11-25 12:13:51 +01:00
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
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
Vreixo Formoso
2e99e1aac9 Add support for multisession on Level 3 images. 2008-08-19 02:45:20 +02: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
3f6da75e9c Only stored SUSP/RR entries in the directory entry for last extent. 2008-08-18 17:54:03 +02:00
Vreixo Formoso
6ff7699c47 Support for writting ISO Level 3 images.
This allows files greater than 4GB, that are written using multiple 
extents.
2008-08-17 21:59:48 +02:00
Mario Danic
fc46f4ec84 Preparing 0.6.6 release 2008-06-01 14:19:02 +02:00
Mario Danic
2cc8a6d978 Merged Vreixo branch 2008-06-01 10:41:52 +02:00
Vreixo Formoso
ab14c030bc Improve iso_write_opts_set_overwrite_buf() documentation.
Patch submitted by Thomas Schmitt.
2008-05-26 15:47:04 +02:00
Vreixo Formoso
86a3f4de22 Added iso_special_get_dev() API to retrieve devide id for device files. 2008-05-26 15:43:55 +02:00
Vreixo Formoso
558bdde116 Fix bug in read_rr_PN().
This caused device mino/major numbers to be read incorrectly from 
RockRidge PN entry.

Bug reported by Thomas Schmitt.
2008-05-26 10:48:25 +02:00
Vreixo Formoso
1756cf4c92 Fix a bug in iso_tree_path_to_node().
With paths where the last directory component is an existing 
non-directory in the ISO image and the leafname is any name it 
incorrectly returns 1 (node found).

Bug reported by Thomas Schmitt.
2008-05-26 10:46:28 +02:00
Mario Danic
84771aa83b Preparation for 0.6.4 release 2008-04-24 11:22:24 +02:00
Mario Danic
7e617733b1 Implemented safety cap and did merge with vreixo branch 2008-04-22 22:24:00 +02:00
Vreixo Formoso
ccc7b0b58f Fix allocation problem. 2008-04-05 17:08:17 +02:00
Vreixo Formoso
7b0da1ecd6 Add a function to get the path of a node in the IsoImage. 2008-03-17 21:42:44 +01:00
Vreixo Formoso
2374976b6d Make iso_dir_find_children() work recursivelly. 2008-03-17 17:24:42 +01:00
Vreixo Formoso
8b10d3107a Make IsoDirIters take also a ref on the dir they iterate. 2008-03-17 16:02:50 +01:00
Vreixo Formoso
987fa4b323 Improve find iterator, to make has_next() actually work. 2008-03-17 15:50:38 +01:00
Vreixo Formoso
166f1d83bd Expose node extended info. Add unit test for it. 2008-03-15 17:34:58 +01: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
d455f9b540 Add support for cut-out files. 2008-03-08 21:45:19 +01:00
Vreixo Formoso
bad03a9a2b Add lseek() function to IsoFileSource. 2008-03-08 18:34:41 +01:00
Vreixo Formoso
69fe1d6074 Implement iso_tree_add_new_file() to add new files from scratch. 2008-03-08 17:28:40 +01:00
Vreixo Formoso
0c69463c5a Add support for adding a node with a given name. 2008-03-08 01:06:46 +01:00
Vreixo Formoso
ae43626f0b Definitelly fix ticket #127. Iterators now support asynchronous remove. 2008-03-08 00:45:19 +01:00
Vreixo Formoso
edc5ccf90a Added iterator global registry. 2008-03-06 23:59:32 +01:00
Vreixo Formoso
085f6b64a3 Add find condition to logically combine two find conditions. 2008-03-04 01:10:56 +01:00
Vreixo Formoso
d2a92bd0f6 Add find contitions to check for timestamps. 2008-03-04 00:53:25 +01:00
Vreixo Formoso
6b583aa31f Add find conditions to check for mode, gid and uid attributes. 2008-03-04 00:34:17 +01:00
Vreixo Formoso
cb47296913 Preliminary support for find nodes. 2008-03-03 22:02:10 +01:00
Vreixo Formoso
dd02d1d976 Convert IsoDirIter in an interface. 2008-03-03 21:18:54 +01:00
Vreixo Formoso
c75f1a430e Added function to get the lba of an old image file. 2008-03-03 20:42:06 +01:00
Vreixo Formoso
6d633caadb Improved DirIter implementation. 2008-03-02 18:20:19 +01:00
Vreixo Formoso
061dce1ec2 s/openned/opened. Deprecate incorrectly spelled errors. 2008-03-01 17:12:44 +01:00
Vreixo Formoso
31a92bd8bd Ensure filters are only applied to repeatable Streams. 2008-03-01 17:12:27 +01:00
Vreixo Formoso
241a7295ba Ticket #127 also affects iso_dir_iter_take(). Fixed. 2008-03-01 16:16:12 +01:00
Vreixo Formoso
b9331ba5c1 Fix bug in iso_dir_iter_remove(), ticket #127. 2008-03-01 15:57:12 +01:00
Vreixo Formoso
0dad87f035 Filters definition. Example XOR_encrypt filter. 2008-02-24 18:20:23 +01:00
Vreixo Formoso
37f69d5360 Remove IsoStream->get_name(), add version and type fields instead. 2008-02-24 16:58:07 +01:00
Vreixo Formoso
811743a147 Expose IsoStream and getter for IsoFile. API still not stable. 2008-02-23 18:03:12 +01:00
Vreixo Formoso
e5f1cfca40 Merge more Thomas contributions related to ticket #125. 2008-02-23 01:07:30 +01:00