3 years ago[TRANSLATION] [NETCFGX] Fix russian translation
Stanislav Motylkov [Wed, 20 Dec 2017 18:16:27 +0000 (21:16 +0300)]
[TRANSLATION] [NETCFGX] Fix russian translation

3 years ago[WIN32K] avoid BSOD in Bochs 2.6.8 CORE-13629, patch by Mark Jansen
Joachim Henze [Wed, 20 Dec 2017 16:38:36 +0000 (17:38 +0100)]
[WIN32K] avoid BSOD in Bochs 2.6.8 CORE-13629, patch by Mark Jansen
We applied this patch also last second in 0.4.7rls, now in master.

IntTrackPopupMenuEx() caused the BSOD when called while window is in the process of being destroyed.

3 years ago[SHLWAPI_WINETEST] Add a PCH.
Amine Khaldi [Wed, 20 Dec 2017 12:36:27 +0000 (13:36 +0100)]

3 years ago[SHELL32_WINETEST] Add a PCH.
Amine Khaldi [Wed, 20 Dec 2017 12:29:32 +0000 (13:29 +0100)]

3 years ago[OLEAUT32_WINETEST] Add a PCH.
Amine Khaldi [Wed, 20 Dec 2017 12:21:11 +0000 (13:21 +0100)]

3 years ago[OLE32_WINETEST] Add a PCH.
Amine Khaldi [Wed, 20 Dec 2017 12:13:26 +0000 (13:13 +0100)]

3 years ago[NTDLL_WINETEST] Add a PCH.
Amine Khaldi [Wed, 20 Dec 2017 12:07:06 +0000 (13:07 +0100)]

3 years ago[MSVCRT_WINETEST] Add a PCH.
Amine Khaldi [Wed, 20 Dec 2017 11:57:58 +0000 (12:57 +0100)]

3 years agoReplace our dxtn.dll by a version based on the libtxc_dxtn source code (#203)
Colin Finck [Wed, 20 Dec 2017 10:15:13 +0000 (11:15 +0100)]
Replace our dxtn.dll by a version based on the libtxc_dxtn source code (#203)

This is no official system DLL and WineD3D is its only user. But latest WineD3D prefers the libtxc_dxtn codebase instead of the alternative library we used.
This is also what Mesa uses and Fedora ships now that the patents have expired, so we should stick to the same.

I'm importing the libtxc_dxtn-1.0.1 codebase from
It compiles warning-free in our tree without modifying a single line!

I'm merging this Pull Request based on the positive response in CORE-12759.
I lack a proper test case myself, but my version at least shouldn't make things worse. In my opinion, the previous one was broken anyway due to using stdcall imports when WineD3D called cdecl ones.

This also removes the NSWPAT option from our buildsystem as dxtn was its latest user.

3 years ago[BOOT] Add VBox debug to livecd.ini
Timo Kreuzer [Tue, 19 Dec 2017 17:30:13 +0000 (18:30 +0100)]
[BOOT] Add VBox debug to livecd.ini

3 years ago[NTOS:MM] Fix a bug in MiBuildPfnDatabase
Timo Kreuzer [Tue, 19 Dec 2017 14:17:35 +0000 (15:17 +0100)]
[NTOS:MM] Fix a bug in MiBuildPfnDatabase
MxPfnAllocation is in pages, not in bytes!

3 years ago[NTOS:MM] Make debug code in MmArmInitSystem portable
Timo Kreuzer [Tue, 19 Dec 2017 14:16:54 +0000 (15:16 +0100)]
[NTOS:MM] Make debug code in MmArmInitSystem portable

3 years ago[NTOS:MM] Implement x64 version of MI_MAKE_SUBSECTION_PTE
Timo Kreuzer [Tue, 19 Dec 2017 14:16:04 +0000 (15:16 +0100)]
[NTOS:MM] Implement x64 version of MI_MAKE_SUBSECTION_PTE

3 years ago[NTOS:PS] Skip backtrace on non-x86
Ivan Labutin [Mon, 18 Dec 2017 07:27:31 +0000 (08:27 +0100)]
[NTOS:PS] Skip backtrace on non-x86

3 years ago[SAC] Fix wrong sized variable in SAC driver
Ivan Labutin [Mon, 13 Nov 2017 15:26:37 +0000 (18:26 +0300)]
[SAC] Fix wrong sized variable in SAC driver

3 years ago[NTOS:FSRTL] Fixed incorrect comparison
Ivan Labutin [Mon, 13 Nov 2017 14:08:27 +0000 (15:08 +0100)]
[NTOS:FSRTL] Fixed incorrect comparison

3 years ago[NTOS][NDK][RTL] A bunch of 'wrong size' fixes
Ivan Labutin [Mon, 13 Nov 2017 14:06:29 +0000 (15:06 +0100)]
[NTOS][NDK][RTL] A bunch of 'wrong size' fixes

3 years ago[NTOS:MM] Quick fix: use SIZE_T instead of ULONG, because ULONG is 32-bit and on...
Ivan Labutin [Fri, 10 Nov 2017 17:19:45 +0000 (20:19 +0300)]
[NTOS:MM] Quick fix: use SIZE_T instead of ULONG, because ULONG is 32-bit and on 64-bit truncates values

3 years ago[NTOS:KE] Improve readability of CPU flag checks and fix error checking wrong registe...
Ivan Labutin [Fri, 10 Nov 2017 16:44:30 +0000 (19:44 +0300)]
[NTOS:KE] Improve readability of CPU flag checks and fix error checking wrong register for HT support

3 years ago[NTOS:KE] Remove duplicate NX enabling
Ivan Labutin [Thu, 9 Nov 2017 22:33:47 +0000 (23:33 +0100)]
[NTOS:KE] Remove duplicate NX enabling

3 years ago[NTOS:MM] Comment out debug code for x86 that should not run on x64
Ivan Labutin [Thu, 9 Nov 2017 22:30:57 +0000 (01:30 +0300)]
[NTOS:MM] Comment out debug code for x86 that should not run on x64

3 years ago[NTOS:KE] Move RtlpUse16ByteSLists initialization into KiInitializeKernel
Ivan Labutin [Thu, 9 Nov 2017 22:23:55 +0000 (01:23 +0300)]
[NTOS:KE] Move RtlpUse16ByteSLists initialization into KiInitializeKernel

3 years ago[NTOS:KE] EFER constants fix
Ivan Labutin [Thu, 9 Nov 2017 22:06:30 +0000 (01:06 +0300)]
[NTOS:KE] EFER constants fix

3 years ago[NTOSKRNL] Fix return of uninitialized variable in PspSetQuotaLimits
Timo Kreuzer [Wed, 11 Oct 2017 13:33:15 +0000 (15:33 +0200)]
[NTOSKRNL] Fix return of uninitialized variable in PspSetQuotaLimits

3 years ago[BROWSEUI] Implement ACLCustomMRU.
Mark Jansen [Sun, 17 Dec 2017 14:29:30 +0000 (15:29 +0100)]
[BROWSEUI] Implement ACLCustomMRU.

3 years ago[BROWSEUI_APITEST] Add tests for IACLCustomMRU.
Mark Jansen [Sat, 16 Dec 2017 16:22:48 +0000 (17:22 +0100)]

3 years ago[COM_APITEST] Add IACLCustomMRU
Mark Jansen [Sat, 16 Dec 2017 13:50:49 +0000 (14:50 +0100)]

3 years ago[MSI_WINETEST] Add a PCH.
Amine Khaldi [Mon, 18 Dec 2017 12:48:13 +0000 (13:48 +0100)]

3 years ago[MSHTML_WINETEST] Add a PCH.
Amine Khaldi [Mon, 18 Dec 2017 12:43:24 +0000 (13:43 +0100)]

3 years ago[KERNEL32_WINETEST] Add a PCH.
Amine Khaldi [Mon, 18 Dec 2017 12:28:00 +0000 (13:28 +0100)]

3 years ago[APITESTS][WINETESTS] Addendum to the recent PCH work.
Amine Khaldi [Mon, 18 Dec 2017 12:21:47 +0000 (13:21 +0100)]
[APITESTS][WINETESTS] Addendum to the recent PCH work.

3 years ago[UUID] Add SID_SHTMLEditServices.
Amine Khaldi [Mon, 18 Dec 2017 12:18:07 +0000 (13:18 +0100)]
[UUID] Add SID_SHTMLEditServices.

3 years ago[FS] During 1st stage, disable any FS we don't support install to in order to let...
Pierre Schweitzer [Mon, 18 Dec 2017 07:44:24 +0000 (08:44 +0100)]
[FS] During 1st stage, disable any FS we don't support install to in order to let RawFS these volumes.
This avoids bloated setup and avoids potential bugs in 3rd party drivers.

This is following 806cd1.

3 years ago[NTOSKRNL] Make again an attempt at killing the IopParseDevice() hack.
Pierre Schweitzer [Sun, 17 Dec 2017 22:30:58 +0000 (23:30 +0100)]
[NTOSKRNL] Make again an attempt at killing the IopParseDevice() hack.

For the record, the only place it was remaining was 1st stage, notably because
FSD (FastAT <3) was missing a few features. As this features weren't triggered
in 3rd stage (unless forced), it was not needed there any longer.

Now that they are implemented, and seem working out of the box, this hack might
not be longer anymore.

This is my ... ?! pfff attempt at killing it. It might not be the last, so just
disabling the hack for now. If there are no regressions (who can really believe that?)
we'll be clear for dropping it once for all.

3 years ago[FASFAT] Enable FAT volume dismount using VPB swapout
Pierre Schweitzer [Sun, 17 Dec 2017 22:29:33 +0000 (23:29 +0100)]
[FASFAT] Enable FAT volume dismount using VPB swapout

3 years ago[USETUP] Our current FAT ChkDsk being a bit slow when using the right path make
Pierre Schweitzer [Sun, 17 Dec 2017 22:26:38 +0000 (23:26 +0100)]
[USETUP] Our current FAT ChkDsk being a bit slow when using the right path make
it only perform a full check if dirty bit is set (which should never happen *cough*).

This is needed because otherwise, ReactOS installation takes forever when IopParseDevice is gone
due to slow ChkDsk.

3 years ago[SETUP] Remove FSDs which have broken dismount implementation.
Pierre Schweitzer [Sun, 17 Dec 2017 22:13:56 +0000 (23:13 +0100)]
[SETUP] Remove FSDs which have broken dismount implementation.
This avoids issues when these partitions are formatted to FAT for setup.

For now, this commit doesn't change anything, but once IopParseDevice hack
gets removed, this will make a difference!


3 years ago[HAL] Use 64 bits for physical addresses.
Timo Kreuzer [Sun, 17 Dec 2017 16:37:43 +0000 (17:37 +0100)]
[HAL] Use 64 bits for physical addresses.

3 years ago[FASTFAT] Add a comment (and an ASSERT) in VfatCreateFile() that shows that my stats...
Pierre Schweitzer [Sun, 17 Dec 2017 17:25:43 +0000 (18:25 +0100)]
[FASTFAT] Add a comment (and an ASSERT) in VfatCreateFile() that shows that my stats code is broken...

3 years ago[FASTFAT] While closing FCBs on dismount, release from tail to head and not the contrary.
Pierre Schweitzer [Sun, 17 Dec 2017 17:21:51 +0000 (18:21 +0100)]
[FASTFAT] While closing FCBs on dismount, release from tail to head and not the contrary.
It fixes assertion failure in vfatDestroyFCB() where we would have release parent before child.
This is still not perfect, but less bug prone...

With this commits (and ENABLE_SWAPOUT defined), ReactOS seems to unmount FAT volumes quite nice! :-)
(Tried with fsutil volume dismount X:)

3 years ago[FASTFAT] Fix a handle count leak on volume close. This can prevent locking a volume!
Pierre Schweitzer [Sun, 17 Dec 2017 17:20:04 +0000 (18:20 +0100)]
[FASTFAT] Fix a handle count leak on volume close. This can prevent locking a volume!

3 years ago[FASTFAT] When not able to lock a volume due to open handles, print open handles
Pierre Schweitzer [Sun, 17 Dec 2017 17:19:03 +0000 (18:19 +0100)]
[FASTFAT] When not able to lock a volume due to open handles, print open handles

3 years ago[RAPPS] Select 'Available' category by default.
Alexander Shaposhnikov [Sun, 17 Dec 2017 14:09:55 +0000 (16:09 +0200)]
[RAPPS] Select 'Available' category by default.

3 years ago[MSCONFIG_NEW] Temporarily "fix" the header of the SimpChinese resource file because...
Hermès Bélusca-Maïto [Sun, 17 Dec 2017 13:44:23 +0000 (14:44 +0100)]
[MSCONFIG_NEW] Temporarily "fix" the header of the SimpChinese resource file because this has nothing to do with Paint whatsoever. Proper headers will be used as soon as msconfig_new replaces the old one and such headers be used in all of its code.

3 years ago[TRANSLATION] Improve Simplified Chinese Translations.
Luo Yufan [Fri, 15 Dec 2017 11:11:24 +0000 (19:11 +0800)]
[TRANSLATION] Improve Simplified Chinese Translations.

* Fix Simplified Chinese Translation of EXPLORER.
* Fix Simplified Chinese Translation of MSCONFIG_NEW.
* Fix Simplified Chinese Translation of MSPAINT.
* Fix Simplified Chinese Translation of SHELL32.
* Fix Simplified Chinese Translation of SYSDM.
* Fix Simplified Chinese Translation of SETUP/REACTOS.

3 years ago[VFATLIB] Never touch the file system if not in interactive or RW mode.
Pierre Schweitzer [Sun, 17 Dec 2017 12:59:20 +0000 (13:59 +0100)]
[VFATLIB] Never touch the file system if not in interactive or RW mode.
It's critical not to perform any write on a volume without an exclusive lock on it.
That lock is only acquired if ChkDsk is started in RW mode.
Also added an assert in write routine, to make sure that when we're about to perform
a write operation, we're really allowed to do so.

This will avoid volume corruptions when a simple "chkdsk" is issued from cmd.
To put it simple: check will really check now, and won't attempt any repair.


3 years ago[COMCTL32_WINETEST] Add a PCH.
Amine Khaldi [Sun, 17 Dec 2017 12:40:43 +0000 (13:40 +0100)]

3 years ago[SHELL32_APITEST] Improve the existing PCH and make use of it. Convert AddCommas...
Amine Khaldi [Sun, 17 Dec 2017 12:31:22 +0000 (13:31 +0100)]
[SHELL32_APITEST] Improve the existing PCH and make use of it. Convert AddCommas.c to c++ in order to have it benefit from the PCH.

3 years ago[GDI32_WINETEST] Add a PCH.
Amine Khaldi [Sun, 17 Dec 2017 12:20:00 +0000 (13:20 +0100)]

3 years ago[GDIPLUS_WINETEST] Add a PCH.
Amine Khaldi [Sun, 17 Dec 2017 12:14:57 +0000 (13:14 +0100)]

3 years ago[CRYPT32_WINETEST] Add a PCH.
Amine Khaldi [Sun, 17 Dec 2017 11:33:39 +0000 (12:33 +0100)]

3 years ago[COMDLG32_WINETEST] Add a PCH.
Amine Khaldi [Sun, 17 Dec 2017 11:28:41 +0000 (12:28 +0100)]

3 years ago[ADVAPI32_WINETEST] Add a PCH.
Amine Khaldi [Sun, 17 Dec 2017 11:24:27 +0000 (12:24 +0100)]

3 years ago[WIN32KNT_APITEST] Improve the existing PCH and make use of it.
Amine Khaldi [Sun, 17 Dec 2017 11:17:19 +0000 (12:17 +0100)]
[WIN32KNT_APITEST] Improve the existing PCH and make use of it.

3 years ago[HALX86] Deduplicate initialization of legacy PICs and remove EOI in I/O APIC initial...
Colin Finck [Sun, 17 Dec 2017 08:51:37 +0000 (09:51 +0100)]
[HALX86] Deduplicate initialization of legacy PICs and remove EOI in I/O APIC initialization, which causes an unexpected interrupt

3 years ago[SWENUM] Add version information. CORE-14112
Jason Wendt [Thu, 14 Dec 2017 19:48:48 +0000 (12:48 -0700)]
[SWENUM] Add version information. CORE-14112

Improves setup of DirectX 9.0b (which the game Halo wants
to install) after manually lowering DirectX version in registry.

3 years ago[GDI32] Fix TextOutA multibyte text length overgoing. CORE-14070
Katayama Hirofumi MZ [Thu, 7 Dec 2017 06:43:22 +0000 (15:43 +0900)]
[GDI32] Fix TextOutA multibyte text length overgoing. CORE-14070

3 years ago[VFD] Remove no longer required ReactOS specific change
Pierre Schweitzer [Sat, 16 Dec 2017 21:53:32 +0000 (22:53 +0100)]
[VFD] Remove no longer required ReactOS specific change


3 years ago[VFDLIB] Fix preprocessor directive compilation error when being used inside a macro...
Hermès Bélusca-Maïto [Sat, 16 Dec 2017 21:48:11 +0000 (22:48 +0100)]
[VFDLIB] Fix preprocessor directive compilation error when being used inside a macro expansion on MSVC.

3 years ago[VFD] Fix build on MSVC2010.
Hermès Bélusca-Maïto [Sat, 16 Dec 2017 21:34:20 +0000 (22:34 +0100)]
[VFD] Fix build on MSVC2010.

3 years ago[VFD] Fix build
Pierre Schweitzer [Sat, 16 Dec 2017 21:00:41 +0000 (22:00 +0100)]
[VFD] Fix build

3 years ago[VFD] Build with debug information on debug builds
Pierre Schweitzer [Sat, 16 Dec 2017 20:57:11 +0000 (21:57 +0100)]
[VFD] Build with debug information on debug builds


3 years ago[VFD] Import the VFD project (Virtual Floppy Drive) which allows creating virtual
Pierre Schweitzer [Sat, 16 Dec 2017 20:48:17 +0000 (21:48 +0100)]
[VFD] Import the VFD project (Virtual Floppy Drive) which allows creating virtual
floppy drives in ReactOS and mount images on them.
Only the cmd got imported. The GUI interface may come later on.
Note that, as for vcdrom, the driver is left disabled and you need to explicitely
start it through vfd command line interface.


3 years ago[PSDK] Add some missing defines
Pierre Schweitzer [Sat, 16 Dec 2017 20:43:49 +0000 (21:43 +0100)]
[PSDK] Add some missing defines


3 years ago[DOSKEY] Resource files: remove trailing whitespace.
Hermès Bélusca-Maïto [Sat, 16 Dec 2017 20:09:59 +0000 (21:09 +0100)]
[DOSKEY] Resource files: remove trailing whitespace.

3 years ago[DOSKEY] Improvements when importing aliases definition files.
Hermès Bélusca-Maïto [Sat, 16 Dec 2017 20:01:08 +0000 (21:01 +0100)]
[DOSKEY] Improvements when importing aliases definition files.

- The aliases ("macros") definition files have the same format as what
  is output by DosKey when one displays the list of defined aliases with
  the /macros: command-line switch. It should then, in particular,
  understand the format where executable names are also specified:



  We now behave similarly as Windows' version of this utility in that

- Use ARRAYSIZE() when needed.
- Take the opportunity to add a license header to the source file.

3 years ago[KERNEL32] Improve the definition of EXENAME_LENGTH.
Hermès Bélusca-Maïto [Sat, 16 Dec 2017 19:58:08 +0000 (20:58 +0100)]
[KERNEL32] Improve the definition of EXENAME_LENGTH.

3 years ago[KERNEL32_APITEST] Add a test for FormatMessage backed with MC file.
Pierre Schweitzer [Sat, 16 Dec 2017 18:39:37 +0000 (19:39 +0100)]
[KERNEL32_APITEST] Add a test for FormatMessage backed with MC file.

3 years ago[SDK] pnp.idl: Add a reminder comment about removed Vista/+ functions. CORE-12580 164/head
Serge Gautherie [Tue, 5 Dec 2017 05:32:25 +0000 (06:32 +0100)]
[SDK] pnp.idl: Add a reminder comment about removed Vista/+ functions. CORE-12580

3 years ago[NTOS:MM] Fix NtFreeVirtualMemory() FreeType parameter checks. CORE-13126 182/head
Serge Gautherie [Sat, 9 Dec 2017 11:16:44 +0000 (12:16 +0100)]
[NTOS:MM] Fix NtFreeVirtualMemory() FreeType parameter checks. CORE-13126

3 years ago[BOOTDATA] Start menu, shortcuts: port r61988 to LiveCD from BootCD. CORE-13994 119/head
Serge Gautherie [Sat, 11 Nov 2017 03:42:48 +0000 (04:42 +0100)]
[BOOTDATA] Start menu, shortcuts: port r61988 to LiveCD from BootCD. CORE-13994

- Move Accessibility, Entertainment and System Tools folders into Accessories.
- Move mstsc.exe shortcut into new Accessories/Communications folder.
- Rename Remote desktop to Remote Desktop Connection.
- Rename Regedit to Registry Editor.
- Plus: Sort touched lines in the list.

3 years ago[TRANSLATION] Start menu, shortcuts, r61988: update untranslated strings too. CORE... 120/head
Serge Gautherie [Sat, 11 Nov 2017 03:42:48 +0000 (04:42 +0100)]
[TRANSLATION] Start menu, shortcuts, r61988: update untranslated strings too. CORE-13994

ToDo: Translators should check already translated strings too.

3 years ago[NTOS:KD] Pass PreviousMode down to KdpPrintString, since ExGetPreviousMode is not... 188/head
Thomas Faber [Thu, 14 Dec 2017 10:43:57 +0000 (11:43 +0100)]
[NTOS:KD] Pass PreviousMode down to KdpPrintString, since ExGetPreviousMode is not accurate. CORE-14103

3 years ago[NTOS:KD] Avoid _alloca inside SEH, as it's apparently incompatible with PSEH. CORE...
Thomas Faber [Tue, 12 Dec 2017 11:44:44 +0000 (12:44 +0100)]
[NTOS:KD] Avoid _alloca inside SEH, as it's apparently incompatible with PSEH. CORE-14103

3 years ago[NTOS:KD] Don't assume null termination in KdpSerialDebugPrint and KdpScreenPrint...
Thomas Faber [Tue, 12 Dec 2017 11:38:45 +0000 (12:38 +0100)]
[NTOS:KD] Don't assume null termination in KdpSerialDebugPrint and KdpScreenPrint. CORE-14057 CORE-14103

3 years ago[SYSDM] Extend build string to fit commit hash
Stanislav Motylkov [Wed, 13 Dec 2017 09:50:22 +0000 (12:50 +0300)]
[SYSDM] Extend build string to fit commit hash

3 years ago[ASM][NDK][NTOS] Rename Self to SelfPcr in the KIPCR structure.
Amine Khaldi [Tue, 12 Dec 2017 11:50:58 +0000 (12:50 +0100)]
[ASM][NDK][NTOS] Rename Self to SelfPcr in the KIPCR structure.

3 years ago[KERNEL32_APITEST] Add a PCH.
Amine Khaldi [Wed, 13 Dec 2017 12:48:26 +0000 (13:48 +0100)]

3 years ago[COM_APITEST] Improve the existing PCH and make use of it.
Amine Khaldi [Tue, 12 Dec 2017 12:01:03 +0000 (13:01 +0100)]
[COM_APITEST] Improve the existing PCH and make use of it.

3 years ago[ADVAPI32_APITEST] Add a PCH.
Amine Khaldi [Tue, 12 Dec 2017 11:44:32 +0000 (12:44 +0100)]

3 years ago[NTOS] Add some header guards.
Amine Khaldi [Tue, 12 Dec 2017 11:42:13 +0000 (12:42 +0100)]
[NTOS] Add some header guards.

3 years ago[TRANSLATION] Fix Simplified Chinese Translations (#187)
Li Keqing [Mon, 11 Dec 2017 09:35:59 +0000 (17:35 +0800)]
[TRANSLATION] Fix Simplified Chinese Translations (#187)

* Fix the Simplified Translation of Rapps
* Fix the Simplified Translation of msconfig_new
* Fix the Simplified Translation of charmap_new
* Fix the Simplified Translation of winmine
* Fix the Simplified Translation of kbswitch
* Fix Simplified Chinese Translation of logoff
* Fix Simplified Chinese Translation of eventvwr
* Fix Simplified Chinese Translation of sysdm
* Update Simplified Chinese Translation for dxdiag

3 years ago[VCDCLI] Fix typo
Pierre Schweitzer [Sun, 10 Dec 2017 22:42:25 +0000 (23:42 +0100)]
[VCDCLI] Fix typo

3 years ago[KERNEL32] Update some console API prototypes.
Hermès Bélusca-Maïto [Sun, 10 Dec 2017 16:04:29 +0000 (17:04 +0100)]
[KERNEL32] Update some console API prototypes.

3 years ago[NTOS:KD] Protect against invalid user arguments for BREAKPOINT_LOAD_SYMBOLS. CORE... 160/head
Thomas Faber [Fri, 8 Dec 2017 13:45:26 +0000 (14:45 +0100)]
[NTOS:KD] Protect against invalid user arguments for BREAKPOINT_LOAD_SYMBOLS. CORE-14057

3 years ago[NTOS:KD] Protect against invalid user arguments in KdpPrintString. CORE-14057
Thomas Faber [Fri, 8 Dec 2017 13:41:41 +0000 (14:41 +0100)]
[NTOS:KD] Protect against invalid user arguments in KdpPrintString. CORE-14057

3 years ago[NTOS:KD] Protect against invalid user arguments in KdpPrompt. CORE-14057
Thomas Faber [Fri, 8 Dec 2017 13:39:31 +0000 (14:39 +0100)]
[NTOS:KD] Protect against invalid user arguments in KdpPrompt. CORE-14057

3 years ago[SERVMAN] fix status-bar text truncation, update german localization CORE-14092
Joachim Henze [Sun, 10 Dec 2017 13:08:29 +0000 (14:08 +0100)]
[SERVMAN] fix status-bar text truncation, update german localization CORE-14092

3 years agoMerge branch 'ntfs_rebase' 186/head
Thomas Faber [Sun, 10 Dec 2017 11:46:33 +0000 (12:46 +0100)]
Merge branch 'ntfs_rebase'

3 years ago[PRINTING] Fix GetPrinterW, add tests for it and GetDefaultPrinterA/W, and add a...
Colin Finck [Sun, 10 Dec 2017 11:28:08 +0000 (12:28 +0100)]
[PRINTING] Fix GetPrinterW, add tests for it and GetDefaultPrinterA/W, and add a proper stub for GetPrinterDriverDirectoryA.

* Pass the correct handle to _RpcGetPrinter in GetPrinterW.
* Pass an empty string instead of a NULL pointer as wszComputerName to the GetPrinterLevel* functions, because this variable is later used as source for StringCbCopyExW.
* Don't check for GetLastError() == ERROR_SUCCESS in tests. Windows apparently only sets the last error in case of failure.
  The Printing code should probably be changed similarly in a future commit.

Should fix CORE-14072

3 years ago[NTFS] Fix the FileNamesInformation/FileNameInformation class confusion that was...
Pierre Schweitzer [Sun, 10 Dec 2017 10:25:48 +0000 (11:25 +0100)]
[NTFS] Fix the FileNamesInformation/FileNameInformation class confusion that was spotted on FastFAT.
What should also be fixed is the partial return of data on first entry enumeration.

3 years ago[NTFS] - Respect NTFS' file ordering when enumerating a directory. Split off part...
Trevor Thompson [Sat, 9 Sep 2017 23:10:52 +0000 (23:10 +0000)]
[NTFS] - Respect NTFS' file ordering when enumerating a directory. Split off part of BrowseIndexEntries() into a separate function to simplify the code.
AddNewMftEntry() - Zero the (larger) buffer for the bitmap prior to reading the bitmap.
BrowseIndexEntries() - Check sub-nodes before checking an index entry. Read and use the index bitmap when checking sub-nodes.
+BrowseSubNodeIndexEntries() - Called for sub-nodes of an index when browsing index entries.
+NtfsDumpData() - Diagnostic function which allows for visualizing a series of bytes.

svn path=/branches/GSoC_2016/NTFS/; revision=75817

3 years ago[NTFS] - Fix some errors that break building in C89 mode, and remove an extraneous...
Trevor Thompson [Fri, 1 Sep 2017 00:27:34 +0000 (00:27 +0000)]
[NTFS] - Fix some errors that break building in C89 mode, and remove an extraneous "ninja livecd" that got inserted in a comment. Thanks to Doug Lyons for spotting these errors.
SplitBTree() - comment-out redundant code for finding the median key and improve comments.

svn path=/branches/GSoC_2016/NTFS/; revision=75727

3 years ago[NTFS] - Add some helper functions for new features. Add some fixes. Add support...
Trevor Thompson [Tue, 29 Aug 2017 15:51:14 +0000 (15:51 +0000)]
[NTFS] - Add some helper functions for new features. Add some fixes. Add support for creating an index allocation, splitting a b-tree node, or "demoting" the index root. This allows for file creation without functional limitations.
+AddBitmap() - adds a $BITMAP attribute to a file record.
+AddIndexAllocation() - adds an $INDEX_ALLOCATION attribute to a file record.
+CountBTreeKeys() - Counts the number of linked B-Tree keys.
CreateIndexBufferFromBTreeNode() - Set INDEX_NODE_LARGE if the node has sub-nodes.
CreateIndexRootFromBTree() - Simplify the usage and math of MaxIndexSize; make it only account for the cumulative size of the index entries.
+DemoteBTreeRoot() - Replaces the contents of an index root with a dummy key, and puts those contents in a new node, which is made a child of the dummy key. This is done when an index root grows too large.
+GetIndexEntryVCN() - Retrieves the VCN from an index entry.
NtfsAddFilenameToDirectory() - Fix math for MaxIndexRootSize.
NtfsInsertKey() - Add support for splitting a B-Tree node. Don't check size of index root (that will be handled later).
+SplitBTreeNode() - Called when a B-Tree node grows too large.
UpdateIndexAllocation() - Create an $I30 index allocation attribute and bitmap attribute if needed.
UpdateIndexNode() - Update children before updating the current node. Store VCN of child nodes in the index entries of their respective keys.

svn path=/branches/GSoC_2016/NTFS/; revision=75707

3 years ago[NTFS] - Fix increasing the mft size, to keep chkdsk happy.
Trevor Thompson [Mon, 28 Aug 2017 03:11:38 +0000 (03:11 +0000)]
[NTFS] - Fix increasing the mft size, to keep chkdsk happy.
IncreaseMftSize() - Add some fixes. Write blank records to newly-allocated mft entries, and update $MFTMirr when finished; these changes are needed for chkdsk.  Increase size by 64 records instead of 8.
+UpdateMftMirror() - Backs up the first ~4 master file table entries to the $MFTMirr file.

svn path=/branches/GSoC_2016/NTFS/; revision=75694

3 years ago[NTFS] - Fix for C89 compliance.
Trevor Thompson [Sun, 27 Aug 2017 14:43:35 +0000 (14:43 +0000)]
[NTFS] - Fix for C89 compliance.

svn path=/branches/GSoC_2016/NTFS/; revision=75693

3 years ago[NTFS] - Add support for directory creation. Add some helper functions, some comments...
Trevor Thompson [Sun, 27 Aug 2017 14:37:17 +0000 (14:37 +0000)]
[NTFS] - Add support for directory creation. Add some helper functions, some comments, and some fixes.
+AddIndexRoot() - Creates an $INDEX_ROOT attribute and adds it to a file record.
AddNewMftEntry() - Make sure the buffer used by RtlInitializeBitmap() is ULONG-aligned, and a ULONG-multiple in size, per MSDN.
AllocateIndexNode() - Calculate BytesNeeded correctly. Read $BITMAP attribute before increasing its length, in anticipation of a future commit that will check for a free bit before assigning a new index record to the end of the allocation. Use appropriate Set*AttributeDataLength() function, as $BITMAP can be resident or non-resident.
B_TREE_FILENAME_NODE - Give two members more accurate names: change "ExistsOnDisk" member to "HasValidVCN" and rename "NodeNumber" member "VCN."
+CreateEmptyBTree() - Creates a B-Tree to represent an empty directory (for AddIndexRoot).
+NtfsCreateEmptyFileRecord() - Creates an empty file record in memory, with no attributes.
CreateIndexRootFromBTree() - Fix TotalSizeOfEntries calculation.
+NtfsCreateDirectory() - Creates a file record for an empty directory and adds it to the mft.

svn path=/branches/GSoC_2016/NTFS/; revision=75692

3 years ago[NTFS] - When creating files:
Trevor Thompson [Fri, 25 Aug 2017 17:16:04 +0000 (17:16 +0000)]
[NTFS] - When creating files:
-Don't add a preceding backslash when creating files on root.
-Use NTFS_FILE_NAME_POSIX name type if CaseSensitive option is specified.
-Don't try to create a file when a folder is requested (folder creation is still TODO).

svn path=/branches/GSoC_2016/NTFS/; revision=75671

3 years ago[NTFS] - Allow for creating a file when the index root gets too large and needs to...
Trevor Thompson [Tue, 15 Aug 2017 19:57:55 +0000 (19:57 +0000)]
[NTFS] - Allow for creating a file when the index root gets too large and needs to be moved into an index record. Add some helper functions.
+AllocateIndexNode() - Allocates a new index record in an index allocation.
+CreateDummyKey() - Creates the final B_TREE_KEY for a B_TREE_FILENAME_NODE. Also creates the associated index entry.
GetSizeOfIndexEntries() - Sums the size of each index entry in every key in a B-Tree node.
+SetIndexEntryVCN() - Sets the VCN of a given IndexEntry.
NtfsInsertKey() - Handle instance when the index root grows too large. If it does, add its contents to a new sub-node, and replace contents with a dummy-key whose child is the new node.
UpdateIndexAllocation() - Update index entry if a key has just been assigned a child allocation.
UpdateIndexNode() - Make sure the node exists on disk, and allocate an index record for it if it doesn't.

svn path=/branches/GSoC_2016/NTFS/; revision=75557

3 years ago[NTFS] - Allow for resizing an attribute in the middle of a file record. Add a helper...
Trevor Thompson [Tue, 15 Aug 2017 19:32:20 +0000 (19:32 +0000)]
[NTFS] - Allow for resizing an attribute in the middle of a file record. Add a helper function and minor improvements:
AddRun() - Allow for resizing the size of the data runs when the attribute isn't the last in the file record. Fix some comments.
CreateIndexBufferFromBTreeNode(), CreateIndexRootFromBTree - Fix math of IndexSize when checking if the index buffer is too large.
InternalSetResidentAttributeLength() - Allow changing the length of an attribute in the middle of a file record. Adjust the position of every attribute after the one being resized.
+MoveAttributes() - Moves a block of attributes to a new location in the file Record.
PrintAllVCNs() - Add consideration for an index allocation with a size of 0.
WriteAttribute() - Add optional parameter for a pointer to the file record being written to. If passed a file record, WriteAttribute() will skip reading the file record from disk, and will update the file record in memory before returning. This helps callers that use the file record after writing an attribute to stay in-sync with what's on disk.

svn path=/branches/GSoC_2016/NTFS/; revision=75554