Commit Graph

1479 Commits

Author SHA1 Message Date
Jean-Pierre André
c42c502e92 Developped fixing of a self-located MFT data bug in ntfsfix
Under some rare and obscure circumstances probably unrelated to ntfs-3g,
a part of the runlist of MFT describes its own location, therefore
it cannot be loaded. This patch relocates the MFT extent to inode 15
to fix this. Note : chkdsk cannot fix it and destroys all the files.
2011-10-07 11:33:22 +02:00
Jean-Pierre André
b41ad439f9 Developped expanding an NTFS volume downwards in ntfsresize
When the lower bound of an ntfs partition is moved down this patch
recreated new metadata in the expanded space without copying the
actual data. The existing code for moving the upper bound of the
partition has been kept unchanged.
2011-10-07 11:26:58 +02:00
Jean-Pierre André
8a762bee41 Cosmetic : fixed an error message (hggdh2) 2011-09-30 09:06:42 +02:00
Jean-Pierre André
c0955e5d74 cosmetic : fixed improper wordings (hggdh2) 2011-09-28 16:41:12 +02:00
Jean-Pierre André
35fbb698ba Fixed a bug when undeleting a sparse file
An old typo leading to a badly recovered file and sometimes to a segfault
2011-09-26 15:03:38 +02:00
Jean-Pierre André
08bf2b5bcb Avoided logging meaningless fixup errors in ntfsclone and ntfsresize
Logging of fixup errors for uninitialized inodes cause unnecessary
worries and suspicion of malfunctions in ntfs-3g. This patch silences
these loggings in ntfsclone and ntfsresize which have to analyze all
inodes, including the uninitialized ones.
2011-09-23 11:28:42 +02:00
Jean-Pierre André
3c03e056f1 Fixed the size limits for the volume label set by mkntfs 2011-09-14 08:32:28 +02:00
Erik Larsson
c3e651047a Replaced some usages of ntfs_mbstoucs_libntfscompat with ntfs_mbstoucs.
Some calls to ntfs_mbstoucs_libntfscompat were unnecessary as they only used
functionality that can be provided by ntfs_mbstoucs.
2011-09-13 09:51:55 +02:00
Erik Larsson
8d06955ea4 Cleaned up and moved label changing functionality into libntfs-3g.
The label changing code in ntfslabel was cleaned up and modified to use the more
advanced functionality of libntfs-3g instead of using older custom code to
resize and create resident attributes.
The core label changing functionality was also moved into the library so it can
be reused by other programs.
2011-09-13 09:43:30 +02:00
Jean-Pierre André
e4a7a56a1a cosmetic : Removed a redundant store in utils_is_metadata() (Fabian Keil) 2011-08-04 15:49:36 +02:00
Jean-Pierre André
f10f067c7b revert : Reverted to old behavior for errored reply in ntfsresize 2011-08-04 15:49:35 +02:00
Jean-Pierre André
a3579a1674 documentation : Improved the description of the -f option in the manual for ntfsresize 2011-08-04 15:49:35 +02:00
Erik Larsson
277c8c8cdf ntfsprogs/Makefile.am: Fix for conflicting usage of EXTRA_PROGRAMS.
After the '--enable-extras' patch, EXTRA_PROGRAMS and bin_PROGRAMS were both defined when ENABLE_EXTRAS was enabled.
This created a conflict, where at least automake 1.10 attempted to emit targets for the binaries twice, resulting in failure when running 'autogen.sh'.

Conflict was resolved by defining the names of the binaries in a non-reserved variable EXTRA_PROGRAM_NAMES, which is then included either in EXTRA_PROGRAMS or bin_PROGRAMS but never in both.
2011-07-06 19:11:49 +02:00
Jean-Pierre André
2cc1bcb59d Fixed compiling ntfsfix.c for a Sparc 2011-07-06 17:46:31 +02:00
Jean-Pierre André
de151c1add Implemented a new option to clear the list of bad sectors 2011-07-05 12:17:31 +02:00
Jean-Pierre André
17caba34db Implemented expanding runlists in ntfsresize (Fedora 689275) 2011-07-05 12:17:30 +02:00
Jean-Pierre André
bde75a7bce Optionally closed volume and cleaned memory when leaving ntfsresize (kept disabled) 2011-07-05 12:17:30 +02:00
Jean-Pierre André
c54db11d96 Fixed dead http links in ntfsprogs manuals (Daniel Baumann) 2011-07-05 12:17:30 +02:00
Jean-Pierre André
1673ce9c91 Accepted the backup bootsector not be to accounted for when cloning 2011-07-05 12:17:29 +02:00
Jean-Pierre André
5a56ad9ff1 Silenced apparent out-of-range subscripts warned by gcc 4.6 2011-07-05 12:17:29 +02:00
Jean-Pierre André
5cd49257b0 Removed unneeded variables as warned by gcc 4.6 2011-07-05 12:17:29 +02:00
Jean-Pierre André
1c1c0540e8 Fixed use of uninitialized variable in ntfsfix 2011-07-05 12:17:29 +02:00
Jean-Pierre André
2c248202f5 Fixed accessing an unmounted volume in ntfsck 2011-07-05 12:17:28 +02:00
Jean-Pierre André
0ec31405c6 Fixed casting data to printf format in ntfsck, ntfsmove and ntfswipe 2011-07-05 12:17:28 +02:00
Jean-Pierre André
fe1a7b22a2 Fixed checking file system type in ntfsck 2011-07-05 12:17:28 +02:00
Jean-Pierre André
473d03d4b7 Fixed a bug causing SEGV in ntfsck (but nothing done anyway) 2011-07-05 12:17:28 +02:00
Jean-Pierre André
44116675ca Fixed warning for possible use of uninitialized variable in ntfsfix 2011-07-05 12:17:28 +02:00
Jean-Pierre André
5aa84db792 Silenced warning for ignoring the result of fgets in ntfsresize 2011-07-05 12:17:11 +02:00
Jean-Pierre André
683d0a0a4f Defined an option --enable-extras for extra ntfsprogs tools (from Fedora) 2011-07-05 12:17:11 +02:00
Jean-Pierre André
259b8ab308 Fixed compilation on OpenIndiana (Apostolos Syropoulos) 2011-07-05 12:17:11 +02:00
Jean-Pierre André
0289d1a6c3 Fixed the included files into ntfsck.c (from Fedora) 2011-07-05 12:17:11 +02:00
Szaka
f246d6ce97 Update ntfs-3g.org references 2011-03-27 15:29:48 +03:00
Jean-Pierre André
04f3e94dff Added mention of contributors for porting ntfsprogs to ntfs-3g 2011-03-23 10:09:20 +01:00
Jean-Pierre André
67f07ac3ad Added option --check to ntfsresize (from fedora) 2011-03-23 09:50:12 +01:00
Jean-Pierre André
71488598d7 Added option --info-mb-only to ntfsresize (from fedora) 2011-03-23 09:48:40 +01:00
Jean-Pierre André
86ce44ac58 Made ntfsfix able to use a backup boot sector larger than 512 bytes
When the normal boot sector is not usable, ntfsfix tries to use the last
sector as a boot sector replacement. This implies getting the sector size
and reading both full-sized boot sectors.
2011-03-23 09:46:46 +01:00
Jean-Pierre André
c6043ec2c9 Set the same timestamp per file in all attributes in mkntfs
mkntfs did not set the same timestamp in inode and index.
2011-03-23 09:43:13 +01:00
Jean-Pierre André
b4d1c6165b Used a stream to produce aligned writes in image creation
When creating a partition image, ntfsclone write an extra byte to
describe each cluster, this causes two unneeded ntfs-3g calls per cluster,
and inefficiency when imaging to ntfs.
2011-03-23 09:35:24 +01:00
Jean-Pierre André
0ce2d5bc57 Freed a search context in ntfslabel
Avoids a memory leak detection
2011-03-23 09:30:51 +01:00
Jean-Pierre André
2a2d94897c Silenced warnings for no-return functions in ntfsresize 2011-03-23 09:29:27 +01:00
Jean-Pierre André
4b408e60ae Strenghtened types in ntfslabel and ntfsfix 2011-03-23 09:27:33 +01:00
Jean-Pierre André
6d68c74f37 Fixed a segfaulting bug in ntfsundelete (from Fedora) 2011-03-23 09:24:55 +01:00
Jean-Pierre André
1e7d8809a8 Fixed freeing upcase in ntfsfix (avoiding memory leak detection)
Under some error condition, the upcase table was not freed.
Just cosmetic fix to avoid a memory leak detection.
2011-03-23 09:16:57 +01:00
Jean-Pierre André
2594a6c983 Fixed allocated size for resident unnamed data in mkntfs
The recorded allocated size depends on unnamed data being non resident,
which depends on MFT record size, hence on sector size.
The allocated size was wrong for $AttrDef when sector size is 4K bytes
(chkdsk silently fixes it).
2011-03-23 09:14:55 +01:00
Jean-Pierre André
7ac015451c Fixed allocated size to MFT in mkntfs
mkntfs stored a different value for allocated size in inode and index.
2011-03-23 09:06:27 +01:00
Jean-Pierre André
c6da530efc Synced the created image before remounting in ntfsclone
Better sync before remounting, but probably not an error
2011-03-23 08:59:49 +01:00
Jean-Pierre André
e20c1df1e5 Fixed copying the backup boot sector on a partial cluster
A recent patch added copying the backup boot sector when cloning,
saving or restoring a partition, but when the total number of sectors is
not a multiple of the number of sectors per cluster, the last cluster
containing the backup boot sector is shorter than usual.
When this happens, the present patch avoids overflowing from partition
when accessing the last cluster.
2011-02-17 16:11:26 +01:00
Jean-Pierre André
8034e9be25 Fixed the location of the backup boot sector 2011-02-16 12:20:46 +01:00
Jean-Pierre André
f68259e0c2 Copied the alternate boot sector when cloning 2011-02-16 12:18:56 +01:00
Jean-Pierre André
309ca32e52 Silenced warning for function with no return 2011-02-08 13:52:13 +01:00
Jean-Pierre André
6b570dfe96 Added tries to fix file systems with incorrect size 2011-02-08 13:52:13 +01:00
Jean-Pierre André
a46a395006 Updated copyright notices 2011-02-08 13:52:12 +01:00
Jean-Pierre André
2842936b74 Checked and fixed the upcase table in ntfsfix.c 2011-02-08 13:52:12 +01:00
Jean-Pierre André
b0849af206 Tried alternate boot sector if cannot start up in ntfsfix.c 2011-02-08 13:52:12 +01:00
Jean-Pierre André
9f765effd3 Defined option -n for no action in ntfsfix.c 2011-02-08 13:52:12 +01:00
Jean-Pierre André
c60ae578bd Exited with failure code from ntfsfix.c 2011-02-08 13:52:12 +01:00
Jean-Pierre André
7eccaa3c53 Fixed the type of argument of utils_mount_volume() 2011-01-10 11:19:54 +01:00
Jean-Pierre André
b3d62451e8 Silenced compiler warnings on the use of aggregates 2011-01-10 11:18:55 +01:00
Jean-Pierre André
70490ce10e Silenced warnings for no return 2010-12-21 15:51:08 +01:00
Jean-Pierre André
bfb648b99c Silenced warning on redefinition of ntfs_time 2010-12-21 15:51:08 +01:00
Jean-Pierre André
0cb35ac7aa Enabled expanding an attribute without creating a hole 2010-12-21 15:51:07 +01:00
Jean-Pierre André
d4e2a501a5 Enabled forensic mounting 2010-12-21 15:51:07 +01:00
Jean-Pierre André
5b03804c73 Set a volume UUID unless option -U 2010-12-21 15:51:07 +01:00
Jean-Pierre André
fd22595518 Avoided storing the full logfile in memory 2010-12-21 15:51:07 +01:00
Jean-Pierre André
94cab92a24 Avoided storing the full bitmap in memory 2010-12-21 15:51:07 +01:00
Jean-Pierre André
3a6ea1f2c9 Avoided writing beyond allocated variable 2010-12-21 15:51:07 +01:00
Jean-Pierre André
f21110f9a3 Closed volume and cleaned up when exiting from ntfsclone 2010-12-21 15:51:07 +01:00
Jean-Pierre André
936ca1193f Displayed times in UTC in ntfsinfo 2010-12-21 15:51:07 +01:00
Jean-Pierre André
31ce5db142 Added option for not clearing the timestamps in ntfsclone 2010-12-21 15:51:07 +01:00
Jean-Pierre André
f3e6a1af01 Fixed reading old big-endian ntfsclone images 2010-12-21 15:51:07 +01:00
Jean-Pierre André
9f40bcfc22 Moved ntfs_mbstoucs_libntfscompat() to utils.c 2010-12-21 15:51:07 +01:00
Jean-Pierre André
1c9ef6293b Moved the definition of leMFT_REF to layout.h 2010-12-21 15:51:07 +01:00
Jean-Pierre André
f22dec0442 Silenced warnings for formats in ntfsfix.c 2010-12-21 15:51:07 +01:00
Jean-Pierre André
dc7317dbcc Fixed included files in ntfscmp.c 2010-12-21 15:51:07 +01:00
Jean-Pierre André
8f4aa0883b Strengthened variable types 2010-12-21 15:51:07 +01:00
Jean-Pierre André
1ca4a556b2 Silenced warnings for unmatching printf-type formats 2010-12-21 15:51:07 +01:00
Erik Larsson
c5ecb91ffe Merge remote branch 'linux-ntfs/libntfs-3g_port-edge' into ntfsprogs_merge.edge
Conflicts:
	ChangeLog
	libntfs/libntfs.8.in
2010-12-19 15:20:24 +01:00
Erik Larsson
2a1fb5f489 Merge branch 'ntfsprogs_merge' into ntfsprogs_merge.v2_0_0 2010-12-19 15:12:57 +01:00
Erik Larsson
de22c98ec0 Removed the 'ntfs_home' string from utils.c/h since it was referring to Linux-NTFS and it was a duplicate symbol (an equivalent string exists in volume.c/h). 2010-12-19 15:11:28 +01:00
Erik Larsson
ef0190cbd7 Merge branch 'master' into libntfs-3g_port-edge
Conflicts:
	configure.ac
	libntfs/bootsect.c
	libntfs/logging.c
	ntfsprogs/ntfsmount.c
2010-12-19 09:06:45 +01:00
Erik Larsson
bcdc76f12d Merge remote branch 'linux-ntfs/libntfs-3g_port-v2_0_0' into PERMISSION_HANDLING_BRANCH
Conflicts:
	.cvsignore
	AUTHORS
	CREDITS
	ChangeLog
	NEWS
	README
	TODO.libntfs
	autogen.sh
	configure.ac
	include/ntfs/Makefile.am
	libntfs-3g/misc.c
	libntfs/Makefile.am
	libntfs/gnome-vfs-method.c
	libntfs/gnome-vfs-module.c
	ntfsprogs.spec.in
	ntfsprogs/.cvsignore
	ntfsprogs/mkntfs.c
	ntfsprogs/ntfscat.8.in
	ntfsprogs/ntfsclone.c
	ntfsprogs/ntfscp.8.in
	ntfsprogs/ntfsinfo.c
	ntfsprogs/ntfsprogs.8.in
	ntfsprogs/ntfsresize.c
	ntfsprogs/ntfsrm.c
	ntfsprogs/ntfsundelete.h
	ntfsprogs/upcase.c
	ntfsprogs/utils.c
	test/Makefile.am
2010-12-17 09:04:01 +01:00
Erik Larsson
e12b5f2c7f ntfsclone manpage: Fixed typo 'clonning'. 2010-12-16 17:36:25 +01:00
Erik Larsson
cdc930e4bf ntfsprogs manpage: Added a reference to the ntfs-3g manpage in the "SEE ALSO" section. 2010-12-16 17:36:12 +01:00
Erik Larsson
8deb6a323c ntfsprogs manpages: Updated the link to where the package can be downloaded. It now points at "http://www.tuxera.com/community/". 2010-12-16 17:35:59 +01:00
Erik Larsson
64d5d4da1d ntfsprogs manpages: Updated references to the 'ntfsprogs package' to reference the ntfs-3g package instead. 2010-12-16 17:35:48 +01:00
Erik Larsson
2188eab0a0 ntfsprogs manpages: Replaced all references to the linux-ntfs-dev mailing list with the ntfs-3g-devel mailing list. 2010-12-16 17:35:40 +01:00
Erik Larsson
2d8befcc07 ntfsprogs manpages: Changed 'ntfsprogs' reference in headers into 'ntfs-3g'.
The version number following 'ntfsprogs' is really the ntfs-3g version number, so the substitution seems appropriate.
2010-12-16 17:35:22 +01:00
Erik Larsson
dedaf225e3 Cleaned out a seemingly unused declaration from Makefile.am in ntfsprogs. 2010-12-16 17:35:14 +01:00
Erik Larsson
7287c05ff4 Made ntfsprogs compilation conditional and turned off by default. It is enabled with '--enable-ntfsprogs'. 2010-12-16 17:35:06 +01:00
Erik Larsson
f3a30779dd Moved list.h into ntfsprogs and got rid of include/ntfs completely. 2010-12-16 17:34:47 +01:00
Erik Larsson
daa1f3edcd Bugfixes for 'make extra'. 2010-12-16 10:08:34 +01:00
Erik Larsson
5a41022810 Removed the libntfs-gnomevfs module as it does not seem reasonable to keep maintaining it in ntfs-3g. 2010-12-16 10:08:27 +01:00
Erik Larsson
3efdd4cf0b Merge remote branch 'linux-ntfs/libntfs-3g_port' into ntfsprogs_merge.redo
Conflicts:
        configure.ac
2010-12-16 10:04:22 +01:00
Erik Larsson
2634f01ef0 Cleaned out some .cvsignore files that came from ntfsprogs. 2010-12-16 10:00:56 +01:00
Erik Larsson
16dbcbec0c Restored 'local' includes for all the ntfsprogs instead of using system includes (e.g. #include "yada.h" instead of #include <ntfs-3g/yada.h>). 2010-12-16 09:59:42 +01:00
Erik Larsson
639bd5475c Fixed ntfsprogs/Makefile.am to link against internally built libntfs-3g. 2010-12-15 17:19:20 +01:00
Erik Larsson
7a95c46e3d Bugfix for ntfs_mbstoucs_libntfscompat: Take the the \0 terminator into account when determining whether reallocing is necessary. 2010-12-09 12:17:11 +01:00
Erik Larsson
e81fd0ee2a Important bugfix for ntfs_mbstoucs_libntfscompat: We reallocated too little memory. 2010-12-09 12:15:50 +01:00
Erik Larsson
9c581432cb Important bugfix for ntfs_mbstoucs_libntfscompat: Typo in memcpy operation led to the wrong data being copied! 2010-12-09 12:14:13 +01:00
Erik Larsson
78b40e4b4c mkntfs.c: Fixed two references to missing member 'guid' in 'ntfs_volume'. 2010-12-03 07:52:31 +01:00
Erik Larsson
9c0c2bf633 ntfsprogs/Makefile.am: Added libgcrypt's CFLAGS and LIBS when building ntfsdecrypt. 2010-12-03 07:50:47 +01:00
Erik Larsson
6bf6464aeb Merge branch 'libntfs-3g_port' into libntfs-3g_port-v2_0_0 2010-12-02 22:40:15 +01:00
Erik Larsson
7b62a83286 utils.h: Added missing typedef leMFT_REF. 2010-12-02 22:39:06 +01:00
Erik Larsson
3ddcb40f23 ntfsdump_logfile.c: Removed unnecessary reference to unsupported mount option NTFS_MNT_FORENSIC. (The mount option is pointless as we are mounting the volume in read-only mode anyway.) 2010-12-02 22:37:23 +01:00
Erik Larsson
d52190c3cb Fixed reference to deprecated utility 'libgnutls-config' in ntfsprogs' Makefile.am. 2010-12-02 22:37:16 +01:00
Erik Larsson
18789cdeaa Replaced all occurrences of the libntfs mount flag NTFS_MNT_FORCE with the libntfs-3g mount flag MS_RECOVER.
Note: The NTFS_MNT_FORCE, in addition to what MS_RECOVER does, also bypasses the check for the 'dirty' bit in libntfs' ntfs_mount.
However, this check does not exist in libntfs-3g (libntfs-3g will not check or change the dirty bit, being confident that it can handle volumes marked as 'dirty'), so in essence the same behaviour is achieved with MS_RECOVER.
2010-12-02 22:37:06 +01:00
Erik Larsson
6ff5d3f8a7 Replaced all occurrences of the libntfs mount flag NTFS_MNT_RDONLY with the corresponding libntfs-3g mount flag MS_RDONLY. 2010-12-02 22:36:58 +01:00
Erik Larsson
665555491b ntfsundelete.h: Added missing include 'utils.h'. 2010-12-02 22:36:46 +01:00
Erik Larsson
6b65b6024e ntfscp.c: libntfs-3g has added an additional argument to ntfs_create (le32 securid). We pass 0 as 'securid' as this is what should be passed when there is no inheritable security descriptor.
This can of course be discussed. Maybe we should inherit something? From parent? I don't know enough about this.
2010-12-02 22:36:37 +01:00
Erik Larsson
2acadfd360 mkntfs.c: Fixed reference to 'guid' member of ntfs_volume which does not exist in libntfs-3g. 2010-12-02 22:35:20 +01:00
Erik Larsson
6b513b1c55 Replaced references to NVolSetWasDirty with appropriate substitutions.
libntfs (unlike libntfs-3g) sets the volume dirty bit automatically on ntfs_mount (if not already set) and also automatically clears the volume dirty bit on ntfs_umount (if it was not already set before mount). The 'WasDirty' flag is set to indicate that the volume was already dirty when it was mounted, so setting it means bypassing the 'clear dirty flag' behaviour on unmount (it does not mean 'set dirty flag on unmount').

NVolSetWasDirty is accordingly replaced with the actions that were intended:
- If the intention was to leave the dirty bit set on unmount, we explicitly set the bit if it is not already set.
- If the intention was to simply update the 'WasDirty' bit to be consistent with earlier changes, we just comment out the statement.
2010-12-02 22:34:45 +01:00
Erik Larsson
f5f3878a8e Replaced all occurrences of the libntfs-specific NVolWasDirty macro with a test for the VOLUME_IS_DIRTY flag in vol->flags.
This is not a perfect conversion. The VOLUME_IS_DIRTY flag reflects the _current_ state of the volume dirty bit and not the mount-time state.
However, since libntfs-3g (as opposed to libntfs) does not automatically change the dirty bit on mount and unmount (only when ntfs_volume_write_flags is called explicitly), and these tests are done directly after a mount (ntfsclone.c, ntfscp.c, ntfsresize.c, ntfswipe.c, utils.c) or when the volume is in an appropriate state (ntfsfix.c), the result will be the same.
2010-12-02 22:34:35 +01:00
Erik Larsson
dd3d394010 utils.h: Added ntfs_attr_get_name, a simple inline function from libntfs that was referenced in the ntfsprogs code. 2010-12-02 22:34:00 +01:00
Erik Larsson
41e27e116a Added 'misc.h' as an include to some source files because of missing ntfs_malloc / ntfs_calloc signatures. 2010-12-02 22:31:56 +01:00
Erik Larsson
844d3213a9 ntfsck.c: Adapted includes to libntfs-3g. 2010-12-02 22:31:44 +01:00
Erik Larsson
713fbb390e Merge commit 'v2_0_0' into libntfs-3g_port-v2_0_0
Conflicts:
	configure.ac
	include/ntfs/Makefile.am
	include/ntfs/attrib.h
	include/ntfs/bitmap.h
	include/ntfs/collate.h
	include/ntfs/debug.h
	include/ntfs/dir.h
	include/ntfs/endians.h
	include/ntfs/index.h
	include/ntfs/inode.h
	include/ntfs/layout.h
	include/ntfs/logfile.h
	include/ntfs/logging.h
	include/ntfs/mft.h
	include/ntfs/ntfstime.h
	include/ntfs/runlist.h
	include/ntfs/support.h
	include/ntfs/types.h
	include/ntfs/unistr.h
	include/ntfs/volume.h
	libntfs/Makefile.am
	libntfs/attrib.c
	libntfs/attrlist.c
	libntfs/bitmap.c
	libntfs/bootsect.c
	libntfs/collate.c
	libntfs/compress.c
	libntfs/debug.c
	libntfs/device.c
	libntfs/device_io.c
	libntfs/dir.c
	libntfs/index.c
	libntfs/inode.c
	libntfs/lcnalloc.c
	libntfs/logfile.c
	libntfs/logging.c
	libntfs/mft.c
	libntfs/mst.c
	libntfs/runlist.c
	libntfs/security.c
	libntfs/unistr.c
	libntfs/unix_io.c
	libntfs/volume.c
	libntfs/win32_io.c
	ntfsprogs/Makefile.am
	ntfsprogs/mkntfs.c
	ntfsprogs/ntfscat.c
	ntfsprogs/ntfsclone.c
	ntfsprogs/ntfscmp.c
	ntfsprogs/ntfscp.c
	ntfsprogs/ntfsinfo.c
	ntfsprogs/ntfsmount.8.in
	ntfsprogs/ntfsmount.c
	ntfsprogs/ntfsundelete.c
	ntfsprogs/upcase.c
2010-12-02 22:31:21 +01:00
Erik Larsson
ce6a516a56 Removed the 'rich' functionality including the ntfsrm tool.
This change should be reverted once the 'rich' stuff is ported to libntfs-3g, but right now it seems like too much work.
2010-12-02 17:10:57 +01:00
Erik Larsson
efb3204b76 utils.h: Updated ntfs_mbstoucs_libntfscompat to comply better with how libntfs' implementation works (with respect to preallocated buffers). 2010-12-02 17:05:48 +01:00
Erik Larsson
6f42c011be ntfswipe.c: Adapt to the changed interface of ntfs_rl_pwrite in libntfs-3g.
ntfs_rl_pwrite has an additional parameter, ofs, in libntfs-3g. Setting ofs to 0 seems to imply the same behaviour as expected from the libntfs equivalent.
2010-12-02 17:03:08 +01:00
Erik Larsson
7478b2396c ntfsmove.c: Adapted calls to ntfs_get_size_for_mapping_pairs to the libntfs-3g interface.
Note: libntfs-3g has a 'max_size' variable to cap the size calculation, but this variable is frequently set to INT_MAX in the libntfs-3g code itself when there is no desire to limit the size calculation. We will do the same here.
2010-12-02 16:56:27 +01:00
Erik Larsson
13bef7f308 ntfstruncate.c: Changed one reference to ntfs_mbstoucs into ntfs_mbstoucs_libntfscompat. 2010-12-02 16:51:49 +01:00
Erik Larsson
196f7f6461 Commented out all references to 'version.h' in the 'extra' utilities until libntfs-3g supports such functionality. 2010-12-02 16:49:56 +01:00
Erik Larsson
07bc8d9d17 Redirected all libntfs includes in the 'extra' utilities to libntfs-3g. 2010-12-02 16:47:06 +01:00
Erik Larsson
5b9b4c7e49 Removing all references to the libntfs library version until we have such functionality in libntfs-3g. 2010-12-02 16:38:16 +01:00
Erik Larsson
bcc00717b0 The legacy FUSE module (ntfsmount) goes away. (ntfs-3g takes care of that part.) 2010-12-02 16:37:57 +01:00
Erik Larsson
e20dad4854 Keeping include/ directory for now (and away goes the 'list.h' symlink). 2010-12-02 16:37:23 +01:00
Erik Larsson
c3fa61b4e1 Added symlink to list.h. 2010-12-02 16:36:50 +01:00
Erik Larsson
3e34aebfc3 Temporary fix while the ntfs_file_values_compare situation is resolved.
Revert if ntfs_file_values_compare is re-added to libntfs-3g, and clean up otherwise.
2010-12-02 16:36:18 +01:00
Erik Larsson
4a641c85e0 Adapted code to latest libntfs-3g, based on PERMISSION_HANDLING_BRANCH. Now requires libntfs-3g version 2010.5.22 minimum. 2010-12-02 16:35:27 +01:00
Erik Larsson
16ba09b70f Introduced a pkg-config check for libntfs-3g at configure time, using the CFLAGS and LDFLAGS specified in the .pc file. 2010-12-02 16:35:12 +01:00
Erik Larsson
36b876375e Commented out all instances of MS_NOATIME being passed to ntfs_mount, as libntfs-3g does not support that flag.
In fact, this is how libntfs-3g operates normally, so the MS_NOATIME flag is not needed. However, other utilities might incorrectly assume that the library updates access times for them.
Investigating whether access time needs to be manually updated in other utilities is TODO.
2010-12-02 16:31:43 +01:00
Erik Larsson
ee3297311d utils.h: Fixed absent definition of MAX_PATH by copying the definition from libntfs's headers (dir.h). 2010-12-02 16:16:47 +01:00
Erik Larsson
9b6523ab42 mkntfs.c: Signature of 'ntfs_boot_sector_is_ntfs' has changed in libntfs-3g (unused variable 'silent' has been removed). 2010-12-02 16:13:25 +01:00
Erik Larsson
058e47afbd Updated references to members of INDEX_HEADER and INDEX_ENTRY that have been renamed in libntfs-3g.
INDEX_HEADER: flags -> ih_flags
INDEX_ENTRY: flags -> ie_flags
2010-12-02 16:10:18 +01:00
Erik Larsson
b538215ddb Replaced all occurrences of ntfs_mbstoucs with a compatibility wrapper function (ntfs_mbstoucs_libntfscompat).
The interface and semantics of ntfs_mbstoucs differ between libntfs and libntfs-3g, so this compatibility wrapper tries to address the differences.
2010-12-02 16:05:22 +01:00
Erik Larsson
f03d683fa0 Commented out all references to 'version.h' (which doesn't exist in libntfs-3g) and added a stub implementation of ntfs_libntfs_version in utils.h to allow things to compile. 2010-12-02 15:58:14 +01:00
Erik Larsson
1860eff1da Updated all includes in the basic ntfsprogs utilities for libntfs-3g. 2010-12-02 15:57:58 +01:00
Erik Larsson
237b937a65 Updated build configuration of ntfsprogs to use libntfs-3g's includes and libraries. 2010-12-02 15:57:43 +01:00
Yura Pakhuchiy
763d811d29 ntfsmount: Filter out uhelper mount option 2009-05-10 16:38:41 +03:00
Olaf Rempel
48f652e0e1 ntfsclone: fix restore from stdin
When doing a ntfclone-restore from stdin and stdin is then closed,
ntfsclone will loop forever:
$ cat corrupt_image.gz | gzip -d | ntfsclone -r -O somedisk -

With this patch the io_all() loop will return an error when the
input-stream is closed.
2009-03-28 00:25:58 +02:00
Anton Altaparmakov
fb4a13008e ntfsclone: Allow metadata cloning to block devices when --force option
is supplied. (Anton)
2007-10-26 11:28:51 +01:00
Yura Pakhuchiy
8d63e0b1a2 ntfsck: Use ntfs_pread instead ops->pread. (Noticed by Christophe GRENIER) 2007-10-19 21:22:59 +03:00
Yura Pakhuchiy
5a381d5a9e Remove some legacy logging traces 2007-10-19 21:15:23 +03:00
Anton Altaparmakov
e0e71a3776 Fix grammar in NEWS and add a few useful extra outputs about the
attribute list attribute in ntfsinfo.c.  (Anton)
2007-09-28 21:07:15 +01:00
Yura Pakhuchiy
2f33075993 Apply fix from crypto.c to ntfsdecrypt 2007-09-27 16:41:22 +03:00
Yura Pakhuchiy
2d645bae53 Apply latest CVS on top. I will rewrite history properly later. 2007-09-27 16:36:53 +03:00
Yura Pakhuchiy
e2deb0dad4 ntfsmount: Fill .st_mode in readdir(). (Szaka, Yura) 2007-09-27 16:29:57 +03:00
Yura Pakhuchiy
a92649480c Add man-page for libntfs 2007-09-26 22:41:28 +03:00
Yura Pakhuchiy
d54ad2d637 ntfsmount man page update 2007-09-26 18:19:08 +03:00
Yura Pakhuchiy
48e033623d ntfsmount: Do not allow user mount devices he normally do not have rights to 2007-09-25 14:42:33 +03:00
Yura Pakhuchiy
f7068cf989 ntfscp docs update 2007-09-24 21:58:02 +03:00
Yura Pakhuchiy
45a641b408 ntfsmount: Fix recently introduced bug in attribute/inode close ordering in case if ntfs_fuse_open() failed. 2007-09-24 21:08:32 +03:00
Yura Pakhuchiy
ad8097aa55 ntfsmount: minor memory managment fix 2007-09-24 20:27:54 +03:00
Yura Pakhuchiy
a81520731c Install mount.fuse.ntfs symlink (to match mount with subtype=ntfs option) 2007-09-23 00:50:45 +03:00
Yura Pakhuchiy
42f475f552 ntfsmount: Cache directory in which was performed last operation 2007-09-23 00:37:49 +03:00
Yura Pakhuchiy
4f7f0f654e ntfsmount: Implement .fgetattr() 2007-09-21 17:58:07 +03:00
Yura Pakhuchiy
36af29fe72 ntfsmount: Implement .ftruncate() 2007-09-21 17:50:40 +03:00
Yura Pakhuchiy
3f8abbf2ca ntfsmount: Implement .create() 2007-09-21 17:40:22 +03:00
Yura Pakhuchiy
d1a7006798 ntfsmount: Introduce macro NTFS_FUSE_GET_NA for receiving ntfs_attr* from fuse_file_info* 2007-09-21 15:51:50 +03:00
Yura Pakhuchiy
5151f826c4 ntfsmount: Save pointer to ntfs_attr in (fuse_file_info *)->fh and use it in ntfs_fuse_{read,write} 2007-09-20 15:46:31 +03:00
Yura Pakhuchiy
e5690b57d4 Allow mounting volumes with non-clean logfile with force mount option.
Volume left dirty upon umount. So, this is equal to running ntfsfix and then mounting with force option.
2007-09-16 00:15:46 +03:00
Yura Pakhuchiy
37476cf609 Introduce NTFS_MNT_FORCE instead of third parameter of utils_mount_volume 2007-09-15 18:12:32 +03:00
Yura Pakhuchiy
57cc7904c9 cleanups (Szaka) 2007-09-15 17:31:39 +03:00
Yura Pakhuchiy
942519d093 ntfsmount: Add bmap support. (Szaka, Yura) 2007-09-14 18:53:46 +03:00
Yura Pakhuchiy
e248e6b986 Make libntfs keep track number of free clusters and MFT records.
Thanks for idea to David Fox and Szabolcs Szakacsits.
2007-09-14 12:59:55 +03:00
Yura Pakhuchiy
398755a75e ntfsmount: Implement {no,}relatime (relative atime) options.
According to http://userweb.kernel.org/~akpm/mount-relative-atime.txt
Only several lines with new time handling ;-)
2007-09-13 20:42:00 +03:00
Yura Pakhuchiy
5d05d42d05 properly fix st_blocks calculation 2007-09-12 17:52:21 +03:00
Yura Pakhuchiy
31a39d2a37 Fix memory corruption in case option parsing failed. 2007-09-12 16:43:27 +03:00
Yura Pakhuchiy
3504cc8796 Handle atime option 2007-09-12 16:15:54 +03:00
Yura Pakhuchiy
ba89f9ebf4 More sane set-uid-root handling 2007-09-12 15:55:37 +03:00
Yura Pakhuchiy
28226c183b Mount block devices with blkdev mount option 2007-09-11 19:46:20 +03:00
Yura Pakhuchiy
a9a1f28cf5 Fix previous fix to filler :) 2007-09-11 16:46:29 +03:00
Yura Pakhuchiy
cc166f9f42 ntfs_readdir, ntfs_fuse_filler: return with error if FUSE filler failed. (Szaka) 2007-09-10 21:21:39 +03:00
Yura Pakhuchiy
b392bd17c8 ntfsmount: Submit inode number during readdir
Some broken programs rely on that filesystem will submit inode number during
readdir() (what is optional). Make them happy since it is really not a problem.
(Ted Anderson, Szaka)
2007-09-07 15:39:30 +03:00
Yura Pakhuchiy
ec2afb736c Fix cache handling in utils_attr_get_name. (Thanks to Bogdan for finding this bug) 2007-09-07 15:31:33 +03:00
Yura Pakhuchiy
82df6c1fea Rework time updates
- Library no longer perform time updates, only provide API for this
- Remove ntfs_inode_update_{a,}time() and introduce ntfs_inode_update_times()
- Make ntfsmount properly update times
- ntfs_delete() now takes pointer to pointer to ntfs_inode for while to delete and closes inode only in cases no more hard links left to file
2007-09-06 18:34:38 +03:00
Yura Pakhuchiy
58ab68b024 ntfsmount: remove some traces of legacy code 2007-09-06 13:51:48 +03:00
Yura Pakhuchiy
95b044cff3 Small enchantments and cleanups from ntfs-3g 2007-09-03 19:51:13 +03:00
Yura Pakhuchiy
65a81e3563 ntfsclone do bad things about endians, so revert it to original state and put mark on it to not perform sparse bitwise checks 2007-08-23 17:58:52 +03:00
Yura Pakhuchiy
6df32ed1ab ntfsinfo: Dump content of LOGGED_UTILITY_STREAM in hex in verbose mode 2007-08-22 19:30:12 +03:00
Yura Pakhuchiy
4b58df6817 New API: ntfs_attr_get_name
Add new API ntfs_attr_get_name - returns pointer to unicode name of attribute.

TODO: I believe we have several such local helpers in ntfsprogs and libntfs.
Find and replace them with this one.
2007-08-22 19:28:44 +03:00
Yura Pakhuchiy
ad0c5f59c9 Transparently integrate reading of encrypted files into library
This adds crypto.[ch], several exported functions that you are not interested
to use and dependency on >=libconfig-1.0.1 to read list of PFX files with keys.
See libntfs/config for example configuration file.
2007-08-22 16:55:57 +03:00
Yura Pakhuchiy
efe2c9642c minor cleanup 2007-08-16 13:52:18 +03:00
Yura Pakhuchiy
ea4d352f7e Fix sparse warnings from git HEAD version 2007-07-21 22:01:57 +03:00
Yura Pakhuchiy
8981594cf0 ntfsdecrypt: Fix sparse warnings. 2007-06-30 20:19:25 +03:00
Yura Pakhuchiy
d059090386 info: nice LCN dumping 2007-06-08 13:48:28 +03:00
Yura Pakhuchiy
0d264b7d25 Introduce sparse endian annotations. Adopt library (also fix 2 real bugs) and progs (lots of bugs). 2007-06-08 13:47:57 +03:00
Yura Pakhuchiy
e6620be16d Do not create holes in ntfs_attr_pwrite that will be instantiated right after creation
* Add new API: __ntfs_attr_truncate that allow user to select whether holes should be created or clusters allocated
* Update ntfs_attr_pwrite and ntfscp to use it.
2007-06-08 13:35:47 +03:00
Yura Pakhuchiy
52d034e5f3 ntfsmount: fix errno in truncate() operation 2007-06-08 13:34:16 +03:00
aia21
62d49cb175 Minor updates for OSX compatibility, i.e. glibtoolize not libtoolize, and
automake 1.10 fix, etc.
2007-03-19 14:39:44 +00:00
yura
2c7fd02349 ntfsmount: use utimens() instead of deprecated utime(). 2007-03-13 18:52:02 +00:00
yura
01dad951c2 minor cleanups 2007-03-13 18:39:47 +00:00
aia21
3575e2089e - mkntfs: Use Vista $Boot rather than XP one. (Anton) 2007-03-06 15:44:30 +00:00
yura
857573a2e4 minor style fix and changelog description 2007-01-07 19:19:53 +00:00
uvman
dcc13dca8b ni->allocated_size for resident files is rounded up to multiples of 8. A '>> 9' on such value may round up or down. Fix it to always round up. Samba 3 use st_blocks to detect if a file is sparse. ActiveSync 4 fails on sparse files. 2007-01-07 19:08:22 +00:00
yura
197a4cc756 - upgrade to new shiny fuse option parsing API instead of my old hackish one (more readable and -4kb code)
- remove show_sys_files and add case_insensitive options
2007-01-03 18:27:10 +00:00
aia21
f6adc3fc78 - mkntfs: Create more Vista like volumes. We now match the security
descriptor attributes (but not yet the security descriptors stored in
  $Secure).  (Anton)
- libntfs: Rewrite ntfs_upcase_table_build() to generate a Vista
  compatible upcase table ($UpCase).  (Anton)
- mkntfs: Remove own generation of upcase table, i.e. delete
  ntfsprogs/upcase.[ch] and use ntfs_upcase_table_build() supplied by
  libntfs.  (Anton)
2006-12-19 16:31:52 +00:00
yura
bedd6f4a13 add some debug output useful on freebsd for aligned access testing 2006-12-18 13:32:58 +00:00
aia21
0911eb8b0d Make volumes created with mkntfs more compliant with Vista (still not finished). 2006-12-15 14:52:43 +00:00
aia21
5f3079c2bb Fix ntfstruncate build breakage. 2006-12-13 10:51:32 +00:00
aia21
19257df7f0 Update version to 2.0.0, update NEWS, update mkntfs man page and mkntfs itself.
- mkntfs: As announced, remove the deprecated support for creation of
  NTFS 1.2/3.0 volumes.  We now create NTFS 3.1 volumes only.  (Anton)
- mkntfs: Remove lots of unused/unneeded debugging code.  (Anton)
2006-12-13 10:46:49 +00:00
aia21
78c46fd3c3 - Do not create object id attribute on NTFS 1.2 volumes.
- Create object id attribute after volume flags attribute.
2006-12-13 09:17:14 +00:00
aia21
1a4fb3431c - mkntfs: Generate a random DCE compliant UUID for the created volume
and include --with-uuid[=PFX] and --without-uuid options.  (Anton)
- configure.ac: Set language to C.  (Anton)
- mkntfs: Always set default cluster size to 4096 bytes regardless of
  volume size.  This is what Windows Vista does and it makes perfect
  sense from a performance point of view.  (Anton)
2006-12-13 00:11:50 +00:00
yura
10b22550cd more sparse fixes
left only endianness and this stupid problems with s64
2006-12-12 19:00:00 +00:00
yura
2e44b6ca7c fix some sparse warnings
btw, it looks like sparse loses it head when it see something like:

void foo(s64 *bar)
{
	...
}

...

{
	s64 baz;

	foo(&baz);
	...
}
2006-12-12 15:44:52 +00:00
yura
7b60afcc2f fix sparse errors. and first steps towards endianness checking 2006-12-12 15:02:25 +00:00
aia21
a38ead2f20 Szaka prefers to have the lofgile reset and dirty bit setting done even if they
are already done so remove the conditionals I added.
2006-12-11 10:41:34 +00:00
yura
c616e29663 ntfsck by Yuval to extra dist with minor changes from me 2006-12-11 03:06:35 +00:00
aia21
8640540b53 Warn about VOLUME_MOUNTED_ON_NT4 wrt Vista in layout.h and do not set the flag
in ntfsfix.
2006-12-09 11:27:37 +00:00
yura
82747f3c47 ntfsmount: fix rename if destination already exists. 2006-12-06 19:51:59 +00:00
yura
c475778b47 Turn ntfs_pathname_to_inode() into ntfs_pathname_to_inode_num() which
returns ntfs inode number instead of opened inode itself.
Reimplement ntfs_pathname_to_inode() as wrapper to new API.
2006-12-06 18:50:13 +00:00
szaka
3cd5cb9c8a Don't check free space if output file is FIFO (Andree Leidenfrost) 2006-12-03 18:26:58 +00:00
yura
33ffbb2af7 rename --enable-fuse-module to more clear --enable-ntfsmount and cleanup autotools scripts a bit 2006-12-03 14:19:29 +00:00
aia21
0089670e1c Use NTFS_MNT_FORENSIC with ntfsresize to restore old behaviour as it is
documented, i.e. that ntfsresize does not do any modifciations until you say
so.  Also reinstate code to do the journal emptying and setting of dirty flag
on the volume because of it.  However update the code so that those things are
only done if they were not already the case.
2006-12-03 08:59:57 +00:00
aia21
f40bef7246 Disable unmounting at the point of no return when we start doing serious
modifications to the volume.  Hopefully Szaka will be happy now.  (-:
2006-11-28 13:45:42 +00:00
aia21
a32aa26d0b - Fix ntfsresize to unmount the volume when finished/exiting so it does
not leave the volume in an inconsistent state.  Somewhat crude
  solution using atexit() but it works...  (Anton)
2006-11-28 11:00:52 +00:00
aia21
5302d23f7b - Empty the journal at mount time. (Anton)
- Set the volume dirty bit at mount time (if it is not set already and
  clear it again at umount time but only if it was not set to start
  with.  (Anton)
2006-11-28 10:09:56 +00:00
yura
fbfbe3b48e force distro developers to fix their broken init scripts 2006-11-25 21:44:35 +00:00
yura
3cd59df400 bit more nice error messages 2006-11-25 18:38:47 +00:00
yura
8df298aec2 Introduce MNT_NTFS_NOT_EXCLUSIVE mount option that tells libntfs do
not open volume exclusively. Useful if libntfs user cares about this
himself, eg. FUSE with blkdev option.
2006-11-25 17:37:37 +00:00
yura
4b7868ddc2 ntfsmount: Umount volume in DESTROY. This is guarantees that all data would be s
ynced before umount return for volumes mounted with blkdev option.

Thanks to Miklos for information about blkdev.
2006-11-25 14:57:54 +00:00
yura
18c8f75c7b make ntfs_attr_rm to always close attribute (both on success and failure) 2006-11-22 18:28:13 +00:00
yura
05a034e423 fix st_blocks calculation 2006-11-21 16:24:37 +00:00
yura
4adc3817c6 ntfsmount: always accept {f,d,}mask in octal to be as mount command 2006-11-21 15:40:56 +00:00
yura
b538578ab7 Fix free clusters and MFT records calculation 2006-11-21 15:31:09 +00:00
yura
18dec0543d add support for read errors in free disk space calculation (szaka) 2006-11-17 22:35:21 +00:00
yura
188cbd9a41 use optarg instead of argv[optind - 1] 2006-11-17 22:14:55 +00:00
yura
7d1016fe97 Treat filenames in POSIX namespace as case insensitive in case of case insensitive mounts. 2006-11-15 23:15:17 +00:00
yura
0ac08318a6 use nice error messages from ntfs-3g 2006-11-13 17:01:53 +00:00
yura
cb27c9f616 * Rename MS_{RDONLY,NOATIME} to NTFS_MNT_{RDONLY,NOATIME}.
* Introduce NTFS_MNT_CASE_SENSITIVE.
2006-11-12 22:46:50 +00:00
yura
cb5f0a1e94 * fmask=0111 and dmask=0 by default
* bit more nice mount messages
2006-11-10 17:23:12 +00:00
yura
45e3b4acd0 upgrade to FUSE 2.6 API 2006-11-06 12:51:44 +00:00
yura
c65bacb25b ntfsmount: require FUSE version >= 2.6.0 for build. Fixes fusermount
lookup problem and allows to drop compatibility code.
2006-11-05 21:40:57 +00:00
yura
116a467dc0 * fix ntfsmount build
* fix ntfsinfo output
2006-11-05 14:42:46 +00:00
uvman
7d585a0327 Change callers of malloc() to ntfs_malloc() (Szaka). Fix compilition (Yuval). 2006-11-01 13:30:40 +00:00
yura
1b1a135bbd one more endian bug in ntfsinfo 2006-10-30 23:23:40 +00:00
uvman
87d87073c7 The periodic 'int is not neccessarily 32bit' fixes. 2006-10-28 23:45:22 +00:00
uvman
15eb2c38a6 constify string argument. 2006-10-28 23:41:41 +00:00
yura
b1583bdce6 Fix several memleaks 2006-10-27 14:15:32 +00:00
uvman
ff55ecb513 Whitespace cleanup 2006-10-27 12:24:29 +00:00
uvman
bd1837335b trace output updates. (Szaka, Yuval) 2006-10-26 20:45:28 +00:00
aia21
ff289408c5 fix for large sector sizes 2006-10-20 19:55:50 +00:00
uvman
6efbbabba6 Spelling fix. 2006-10-18 14:43:04 +00:00
uvman
acb04c0435 Remove unneeded padding. The compiler will pad if it wan't to. 2006-10-18 14:41:41 +00:00
uvman
b7b4c98633 Hil: Allow ntfscp to create the destination file if it does not already exists by calling ntfs_create(). 2006-10-04 00:47:04 +00:00
uvman
a117a21941 Comment documentation fixes. 2006-09-25 16:58:38 +00:00
aia21
2afc70711a Forgot to not apply endianness swapping for old style images when restoring... 2006-08-23 13:21:04 +00:00
aia21
35dcfaac9e Fix endianness problems in both image restore and image create (and in metadata
cloning as well).  (Anton)
2006-08-23 11:58:55 +00:00
aia21
cb35fe2fea Make ntfsclone image format extensible. (Anton) 2006-08-23 11:22:07 +00:00
aia21
5128685d88 - ntfsclone: Define endianness safe image format. (Anton)
- ntfsclone: Redefine image format version number to be the image
  format version and not the NTFS version of the imaged volume which is
  totally useless.  (Anton)
2006-08-23 10:18:34 +00:00