Jean-Pierre André
c0955e5d74
cosmetic : fixed improper wordings (hggdh2)
2011-09-28 16:41:12 +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é
ad53f4c24a
Enabled getting the sector size from an ioctl on FreeBSD and MacOSX (Erik Larsson)
...
The sector size is needed for formatting a volume unless forced through
an option or using the traditional sector size.
2011-09-14 12:21:59 +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é
4dd63e0fd1
Fixed the setting of attributes by secaudit
...
The setting of attributes was done in the "standard information",
it must also be propagated to the indexes in parent directories.
2011-09-12 18:41:25 +02:00
Erik Larsson
b8103bbcfe
Permit $VOLUME_NAME to be 0-sized, even when $AttrDef says otherwise.
...
When clearing a volume name in Windows, $VOLUME_NAME is set to size 0, even if
the standard $AttrDef says that the minimum size is 2.
So the definition in $AttrDef doesn't reflect actual Windows behaviour in this
particular case, and to clear volume names ourselves the way Windows does it,
we must must add a special rule to permit us to truncate the $VOLUME_NAME
attribute to 0 even when $AttrDef specifies a higher value as minimum size.
2011-09-12 09:07:00 +02:00
Jean-Pierre André
178ae712c3
Fixed the truncation of dos file names
...
Truncate dos file names to 12 ntfschars instead of 12 utf-8 bytes
2011-09-08 09:52:51 +02:00
Jean-Pierre André
0b8b7521a4
Fixed the FullyMapped flag when making an attribute resident
...
When an attribute is truncated and made resident, the NAttrFullyMapped
flags has to be cleared, otherwise the attribute cannot be properly
mapped when the attribute is later made non-resident again.
2011-08-30 16:02:32 +02:00
Jean-Pierre André
0b827cc978
Avoid endless recursion when MFT extents are described in themselves
...
When getting extents of MFT, we must be sure they are in the MFT part which
has already been mapped, otherwise we fall into an endless recursion.
Situations have been met where extents locations are described in themselves,
as a consequence of a bug, probably unrelated to ntfs-3g.
This is a severe error which chkdsk cannot fix.
2011-08-30 15:56:36 +02:00
Jean-Pierre André
a1161d552f
cosmetic : Removed a pointless store in ntfs_attr_make_resident() (Fabian Keil)
2011-08-04 15:49:36 +02:00
Jean-Pierre André
ae020fc4a7
cosmetic : Removed two dead stores in remove_object_id_index() (Fabian Keil)
2011-08-04 15:49:36 +02:00
Jean-Pierre André
35ad185ade
cosmetic : Removed a pointless variable initialization in upgrade_secur_desc() (Fabian Keil)
2011-08-04 15:49:36 +02:00
Jean-Pierre André
246019fcd5
fix : Fixed ntfs_rl_extend() returning garbage in error case (Fabian Keil)
2011-08-04 15:49:36 +02:00
Jean-Pierre André
fa3d7a5728
minor : Fixed ntfs_upcase_build_default() returning garbage in error case (Fabian Keil)
2011-08-04 15:49:35 +02:00
Jean-Pierre André
12e54df513
cosmetic : Removed more unneeded variables warned by gcc 4.6
2011-08-04 15:49:35 +02:00
Erik Larsson
182c5c2a2f
Fix: Forgot to update state bits after last change.
2011-08-03 15:49:40 +02:00
Erik Larsson
7f2d1efa82
Bugfix: ntfs_mft_load didn't fill in the size fields in the $MFT inode.
2011-08-03 11:13:40 +02:00
Jean-Pierre André
919eeb71df
Improved compression (faster)
2011-07-05 12:17:30 +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é
47a4b0ba17
Fixed a too restrictive consistency check in attrib.c
2011-07-05 12:17:29 +02:00
Jean-Pierre André
262ed5f7df
Cleared attribute flags controlling recursive writes
2011-07-05 12:17:28 +02:00
Jean-Pierre André
571dbc5784
Fixed device path canonicalization for use by devmapper (basilinya)
...
For some reason, when the monted device is "/dev/mapper/*", a record
in the form "/dev/dm-*" ends up in /etc/mtab and the device cannot be
unmounted.
The reason is unclear, the /dev/mapper name is not a symlink, and the
function doing the name change is not known. No detailed feedback from
the users having met the issue.
The patch changes the name back to the /dev/mapper name after realpath()
is called, and, if there is an actual change, both the name passed to
ntfs-3g and the one passed to fuse and mount are logged in the hope
of getting a clue about what is happening.
But ntfs-3g is probably not the right place for a fix.
2011-07-05 12:17:12 +02:00
Jean-Pierre André
82b00364a8
Fixed setting DOS names when defined with lower-case chars
2011-07-05 12:17:11 +02:00
Jean-Pierre André
f510c5cdf4
Got the target libs to build libntfs-3g and libfuse-lite if selected
2011-07-05 12:17:11 +02:00
Jean-Pierre André
e4db980830
Translated the junctions to lower case when ignore_case is set
...
When ignore_case is set, the file names are returned lower-case in
readdir() in order to make file name completions possible. This patch
does the same for junction points to avoid directory locks when used
with non-matching names.
2011-04-08 18:19:17 +02:00
Szaka
f246d6ce97
Update ntfs-3g.org references
2011-03-27 15:29:48 +03:00
Jean-Pierre André
058f850eb3
Fixed getting space for making an index non resident
...
In rare situations there is not enough space in the base inode entry
to make an index non resident. The index has to be moved to an extent
first. This happens when not using permissions and inserting a file
whose name has 60 chars into a directory whose name has 184 chars.
(bug reported by Vito Caputo)
2011-03-23 09:22:08 +01:00
Jean-Pierre André
f219d2e07e
Fixed inconsistent interface to ntfs_initialize_file_security()
...
The "flags" argument of ntfs_initialize_file_security() is intended to
feed the one to ntfs_mount(). Having the same type for both may avoid
future problems.
2011-03-23 09:20:10 +01:00
Jean-Pierre André
c879697b12
Fixed type of argument (same value)
...
A boolean argument had been replaced by a tri-state one, but the change
was forgotten in one instance. No visible effect, the value is the same.
2011-03-23 09:10:10 +01:00
Jean-Pierre André
2363a26297
Removed duplicated code
...
A patch had been applied twice, duplication caused to no visible effects.
2011-03-23 09:02:15 +01:00
Jean-Pierre André
402924cc50
Fixed cluster mapping ahead of mapped runlist
...
A corner case was wrong and could cause aborted writes with error
"Run lists overlap. Cannot merge" when the clusters required by the
write are described in different MFT extents.
This can only happen in very fragmented files when the cluster size
is smaller than 4096 bytes. It does not cause any metadata corruption.
2011-03-01 12:14:53 +01:00
Jean-Pierre André
30c06f9092
Fixed dealing with holes when expanding an attribute
2011-02-16 12:22:30 +01:00
Jean-Pierre André
a46a395006
Updated copyright notices
2011-02-08 13:52:12 +01:00
Jean-Pierre André
4c6cf9d977
Moved the knowledge of default upcase size to unistr.c
2011-02-08 13:52:12 +01:00
Jean-Pierre André
82ce1fcdfa
Improved appending data to a long hole
2011-02-08 13:52:12 +01:00
Jean-Pierre André
addc9be334
Merged sparse testing when appending with ntfsprogs requirement
2011-02-08 13:52:12 +01:00
Jean-Pierre André
d58b21ec1d
Fixed possible wrong hole size when overwriting compressed data
2011-02-08 13:52:12 +01:00
Jean-Pierre André
9ddc70f19b
Moved listxattr() to a specific source module
2011-01-17 15:50:25 +01:00
Jean-Pierre André
6bf4af7544
Fixed allocated size when an attribute update causes unnamed data to be expelled
2011-01-10 11:18:16 +01:00
Jean-Pierre André
9b2ecca3df
Do not record inode open when failed (debug only)
2011-01-10 11:16:39 +01:00
Jean-Pierre André
53599b1a98
Switched to the same Upcase table as Vista
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é
bb142bc742
Fixed deleting files using ignore_case option
2010-12-21 15:51:07 +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
daa1f3edcd
Bugfixes for 'make extra'.
2010-12-16 10:08:34 +01:00
Jean-Pierre André
48caa7a45e
Took care of alignments needed on some processors
2010-11-09 09:43:31 +01:00
Jean-Pierre André
a70e40021d
Added detail to an error message to discriminate from a similar one
2010-11-09 09:41:00 +01:00
Jean-Pierre André
135cb75249
Fixed logging corrupted $UpCase
2010-11-09 09:40:02 +01:00
Jean-Pierre André
351aec3f7a
Enabled renaming of system extended attributes
2010-10-26 08:59:52 +02:00
Jean-Pierre André
563f5dda3f
Implemented a basic check on upcase table
2010-10-26 08:59:51 +02:00
Jean-Pierre André
8b910e9e80
Improved names comparing on big-endian computers
2010-10-26 08:59:51 +02:00
Jean-Pierre André
518196ba5e
Improved rebuilding a runlist
2010-10-26 08:59:51 +02:00
Jean-Pierre André
1898b11481
Improved appending data to fragmented files
2010-10-26 08:59:51 +02:00
Jean-Pierre André
dd25fce933
Fixed Posix ACLs for big-endian computers
2010-10-26 08:59:51 +02:00
Jean-Pierre André
a92c57735b
Added an extended attribute name for creation time
2010-10-26 08:59:51 +02:00
Jean-Pierre André
13b578d9b1
Added a big endian extended attribute name for attrib and times
2010-10-26 08:59:51 +02:00
Jean-Pierre André
e1ef554dd2
Grouped system extended attributes functions into a dedicated module
2010-10-26 08:59:51 +02:00
Jean-Pierre André
1afaf16912
Implemented the sync mount option
2010-10-26 08:59:51 +02:00
Jean-Pierre André
ecbc2b9103
Implemented fsync() and fsyncdir()
2010-10-26 08:59:51 +02:00
Jean-Pierre André
dd4910b935
Forced alignment on cached structs
2010-10-26 08:59:51 +02:00
Jean-Pierre André
e40c942f3a
Checked Posix ACL versions
2010-10-01 10:41:32 +02:00
Jean-Pierre André
008d8c5df9
Fixed character translations when standard functions are not available
2010-08-28 13:59:43 +02:00
Jean-Pierre André
d0725eb251
Fixed rounding to cluster end for compressed files
2010-08-06 21:36:38 +02:00
Jean-Pierre André
c6c14cb256
Fixed zeroing the end of fragmented ex-holes
2010-07-22 15:04:53 +02:00
Jean-Pierre André
f76d0aacf1
Fixed processing end of partial runlist for compressed files
2010-07-22 15:02:09 +02:00
Jean-Pierre André
400632dea5
Fixed updating compressed sizes
2010-07-22 15:00:37 +02:00
Jean-Pierre André
891b7e97b3
Improved sanity checks on a security descriptor
2010-07-22 14:49:46 +02:00
Jean-Pierre André
f65aa991a9
Fixed excessive cluster allocation within big holes
2010-07-22 14:48:19 +02:00
Jean-Pierre André
09df7eade5
Fixed creating empty encrypted extended attributes
2010-07-22 14:46:01 +02:00
Jean-Pierre André
5533eb565f
Fixed bad sanity check before compressing (was permissive)
2010-07-22 14:40:24 +02:00
Jean-Pierre André
1377f009e7
Fixed error returns when writing compressed data
2010-07-22 14:39:19 +02:00
Jean-Pierre André
49ab780739
Fixed a sanity check when closing a compressed file
2010-07-22 14:37:01 +02:00
Jean-Pierre André
a52c79b46b
Fixed loops when trying to read a broken compressed file
2010-06-18 14:04:23 +02:00
Jean-Pierre André
b1de6e16fb
Fixed compressed attribute made non resident to leave space for another one
2010-06-18 14:02:58 +02:00
Jean-Pierre André
ed448ea8b4
fixed cached allocation for compressed files
2010-06-14 14:40:17 +02:00
Jean-Pierre André
207318b504
fixed compression when a runlist relocation is needed
2010-06-14 14:33:34 +02:00
Jean-Pierre André
4d73c7c4f1
Fixed characters not allowed by Windows in names
2010-06-03 10:13:30 +02:00
Jean-Pierre André
15c4d282ce
Enable/disable compression according to option
2010-06-03 10:11:42 +02:00
Jean-Pierre André
07d86b0cfd
Reenabled compression in root directory
2010-06-03 10:07:27 +02:00
Jean-Pierre André
ba083200aa
Fixed close() after a fragmented truncate of a compressed file
2010-06-03 10:06:08 +02:00
Jean-Pierre André
cc4b358383
Fixed freeing a full compression block when fragmented
2010-05-28 16:33:50 +02:00
Jean-Pierre André
b20d1020fc
Fixed data size after an upsizing truncate of a compressed file
2010-05-28 16:32:28 +02:00
Jean-Pierre André
1eed61e1a9
enabled downsizing compressed files
2010-05-25 10:29:34 +02:00
Jean-Pierre André
a192775e2a
developed overwriting compressed files
2010-05-25 10:25:31 +02:00
Jean-Pierre André
41d23fba05
removed unneeded synchronizations
2010-05-25 10:14:15 +02:00
Jean-Pierre André
693aa8780d
enabled case insensitive file names in lowntfs-3g
2010-05-25 10:12:44 +02:00
Jean-Pierre André
2e86428fc0
redefined a default user mapping (a few changes in mount options)
2010-05-25 10:05:10 +02:00
Jean-Pierre André
3745d0a1e3
marked files whose name has a dot initial as "hidden" if option hide_dot_files
2010-05-25 09:58:36 +02:00
Jean-Pierre André
51a9ab8c48
fixed compressions on parent directory or NTFS version < 3.0
2010-05-25 09:52:34 +02:00
Jean-Pierre André
c9d40485b4
fixed a possible index block with no key in
2010-04-19 11:10:30 +02:00
Jean-Pierre André
984be554e3
fixed a bad condition for security descriptor upgrade
2010-04-19 11:09:31 +02:00
Jean-Pierre André
b1f9d5201a
fixed a bug in ACL inheritance
2010-04-19 11:05:20 +02:00
Jean-Pierre André
3e4826f758
fixed modifying the read-only flag on a directory
2010-04-19 11:03:54 +02:00
Jean-Pierre André
9438188703
fixed a bad error checking when closing a compressed file
2010-04-19 11:03:30 +02:00
Jean-Pierre André
1bb7443eb6
Fixed setting archive bit on file and alternated data stream creation
2010-02-24 12:08:56 +01:00
Jean-Pierre André
1bdd93e237
Fixed setting reparse tags in parent directories
2010-02-17 21:26:40 +01:00
jpandre
c8fa404931
Fixed a return error code (Fabian Keil)
2010-01-21 08:15:27 +00:00
jpandre
6306826077
Removed an unneeded variable (Fabian Keil)
2010-01-21 08:13:27 +00:00
jpandre
42f7d07997
Avoided a possible null pointer dereference (Fabian Keil)
2010-01-21 08:09:13 +00:00