Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
[DRIVERS] Spelling fixes by Josh Soref. CORE-12286 svn path=/trunk/; revision=73226
[NTFS] This has nothing to do in a NTFS driver svn path=/trunk/; revision=71228
[NTFS] Fix a typo. Patch by Trevor Thompson CORE-10998 svn path=/trunk/; revision=71055
[NTFS] - Implement IRP_MJ_CLEANUP (minus the cases we can't deal with yet) - Implement open handles count for FCB & VCB - Implement volume locking (so useful) svn path=/trunk/; revision=70772
[NTFS] Cowardly refuse to continue processing (enumerating/reading) when stumbling upon a compressed entry. This avoids infinite loops when enumerating, incorrect files contents when reading. CORE-10814 #resolve #comment 'Fixed' with r70750 svn path=/trunk/; revision=70750
Fix the FSDs to use the INIT_SECTION-style and add the alloc_text-s required for MSVC. Please make sure to add section declarations for both compilers for any new functions! svn path=/trunk/; revision=69170
[CDFS] [FASTFAT] [MUP] [NTFS] Mark DriverEntry() and associated functions as INIT svn path=/trunk/; revision=68965
[NTFS] Totally rewrite the way MFT records attributes are handled. Up to now, we were having really similar loops, only looking at the resident part of the attribute list, not really caring about how the loop was going. This was leading to some issues: - In case the attribute we were looking for was stored in the non-resident part of the attribute list, we would miss it (excepted in the case of FindAttribute() which was properly browsing the whole attribute list). - In the specific case of FindAttribute(), one would have been able to setup a broken MFT record with the resident attribute list pointing on the non resident attribute list which itself would point to the resident attribute list. In such case, the driver would loop forever caught on the loop, allocating tones of memory. It was possible to trigger this by user space, from a non-privileged user, just by browsing the right directory entry. - In the case of the other loops (non FindAttribute()), another issue (other than missing attributes) was present, one would have been able to setup a broken MFT record with an attribute of null-length. This would have caused the driver to loop forever on the attribute list. This could be triggered from usermode too. And could be triggered by a non-privileged user. This commit introduces a new set of functions for attributes browsing: FindFirstAttribute(), FindNextAttribute(), FindCloseAttribute(). It allows safely browsing attributes and handles broken cases. It also performs reading of the attribute list when present and makes sure there's only one read. This method should be the only one to use to browse the attributes. The whole NTFS code base has been converted to use this newly set of functions. This really simplifies the implementation of FindAttribute(), and prevent unsafe code duplication. CORE-10037 #resolve #comment Fixed with r68829 svn path=/trunk/; revision=68829
[NTFS] Continue streams integration: - NtfsGetFileSize() will now return the file size depending on the open data stream - NtfsGetFileSize() will also optionally return allocated size - In NtfsMakeFCBFromDirEntry(), when initializing FSRTL_COMMON_FCB_HEADER entry, use data stream sizes svn path=/trunk/; revision=68348
[NTFS] Implement support for NTFS $DATA streams: - The driver is now able to read various streams for a same file, using the same syntax as Windows. - This fixes to read (in general) files with multiple streams where reading unnamed stream was leading to read beyond file end - Also fix reading small files which are smaller than a sector For demo, see: http://www.heisspiter.net/~Pierre/rostests/NTFS_Streams.png svn path=/trunk/; revision=68302
[NTFS] When dumping attributes, also dump attributes from the $ATTRIBUTE_LIST if present svn path=/trunk/; revision=68291
[NTFS] Don't attempt to open the unnamed stream from $DATA attribute on file lookup. It was unused & leaking. It fixes opening files that don't have unnamed stream (even though we cannot read there contents yet as we only support unnamed stream) svn path=/trunk/; revision=68285
[NTFS] Don't attempt to read the unnamed stream of the $DATA attribute of each file matching: - We don't need such attribute later on - In case there's no such unammed stream, finding the file fails, whereas the file really exist This fixes (at least here) browsing Win7 NTFS system drives, where our driver was always failing on pagefile.sys svn path=/trunk/; revision=68268
[NTFS] - Use a lookaside list for FCB allocation - Properly delete FCB in NtfsMountVolume() svn path=/trunk/; revision=68106
[NTFS] Directly implement NtfsOpenFileById() for special files from the MFT where we cannot moonwalk there path. It concerns any file with ID < 0x10. This function can only cope with file which ID is < 0xc. Windows Internals reports that 0xc - 0xf entries are unused. It would be interesting to double check returrned status in case of error, and also what Windows returns when attempting weird opening of suchs entries (overwrite, create for unused, etc). svn path=/trunk/; revision=67983
[NTFS] Fix MmGetSystemAddressForMdlSafe() call, as it was done in r67808 svn path=/trunk/; revision=67912
[NTFS] Implement NtfsMarkIrpContextForQueue() which allows marking an IRP to queue it svn path=/trunk/; revision=67908
[NTFS] Handle IRP_MJ_FILE_SYSTEM_CONTROL with the dispatch routine svn path=/trunk/; revision=67905
[NTFS] Handle IRP_MJ_CREATTE with the dispatch routine svn path=/trunk/; revision=67903