Commit Graph

619 Commits (df8ce8fd425d272a1abafbcb054b86dd4beb0c87)

Author SHA1 Message Date
uvman 705814c9d7 Allow building libntfs as a shared library on Cygwin. This should not disturb non-Cygwin enviroments, but not tested. As a side-effect it generates ugly informational messages about importing extern variables. These are not errors or warnings, just info. 2005-10-20 00:59:22 +00:00
szaka 8f03f5a6ca Optionally create NTFS version 3.0 (W2K) or 3.1 (XP, W2K3, Vista).
Contributed by Erik Sornes. No side-effect for v1.2 NTFS which is still
the default. The implementation needs some minor work: see e.g. the chkdsk
messages and the result of ntfscmp'ing the two images.
2005-10-19 22:04:46 +00:00
antona a7fd01e543 $EA can be resident and non-resident. Fix libntfs/attrib.c::
ntfs_attr_can_be_resident() apropriately.  (Anton)
2005-10-19 08:13:44 +00:00
flatcap 2a8d602d9f ntfsrm has been split up and merged into libntfs.
currently it's #ifdef'd out.
tree.c - code for handling directory trees
rich.c - a few helpers without a home (this file will go away soon)
Note: ntfsrm isn't in the build any more (you need to ./configure --enable-rich; make extras).  When rm is less intrusive, again, I'll put it back in the build.
2005-10-16 23:33:03 +00:00
flatcap bde3e0063b centralised logging system 2005-10-16 21:57:00 +00:00
flatcap 8fa46025d5 trailing whitespace 2005-10-16 19:21:47 +00:00
antona a570ee7b37 Fix endiannes bug in libntfs/index.c. (Anton) 2005-10-16 00:07:14 +00:00
antona 1d4958d38c Fix endianness bug (le16 instead of le32 when accessing mft record
bytes_in_use) in volume.c::ntfs_volume_write_flags() and
ntfsfix.c::OLD_ntfs_volume_set_flags().  (Anton)
2005-10-15 23:13:49 +00:00
antona e46d4e8959 Fix silly bug introduced in 1.12.0 which breaks ntfsfix (and others
possibly) when calling ntfs_attr_lookup() with AT_UNNAMED name and
no ntfs inode in the search context.  (Anton)
2005-10-15 20:52:41 +00:00
antona bc4bee7b2f Fix bogus le16_to_cpu() which shouldbe le32_to_cpu() when accessing
the attribute list entry attribute type in some places in
libntfs/attrib.c.  (Anton)
2005-10-15 11:33:42 +00:00
antona 62f9636080 Temporarily disable use of the legal ansi character checking in
libntfs/unistr.c::ntfs_names_collate() pending a proper fix at some
point.  (Anton)
2005-10-13 08:26:02 +00:00
antona a40d7e55d6 - Revert patch from Christophe applied by Yura.
- Provide a realpath() alternative for systems which do not have it.
  This is _much_ nicer as it avoids the horrible #ifdef gunk in the code...
2005-10-10 12:55:11 +00:00
cha0smaster bf91f7c0fc Apply patch from Christophe. 2005-10-10 11:04:56 +00:00
cha0smaster b1c1348d37 fix build under cygwin if FSCTL_GET_NTFS_VOLUME_DATA is not defined 2005-10-09 13:35:15 +00:00
antona 0c293d0407 - Add API (actually renamed from what Rich/FlatCap did):
volume.[hc]::ntfs_libntfs_version() which returns a pointer to a
  static const string of the libntfs verion, i.e. at the moment this is
  "8.0.0".  This required moving the version specifications from
  libntfs/Makefile.am to configure.ac.  This should hopefully have the
  sideeffect that I will remember to increment it when incrementing the
  ntfsprogs version number when making a release given the two are
  right under one another.  (Anton)
- Change ALL utilities to display the libntfs version they are running
  on.  This should make debugging easier in the case that people are
  running mismatched utilities/library.  (Anton)
2005-10-07 14:10:56 +00:00
antona 5f6a0988e3 Fix compiler warning. 2005-10-07 12:47:03 +00:00
cha0smaster 75668af15e last optimizations to ntfs_delete was incorrect, revert it 2005-10-01 00:34:53 +00:00
cha0smaster dff50dc5ba oops, forgot one s/_lookup/_find 2005-09-30 18:57:00 +00:00
cha0smaster ad2e6baf35 Refix my previous fix to fix. :-)
Comment thinks better.
2005-09-30 13:13:38 +00:00
cha0smaster 7aeed859b9 Revert Anton's code that breaks functions needed for attribute resize. 2005-09-30 09:52:05 +00:00
cha0smaster 27d923bffb typo fix 2005-09-30 09:45:54 +00:00
flatcap 1b5ee7b7a3 need config.h for the autoconf #ifdefs 2005-09-29 12:44:42 +00:00
antona 8db479a6b1 Patch from Christophe:
A lot of headers are checked by autoconf (AC_CHECK_HEADERS in configure.ac).
Please find a patch that add the missing "#ifdef" to the source code.
2005-09-28 13:47:47 +00:00
antona 151d0ecb61 Fix the double free that just got added. There was only half a memory leak...
It was a cut and paste error, not a real memory leak.
2005-09-27 18:03:00 +00:00
flatcap 6691212129 fix a memory leak - vol->vol_ni 2005-09-27 17:11:30 +00:00
antona 339abc36b4 More $LogFile handling fixes: when chkdsk has been run, it can leave the
restart pages in the journal without multi sector transfer protection
fixups (i.e. the update sequence array is empty and in fact does not
exist).
2005-09-26 13:18:29 +00:00
cha0smaster 5ca19a130b fix stupid bug in ntfs_delete, optimize it a bit 2005-09-25 14:12:44 +00:00
antona 2a104d8eda Megapatch!!! Check evecrything!!! I probably broke everything!!! 2005-09-24 22:54:55 +00:00
antona 3a50e66a59 Fix a very(!) longstanding bug in ntfs_attr_find() and co.
Also reapply fix to unistr.c name collation.
2005-09-24 20:28:23 +00:00
szaka 24de91b8fa - Support journals which have been modified by chkdsk. (Anton, Szaka)
- Support journals ($LogFile) with only one restart page as well as
  journals with two different restart pages.  (Anton, Szaka)
2005-09-24 15:59:53 +00:00
szaka 054d6777d5 Fix ntfs_names_collate() input sanity check intrudoced in cleanups by
reverting to the original one
2005-09-24 15:29:54 +00:00
cha0smaster 464eab4178 add ntfs_link, update ntfsmount to use it 2005-09-24 15:20:49 +00:00
cha0smaster 7fee848c26 attrib.c: fix line to be <=80 characters long 2005-09-24 13:06:59 +00:00
cha0smaster 48b8edc464 fix attribute list adding 2005-09-24 13:03:07 +00:00
flatcap 531305cc1e Christophe: add easily accessible version info to libntfs 2005-09-22 16:41:43 +00:00
flatcap 374f5ac4f7 *cough* remove some debug #ifdefs 2005-09-19 20:58:54 +00:00
flatcap 459f98c2b2 fix a couple of range bugs (insert,replace)
Anton: fix mergeable - use to merge non-adjacent holes
Anton: factor out "tail" in replace - simplifying code
comment and retest code
2005-09-19 20:50:01 +00:00
cha0smaster 3629d931c6 Fix resident attribute adding: Add @val to ntfs_attr_add and @val and @size to ntfs_resident_attr_record_add.
Still need to fix attribute lis entry adding. :-(
2005-09-16 14:28:18 +00:00
flatcap ab9fb6a01f runlist behaviour changed! please check your applications.
test case 16, where a run is added beyond the end of a file, now behaves
differently.  the discontinuity (gap) is now filled with a "not mapped"
run (before the preceding hole would have been extended).

Anton's bugfix applied and tested
minor code tidyups
loads more comments in runlist_{insert,append,split,replace}
test cases checked and updated where necessary
valgrind happy
2005-09-15 23:42:02 +00:00
flatcap 01f648c952 removing a few unnecessary memsets in the test code revealed a minor
buffer overrun.
create runlist tests working on unmapped regions (copies of tests 1-14)
2005-09-13 18:51:16 +00:00
flatcap d75567112c put the test code where it's more useful 2005-09-13 14:30:51 +00:00
flatcap 0ae7e885d1 bug fix - reading uninitialised memory 2005-09-13 12:51:34 +00:00
cha0smaster c3727658ca * Fix filenames collation.
* Minor comment cleanup.
2005-08-26 20:17:08 +00:00
antona 190e59886f Define PATH_MAX if not defined in ntfsprogs/ntfsmount.c and
libntfs/volume.c.  Needed to compile on DOS with djgpp.  (Christophe)
2005-08-26 11:44:11 +00:00
cha0smaster ca83f4d63c fix brokeness introduced in the last Anton's cleanup 2005-08-23 12:17:39 +00:00
cha0smaster 6f8cd6e5ef Cleanups and memleak fix to error code paths of ntfs_create. 2005-08-22 21:33:07 +00:00
antona c7eaee5a0f Some cleanups. 2005-08-22 09:00:16 +00:00
antona 0f3a85c8e3 Only include sys/ioctl.h in libntfs/device.c if ./configure detected
it to be present.  (Christophe)
2005-08-19 16:01:15 +00:00
cha0smaster 3c6381db2f Thoght that FUSE will check if directory is empty, it didn't. Add such check to ntfs_delete. 2005-08-15 00:50:19 +00:00
cha0smaster 30263fb749 fix stupidness introduced just before commit 2005-08-14 16:06:33 +00:00
cha0smaster 9028a53dfc Sorry it's very large commit (46K of diffs between my local tree and CVS HEAD
before commit), file and directory creation/deletion recursively requested many
changes. See ChangeLog for description of all changes.
2005-08-14 15:44:46 +00:00
uvman 4b8ebe26bb Fix a nasty bug in unistr.c 2005-08-06 12:37:30 +00:00
antona 3b7afbc6f6 Ouch! Have been forgetting to bump libntfs version between releases. )))-:
Now bump it for next release.
2005-08-05 23:51:26 +00:00
antona 6124aafffb Move timeconv to ntfstime, update changelog, and news for new release. 2005-08-04 09:59:39 +00:00
antona 41d459b15c Improve on decompression fix from Yura. 2005-08-04 08:09:58 +00:00
cha0smaster 6d4e6d9893 * fix ntfs_attr_open
* update for 1.11.2
2005-08-04 00:00:27 +00:00
cha0smaster 0959ea9907 Fix ntfs_is_cb_compressed for nasty runlist merging case in which
compression block was incorrectly treated as not compressed.
2005-08-03 21:25:42 +00:00
cha0smaster fe67916350 * attrib.c: refix ntfs_attr_p{read,write}
* ntfsmount.c: code that now not really needed, but for any case
2005-08-03 13:52:50 +00:00
szaka 06052dafcf Replaced all occurances of ENOTSUP to EOPNOTSUPP to be in better harmony
with the kernel driver
2005-08-01 22:10:38 +00:00
cha0smaster f7e5e1cc26 * Fix ntfs_attr_p{read,write}. (see Changelog)
* Minor fixes and some stubs for uncommitted code.
* Update README about ./autogen.sh.
2005-08-01 13:40:51 +00:00
szaka d292ae2d27 Fix random errno returned by ntfs_inode_open() if the MFT record wasn't in use 2005-07-30 16:36:24 +00:00
antona 304f060a76 Add all Makefile.in to maintainer-clean target. 2005-07-29 15:51:49 +00:00
antona 69f55f1ee5 Remove all Makefile.in files and add them all to all .cvsignores. 2005-07-29 15:10:19 +00:00
antona 3ccd12241a Start the build system cleanup. Add AM_MAINTAINER_MODE to configure.ac and
remove configure and Makefile.in.  Also add Makefile.in to .cvsignore.
2005-07-29 15:04:57 +00:00
cha0smaster 4088de1017 Change errno and print more verbose message in case if logfile check failed. 2005-07-29 14:44:23 +00:00
cha0smaster fb433d4ad3 Fix unistr.c::ntfs_mbstoucs on systems with utf8 locale. 2005-07-28 21:20:23 +00:00
cha0smaster 0de66be9c0 ntfscp.c: fix bug intoduced by Anton in changeset 1.21
ntfsinfo: more info on index dumping
dir.c, layout.h: minor fixes
2005-07-25 22:05:27 +00:00
cha0smaster e48bd91bbf * Fix bug in index.c (see Changelog).
* Minor fixes to attr{ib,list}.c.
2005-07-23 00:50:31 +00:00
antona 93194b37a0 Add a function to ntfsprogs/decrypt.c that expands an on-disk desx key from 128
bits to the needed 192 bits so it can be used for {en,de}cryption.
Note I couldn't face using the completely insane libgcrypt api so I used
openssl's libcrypto instead...  Anyone feel free to swap once we have it
working.
2005-07-21 12:12:37 +00:00
cha0smaster b39a2a401f - Move ntfs2utc and utc2ntfs from utils.[ch] to timeconv.h.
- Add [acm]time fields to struct ntfs_inode and set them during ntfs_inode_open.  Update ntfsmount to use them.
- Bump version, update autoscripts.
2005-07-20 19:06:28 +00:00
antona 0dac29a487 Update for 1.11.1 release. 2005-07-20 08:14:52 +00:00
cha0smaster 7b9cac2912 Update ChangeLog and auto scripts. 2005-07-19 21:36:07 +00:00
cha0smaster fc2382b742 libntfs/volume.c: fix ntfs_check_if_mounted to cope with dirrerent names of same file.
ntfsprogs/ntfsmount.c: don't put relative path to /etc/mtab.
2005-07-18 02:09:43 +00:00
antona 4ed406e68e Add new utility (make extra) - ntfsdecrypt. (Yuval) 2005-07-16 06:53:40 +00:00
cha0smaster 0b75b12544 ntfsmount:
* use mount function from utils.[ch]
* remove fsname option (need to support if volume already mounted)
* add force option to support mount from utils
* update manual page
* fix tiny memleak
2005-07-15 15:53:22 +00:00
szaka 9f50872ec2 Spelling typos, Debian bug #300073 2005-07-12 16:18:10 +00:00
antona 47b52b54e3 Update changelog, fox more mkntfs bugs (thanks Timur!) and update build system
to SuSE 9.3 again.
2005-07-10 21:42:39 +00:00
cha0smaster 48af715f60 * Add check to auto scripts for FUSE to be >= 2.3.0.
* Move ntfsmount back to standard programs set.
2005-07-10 12:38:46 +00:00
antona b942e2c03a Move ntfsmount to extra programs as it doesn't even approximate being
compilable!  (At least on my machine which has fuse 2.2.1.)
And I need a working snapshot for Timur.
2005-07-09 21:32:17 +00:00
flatcap 7a142ef54c got bored. don't read the diffs. 2005-07-06 22:47:01 +00:00
cha0smaster cb13f36956 Fix typos, patch from debian version of nftsprogs 1.9.4-2. 2005-07-05 16:34:15 +00:00
cha0smaster 3727a729c2 - Add new utility - ntfsmount. It's a FUSE module that rely on libntfs. So,
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.
2005-07-03 00:18:37 +00:00
cha0smaster 3adc040305 Add change protype of ntfs_attr_pwrite: make @b const. 2005-07-02 19:16:18 +00:00
cha0smaster 9deb743974 Optimize a bit previous ntfs_inode_close fix. 2005-07-02 17:48:59 +00:00
cha0smaster b8e1188102 Fix memory managament error in ntfs_inode_close. ntfs_extent_inode_open
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)
2005-07-02 13:58:02 +00:00
cha0smaster fbe45ebac6 Fix valgrind varning about writing unitialized buffer. 2005-07-02 13:47:29 +00:00
szaka 70530ad551 ntfs_inode_close(): ElectricFence is unhappy with realloc(x,0) as free(x)
thus we distinguish these two cases
2005-06-27 20:30:09 +00:00
szaka d8dd64d425 Correct ntfs_inode_sync_file_name comment typos 2005-06-25 13:15:12 +00:00
antona 31a8750c4d Fix compiler warnings in libntfs when compiling under cygwin. 2005-06-21 09:55:15 +00:00
antona ca873f0474 Eeek. Someone did a commit just as I was about to commit so the commit
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.
2005-06-20 14:31:30 +00:00
flatcap 09936e5c22 typos 2005-06-20 14:23:50 +00:00
flatcap 086fd4cc0c probably a bug in __ntfs_attr_init 2005-06-20 14:23:27 +00:00
flatcap 949043ab36 Tidy whitespace: trailing space; <space><tab> at the beginning of lines
Fix warnings about sign differences
Fix warnings about unused parameters
Tidy a few functions that didn't have { on a new line
2005-06-19 21:09:40 +00:00
antona cc992ab0f6 Add more things to .cvsignore files. 2005-06-19 13:20:40 +00:00
cha0smaster e323ed6a03 Move utils_pathname_to_inode from to library (dir.c), adapt it for library, rename it to ntfs_pathname_to_inode, update all users. 2005-06-12 18:12:55 +00:00
cha0smaster b1dfa2b306 - Fix memleak in ntfs_attr_pwrite
- Update layout.h a bit to be a kernel driver like.
2005-06-12 15:23:25 +00:00
cha0smaster 676d8782e8 - Update attribute definition handling. (Anton, Yura) 2005-06-09 22:09:39 +00:00
flatcap 554b27dd47 ignore built/generated files 2005-06-09 09:05:30 +00:00
cha0smaster 373e47acb5 Fix coding style. 2005-06-08 18:02:29 +00:00
antona dd52588aae Use dynamic buffer in ntfs_device_win32_find_partition().
Based on patch from Yuval.
2005-06-06 14:51:09 +00:00