Do more detection in configure.ac and in particular check for getopt_long,
windows.h, wincrypt.h, and gcrypt.h and most importantly (for now) give command
line option to enable crypto stuff and autodetect if libgcrypt is present.
And only build ntfsdecrypt (still make extra only) only if both --enable-crypto
was specified AND libgcrypt was found.
you need FUSE to compile it, xattr is also highly recommended. This module
support file overwrite changing it size and can list/read/write/add/remove
named data streams via xattr interface.
- Update auto{make,conf} stuff respectively.
allocates buffer for up to 4 extent inodes, to prevent many reallocates.
But ntfs_inode_close always reallocate buffer to store exactly @nr_extents
inodes. Bug will arise in following scenario:
1) ntfs_extent_inode_open (1 extent, allocate buffer for 4)
2) ntfs_extent_inode_open (2 extents, use already allocated buffer)
3) ntfs_inode_close(extent_ni) (1 extent, reallocate buffer for 1 extent)
4) ntfs_extent_inode_open (2 extents, don't reallocate buffer because it should be for 4 elements, but really it's for 1, write to unitialized space, segfault)
message was lost! )-:
Now again...
Monster commit from me due to lack of time. Sorry about that.
Features:
- Version to 1.10.0
- Update readme, etc ready for release.
- Update build system to suse linux 9.3 versions.
- Fix warnings appearing for me on suse 9.3 with --enable-warnings --enable-debug.
- Set attr_name to NULL in libntfs/attrib.c::__ntfs_attr_init() and fixup all
callers apropriately. Thanks to FlatCap/Rich for pointing this out.
- Determine endianness in ./configure and use that in addition to existing
mechanisms for determining endianness.
ntfs_collate_file_name. Thus we have new API's: ntfs_collate and
ntfs_is_collation_rule_supported. (Yura)
- Port index.[ch] from kernel to library. New API's: ntfs_index_lookup,
ntfs_index_ctx_{get,put}, ntfs_index_entry_mark_dirty. (Yura)
Just finished porting, it's 03:41 here, so this code should defenitely segfault or at least not work. Today after sleep I will integrate it to library and test it by the way.
autoconf crap.
Also, fix a really stupid bug in the emulated SetFilePointerEx() which caused
the segfaults. (It unconditionally wrote to a pointer even when it was NULL.)