CreatorSiSo
8d7c7a6e9b
Update README.md
2021-10-26 02:24:24 +02:00
CreatorSiSo
f73bc35404
Fix links in README.md.
2021-10-26 02:10:50 +02:00
CreatorSiSo
b16a1caca3
Remove line after headlines because GitHub always draws them.
2021-10-26 02:06:18 +02:00
CreatorSiSo
988b17264e
Copy README into README.md and add more markdown components.
2021-10-26 02:00:40 +02:00
CreatorSiSo
f927e43cee
Use markdown in README.
2021-10-26 01:59:31 +02:00
Jean-Pierre André
92b9fbc6fe
Updated the urls present in the ntfsprogs manuals
...
The urls now point at Github
2021-08-30 10:42:14 +02:00
Jean-Pierre André
399ba862c9
Updated the urls present in ntfs-3g code
...
The urls now point at Github
2021-08-30 09:27:33 +02:00
Jean-Pierre André
84739d9e4d
Updated the ntfs-3g manual
...
Reordered the options alphabetically and updated the urls.
2021-08-30 09:20:48 +02:00
Jean-Pierre André
88c4a19c5a
Updated the README
...
Added a recommendation to use ntfs-3g packaged by a distribution, and
inserted a link to the Wiki.
2021-08-25 08:50:03 +02:00
Jean-Pierre André
31ac7e4f0f
Configured for version 2021.8.22
2021-08-22 17:05:00 +02:00
Jean-Pierre André
a213e6352b
Defined Github as the host for documentation
...
Documentation and support is now on github.com/tuxera
2021-08-22 17:01:39 +02:00
Jean-Pierre André
21b49600ea
Configured for version 2021.8.14
2021-08-14 08:44:08 +02:00
Jean-Pierre André
1261e6b60a
Fixed the detection of the end of attribute list
...
The recent detection of a truncated attribute list entry overlooked the
normal detection of the end of list. Moreover the check for name
overflow is to be done later and not needed at this stage.
2021-07-26 08:49:45 +02:00
Jean-Pierre André
a337c4c1eb
Renamed ntfs_index_entry_consistent() as ntfs_index_entry_inconsistent()
...
The original name was error prone when checking the condition.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
45141516d7
Renamed ntfs_attr_consistent() as ntfs_attr_inconsistent()
...
The original name was error prone while checking the condition.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
bb4456d339
Redesigned the INDEX_ROOT consistency checks
...
By ordering the values from smallest to biggest, there is less chance
to be caught by an arithmetic overflow.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
81725f6a54
Made sure the requested compression block size is supported
...
Compressed files can only be opened if NTFS version < 3.0, and
the only supported compression block size is 16 clusters long.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
4462f82580
Reset the resident attribute offset when appending from none
...
When there is no resident attribute value, its offset is unsafe, so better
to recompute it when appending data.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
0911ef206d
Rejected negative data length in an attribute list
...
The negative data length of an attribute list is an indication of a
probable corruption and must be rejected.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
b95b4ba1a5
Rejected negative data length in readall()
...
The negative data length of an attribute is an indication of a probable
corruption and must be rejected.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
e70d10d848
Added a check of the minimal length of some attributes
...
The minimal lengths of STANDARD_ATTRIBUTE and OBJECT_ID were not
checked and could lead to out-of-buffer access.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
2bf5077804
Checked consistency of index blocks
...
Improved existing consistency checks of index blocks and grouped them
into a specific function.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
55e7326350
Avoided endless recursions when allocating the main bitmap
...
Allocating clusters to the main bitmap may imply updating the bitmap
itself within a cluster not yet allocated. This can turn into endless
recursions and has to be rejected. Currently the bitmap is assumed
to be fully allocated.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
61134117c1
Fixed checking the end of attrdef data
...
Incomplete attribute definitions have to be rejected.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
f85ce6ff2e
Skipped errors for bad free clusters before they are computed
...
The count of free clusters may be updated while mounting before it
has been initialized, which may lead to irrelevant error messages.
Moreover the count is not computed at all in some ntfsprogs utilities.
So set up a flags to avoid outputting irrelevant errors.
2021-07-19 09:23:23 +02:00
Jean-Pierre André
67f959df96
Fixed the computation of the end of index entry
...
The end of an index entry is related to its full length, not to the
length of the key. Added an error message in an overflow case.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
5c002438f2
Checked that indexes do not exceed the index block size
...
Make sure the used part of an index block fits into the allocated buffer.
Note : a negative size may cause overflow on 32-bit cpus.
(contributed by Rakesh Pandit)
2021-07-12 08:31:18 +02:00
Jean-Pierre André
20d700841b
Shown in log the inode of directory read error
...
The unreadable directory record was poorly identified
2021-07-12 08:31:18 +02:00
Jean-Pierre André
f30b52490f
Restricted the attribute definition table size to 24 bits
...
The standard size is 2560 bytes. It can be extended for specific purposes,
but its former limit to 32 bits was unreasonable. Anyway ntfs-3g is
not committed to support non-standard situations.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
af1bc0f5ec
Hardened the check of locations of MFT and MFTMirr
...
The MFT and MFTMirr may not be negative or overlap the boot sector.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
7f45544ed7
Added and grouped generic attribute checks
...
Checked that attributes are [non-]resident when they have to be, and
grouped consistency checks on each of them in a dedicated function.
Consequenly request the checks where needed and remove existing index
checks.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
436fe09f87
Checked consistency of index entries
...
Make sure the data and key in indexes do not overflow from index entries
2021-07-12 08:31:18 +02:00
Jean-Pierre André
32e858a87a
Aborted mounting when cannot access standard information of MFT
...
The standard information of the MFT must be its first attribute in the
base record. If it is not accessible initially, we end up searching it
in an extent before the MFT struct is ready for that.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
68ead9b8fc
Checked expanded attribute does not overflow the space in use
...
When resizing an attribute, make sure the trailing data is moved in
the correct direction.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
84478c4012
Checked attributes layout against length actually used
...
The end of the attributes must be checked against the space in use
rather than the allocated space. This contributes to the safety of
subsequent attribute resizing.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
ec7bf54377
Checked the MFTMirr lcn to be consistent with the boot sector
...
The lcn of the initial run of the MFTMirr data must be the same as
described in the boot sector. As a consequence this cannot be a hole.
2021-07-12 08:31:18 +02:00
Jean-Pierre André
4e094563d4
Checked $MFT data to be ready before fetching an extent
2021-07-12 08:31:18 +02:00
Jean-Pierre André
e2e625065d
Checked the layout of attribute list entries
...
Make sure the attribute list has at least one element, and that each of
them has the minimal size and does not overflow out of the end of list.
2021-07-12 08:31:17 +02:00
Jean-Pierre André
4e09b252af
Checked name limits while looking up for an external attribute
...
Make sure the name of an attribute does not overflow beyond the
attribute length.
2021-07-12 08:31:17 +02:00
Jean-Pierre André
f3999a74c6
Fixed consistency check of MFT attributes in ntfsfix
...
The consistency check could be defeated as a consequence of integer overflow.
Reorganize it to avoid such situations.
2021-07-12 08:31:17 +02:00
Jean-Pierre André
fc295da55e
Configured for version 2021.5.19
2021-05-19 15:18:56 +02:00
Jean-Pierre André
a4177d625c
Made sure an error code is issued for failed mounts
...
In case of failure to mount a file system, an error code is expected to
indicate the failure reason. In an unclear case the error code was not
set, so force an EIO when this happens.
2021-05-17 15:42:31 +03:00
Jean-Pierre André
d86c34390d
Added a consistency check of attribute size in readall()
...
Make sure the attribute designated to readall() has a reasonable size.
Apart from a bitmap, in a valid call, the attribute size is limited to
65536, and bitmaps are limited by the number of cluster.
2021-05-17 15:39:52 +03:00
Jean-Pierre André
37a330ea8c
Improved the consistency checks of standard information
...
Make sure the standard information attribute has a valid size.
2021-05-17 15:39:13 +03:00
Jean-Pierre André
218d93b37b
Cleaned the tail of compressed buffer before writing a full cluster
...
When appending to an existing compressed file, the last block must first
be decompressed. When doing so, clear the tail of buffer in order to not
leak unrelated data.
2021-05-17 15:38:20 +03:00
Jean-Pierre André
02e199978b
Fixed initialization of a Posix ACL
...
A posix ACL record was not fully initialized.
2021-05-17 15:37:45 +03:00
Jean-Pierre André
d60175230a
Added consistency check of MFT attributes in ntfsfix
...
Make sure the searched attribute is fully within the MFT record and is
correctly aligned.
2021-05-17 15:36:58 +03:00
Jean-Pierre André
5bdfac9704
Added generic checks of MFT records in ntfsfix
...
Before acting on MFT, make sure it passes the consistency check.
2021-05-17 15:35:51 +03:00
Jean-Pierre André
8adc9c6184
Hardened consistency checks of MFT records
...
Check the record is properly aligned and does not flow beyond the
expected end of the record.
2021-05-17 15:35:02 +03:00
Jean-Pierre André
bb0168e56b
Rejected updates of uninitialized MFTMirr
...
Reject updating uninitialized MFTMirr because it leads to endless
recursions as updating the MFTMirr entry of MFT implies further updating
MFTMirr.
This is probably specific to ntfsfix, as mounts are normally rejected
when MFTMirr does not match MFT.
2021-05-17 15:33:41 +03:00