3 years agoFixed typo
Peter Wathall [Mon, 30 Apr 2018 00:16:45 +0000 (00:16 +0000)]
Fixed typo

3 years ago[FASTFAT] Deny dismounting system volume or a volume with a pagefile
Pierre Schweitzer [Wed, 16 May 2018 19:44:47 +0000 (21:44 +0200)]
[FASTFAT] Deny dismounting system volume or a volume with a pagefile

3 years ago[USETUP] Remove the WIN32 support because usetup is a native-only application
Eric Kohl [Tue, 15 May 2018 21:35:17 +0000 (23:35 +0200)]
[USETUP] Remove the WIN32 support because usetup is a native-only application

3 years ago[USETUP] Disable install path test that may tests
Eric Kohl [Tue, 15 May 2018 20:58:34 +0000 (22:58 +0200)]
[USETUP] Disable install path test that may tests

3 years ago[USETUP] Remove unused VolumeLabel and FileSystemName from the PARTENTRY type
Eric Kohl [Tue, 15 May 2018 18:02:04 +0000 (20:02 +0200)]
[USETUP] Remove unused VolumeLabel and FileSystemName from the PARTENTRY type

3 years ago[USETUP] Get rid of the interface directory because we support text-mode only
Eric Kohl [Tue, 15 May 2018 17:47:52 +0000 (19:47 +0200)]
[USETUP] Get rid of the interface directory because we support text-mode only

3 years ago[USETUP] Simplify the unattended code path in the install directory page and verify...
Eric Kohl [Tue, 15 May 2018 16:11:12 +0000 (18:11 +0200)]
[USETUP] Simplify the unattended code path in the install directory page and verify the unattended install path.

3 years ago[USETUP] Improve the install path checks
Eric Kohl [Tue, 15 May 2018 13:45:31 +0000 (15:45 +0200)]
[USETUP] Improve the install path checks

- Path must not contain whitespace characters.
- Path must be at least 2 characters long.
- Path must start with a backslash.
- Path must not end with a backslash.
- Path components must not end with a dot.


3 years ago[USETUP] Add support for HOME, END, DEL, LEFT and RIGHT keys to partition size and...
Eric Kohl [Tue, 15 May 2018 09:28:33 +0000 (11:28 +0200)]
[USETUP] Add support for HOME, END, DEL, LEFT and RIGHT keys to partition size and install path edit fields.


3 years ago[USETUP] Fix the name of the backspace key in the german translation
Eric Kohl [Mon, 14 May 2018 21:35:48 +0000 (23:35 +0200)]
[USETUP] Fix the name of the backspace key in the german translation


3 years ago[NDIS] Fix parameter order when calling ResetHandler. CORE-14624
Thomas Faber [Mon, 14 May 2018 16:16:02 +0000 (18:16 +0200)]
[NDIS] Fix parameter order when calling ResetHandler. CORE-14624

3 years ago[CLIPBRD] Improvements for the Clipboard Viewer.
Hermès Bélusca-Maïto [Sun, 13 May 2018 20:15:41 +0000 (22:15 +0200)]
[CLIPBRD] Improvements for the Clipboard Viewer.

- Improve the scrolling support for bitmaps, DIBs and text formats.
  This completes the work started in CORE-10679 by Ricardo Hanke.
  Includes scrolling with the keyboard and the mouse wheel.
- Add support for the CF_DSP* clipboard formats, as well as CF_TEXT
- Add support for owner-display clipboard format CF_OWNERDISPLAY.
- Realize any palette found in the clipboard (CF_PALETTE) before
  displaying the clipboard data format we want.
- Remove dead code.
- Update the file headers.

3 years agoAdd virtio drivers to
Andrew Cook [Sun, 13 May 2018 04:56:44 +0000 (14:56 +1000)]
Add virtio drivers to

qxl has some visual glitches, viostor loads but it seems reactos
doesn't support scsi disks yet

3 years ago[SHELL32] In #543, I forgot sq-AL.rc and sv-SE.rc
Katayama Hirofumi MZ [Sat, 12 May 2018 14:33:01 +0000 (23:33 +0900)]
[SHELL32] In #543, I forgot sq-AL.rc and sv-SE.rc

3 years ago[shell32] add some control IDs for IDD_FOLDER_OPTIONS_FILETYPES
Katayama Hirofumi MZ [Sat, 12 May 2018 12:06:13 +0000 (21:06 +0900)]
[shell32] add some control IDs for IDD_FOLDER_OPTIONS_FILETYPES

3 years ago[LDR] Initial verifier implementation 530/head
Mark Jansen [Fri, 27 Apr 2018 20:43:45 +0000 (22:43 +0200)]
[LDR] Initial verifier implementation

3 years ago[VERIFIER] Add skeleton provider.
Mark Jansen [Thu, 26 Apr 2018 22:05:21 +0000 (00:05 +0200)]
[VERIFIER] Add skeleton provider.

3 years ago[SDK] Add initial verifier header.
Mark Jansen [Thu, 26 Apr 2018 22:05:06 +0000 (00:05 +0200)]
[SDK] Add initial verifier header.

3 years ago[SDK] Correct NtGlobalFlag names.
Mark Jansen [Thu, 26 Apr 2018 20:54:23 +0000 (22:54 +0200)]
[SDK] Correct NtGlobalFlag names.

3 years ago[SETUPAPI] SetupDiCallClassInstaller: Use the class GUID enclosed in curly brackets...
Eric Kohl [Sat, 12 May 2018 10:42:56 +0000 (12:42 +0200)]
[SETUPAPI] SetupDiCallClassInstaller: Use the class GUID enclosed in curly brackets as a sub key name to retrieve the class co-installer.

3 years ago[BOOTDATA] Register the CriticalDeviceCoInstaller for the keyboard device class
Eric Kohl [Sat, 12 May 2018 10:38:27 +0000 (12:38 +0200)]
[BOOTDATA] Register the CriticalDeviceCoInstaller for the keyboard device class

3 years ago[FASTFAT] Implement support for stack overflow in read operations.
Pierre Schweitzer [Sat, 12 May 2018 10:00:09 +0000 (12:00 +0200)]
[FASTFAT] Implement support for stack overflow in read operations.

Before performing a read operation, FastFAT driver will
attempt to compute whether it would run out of stack
during the operation. If so, instead of attempting the
operation in the current thread, it will post the read
request to the overflow thread.

This should help with the regressions brought in by


3 years ago[USBPORT] Fix x64 build.
Thomas Faber [Sat, 12 May 2018 07:42:52 +0000 (09:42 +0200)]
[USBPORT] Fix x64 build.

3 years ago[INETCPL] Fix a typo in Romanian resource file
Bișoc George [Fri, 11 May 2018 18:28:44 +0000 (20:28 +0200)]
[INETCPL] Fix a typo in Romanian resource file

3 years ago[USBPORT][USBOHCI_NEW] Avoid using pointers for physical addresses.
Vadim Galyant [Fri, 11 May 2018 13:34:49 +0000 (15:34 +0200)]
[USBPORT][USBOHCI_NEW] Avoid using pointers for physical addresses.

3 years ago[USBOHCI_NEW] Fix build.
Thomas Faber [Fri, 11 May 2018 13:42:19 +0000 (15:42 +0200)]
[USBOHCI_NEW] Fix build.

3 years ago[BOOTDATA] Add settings for the Latvian (QUERTY) keyboard layout (disabled)
Eric Kohl [Thu, 10 May 2018 15:13:04 +0000 (17:13 +0200)]
[BOOTDATA] Add settings for the Latvian (QUERTY) keyboard layout (disabled)

3 years ago[USETUP] Use an existing latvian keyboard layout
Eric Kohl [Thu, 10 May 2018 14:18:04 +0000 (16:18 +0200)]
[USETUP] Use an existing latvian keyboard layout

Use the existing Latvian keyboard layout instead of the Latvian (QUERTY) keyboard layout, which it not implemented yet.


3 years ago[BOOTDATA] Remove superfluous quotation marks
Eric Kohl [Thu, 10 May 2018 14:03:59 +0000 (16:03 +0200)]
[BOOTDATA] Remove superfluous quotation marks

3 years ago[NTOSKRNL] Fix FsRtlStackOverflow work item free.
Pierre Schweitzer [Thu, 10 May 2018 08:33:05 +0000 (10:33 +0200)]
[NTOSKRNL] Fix FsRtlStackOverflow work item free.

Oneliner of the day... This typo just prevented the
whole feature to work properly. Because any allocated
work item would miserably fail to be freed.

This will obviously help real world FSD relying on
StackOverflow worker from FsRtl to work better!


3 years ago[AUTOCHK] Statically link to FS libs.
Pierre Schweitzer [Fri, 4 May 2018 19:35:25 +0000 (21:35 +0200)]
[AUTOCHK] Statically link to FS libs.

This will help reducing the number of handles open.


3 years ago[FSLIB] Add headers for our FS libs.
Pierre Schweitzer [Fri, 4 May 2018 19:34:27 +0000 (21:34 +0200)]
[FSLIB] Add headers for our FS libs.


3 years ago[COMCTL32] Update Romanian translation (#538)
Bișoc George [Tue, 8 May 2018 21:06:33 +0000 (23:06 +0200)]
[COMCTL32] Update Romanian translation (#538)

3 years ago[APPSHIM_APITEST] Fix a Clang-Cl warning about n
Serge Gautherie [Tue, 17 Apr 2018 11:26:33 +0000 (13:26 +0200)]
[APPSHIM_APITEST] Fix a Clang-Cl warning about n

- "warning: comparison of unsigned expression >= 0 is always true [-Wtautological-unsigned-zero-compare]"


3 years agoReflect latest release versions in
Alexander Shaposhnikov [Tue, 8 May 2018 07:24:26 +0000 (10:24 +0300)]
Reflect latest release versions in

Should have updated this a month ago, oops!

3 years ago[DEVMGR] Fix a Clang-Cl warning about DriverInfoDetailData.SectionName
Serge Gautherie [Fri, 4 May 2018 21:04:14 +0000 (23:04 +0200)]
[DEVMGR] Fix a Clang-Cl warning about DriverInfoDetailData.SectionName

"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"


3 years ago[IDL][NETAPI32][SRVSVC] Hack around another midl/rpcrt4 bug
Eric Kohl [Sun, 6 May 2018 14:49:24 +0000 (16:49 +0200)]
[IDL][NETAPI32][SRVSVC] Hack around another midl/rpcrt4 bug

NETAPI32: Get rid of the old WINE NetServerGetInfo and replace it by a proper call to NetrServerGetInfo.
SRVSVC: Implement parts of NetrServerGetInfo.
srvsvc.idl: Hack around a bug in midl or rpcrt4. They are not able to handle a pointer to a union of pointers to structs. A pointer to a union of structs works a advertised.

3 years ago[IPHLPAPI_APITEST] Avoid crash on ROS and failure on Windows. CORE-14411
Thomas Faber [Sun, 6 May 2018 06:24:26 +0000 (08:24 +0200)]
[IPHLPAPI_APITEST] Avoid crash on ROS and failure on Windows. CORE-14411

- Make the reply buffer for IcmpSendEcho large enough to hold the reply,
  even when testing a smaller size. This avoids a buffer overflow with ROS's
  broken implementation.
- Avoid unnecessary initialization.
- Fix IcmpSendEcho return value check to succeed on Win2003.
- Don't free a string literal in the GetInterfaceName test.

3 years ago[BOOTDATA][SHELL32] Add some recognized file extensions (.db, .efi, .nls, .ocx, ...
Hermès Bélusca-Maïto [Sat, 5 May 2018 20:20:21 +0000 (22:20 +0200)]
[BOOTDATA][SHELL32] Add some recognized file extensions (.db, .efi, .nls, .ocx, .tlb, .nt), and update some reported MIME types.

3 years ago[IDL] srvsvc.idl: Fix the definition of Opnum29NotUsedOnWire
Eric Kohl [Sat, 5 May 2018 13:32:05 +0000 (15:32 +0200)]
[IDL] srvsvc.idl: Fix the definition of Opnum29NotUsedOnWire

Opnum29NotUsedOnWire is actually called NetrServerSetServiceBits.

3 years ago[CONUTILS] Use the currently active console codepage to output text to files. If...
Hermès Bélusca-Maïto [Fri, 4 May 2018 23:36:19 +0000 (01:36 +0200)]
[CONUTILS] Use the currently active console codepage to output text to files. If you want to output UTF-8 run "chcp 65001" before.

3 years ago[DESK.CPL] Fix a Clang-Cl warning about "LogPixels"
Serge Gautherie [Fri, 4 May 2018 17:10:57 +0000 (19:10 +0200)]
[DESK.CPL] Fix a Clang-Cl warning about "LogPixels"

"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"


3 years ago[UMPNPMGR] Fix a Clang-Cl warning about "CSConfigFlags"
Serge Gautherie [Fri, 4 May 2018 04:15:37 +0000 (06:15 +0200)]
[UMPNPMGR] Fix a Clang-Cl warning about "CSConfigFlags"

"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"


3 years ago[ZIPFLDR] Add German translation
Robert Naumann [Fri, 4 May 2018 19:32:12 +0000 (21:32 +0200)]
[ZIPFLDR] Add German translation

3 years ago[DRWTSN32] Add German translation
Robert Naumann [Fri, 4 May 2018 19:31:48 +0000 (21:31 +0200)]
[DRWTSN32] Add German translation

3 years ago[NTFS] Fix 2 Clang-Cl warnings about CurrentKey->IndexEntry->Flags
Serge Gautherie [Fri, 4 May 2018 04:03:41 +0000 (06:03 +0200)]
[NTFS] Fix 2 Clang-Cl warnings about CurrentKey->IndexEntry->Flags

"warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]"


3 years ago[REACTOS] Update simplified chinese translation (#529)
Wexpo Lyu [Thu, 3 May 2018 09:53:19 +0000 (17:53 +0800)]
[REACTOS] Update simplified chinese translation (#529)

Minor updates fixing grammar, spacing and typos.

3 years ago[CMAKE] USE_CLANG_CL: Add "-Wno-parentheses-equality"
Serge Gautherie [Fri, 20 Apr 2018 21:26:39 +0000 (23:26 +0200)]
[CMAKE] USE_CLANG_CL: Add "-Wno-parentheses-equality"

Silence some "code style" warnings.


3 years ago[ADVAPI32] Fix 2 TRACE() format copypastas.
Serge Gautherie [Mon, 23 Apr 2018 12:33:29 +0000 (14:33 +0200)]
[ADVAPI32] Fix 2 TRACE() format copypastas.

3 years ago[NTOSKRNL] Optimize a bit deferred writes.
Pierre Schweitzer [Wed, 2 May 2018 21:30:10 +0000 (23:30 +0200)]
[NTOSKRNL] Optimize a bit deferred writes.

In the lazy writer run, first post items that are queued for this.
Only then, start executing deferred writes if any.
If there were any, reschedule immediately a lazy writer run, to keep
Cc warm and to make it unqueue write faster in case of high IOs situation.
To make second lazy writer run happen faster, we keep our state active to
use short delay (1s) instead of standard idle (3s).

3 years ago[ADVAPI32] SEH-protext the calls to service control handlers
Eric Kohl [Wed, 2 May 2018 21:24:26 +0000 (23:24 +0200)]
[ADVAPI32] SEH-protext the calls to service control handlers

- SEH-protext the calls to service control handlers.
- Return ERROR_EXCEPTION_IN_SERVICE if a service control handler throws an exception.
- Return ERROR_SERVICE_CANNOT_ACCEPT_CTRL if no service control handler has been registered for the service.

3 years ago[WINLOGON] Update simplified chinese translation (#528)
Wexpo Lyu [Wed, 2 May 2018 12:12:59 +0000 (20:12 +0800)]
[WINLOGON] Update simplified chinese translation (#528)

3 years ago[WINLOGON] Delimit the custom system shutdown message within a read-only edit control.
Hermès Bélusca-Maïto [Tue, 1 May 2018 22:21:28 +0000 (00:21 +0200)]
[WINLOGON] Delimit the custom system shutdown message within a read-only edit control.

3 years ago[SHUTDOWN] Actually all shutdown.exe utilities from all Windows (>= XP) versions...
Hermès Bélusca-Maïto [Tue, 1 May 2018 21:41:41 +0000 (23:41 +0200)]
[SHUTDOWN] Actually all shutdown.exe utilities from all Windows (>= XP) versions (and not just Vista+) support a comment string of up to 512, *EVEN IF* they mention in their help message that the comment can only be up to 127 characters long. I have really tested that ;-) (And what is more, shutdown's utility from Whistler support an arbitrary comment length!) So here I remove the code that imposes this limit and I just check for no more than 512 characters. I also fix an out-of-bounds check for argv.

3 years ago[MSGINA] Fix layout of the security dialog box; add some french translation.
Hermès Bélusca-Maïto [Tue, 1 May 2018 20:42:14 +0000 (22:42 +0200)]
[MSGINA] Fix layout of the security dialog box; add some french translation.

3 years ago[SERVICES] Implement RI_ScSetServiceBitsA/W
Eric Kohl [Tue, 1 May 2018 19:33:37 +0000 (21:33 +0200)]
[SERVICES] Implement RI_ScSetServiceBitsA/W

- RI_ScSetServiceBitsA: Just call RI_ScSetServiceBitsW.
- RI_ScSetServiceBitsW: Store the service bits in the service list entry.
TODO: Merge all service bits in a global variable and pass it to the server service. Maybe use netapi.I_NetServerSetServiceBits(Ex)?

3 years ago[TRANSLATION] Minor translation update.
Hermès Bélusca-Maïto [Tue, 1 May 2018 14:56:08 +0000 (16:56 +0200)]
[TRANSLATION] Minor translation update.

3 years ago[SHELL32] Fix the layout of the Run/Execute dialog for many languages.
Hermès Bélusca-Maïto [Tue, 1 May 2018 14:21:42 +0000 (16:21 +0200)]
[SHELL32] Fix the layout of the Run/Execute dialog for many languages.

French fix covers CORE-12548.

3 years ago[README] Restore the UTF-8 BOM as it otherwise does not behave well with
Hermès Bélusca-Maïto [Sun, 29 Apr 2018 21:17:57 +0000 (23:17 +0200)]
[README] Restore the UTF-8 BOM as it otherwise does not behave well with
ReactOS' Notepad.

This reverts commit 3d012a44059ddc6ea0f18fc4e958244db6246706.

3 years ago[SRVSVC][WKSSVC] Server and workstation service set their service bit when they are...
Eric Kohl [Tue, 1 May 2018 14:37:48 +0000 (16:37 +0200)]
[SRVSVC][WKSSVC] Server and workstation service set their service bit when they are running

3 years ago[IDL] Fix redefinition of server types when lmserver.h is included too
Eric Kohl [Tue, 1 May 2018 13:41:13 +0000 (15:41 +0200)]
[IDL] Fix redefinition of server types when lmserver.h is included too

3 years ago[SDK] Improve lmserver.h
Eric Kohl [Tue, 1 May 2018 13:39:29 +0000 (15:39 +0200)]
[SDK] Improve lmserver.h

- Fix the calling convention of SetServiceBits().

3 years ago[DRWTSN32] Add French translation.
Pierre Schweitzer [Tue, 1 May 2018 10:19:17 +0000 (12:19 +0200)]
[DRWTSN32] Add French translation.

3 years ago[NTOKSNRL] Always flush dirty VACB.
Pierre Schweitzer [Mon, 30 Apr 2018 20:19:17 +0000 (22:19 +0200)]
[NTOKSNRL] Always flush dirty VACB.

Recent changes seem to show that it's not
required to be exclusive on VACB to be able
to flush it.

This commit goes with f2c44aa and fixes the
last issues going with copying huge files.
There are no longer BSODs (be it in Mm or Cc).
I could, with 750MB RAM extract a 2GB file from
a 53MB archive and copy a 2,5GB file from a VBox
share to the disk. Note that writes are often
deferred, so if copy works, it's not that fast for now.

Note that it also brings some beloved behavior from
Windows: copy times are totally unreliable now when
writes are deferred. Little remaining times when
actively copying, high remaining times when deferred
writes in action. And goes between both... Sorry! ;-)


3 years ago[SDK] Add description to MANUALLY_INITIATED_CRASH (#509)
David Knapp [Mon, 30 Apr 2018 10:55:34 +0000 (06:55 -0400)]
[SDK] Add description to MANUALLY_INITIATED_CRASH (#509)

3 years ago[NTOSKRNL] Free unused VACB when required.
Pierre Schweitzer [Mon, 30 Apr 2018 10:10:24 +0000 (12:10 +0200)]
[NTOSKRNL] Free unused VACB when required.

Same mechanism exists in Windows (even their Cc
is way different from ours...) where when Cc is
out of memory (in their case, out of VACB), we
will start scavenge old & unused VACB to free
some of the memory.

It's useful in case we're operating we big files
operations, we may run out of memory where to map
VACB for them, so start to scavenge VACB to free
some of that memory.

With this, I am able to install Qt 4.8.6 with 2,5GB of RAM,
scavenging acting when needed!


3 years ago[NTOSKRNL] Unmark dirty first, and then write.
Pierre Schweitzer [Mon, 30 Apr 2018 08:36:19 +0000 (10:36 +0200)]
[NTOSKRNL] Unmark dirty first, and then write.

This will avoid trying to flush twice a dirty VACB under
high IOs pressure.


3 years ago[FASTFAT] Implement write IOs defering.
Pierre Schweitzer [Sun, 29 Apr 2018 18:42:24 +0000 (20:42 +0200)]
[FASTFAT] Implement write IOs defering.

Before any write operation that would involve caching, ask
the cache controler whether writing would make it exceed its memory
consumption. If so, queue the write operation for later execution.

In case the write operation can wait, then, the FSD operation will be
halted until the write is allowed.

I could test it successfully by copying huge files from a FAT volume to
another. The write is halted until some portions of the file is written
to the disk.
I could also properly install Qt (SDK) on ReactOS with this and less than 1GB RAM:


3 years ago[NTOSKRNL] Fix lazy writer for in-use VACB.
Pierre Schweitzer [Sun, 29 Apr 2018 18:34:28 +0000 (20:34 +0200)]
[NTOSKRNL] Fix lazy writer for in-use VACB.

Adjusting refcount and enabling lazy-write for pinned
VACB makes it actually more efficient, often purging
data to disk, reducing memory stress for the system.

This is required for defering writes.

This commit unfortunately (?) reverts a previous revert.


3 years ago[MODE] Improve the way the DOS device statuses are enumerated via the "mode" command...
Hermès Bélusca-Maïto [Sun, 29 Apr 2018 17:33:49 +0000 (19:33 +0200)]
[MODE] Improve the way the DOS device statuses are enumerated via the "mode" command (without parameters).

3 years ago[WINLOGON] Update french translation of the system shutdown dialog.
Hermès Bélusca-Maïto [Sun, 29 Apr 2018 15:19:14 +0000 (17:19 +0200)]
[WINLOGON] Update french translation of the system shutdown dialog.

3 years ago[WINLOGON] Add german translation of the system shutdown dialog
Eric Kohl [Sun, 29 Apr 2018 15:44:41 +0000 (17:44 +0200)]
[WINLOGON] Add german translation of the system shutdown dialog

3 years ago[WINLOGON] Localize the shutdown timeout
Eric Kohl [Sun, 29 Apr 2018 15:09:37 +0000 (17:09 +0200)]
[WINLOGON] Localize the shutdown timeout

3 years ago[MODE] Use more translated strings. CORE-12178
Hermès Bélusca-Maïto [Sun, 29 Apr 2018 14:56:33 +0000 (16:56 +0200)]
[MODE] Use more translated strings. CORE-12178

3 years ago[SYSSETUP] Close the device key after the property sheet page has been released.
Eric Kohl [Sun, 29 Apr 2018 13:41:03 +0000 (15:41 +0200)]
[SYSSETUP] Close the device key after the property sheet page has been released.

3 years ago[CALC][CLIPBRD][SOLITAIRE][SPIDER][NOTEPAD][REGEDIT][TASKMGR] Disable help menu/button
Bișoc George [Tue, 24 Apr 2018 17:58:46 +0000 (19:58 +0200)]

3 years ago[SYSSETUP] Read driver settings from and write them to the registry
Eric Kohl [Sun, 29 Apr 2018 12:55:57 +0000 (14:55 +0200)]
[SYSSETUP] Read driver settings from and write them to the registry

- Read the driver settings from the registry.
- Write the driver settings to the registry.
- Make the read-only edit control for the input buffer length look like a non-read-only one because it is controlled by the up-down control.

3 years ago[FASTFAT] Reduce the number of local declaration.
Pierre Schweitzer [Sun, 29 Apr 2018 10:33:53 +0000 (12:33 +0200)]
[FASTFAT] Reduce the number of local declaration.

3 years ago[SDK] Enforce callback type for KdRosRegisterCliCallback(), KdRosDeregisterCliCallback().
Pierre Schweitzer [Sun, 29 Apr 2018 10:33:14 +0000 (12:33 +0200)]
[SDK] Enforce callback type for KdRosRegisterCliCallback(), KdRosDeregisterCliCallback().

3 years ago[FASTFAT] Use KdRosRegisterCliCallback() to register in KDBG.
Pierre Schweitzer [Sun, 29 Apr 2018 10:23:18 +0000 (12:23 +0200)]
[FASTFAT] Use KdRosRegisterCliCallback() to register in KDBG.

3 years ago[SDK] Make KdRosRegisterCliCallback() return status from KdSystemDebugControl().
Pierre Schweitzer [Sun, 29 Apr 2018 10:19:21 +0000 (12:19 +0200)]
[SDK] Make KdRosRegisterCliCallback() return status from KdSystemDebugControl().

3 years ago[FASTFAT] Introduce a KDBG extension.
Pierre Schweitzer [Sat, 28 Apr 2018 07:34:10 +0000 (09:34 +0200)]
[FASTFAT] Introduce a KDBG extension.

This is a PoC of what it's possible to realize thanks to an
already existing hack in ntoskrnl :-).
With this extension, on the kdb:> prompt, you're able to type
in commands that will be handled by the FastFAT driver and not
by the kernel, allowing internal debug, not possible otherwise.

So far, three commands exist:
- ?fat.vols: lists all the mounted volumes by FastFAT
- ?fat.files: lists all the files on a specific volume (with their attributes)
- ?fat.setdbgfile: allows watching on specifics files lifetime

This is obviously only the begin and could be greatly improved.

For instance, this is what allowed to debug CORE-14557

3 years ago[WINLOGON] Usability enhancement for the RPC SystemShutdown functionality.
Hermès Bélusca-Maïto [Sat, 28 Apr 2018 16:14:53 +0000 (18:14 +0200)]
[WINLOGON] Usability enhancement for the RPC SystemShutdown functionality.

- Perform an immediate system shutdown if the timeout is zero, otherwise
  display the countdown shutdown dialog.
- Cleanup pShutdownParams->pszMessage as soon as the dialog goes away.
- It actually appears (tested on Windows 2000 and 2003) that sending
  WM_CLOSE messages from a user-mode app to the shutdown dialog really
  do nothing (and in particular does not cancel the shutdown!), so modify
  the code to take this fact into account.

3 years ago[CMD] Improve how the command prompt displays when one presses Ctrl-C/break after...
Hermès Bélusca-Maïto [Sat, 28 Apr 2018 22:57:16 +0000 (00:57 +0200)]
[CMD] Improve how the command prompt displays when one presses Ctrl-C/break after having pressed ENTER, or after a command has been run.

3 years ago[CMD] Don't reset bCtrlBreak too early.
Hermès Bélusca-Maïto [Sat, 28 Apr 2018 22:53:49 +0000 (00:53 +0200)]
[CMD] Don't reset bCtrlBreak too early.

This allows to break commands such as:

C:\ReactOS\system32> for %f in (*.*) do dir

as one would expect: stop the currently running 'dir' and the 'for'.
"bCtrlBreak" doesn't need to be volatile too.

3 years ago[CMD] Use CheckCtrlBreak().
Hermès Bélusca-Maïto [Sat, 28 Apr 2018 22:50:40 +0000 (00:50 +0200)]
[CMD] Use CheckCtrlBreak().

3 years ago[CMD] Use _T() rather than L to initialise TCHARS.
James Woodcock [Fri, 27 Apr 2018 18:01:17 +0000 (19:01 +0100)]
[CMD] Use _T() rather than L to initialise TCHARS.

3 years ago[CMD] Fix CTRL-C handling.
James Woodcock [Fri, 27 Apr 2018 15:15:38 +0000 (16:15 +0100)]
[CMD] Fix CTRL-C handling.

Using CTRL-C to cancel command line input would leave the prompt in
a state where the next command would be ignored.  For example:


would cause cmd.exe to ignore the second dir command.

3 years ago[CMD] Don't pass CTRL-C to child processes.
James Woodcock [Fri, 27 Apr 2018 15:12:23 +0000 (16:12 +0100)]
[CMD] Don't pass CTRL-C to child processes.

The standard Win32 Console Control Handler will give CTRL-C events to
processes spawned from cmd.exe. If cmd.exe calls GenerateConsolCtrlEvent()
then the child process will receive two CTRL-C events.

3 years ago[FASTFAT] Don't leak directories FILE_OBJECT, FCB and cache entries. 524/head
Pierre Schweitzer [Thu, 26 Apr 2018 16:25:19 +0000 (18:25 +0200)]
[FASTFAT] Don't leak directories FILE_OBJECT, FCB and cache entries.

Once a directory is crossed (opened or a child is opened), associated
FCB structure is created in FastFAT, but also a stream FO for caching.
Up to now, due to an extra reference taken by the stream file object,
even when the directory was no longer used, the directory was kept in
memory: the FCB was never deleted, the file object was never dereferenced,
and the cache never released.

The immediate effect of this bug is that our FAT driver was leaking every
directory that was used affecting the whole OS situation. In case of
directories intensive operation (like extraction the ReactOS source code
in ReactOS ;-)), we were just killin the whole OS RAM without any way to
release it and recover.

The other side effects: IOs were faster as half of the FS was always
permanant in RAM.

This commit fixes the issue by forcing the FSD to release the FO,
and the cache when a directory is no longer used, leading to its
destruction in RAM.
Downside: on IO intensive operation, expect slowdowns, obviously,
there's less caching now. But more efficient!


3 years ago[NTOSKRNL] Also try to extract name from FCB when leaking VACB
Pierre Schweitzer [Fri, 27 Apr 2018 17:01:35 +0000 (19:01 +0200)]
[NTOSKRNL] Also try to extract name from FCB when leaking VACB

3 years ago[NTOSKRNL] In !filecache, try to display FCB name
Pierre Schweitzer [Fri, 27 Apr 2018 16:57:30 +0000 (18:57 +0200)]
[NTOSKRNL] In !filecache, try to display FCB name

When no name is set in the file object, try to read the name
from the FCB. We only support FastFAT (ours) FCB for now.

This is clearly a hack, but for a kdbg command, so ;-)

3 years ago[FASTFAT] When allocating a FCB, set its node type code.
Pierre Schweitzer [Fri, 27 Apr 2018 16:56:31 +0000 (18:56 +0200)]
[FASTFAT] When allocating a FCB, set its node type code.

We set the same value as MS FastFAT driver for consistency.

3 years ago[NTOSKNRL] In case we leak a VACB, debug as much information as possible.
Pierre Schweitzer [Fri, 27 Apr 2018 12:14:56 +0000 (14:14 +0200)]
[NTOSKNRL] In case we leak a VACB, debug as much information as possible.


3 years ago[NTOSKRNL] Noisily dereference mapped VACB on cache release.
Pierre Schweitzer [Fri, 27 Apr 2018 08:23:06 +0000 (10:23 +0200)]
[NTOSKRNL] Noisily dereference mapped VACB on cache release.

It seems that on process killing, some VACB may be deleted while
still mapped. With current reference counting, they will actually
not be deleted, but leaked, and an ASSERT will be triggered.


3 years ago[MSXML3] Fix buffer overflow in BindStatusCallback_GetBindInfo. CORE-14570
Thomas Faber [Thu, 26 Apr 2018 12:59:21 +0000 (14:59 +0200)]
[MSXML3] Fix buffer overflow in BindStatusCallback_GetBindInfo. CORE-14570

3 years agoCorrectly bugcheck if we aren't returning a usermode thread (#506)
Jason Johnson [Tue, 24 Apr 2018 22:07:02 +0000 (18:07 -0400)]
Correctly bugcheck if we aren't returning a usermode thread (#506)

Cause a corresponding bug check to occur for the reason of the user context flag being zero (a system thread), instead of using DbgBreakPoint.

3 years agoRemoved unreachable line (#517)
Peter Wathall [Tue, 24 Apr 2018 20:35:23 +0000 (20:35 +0000)]
Removed unreachable line (#517)

The break statement was unnecessary because the goto on the line before it returns from the routine so it can never be reached

3 years ago[SYSSETUP] PS2MousePropPageProvider: Use the UDN_DELTAPOS notification to change...
Eric Kohl [Mon, 23 Apr 2018 21:58:07 +0000 (23:58 +0200)]
[SYSSETUP] PS2MousePropPageProvider: Use the UDN_DELTAPOS notification to change the input buffer size in steps of 10

3 years ago[MSPAINT] Fix crash on zoom out
Stanislav Motylkov [Sat, 14 Apr 2018 12:42:34 +0000 (15:42 +0300)]
[MSPAINT] Fix crash on zoom out

- Check the denominator for zero for both zoomed width and height.
- Do not allow to move zoom slider above possible position.
- Move commonly used `zoomTo` function into new header file.