Trevor Thompson [Tue, 4 Jul 2017 21:40:02 +0000 (21:40 +0000)]
[NTFS] - Add some fixes and improvements to attribute.c from CR-123:
-AddFileName() - Don't use dedicated buffer for FileNameNoPath, just point into FileObject->FileName's buffer. Don't use RtlCopyUnicodeString(), just update pointers.
-AddRun() - Fix an SEH2_YIELD with missing return statement.
-FreeClusters() - Use ULONG_MAX in place of 0xffffffff.
-NtfsDumpIndexRootAttribute() - Use consistent UpperCase naming convention. Use BooleanFlagOn() macro where appropriate. Replace magic 8 with sizeof(ULONGLONG).
-GetFileNameAttributeLength() - Add documentation.
svn path=/branches/GSoC_2016/NTFS/; revision=75279
Trevor Thompson [Tue, 4 Jul 2017 21:16:46 +0000 (21:16 +0000)]
[NTFS] - Fix UpdateFileNameRecord() when the file being updated resides in $INDEX_ROOT. Also, don't attempt to read beyond size of index root attribute, and check return value after reading.
svn path=/branches/GSoC_2016/NTFS/; revision=75278
Trevor Thompson [Tue, 4 Jul 2017 20:47:06 +0000 (20:47 +0000)]
[NTFS] - Fix AddFileName() when the file path is two or more directories deep.
svn path=/branches/GSoC_2016/NTFS/; revision=75277
Trevor Thompson [Thu, 29 Jun 2017 02:36:00 +0000 (02:36 +0000)]
[NTFS] - Fix gcc build. Fix CompareTreeKeys(): Don't consider Key1 a possible dummy key. Don't assume filenames are the same length.
svn path=/branches/GSoC_2016/NTFS/; revision=75228
Trevor Thompson [Wed, 28 Jun 2017 18:22:42 +0000 (18:22 +0000)]
[NTFS] - Fix a couple of issues spotted by Thomas: Maintain alphabetical ordering of CMakeLists.txt, fix casts to BOOLEAN with BooleanFlagOn macro.
svn path=/branches/GSoC_2016/NTFS/; revision=75224
Trevor Thompson [Wed, 28 Jun 2017 03:45:52 +0000 (03:45 +0000)]
[NTFS] - Begin to implement B-Trees. Allow for creating several new files in a directory.
NtfsAddFilenameToDirectory() - Add CaseSensitive parameter. Update to use new B-Tree code: First, the index is read and converted to a B-Tree in memory. Next, a key for the new file is inserted into the tree. Finally, the tree is converted back to an index root attribute which is written to disk.
+btree.c - Includes functions related to B-Trees (AKA B*Trees).
ntfs.h - Added several structures for representing B-Trees in memory.
Known limitations: For simplicity, only trees with a depth of one are currently supported (i.e. an ordered list of filenames). Directories that have or will require an index allocation to store all their filenames are still TODO. As a consequence, the user will only be able to create about 6 files in a directory.
svn path=/branches/GSoC_2016/NTFS/; revision=75223
Trevor Thompson [Mon, 26 Jun 2017 05:17:08 +0000 (05:17 +0000)]
[NTFS] - Add some minor fixes and improvements:
Improve, add, or fix some DPRINTs. In particular, ULONG's should use %lu, not %u. Also, don't be silent about filesystem corruption.
NtfsFindMftRecord() - move CaseSensitive parameter before output parameter in parameter list.
svn path=/branches/GSoC_2016/NTFS/; revision=75199
Trevor Thompson [Sun, 25 Jun 2017 04:29:04 +0000 (04:29 +0000)]
[NTFS] - Fix creation of files with long filenames.
svn path=/branches/GSoC_2016/NTFS/; revision=75193
Trevor Thompson [Sun, 25 Jun 2017 02:56:40 +0000 (02:56 +0000)]
[NTFS] - In the NtfsAddFilenameToDirectory() function, rename DirectoryContext parameter to the more descriptive, and accurate, IndexRootContext (to simplify the next commit).
svn path=/branches/GSoC_2016/NTFS/; revision=75192
Trevor Thompson [Sun, 25 Jun 2017 02:38:15 +0000 (02:38 +0000)]
[NTFS] - Fix a mistake with AddFileName() from my last commit. Also, move CaseSensitive parameter before output parameters in the parameter list of several functions.
svn path=/branches/GSoC_2016/NTFS/; revision=75191
Trevor Thompson [Sat, 24 Jun 2017 04:36:28 +0000 (04:36 +0000)]
[NTFS] - Fix POSIX rules. Fix accessing long filenames created in Windows when 8dot3 name creation is disabled.
Whether or not a filename should be interpreted as case-sensitive is dependent on a flag passed to the driver when a file is created (opened); it's separate from the namespace associated with the file being accessed.
svn path=/branches/GSoC_2016/NTFS/; revision=75178
Trevor Thompson [Fri, 23 Jun 2017 17:30:13 +0000 (17:30 +0000)]
[NTFS] - Fix IncreaseMftSize(); check IrpContext to see if waiting for exclusive access to the MFT is allowed. As pointed out by Pierre.
svn path=/branches/GSoC_2016/NTFS/; revision=75170
Trevor Thompson [Fri, 16 Jun 2017 06:00:09 +0000 (06:00 +0000)]
[NTFS] - Add support for expanding the master file table. Fix a bug with BrowseIndexEntries(). Improve diagnostic output.
-AddNewMftEntry() - Increase size of MFT as needed. Fix math for bitmap length. Don't assign file records to MFT indices 0x10 - 0x17; In Windows, these records aren't used unless they have to be, even though they are marked as unused in the bitmap.
+IncreaseMftSize() - Adds room for additional file records in the master file table.
-BrowseIndexEntries() - allow for the rare situation when a non-system file has an MFT index of 0x10.
svn path=/branches/GSoC_2016/NTFS/; revision=75056
Trevor Thompson [Fri, 16 Jun 2017 05:43:52 +0000 (05:43 +0000)]
[NTFS] - Restructure some code in preparation for the next commit:
-SetAttributeDataLength() has been split into two functions, SetNonResidentAttributeDataLength() and SetResidentAttributeDataLength(). This should improve code readibility and allows for resizing an attribute when there's no FileObject associated with it.
-Added "MftDataOffset" member to DEVICE_EXTENSION, which stores the offset of the Mft's $DATA attribute. (I'm starting to think it's better to add a member for offset to NTFS_ATTR_CONTEXT directly, but I'll save that level of restructuring for a future commit.)
svn path=/branches/GSoC_2016/NTFS/; revision=75055
Trevor Thompson [Fri, 16 Jun 2017 05:42:01 +0000 (05:42 +0000)]
[NTFS] - Add some improvements to the previous commit, as suggested by Thomas.
svn path=/branches/GSoC_2016/NTFS/; revision=75054
Trevor Thompson [Fri, 9 Jun 2017 03:14:30 +0000 (03:14 +0000)]
[NTFS] - Add the most basic support for file creation. Expand diagnostic output, especially in NtfsDumpIndexRootAttribute(). Replace an ExFreePool() with ExFreePoolWithTag().
AddFileName() - Add a parameter to receive the Mft index of the parent directory. Fix so the name of the file will be stored in the attribute, not the name of the directory.
NtfsCreateFile() - Open a file that was successfully created, instead of assuming failure.
NtfsCreateFileRecord() - Add the filename attribute of the created file to the parent directory's index.
+NtfsAddFilenameToDirectory() - Adds a $FILE_NAME attribute to a given directory index. Presently, a file can be created in an empty directory only.
AddNewMftEntry() - Add a parameter to receive the mft index where the new entry was stored.
svn path=/branches/GSoC_2016/NTFS/; revision=74970
Trevor Thompson [Sun, 28 May 2017 20:51:31 +0000 (20:51 +0000)]
[NTFS] - Decrease debug spam
svn path=/branches/GSoC_2016/NTFS/; revision=74694
Trevor Thompson [Sat, 27 May 2017 19:32:43 +0000 (19:32 +0000)]
[NTFS] - Disable write support by default. Enable it via the registry.
[BOOTDATA] - Add a commented-out section to hivesys.inf which can add the required key to enable NTFS write support.
svn path=/branches/GSoC_2016/NTFS/; revision=74685
Trevor Thompson [Sat, 27 May 2017 03:20:31 +0000 (03:20 +0000)]
[NTFS] - Add support for changing a file's size via SetEndOfFile():
-Handle IRP_MJ_SET_INFORMATION IRP requests.
+NtfsSetEndOfFile() - Sets the end of file (file size) for a given file.
+NtfsSetInformation() - Sets the specified file information. At this point, only FileEndOfFileInformation is fully implemented. FileAllocationInformation is handled the same way and not truly implemented, but this works well enough for SetEndOfFile().
Overwriting a file in NTFS should now work in the majority of use cases.
svn path=/branches/GSoC_2016/NTFS/; revision=74675
Trevor Thompson [Sat, 13 May 2017 09:17:06 +0000 (09:17 +0000)]
[NTFS] - Fix a bug with last commit, as spotted by Pierre.
svn path=/branches/GSoC_2016/NTFS/; revision=74525
Trevor Thompson [Sat, 13 May 2017 08:56:54 +0000 (08:56 +0000)]
[NTFS] - Expand support for resizing resident attributes and fix NtfsAllocateClusters().
-Modify SetAttributeDataLength() to allow a resident attribute to migrate to non-resident if the attribute grows too large to remain resident.
-Fix values returned by NtfsAllocateClusters() in case of error; return error codes, not 0.
svn path=/branches/GSoC_2016/NTFS/; revision=74524
Trevor Thompson [Fri, 12 May 2017 22:16:20 +0000 (22:16 +0000)]
[NTFS] - Commit early results of a small restructuring effort:
-Add a new member to the NTFS_ATTR_CONTEXT struct, a LARGE_MCB. This allows an attribute context to describe the cluster mapping of a non-resident file while allowing that mapping to change dynamically, without the context itself needing to be resized. This fixes problems which sometimes arose from resizing files.
-Remove hacky code from NtfsWriteFile() for dealing with "stale" contexts. This fixes that issue.
-Update SetDataAttributeLength(), PrepareAttributeContext(), ReleaseAttributeContext(), FreeClusters(), and AddRun() for the new member.
-Update ReadAttribute() and WriteAttribute() to work with the changed structure. A very-soon-to-come commit will overhaul these functions so they'll operate directly on the LARGE_MCB, instead of converting to and from a packed list of data runs. (Sparse files are broken until then.)
-Rename "RunBufferOffset" to "RunBufferSize" in several places where appropriate.
-Fix, improve, and add some comments.
svn path=/branches/GSoC_2016/NTFS/; revision=74523
Trevor Thompson [Sun, 16 Apr 2017 00:17:07 +0000 (00:17 +0000)]
[NTFS] Add support for creating new MFT entries:
+AddStandardInformation(), +AddData(), +AddFileName() - Add attributes to a file record
+NtfsCreateFileRecord() - Creates a new file record and saves it to the MFT.
+AddNewMftEntry() - Adds a file record to the MFT.
NtfsCreateFile() - Modified to create a file record on a file-creation request (file creation is still unsupported; the created file needs to be added to the parent's directory index).
+SetFileRecordEnd() - Establishes a new file record size
UpdateFileRecord() - Improved documentation
InternalSetResidentAttributeLength() - Updated to use SetFileRecordEnd().
svn path=/branches/GSoC_2016/NTFS/; revision=74321
Trevor Thompson [Mon, 22 Aug 2016 11:08:22 +0000 (11:08 +0000)]
[NTFS]
+NtfsDumpFileRecord() - Provides diagnostic information about a file record.
svn path=/branches/GSoC_2016/NTFS/; revision=72424
Trevor Thompson [Mon, 22 Aug 2016 08:27:35 +0000 (08:27 +0000)]
[NTFS]
*UpdateFileRecord() - Fix a DPRINT
svn path=/branches/GSoC_2016/NTFS/; revision=72423
Trevor Thompson [Mon, 22 Aug 2016 08:11:12 +0000 (08:11 +0000)]
[NTFS]
Add some fixes to attrib.c, as suggested by Pierre Schweitzer:
*ConvertLargeMCBToDataRuns() - Use MS portable type, ULONG, for variable i.
*FreeClusters(), AddRun() - Check for invalid parameter before allocating memory, and confirm the memory is allocated.
*ConvertDataRunsToLargeMCB(), AddRun() - Avoid code duplication by using ExRaiseStatus() in try block, and return accurate status via _SEH2_GetExceptionCode().
svn path=/branches/GSoC_2016/NTFS/; revision=72422
Trevor Thompson [Tue, 19 Jul 2016 15:31:22 +0000 (15:31 +0000)]
[NTFS]
+FreeClusters(). Fix a DPRINT.
svn path=/branches/GSoC_2016/NTFS/; revision=71968
Trevor Thompson [Sun, 17 Jul 2016 14:04:01 +0000 (14:04 +0000)]
[NTFS]
Address some minor issues with attrib.c: Fix gcc build. Fix formatting.
svn path=/branches/GSoC_2016/NTFS/; revision=71957
Trevor Thompson [Fri, 15 Jul 2016 15:27:04 +0000 (15:27 +0000)]
[NTFS]
*AddRun() - Don't leak RunBuffer when encountering errors.
Handle exception from FsRtlAddLargeMcbEntry().
svn path=/branches/GSoC_2016/NTFS/; revision=71945
Trevor Thompson [Thu, 14 Jul 2016 15:20:48 +0000 (15:20 +0000)]
[NTFS]
Implement AddRun(). Add support functions and documentation.
+ConvertDataRunsToLargeMCB()
+ConvertLargeMCBToDataRuns()
*SetAttributeDataLength(), *NtfsWriteFile() - Update for AddRun() implementation. Add hack to SetAttributeDataLength() to allow notepad.exe to save files until freeing clusters is implemented.
svn path=/branches/GSoC_2016/NTFS/; revision=71942
Trevor Thompson [Wed, 13 Jul 2016 14:49:46 +0000 (14:49 +0000)]
[NTFS]
Various minor changes to fix GCC build.
svn path=/branches/GSoC_2016/NTFS/; revision=71922
Trevor Thompson [Wed, 13 Jul 2016 11:51:16 +0000 (11:51 +0000)]
[NTFS]
Add support functions, fix warning from previous commit.
+NtfsDumpDataRuns(), +NtfsDumpDataRunData() - Provide diagnostic output.
+GetPackedByteCount() - Used to encode data runs.
svn path=/branches/GSoC_2016/NTFS/; revision=71921
Trevor Thompson [Wed, 13 Jul 2016 09:26:04 +0000 (09:26 +0000)]
[NTFS]
UpdateFileRecord() - Remove fixup array before returning.
svn path=/branches/GSoC_2016/NTFS/; revision=71920
Trevor Thompson [Tue, 12 Jul 2016 09:57:16 +0000 (09:57 +0000)]
[NTFS]
Add error-checking to InternalGetNextAttribute(); don't crash if CurrAttr->Length is invalid.
svn path=/branches/GSoC_2016/NTFS/; revision=71897
Trevor Thompson [Fri, 8 Jul 2016 12:05:19 +0000 (12:05 +0000)]
[NTFS]
Fix broken check for free disk space in NtfsAllocateClusters().
svn path=/branches/GSoC_2016/NTFS/; revision=71858
Trevor Thompson [Fri, 8 Jul 2016 11:59:25 +0000 (11:59 +0000)]
[NTFS]
Simplify GetLastClusterInDataRun() and clean up NtfsAllocateClusters(). No functional changes.
svn path=/branches/GSoC_2016/NTFS/; revision=71857
Trevor Thompson [Thu, 7 Jul 2016 08:17:07 +0000 (08:17 +0000)]
[NTFS]
Simplify and optimize InternalSetResidentAttributeLength(), as suggested by Pierre.
svn path=/branches/GSoC_2016/NTFS/; revision=71837
Trevor Thompson [Wed, 6 Jul 2016 07:57:57 +0000 (07:57 +0000)]
[NTFS]
Fix copy-paste error in SetAttributeDataLength()
svn path=/branches/GSoC_2016/NTFS/; revision=71832
Trevor Thompson [Tue, 5 Jul 2016 07:00:43 +0000 (07:00 +0000)]
[NTFS]
Add ability to write to resident attributes.
SetAttributeDataLength() - Check if the file is memory mapped before truncating
+InternalSetResidentAttributeLength() - Used by SetAttributeDataLength()
svn path=/branches/GSoC_2016/NTFS/; revision=71820
Trevor Thompson [Wed, 29 Jun 2016 17:49:36 +0000 (17:49 +0000)]
[NTFS]
Fix typo in NtfsAllocateClusters(), spotted by ThFabba.
svn path=/branches/GSoC_2016/NTFS/; revision=71697
Trevor Thompson [Wed, 29 Jun 2016 16:35:36 +0000 (16:35 +0000)]
[NTFS]
Lay some groundwork for extending allocation size.
+AddRun() - Unimplemented
+GetLastClusterInDataRun()
+NtfsAllocateClusters()
svn path=/branches/GSoC_2016/NTFS/; revision=71696
Trevor Thompson [Sun, 26 Jun 2016 21:06:02 +0000 (21:06 +0000)]
[NTFS]
Allow for an existing file to be opened with FILE_OVERWRITE, FILE_OVERWRITE_IF, or FILE_SUPERSEDE dispositions, and truncate that file. This allows for a file to be opened and saved in Notepad.exe [provided that file is non-resident and its allocation size doesn't need to change].
svn path=/branches/GSoC_2016/NTFS/; revision=71680
Trevor Thompson [Sun, 26 Jun 2016 17:03:31 +0000 (17:03 +0000)]
[NTFS]
Remove unused parameter from SetAttributeDataLength.
svn path=/branches/GSoC_2016/NTFS/; revision=71677
Trevor Thompson [Thu, 23 Jun 2016 18:02:03 +0000 (18:02 +0000)]
[NTFS]
Update a file's size in the relevant $FILE_NAME attribute of the index entry in the parent directory.
+UpdateFileNameRecord() - Searches a parent directory for the proper index entry, then updates the file sizes in that entry.
+UpdateIndexEntryFileNameSize() - Recursively searches directory index and applies the size update.
svn path=/branches/GSoC_2016/NTFS/; revision=71664
Trevor Thompson [Thu, 23 Jun 2016 15:37:19 +0000 (15:37 +0000)]
[NTFS]
Fix Up AddFixupArray - It needs to accept a PNTFS_RECORD_HEADER for parameter 2, not a PFILE_RECORD_HEADER.
svn path=/branches/GSoC_2016/NTFS/; revision=71662
Trevor Thompson [Wed, 22 Jun 2016 21:20:50 +0000 (21:20 +0000)]
[NTFS]
When writing to a file, increase the file size if trying to write past the end.
*FindAttribute() has been given an optional pointer to a ULONG that will receive the offset of the found attribute from the beginning of the record. This is to allow for found attributes to be written back into their file records.
+SetAttributeDataLength()
+UpdateFileRecord() - Updates a file record in the master file table at a given index.
+AddFixupArray() - Prepares a file record or directory index for writing to the disk.
svn path=/branches/GSoC_2016/NTFS/; revision=71660
Trevor Thompson [Sun, 12 Jun 2016 04:02:52 +0000 (04:02 +0000)]
[NTFS]
Add fixes to WriteAttribute():
-Remove erroneous check for end of run (before writing to the last run returned)
-Properly dereference RealLengthWritten pointer, as reported in CR-90
svn path=/branches/GSoC_2016/NTFS/; revision=71616
Trevor Thompson [Sun, 1 May 2016 16:21:53 +0000 (16:21 +0000)]
[NTFS]
Added minimal write support from CORE-10998 along with updates as suggested by CR-90.
svn path=/branches/GSoC_2016/NTFS/; revision=71224
Colin Finck [Fri, 6 Oct 2017 13:00:36 +0000 (15:00 +0200)]
Fix remaining text file line endings in the tree. (#18)
Based on https://stackoverflow.com/a/
1511273
Also enforce CRLF for all *.xml files in our tree, because they are distributed with ReactOS.
Hermès Bélusca-Maïto [Thu, 5 Oct 2017 23:07:54 +0000 (01:07 +0200)]
[INCLUDE]: ntddrdsk.h: Fix "__cplusplus" and the ramdisk GUID definitions.
Hermès Bélusca-Maïto [Thu, 5 Oct 2017 23:06:32 +0000 (01:06 +0200)]
[INCLUDE]: ntddrdsk.h: align defs on multiple of 4-space tab.
gigaherz [Thu, 5 Oct 2017 22:04:29 +0000 (00:04 +0200)]
[NTUSER] Fix rogue CR in a LF-only file.
Pierre Schweitzer [Thu, 5 Oct 2017 21:43:10 +0000 (23:43 +0200)]
[KERNEL32]: w2k3ify GetDriveTypeA()
Pierre Schweitzer [Thu, 5 Oct 2017 21:41:26 +0000 (23:41 +0200)]
[KERNEL32]: Reimplement GetDriveTypeW(). This allows providing a quick path for DOS drives and fixes a few detection cases. It allows brings in support for mount points.
Pierre Schweitzer [Wed, 4 Oct 2017 21:03:07 +0000 (23:03 +0200)]
[KERNEL32]: Finally get rid of no longer used function InternalOpenDirW()
Pierre Schweitzer [Wed, 4 Oct 2017 21:02:22 +0000 (23:02 +0200)]
[KERNEL32]: Reimplement GetDiskFreeSpaceExA() to make it w2k3 compliant
Pierre Schweitzer [Wed, 4 Oct 2017 21:00:12 +0000 (23:00 +0200)]
[KERNEL32]: Refactor a bit GetDiskFreeSpaceExW(), no ground breaking changes
Pierre Schweitzer [Wed, 4 Oct 2017 20:30:18 +0000 (22:30 +0200)]
[KERNEL32]: Reimplement GetDiskFreeSpaceA() to make it w2k3 compliant
Pierre Schweitzer [Wed, 4 Oct 2017 20:27:14 +0000 (22:27 +0200)]
[KERNEL32]: Reimplement GetDiskFreeSpaceW() to fix various issues in it. It also brings support for appcompat
Serge Gautherie [Wed, 4 Oct 2017 16:04:35 +0000 (18:04 +0200)]
[FREELDR] Properly check for end-of-memory-map entries when skipping ranges smaller than page size.
CORE-12881
Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org>
Serge Gautherie [Tue, 3 Oct 2017 07:16:26 +0000 (09:16 +0200)]
[FREELDR] Add 64 bit alignment macros (ULONGLONG_ALIGN_UP/DOWN_BY) for aligning physical addresses that can be larger than 4GB and the default macros truncate to ULONG_PTR.
CORE-12881
Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org>
Serge Gautherie [Tue, 3 Oct 2017 07:00:03 +0000 (09:00 +0200)]
[FREELDR] Improve trace prints in pcmem.c, no logical changes
CORE-12881
Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org>
Timo Kreuzer [Thu, 5 Oct 2017 16:40:33 +0000 (18:40 +0200)]
[WIN32K] Add a comment regarding UserEnterExclusive() in UserGetDesktopDC()
This is a test-commit using GitHubs SVN interface.
Pierre Schweitzer [Wed, 4 Oct 2017 19:13:25 +0000 (21:13 +0200)]
[CLASS2]: Fix status code on too small as exposed by kernel32:DeviceIoControl
Alexander Shaposhnikov [Wed, 4 Oct 2017 18:58:32 +0000 (21:58 +0300)]
Delete README
Colin Finck [Wed, 4 Oct 2017 18:44:52 +0000 (20:44 +0200)]
[VERSION] Use --abbrev=7 for "git describe" to enforce a short hash of 7 characters no matter what the default is for your Git installation.
Colin Finck [Wed, 4 Oct 2017 18:37:32 +0000 (20:37 +0200)]
Add .gitattributes and .gitignore files and normalize line endings in the repository (#10)
Goblenus [Wed, 4 Oct 2017 08:40:37 +0000 (11:40 +0300)]
Fix url typo in README (#9)
Hermès Bélusca-Maïto [Wed, 4 Oct 2017 01:05:47 +0000 (03:05 +0200)]
Delete "ghost" old(*) files that have been mysteriously added back during the SVN-to-Git transition.
To check that these changes are correct, checkout in a directory (let's call it "ros_svn") the /trunk/reactos/ of our read-only SVN repo r76032 and in /trunk/reactos/modules/, the rosapps, rostests and wallpapers.
In a second directory (let's call it "ros_git"), clone the corresponding Git-converted ReactOS directory.
Before applying this patch (and the previous one that added back the empty directories), you should see additional files in ros_git that are not in ros_svn, corresponding to these files I'm deleting here (plus some .gitignore files),
and you should also see additional files in ros_svn that do not appear in ros_git: these are the empty directories I've restored in my previous patch.
Now, after the application of both the previous patch that restores the empty directories (and deletes the .gitignore files), and this patch that removes the ghost files, you should only see that the only differences
between ros_git and ros_svn are the extra .keep files in the empty directories, and that's all!
Command-line for the tests:
diff --strip-trailing-cr -r ros_svn ros_git > diff_svn2git.txt
"-r" means recursive, and "--strip-trailing-cr" ignores the CR-LF vs. LF (or CR) EOLs.
(*): by "ghost" old(*) files I understand files that existed previously in the far past, that then were deleted long ago in SVN, and that popped out back during the Git migration.
Hermès Bélusca-Maïto [Wed, 4 Oct 2017 00:19:57 +0000 (02:19 +0200)]
Add .keep guard files in order to restore lost but empty directories we had with SVN.
Note that when you start populating these directories, you can remove the associated .keep guard file(s)!
Hermès Bélusca-Maïto [Tue, 3 Oct 2017 23:39:34 +0000 (01:39 +0200)]
Remove unwanted .gitignore files.
Sergei Abramov [Tue, 3 Oct 2017 10:35:31 +0000 (12:35 +0200)]
[NTOBJSHEX] Fix typo.
Patch by Sergei Abramov.
CORE-13863
Alexander Shaposhnikov [Wed, 4 Oct 2017 05:28:08 +0000 (08:28 +0300)]
Readme Markdown Page (#2)
Create README.md
Pierre Schweitzer [Tue, 3 Oct 2017 19:21:09 +0000 (21:21 +0200)]
[CLASS2]: Cosmetic fixes by Thomas
Pierre Schweitzer [Tue, 3 Oct 2017 18:57:50 +0000 (20:57 +0200)]
[CLASS2]: - In ScsiClassCreateDeviceObject() don't drop received object name and store it in the device extension
- Implement support for the IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL; return the store device name
tkreuzer [Tue, 3 Oct 2017 11:54:42 +0000 (13:54 +0200)]
[REGEDIT] Support editing REG_FULL_RESOURCE_DESCRIPTOR values
Colin Finck [Tue, 3 Oct 2017 14:36:59 +0000 (16:36 +0200)]
Build rosapps, rostests, wallpapers when their CMake variables are set instead of checking for directory existence.
By default, ReactOS will now build without any of these modules.
You can enable them using e.g. "configure -DENABLE_ROSTESTS=1".
Colin Finck [Tue, 3 Oct 2017 13:29:13 +0000 (15:29 +0200)]
Supply the source directory as working directory when launching Git commands. Should fix retrieving the Git hash on the build machines.
Colin Finck [Tue, 3 Oct 2017 10:55:38 +0000 (12:55 +0200)]
Make ReactOS report the Git revision as output by "git describe".
- REVISION is now something like "
0.4.7-dev-53-g1304b53" instead of "r12345".
- Change WINDOWS_NT_BANNER to better represent the ReactOS version and the reported NT version.
- Introduce REACTOS_COMMIT_HASH which contains the full 40-character commit hash (for comparing revisions, e.g. in rosautotest/testman).
Colin Finck [Tue, 3 Oct 2017 07:45:34 +0000 (07:45 +0000)]
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
Pierre Schweitzer [Tue, 3 Oct 2017 06:40:08 +0000 (06:40 +0000)]
[CLASS2]
It's up to class drivers to handle MountMgr requests. So, make it handle them, even though that's just to fail because it's not implemented.
This will stop IOCTLs to be sent down in the storage stack.
svn path=/trunk/; revision=76032
Pierre Schweitzer [Tue, 3 Oct 2017 06:19:12 +0000 (06:19 +0000)]
[KERNEL32]
Reimplement GetVolumePathNameW(). This fixes a lot of failing Wine tests.
Note that three of them are not fixed, which is a good thing as these also fail in the WHS bot!
svn path=/trunk/; revision=76031
Hermès Bélusca-Maïto [Mon, 2 Oct 2017 17:03:01 +0000 (17:03 +0000)]
[CMD]: New CTTY command.
- Introduce back the CTTY command (that normally only exists on DOS
versions of COMMAND.COM but doesn't on Windows NT' CMD.EXE), whose aim
is to "change the active terminal" (syntax: CTTY <dos_device>). To
achieve that we actually redirect STDIN, STDOUT and STDERR to read/write
handles opened to the <dos_device>. This is very handy when it comes to
redirecting all the standard handles to e.g. a serial terminal ("CTTY COM1"
for example).
- Fix some typos in the resources.
svn path=/trunk/; revision=76029
Eric Kohl [Mon, 2 Oct 2017 12:56:27 +0000 (12:56 +0000)]
[DDK]
Prepare the storport header file for the new storport driver.
svn path=/trunk/; revision=76028
Pierre Schweitzer [Sun, 1 Oct 2017 21:29:53 +0000 (21:29 +0000)]
[KERNEL32]
Avoid an use-after-free in GetVolumeNameForRoot()
svn path=/trunk/; revision=76027
Timo Kreuzer [Sun, 1 Oct 2017 17:41:11 +0000 (17:41 +0000)]
[WIN32U] Rename win32kdll to win32u, which is the "official" name on Windows 10
svn path=/trunk/; revision=76026
Pierre Schweitzer [Sun, 1 Oct 2017 16:36:37 +0000 (16:36 +0000)]
[KERNEL32]
- Implement the internal functions: GetVolumeNameForRoot(), BasepGetVolumeNameFromReparsePoint(), BasepGetVolumeNameForVolumeMountPoint() that allow querying the volume name (GUID form) given a volume root
- Reimplement GetVolumeNameForVolumeMountPointW() with the new internal function BasepGetVolumeNameForVolumeMountPoint() this fixes a few bugs and adds supports for reparse points
- Reimplement GetVolumeNameForVolumeMountPointA() to make it w2k3 compliant
Note that I dropped copyrights in the header, as everything got reimplemented
svn path=/trunk/; revision=76025
Hermès Bélusca-Maïto [Sun, 1 Oct 2017 16:33:33 +0000 (16:33 +0000)]
[CMD]: Fix inclusion order.
svn path=/trunk/; revision=76024
Hermès Bélusca-Maïto [Sun, 1 Oct 2017 16:30:39 +0000 (16:30 +0000)]
[CMD]: Use the CONUTILS library (Part 1/x) for an uniform and consistent experience across command-line tools.
- Make most of CMD use the conutils library. This means that
now we explicitely use the CON_STREAM objects. In particular code
handling STDIN/OUT/ERR redirection should be handled with care.
- Factor out much of console-related support code into console.c.
Code for console input is however not "CON_STREAM-enabled" yet.
- Change ConOutPrintfPaging prototype to make it return TRUE/FALSE
when it can continue paged-printing or not, respectively.
CORE-13860
svn path=/trunk/; revision=76023
Hermès Bélusca-Maïto [Sun, 1 Oct 2017 16:03:44 +0000 (16:03 +0000)]
[CONUTILS]: Add some string resources functions that can support a specified hModule parameter, and add small construction helpers for CON_SCREEN and CON_PAGER.
svn path=/trunk/; revision=76022
Timo Kreuzer [Sun, 1 Oct 2017 14:42:04 +0000 (14:42 +0000)]
[REACTOS] Replace comparison against TRUE with comparison against FALSE
Based on patch by Love Nystrom
svn path=/trunk/; revision=76021
Timo Kreuzer [Sun, 1 Oct 2017 14:36:21 +0000 (14:36 +0000)]
[RTL/x64] Fix logic in RtlpTryToUnwindEpilog
svn path=/trunk/; revision=76020
Timo Kreuzer [Sun, 1 Oct 2017 14:34:26 +0000 (14:34 +0000)]
[RTL/x64] Support frames to skip in flags to RtlWalkFrameChain
svn path=/trunk/; revision=76019
Pierre Schweitzer [Sun, 1 Oct 2017 12:56:00 +0000 (12:56 +0000)]
[NDK]
Define REPARSE_DATA_BUFFER so that we can stop redefining it everywhere...
svn path=/trunk/; revision=76018
Timo Kreuzer [Sun, 1 Oct 2017 11:08:26 +0000 (11:08 +0000)]
[FREELDR] Simplify DebugDumpBuffer
svn path=/trunk/; revision=76017
Timo Kreuzer [Sun, 1 Oct 2017 10:56:32 +0000 (10:56 +0000)]
[MPU401] Move registry entries for mpu401.sys from hivesys.inf to it's own registry inf file.
This file is not used, since we don't even build the mpu401 driver.
svn path=/trunk/; revision=76016
Timo Kreuzer [Sun, 1 Oct 2017 10:25:05 +0000 (10:25 +0000)]
[VGA_NEW] Remove duplicated enable.c from CMakeLists.txt
svn path=/trunk/; revision=76015
Timo Kreuzer [Sun, 1 Oct 2017 10:17:30 +0000 (10:17 +0000)]
[VGA_NEW] Add CMakeLists.txt and fix build
svn path=/trunk/; revision=76014
Timo Kreuzer [Sun, 1 Oct 2017 10:14:03 +0000 (10:14 +0000)]
[INTRIN] Add missing _cdecl attributes
svn path=/trunk/; revision=76013
Pierre Schweitzer [Sun, 1 Oct 2017 08:23:06 +0000 (08:23 +0000)]
[KERNEL32]
Implement GetVolumePathNamesForVolumeNameW()
svn path=/trunk/; revision=76012