17 months ago[SYSDM] Allow deleting and copying of user profiles only for profiles that are curren...
Eric Kohl [Sat, 14 Sep 2019 10:21:56 +0000 (12:21 +0200)]
[SYSDM] Allow deleting and copying of user profiles only for profiles that are currently not in use

Pierre Schweitzer [Sat, 14 Sep 2019 08:48:19 +0000 (10:48 +0200)]

17 months ago[MOUNTMGR] Properly enumerate pending IRPs on cleanup
Pierre Schweitzer [Sat, 14 Sep 2019 07:41:47 +0000 (09:41 +0200)]
[MOUNTMGR] Properly enumerate pending IRPs on cleanup


17 months ago[MOUNTMGR] Fix MountState usage in MountMgrTargetDeviceNotification
Pierre Schweitzer [Fri, 13 Sep 2019 18:04:53 +0000 (20:04 +0200)]
[MOUNTMGR] Fix MountState usage in MountMgrTargetDeviceNotification


17 months ago[MOUNTMGR] Fix broken check
Pierre Schweitzer [Fri, 13 Sep 2019 17:55:53 +0000 (19:55 +0200)]
[MOUNTMGR] Fix broken check

Only mark volume mounted if it's not waiting for unloading


17 months ago[SDK] Define DO_UNLOAD_PENDING
Pierre Schweitzer [Fri, 13 Sep 2019 17:55:06 +0000 (19:55 +0200)]

Based on:


17 months ago[GDI32_APITEST] Fix AddFontResource test (#1901)
Timo Kreuzer [Fri, 13 Sep 2019 15:25:20 +0000 (17:25 +0200)]
[GDI32_APITEST] Fix AddFontResource test (#1901)

This commit uses GetCurrentDirectoryA rather than GetWindowsDirectoryA for convenience.

17 months ago[FREELDR] Minor code style - use RtlZeroMemory(); shorter member name; use different... 1906/head
Hermès Bélusca-Maïto [Fri, 13 Sep 2019 12:35:16 +0000 (14:35 +0200)]
[FREELDR] Minor code style - use RtlZeroMemory(); shorter member name; use different debug channel.

17 months ago[FREELDR] Limit the usage of DiskStopFloppyMotor() in hardware/platform-specific...
Hermès Bélusca-Maïto [Fri, 13 Sep 2019 12:02:44 +0000 (14:02 +0200)]
[FREELDR] Limit the usage of DiskStopFloppyMotor() in hardware/platform-specific code.

- Move DiskStopFloppyMotor() calls into the implementations of
  Boot(New)LinuxKernel() and Reboot() HW functions, and the explanation
  comments in ChainLoadBiosBootSectorCode().

- Remove unneeded DiskStopFloppyMotor() dummies in ARM and PPC code.

- Use more adequate bitmask value to be sent to floppy's Digital Output
  Register for shutting down its motor (based on OSDev & our floppy
  controller driver).

17 months ago[FREELDR] Other enhancements.
Hermès Bélusca-Maïto [Fri, 13 Sep 2019 00:14:22 +0000 (02:14 +0200)]
[FREELDR] Other enhancements.

- Add optional arguments BootDrive and BootPartition to
  ChainLoadBiosBootSectorCode() so as not to modify explicitly the
  FrldrBootDrive and FrldrBootPartition variables, that should remain
  purely internal.

- Implement ChainLoadBiosBootSectorCode() for x64.

- Get rid of the machine-specific DiskGetBootPath(), and instead do its
  job only once in the machine-specific InitializeBootDevices() (or in
  MachInit() for PPC).
  Cache the result of this operation into the globally-accessible
  FrldrBootPath buffer. This avoids the unneeded calls to (Mach)DiskGetBootPath()
  we used to do before.
  Also remove the separate distinction between the PC and XBOX versions
  of this functionality.

- Move the PC-specific DiskIsDriveRemovable() and DiskGetBootPath()
  as well as the disk-IO-error functionality, back into the
  corresponding PC-arch files.

- Simplify IniFileInitialize(), getting rid of IniOpenIniFile().

17 months ago[WIN32SS][NTUSER] Fix debug print in winpos.c (#1893)
Stanislav Motylkov [Thu, 12 Sep 2019 13:53:29 +0000 (16:53 +0300)]
[WIN32SS][NTUSER] Fix debug print in winpos.c (#1893)

17 months ago[SYSDM] Show the profile type (local or roaming) in the type column, show the other...
Eric Kohl [Thu, 12 Sep 2019 08:23:33 +0000 (10:23 +0200)]
[SYSDM] Show the profile type (local or roaming) in the type column, show the other profile states in the status column

17 months ago[SYSDM] Improvements to the user profile size format
Eric Kohl [Wed, 11 Sep 2019 13:12:26 +0000 (15:12 +0200)]
[SYSDM] Improvements to the user profile size format

17 months ago[SYSDM] Calculate and display the size of the user profiles
Eric Kohl [Wed, 11 Sep 2019 08:14:02 +0000 (10:14 +0200)]
[SYSDM] Calculate and display the size of the user profiles

17 months ago[SYSDM] Remove unused variables
Eric Kohl [Tue, 10 Sep 2019 13:38:29 +0000 (15:38 +0200)]
[SYSDM] Remove unused variables

Thanks a lot Katayama Hirofumi for the hint!

17 months ago[SYSDM] Check the profile directory and hive file and display the last write date...
Eric Kohl [Tue, 10 Sep 2019 11:39:20 +0000 (13:39 +0200)]
[SYSDM] Check the profile directory and hive file and display the last write date of the hive file.

17 months ago[WIN32SS][FONT] Fix registry-based management (#1879)
Katayama Hirofumi MZ [Tue, 10 Sep 2019 11:39:52 +0000 (20:39 +0900)]
[WIN32SS][FONT] Fix registry-based management (#1879)

- Fix and improve registry-based font entry management.
- Append style name to registry value name.
- Make some DPRINT DPRINT1 (noisy).

17 months ago[DLLEXPORT_TEST] Fix duplicated export on non-x86 architectures
Timo Kreuzer [Wed, 28 Aug 2019 14:34:33 +0000 (16:34 +0200)]
[DLLEXPORT_TEST] Fix duplicated export on non-x86 architectures

17 months ago[IPHLPAPI] Simplify spec file
Timo Kreuzer [Sun, 25 Aug 2019 09:44:43 +0000 (11:44 +0200)]
[IPHLPAPI] Simplify spec file

Also move the exports where they are on Windows. This was already handled correctly by MSVC and still doesn't fix the order on GCC builds, but that is a different story and shall be addressed at a different time.

17 months ago[IPHLPAPI] Improve function stubs
Timo Kreuzer [Thu, 29 Aug 2019 15:59:26 +0000 (17:59 +0200)]
[IPHLPAPI] Improve function stubs

17 months ago[PSDK] Add fltdefs.h
Timo Kreuzer [Thu, 29 Aug 2019 15:57:01 +0000 (17:57 +0200)]
[PSDK] Add fltdefs.h

17 months agoFix italian translation: "Cancella" -> "Annulla" (#1902)
Carlo Bramini [Sun, 8 Sep 2019 12:04:41 +0000 (14:04 +0200)]
Fix italian translation: "Cancella" -> "Annulla" (#1902)

17 months ago[SETUP] Add support for archtitcure specific inf sections and use it for x64 computer...
Timo Kreuzer [Sat, 27 Jul 2019 07:56:37 +0000 (09:56 +0200)]
[SETUP] Add support for archtitcure specific inf sections and use it for x64 computer type

17 months ago[UNIATA] Fix uniata on x64
Timo Kreuzer [Wed, 8 Aug 2018 10:29:07 +0000 (12:29 +0200)]
[UNIATA] Fix uniata on x64

17 months ago[KMTESTS:EX] Try to avoid some spurious test failures.
Thomas Faber [Sun, 8 Sep 2019 06:01:23 +0000 (08:01 +0200)]
[KMTESTS:EX] Try to avoid some spurious test failures.


This test depends on the timeout to be long enough for another thread to
actually have started waiting, which may take longer than 10ms under load.

17 months ago[ACPICA] Update to version 20190816. CORE-16368
Thomas Faber [Sat, 7 Sep 2019 11:56:10 +0000 (13:56 +0200)]
[ACPICA] Update to version 20190816. CORE-16368

17 months ago[BTRFS] Reenable the MountMgr thread
Pierre Schweitzer [Sat, 7 Sep 2019 21:28:58 +0000 (23:28 +0200)]
[BTRFS] Reenable the MountMgr thread

been fixed, the thread no longer eats 100% CPU nor prevent ReactOS shutdown

17 months ago[MOUNTMGR] Properly return EpicNumber in MountMgrChangeNotify
Pierre Schweitzer [Sat, 7 Sep 2019 21:07:54 +0000 (23:07 +0200)]
[MOUNTMGR] Properly return EpicNumber in MountMgrChangeNotify

17 months ago[BTRFS] Revert "Allow driver to start at first stage when no hive is present."
Serge Gautherie [Sat, 7 Sep 2019 00:41:26 +0000 (02:41 +0200)]
[BTRFS] Revert "Allow driver to start at first stage when no hive is present."

Not needed anymore.

This reverts commit 80e11516b12b19530b56be7539ecc6af2039ed7b.

17 months ago[BTRFS] Revert "Leak the root stream file object on mount."
Serge Gautherie [Sat, 7 Sep 2019 00:38:46 +0000 (02:38 +0200)]
[BTRFS] Revert "Leak the root stream file object on mount."

Not needed anymore.

This reverts commit c13ccc92f66d9fd537ffdd4c0324af5b9c2723e1.

17 months ago[SDK] Workaround MSVC2010 not having _Bool type
Pierre Schweitzer [Fri, 6 Sep 2019 06:56:58 +0000 (08:56 +0200)]
[SDK] Workaround MSVC2010 not having _Bool type


17 months ago[BTRFS] bool must be 1-sized
Pierre Schweitzer [Fri, 6 Sep 2019 06:56:26 +0000 (08:56 +0200)]
[BTRFS] bool must be 1-sized


17 months ago[MOUNTMGR] Remove a leftover UNREFERENCED_PARAMETER()
Serge Gautherie [Thu, 5 Sep 2019 23:50:34 +0000 (01:50 +0200)]

Addendum to 77657c22c950dc1d5404df1cac7ce06e0cf8fa24.

17 months ago[MOUNTMGR] Don't overrun output buffer in QueryPointsFromMemory
Pierre Schweitzer [Fri, 6 Sep 2019 06:30:18 +0000 (08:30 +0200)]
[MOUNTMGR] Don't overrun output buffer in QueryPointsFromMemory

17 months ago[MOUNTMGR] Fix QueryPointsFromSymbolicLinkName and make it working
Pierre Schweitzer [Fri, 6 Sep 2019 06:28:36 +0000 (08:28 +0200)]
[MOUNTMGR] Fix QueryPointsFromSymbolicLinkName and make it working

Select the current stack location for output buffer
And set output size so that buffer gets properly copied to caller

17 months ago[MOUNTMGR_APITEST] Add a test suite for the mount manager
Pierre Schweitzer [Thu, 5 Sep 2019 06:35:23 +0000 (08:35 +0200)]
[MOUNTMGR_APITEST] Add a test suite for the mount manager


17 months ago[MOUNTMGR] Fix QueryPointsFromMemory and make it working
Pierre Schweitzer [Thu, 5 Sep 2019 06:28:56 +0000 (08:28 +0200)]
[MOUNTMGR] Fix QueryPointsFromMemory and make it working

Select the current stack location for output buffer
And set output size so that buffer gets properly copied to caller

17 months ago[MOUNTMGR] Properly validate input buffer size
Pierre Schweitzer [Thu, 5 Sep 2019 06:22:59 +0000 (08:22 +0200)]
[MOUNTMGR] Properly validate input buffer size

This avoids IOCTL_MOUNTMGR_QUERY_POINTS always failing

17 months ago[MOUNTMGR] Fix global symbolic link creations
Pierre Schweitzer [Wed, 4 Sep 2019 21:47:26 +0000 (23:47 +0200)]
[MOUNTMGR] Fix global symbolic link creations

They were wrongly pointing to the original target once rewritten
instead of pointing to the proper target: the device.

This notably fixes opening the MountMgr device from user
mode (to perform IOCTL calls, for instance), and might
also fix various bugs dealing with global namespaces.
This might have some various effects in ReactOS~.

17 months ago[Win32SS|Eng] Update stubs.
jimtabor [Wed, 4 Sep 2019 18:09:34 +0000 (13:09 -0500)]
[Win32SS|Eng] Update stubs.

These functions are no longer support for UMPD.

17 months ago[TXTSETUP] Revert an accidental change
Victor Perevertkin [Wed, 4 Sep 2019 14:54:00 +0000 (17:54 +0300)]
[TXTSETUP] Revert an accidental change

17 months ago[USBHUB_NEW] Enable generic USB hubs (USB class 09)
Victor Perevertkin [Wed, 4 Sep 2019 02:26:02 +0000 (05:26 +0300)]
[USBHUB_NEW] Enable generic USB hubs (USB class 09)
They actually work, tested on a couple of real devices

18 months ago[Win32SS] Fix safe pointer and define type.
jimtabor [Tue, 3 Sep 2019 20:02:46 +0000 (15:02 -0500)]
[Win32SS] Fix safe pointer and define type.

18 months ago[Win32SS] Implement EngCreate/DeletePalette.
jimtabor [Tue, 3 Sep 2019 19:36:20 +0000 (14:36 -0500)]
[Win32SS] Implement EngCreate/DeletePalette.

Safe to be called from user side without UMPD support.

18 months ago[BTRFS] Fix fileinfo.c build
Pierre Schweitzer [Mon, 2 Sep 2019 20:17:17 +0000 (22:17 +0200)]
[BTRFS] Fix fileinfo.c build

18 months ago[BTRFS] Fix create.c build
Pierre Schweitzer [Mon, 2 Sep 2019 20:02:45 +0000 (22:02 +0200)]
[BTRFS] Fix create.c build

18 months ago[BTRFS] Fix dirctl.c build
Pierre Schweitzer [Mon, 2 Sep 2019 19:48:54 +0000 (21:48 +0200)]
[BTRFS] Fix dirctl.c build

18 months ago[UBTRFS] Upgrade to 1.4
Pierre Schweitzer [Mon, 2 Sep 2019 06:18:48 +0000 (08:18 +0200)]
[UBTRFS] Upgrade to 1.4


18 months ago[BTRFS] Upgrade to 1.4
Pierre Schweitzer [Sun, 1 Sep 2019 12:53:20 +0000 (14:53 +0200)]
[BTRFS] Upgrade to 1.4


18 months ago[CRT] Import stdbool.h from CLANG
Pierre Schweitzer [Sun, 1 Sep 2019 12:52:04 +0000 (14:52 +0200)]
[CRT] Import stdbool.h from CLANG


18 months agoMerge pull request #1889 from Doug-Lyons/find_regression_test
Doug Lyons [Sun, 1 Sep 2019 21:03:16 +0000 (16:03 -0500)]
Merge pull request #1889 from Doug-Lyons/find_regression_test

Add Regression test for "find" using BAT with Conditionals "&&" and "||"

18 months ago[XBOXVMP] Improve debugging prints
Stanislav Motylkov [Sun, 1 Sep 2019 19:44:24 +0000 (22:44 +0300)]
[XBOXVMP] Improve debugging prints

18 months ago[XBOXVMP] Code formatting only
Stanislav Motylkov [Sun, 1 Sep 2019 19:30:09 +0000 (22:30 +0300)]
[XBOXVMP] Code formatting only

18 months ago[BOOTVID] Refactor font data from i386 and arm bootdata.c (#1891)
Stanislav Motylkov [Sun, 1 Sep 2019 21:01:40 +0000 (00:01 +0300)]
[BOOTVID] Refactor font data from i386 and arm bootdata.c (#1891)

18 months ago[CPL] Do not enable the "Apply" button unconditionally (#1876)
Bișoc George [Sun, 1 Sep 2019 20:58:43 +0000 (22:58 +0200)]
[CPL] Do not enable the "Apply" button unconditionally (#1876)


18 months ago[SYSDM] Only Administrators should see all user profiles and be able to copy or delet...
Eric Kohl [Sun, 1 Sep 2019 17:35:15 +0000 (19:35 +0200)]
[SYSDM] Only Administrators should see all user profiles and be able to copy or delete them

18 months ago[HAL] Return correct bus handler in HaliFindBusAddressTranslation
Stanislav Motylkov [Sun, 1 Sep 2019 10:04:15 +0000 (13:04 +0300)]
[HAL] Return correct bus handler in HaliFindBusAddressTranslation

This fixes the bug when VidInitialize asks for different translated addresses
and VgaIsPresent always returns FALSE either because the machine does not have
VGA controller at all (e.g. 86Duino Zero), or it does have video hardware
that is not compatible with VGA standard (e.g. Original Xbox).

The problem investigated by Stanislav Motylkov. Suggested fix by Thomas Faber.

CORE-14625 CORE-16216 CORE-16222

Co-authored-by: Thomas Faber <>
18 months ago[CRT][MSVCRT] Add __DestructExceptionObject from wine
Timo Kreuzer [Fri, 23 Aug 2019 10:08:00 +0000 (12:08 +0200)]
[CRT][MSVCRT] Add __DestructExceptionObject from wine

18 months agoRevert "[CABMAN] Fix a problem with creating temp files on some Windows system"
Timo Kreuzer [Sun, 1 Sep 2019 14:23:17 +0000 (16:23 +0200)]
Revert "[CABMAN] Fix a problem with creating temp files on some Windows system"

This reverts commit bcb0d7c6c9f5577a64e5abdc3c1cedd95eeff6a3.

18 months ago[NTOS:MM] Fix MmspCompareSegments
Timo Kreuzer [Mon, 15 Apr 2019 21:22:01 +0000 (23:22 +0200)]
[NTOS:MM] Fix MmspCompareSegments

On x64 the previous implementation would only compare the upper 32 bits and ignore the lower 32 bits.

18 months ago[FIND] Return from the utility the success value from the FindString() function in...
Doug Lyons [Sat, 31 Aug 2019 16:34:20 +0000 (18:34 +0200)]
[FIND] Return from the utility the success value from the FindString() function in all cases.

Therefore the ERRORLEVEL value will be correctly set in accordance on
return from the utility in cmd.exe, and conditional tests based on this
returned value will succeed as they should.

18 months ago[BOOTDATA] Add missing descriptions for the wuauserv service
Eric Kohl [Sat, 31 Aug 2019 16:19:53 +0000 (18:19 +0200)]
[BOOTDATA] Add missing descriptions for the wuauserv service

18 months ago[BOOTDATA][LSASRV] Add the security service(s)
Eric Kohl [Sat, 31 Aug 2019 16:17:14 +0000 (18:17 +0200)]
[BOOTDATA][LSASRV] Add the security service(s)

- Add the service routines for the SamSs service.
- Start the SamSs service.

18 months ago[SERVICES][ADVAPI32] Support the security process aka lsass.exe
Eric Kohl [Sat, 31 Aug 2019 15:24:47 +0000 (17:24 +0200)]
[SERVICES][ADVAPI32] Support the security process aka lsass.exe

- Reserve the pipe NtControlPipe0 for the security process.
- Count regular service control pipes from 1.
- Use I_ScIsSecurityProcess to identify the security process.
- Services.exe uses the SECURITY_SERVICES_STARTED event to notify the security process that NtControlPipe0 is ready for use.

18 months ago[NETAPI32] Implement DsEnumerateDomainTrustsA
Eric Kohl [Sat, 31 Aug 2019 10:45:30 +0000 (12:45 +0200)]
[NETAPI32] Implement DsEnumerateDomainTrustsA

18 months ago[FREELDR] Code fixes and enhancements.
Hermès Bélusca-Maïto [Fri, 30 Aug 2019 22:49:37 +0000 (00:49 +0200)]
[FREELDR] Code fixes and enhancements.


- Fix parsing of the multiboot options string.
  NOTE: They are not yet treated in a case-insensitive manner!

- Fix a bug in ArcOpen() so that it correctly skips the first path
  separator (after the adapter-controller-peripheral ARC descriptors).
  The path separator can be either a backslash or a slash (both are
  allowed according to the specs); they were also already handled
  correctly in other parts of the code.

- Fix DissectArcPath() so as to:
  * **OPTIONALLY** (and not mandatorily!) return the path part that follows
    the ARC adapter-controller-peripheral elements in the ARC path;

  * make it correctly handle the (yes, optional!!) partition() part in the
    ARC path, for the multi(x)disk(y)rdisk(z) cases.


- Directly retrieve the default OS entry as we enumerate them and
  build their list (i.e. merge the GetDefaultOperatingSystem() helper
  within InitOperatingSystemList()).

- Directly use the opened 'FreeLoader' INI section via its ID in the
  different functions that need it.

- Make the custom-boot and linux loaders honour the boot options they are
  supposed to support (see FREELDR.INI documentation / template).
  This includes the 'BootDrive' and 'BootPartition' (alternatively the ARC
  This also allows them to take into account the user-specified choices in the
  FreeLdr custom-boot editors.

- Modify the FreeLdr custom-boot editors so as to correctly honour
  the  priorities of the boot options as specified in the FREELDR.INI
  documentation / template.

- Use stack trick (union of structs) to reduce stack usage in the
  FreeLdr custom-boot editors, because there are strings buffers that are
  used in an alternate manner.

- Extract out from the editors the LoadOperatingSystem() calls, and
  move it back into OptionMenuCustomBoot(), so that when this latter
  function is called there is no risk of having a stack almost full.

- When building the ARC-compatible argument vector for the loaders, add
  the mandatory "SystemPartition" path. This allows the loaders to NOT
  call the machine-specific MachDiskGetBootPath() later on (this data is
  indeed passed to them by the boot manager part of FreeLdr).

- Improve the FsOpenFile() helper so as to make it:
  * return an adequate ARC_STATUS instead of a mere uninformative BOOLEAN;
  * take open options, as well as a default path (optional) that would be
    prepended to the file name in case the latter is a relative one.

- Make RamDiskLoadVirtualFile() return an actual descriptive ARC_STATUS
  value, and make it take an optional default path (same usage as the one
  in FsOpenFile() ).
  + Remove useless NTAPI .

- UiInitialize() and TuiTextToColor(), TuiTextToFillStyle(): load or
  convert named settings into corresponding values using setting table and
  a tight for-loop, instead of duplicating 10x the same parameter reading

- UiInitialize(): Open the "Display" INI section just once. Remove usage
  of DisplayModeText[] buffer.

- UiShowMessageBoxesInSection() and UiShowMessageBoxesInArgv(): reduce
  code indentation level.


- Don't use MachDiskGetBootPath() but use instead the "SystemPartition"
  value passed via the ARC argument vector by the boot manager
  (+ validation checks). Use it as the "default path" when calling
  FsOpenFile() or loading the ramdisk.

- Honour the FreeLdr-specific "Hal=" and "Kernel=" options by converting
  them into NT standard "/HAL=" and "/KERNEL=" options in the boot
  command line.

  Note that if the latter ones are already present on the standard "Options="
  option line, they would take precedence over those passed via the separate
  "Hal=" and "Kernel=" FreeLdr-specific options.

  Also add some documentation links to Geoff Chappell's website about
  how the default HAL and KERNEL names are chosen depending on the
  detected underlying platform on which the NT OS loader is running.

18 months ago[FREELDR] Formatting only.
Hermès Bélusca-Maïto [Fri, 30 Aug 2019 22:34:57 +0000 (00:34 +0200)]
[FREELDR] Formatting only.

18 months ago[FREELDR] Update the FREELDR.INI documentation / template.
Hermès Bélusca-Maïto [Fri, 30 Aug 2019 22:27:24 +0000 (00:27 +0200)]
[FREELDR] Update the FREELDR.INI documentation / template.

18 months ago[FREELDR] Move around & static-ify some disk/partition functions.
Hermès Bélusca-Maïto [Wed, 14 Aug 2019 13:22:55 +0000 (15:22 +0200)]
[FREELDR] Move around & static-ify some disk/partition functions.

18 months ago[VIDEOPRT] Fix uninitialized Reserved bit field in PciSlotNumber
Stanislav Motylkov [Fri, 30 Aug 2019 20:18:06 +0000 (23:18 +0300)]
[VIDEOPRT] Fix uninitialized Reserved bit field in PciSlotNumber


18 months ago[XBOXVMP] Add Xbox video miniport driver
Stanislav Motylkov [Mon, 12 Aug 2019 09:34:29 +0000 (12:34 +0300)]
[XBOXVMP] Add Xbox video miniport driver

Also make XboxVmp driver compatible with Video Port driver, specify
vendor id and device id explicitly in VideoPortGetAccessRanges() call


18 months agoUpdate Header
James Tabor [Thu, 29 Aug 2019 20:47:56 +0000 (15:47 -0500)]
Update Header

Add missing structure.

18 months agoFix the ntstrsafe.h tests to make sense, actually succeed using ntstrsafe.h from...
Colin Finck [Wed, 28 Aug 2019 20:42:52 +0000 (22:42 +0200)]
Fix the ntstrsafe.h tests to make sense, actually succeed using ntstrsafe.h from Win10 (10.0.15063), and fix ReactOS' ntstrsafe.h to also pass these tests. (#1859)

18 months agoFix and unify function prototypes for ntstrsafe functions taking variadic arguments.
Colin Finck [Mon, 19 Aug 2019 15:38:05 +0000 (17:38 +0200)]
Fix and unify function prototypes for ntstrsafe functions taking variadic arguments.

18 months ago[FORMATTING] Restore some kind of style to ntstrsafe.h, considering all comments...
Colin Finck [Mon, 19 Aug 2019 13:58:30 +0000 (15:58 +0200)]
[FORMATTING] Restore some kind of style to ntstrsafe.h, considering all comments in PR #522 and #523.

18 months ago[DDK] RtlUnicodeStringPrintf(Ex) implementations and ntstrsafe.h tests (#522, #523)
Hernán Di Pietro [Sat, 21 Apr 2018 06:56:12 +0000 (08:56 +0200)]
[DDK] RtlUnicodeStringPrintf(Ex) implementations and ntstrsafe.h tests (#522, #523)


+ Added buffer overrun tests.
+ New style header.
+ ISO C90 compatibility

[DDK] (CORE-9819): RtlUnicodeStringPrintf(Ex) and RtlUnicodeStringValidate(Ex) fixes plus formatting.

[DDK]: Cosmetic changes  (NTSTATUS variable naming and tabs)

[DDK] First implementation of Unicode functions for NtStrSafe (CORE-9819)

+ This implementation does not modify the interface of previous functions.
+ Since we need length returned for the destination UNICODE_STRING.Length field:
  - an intermediate "Len" postfixed function was added with optional
    argument to return the _vsnwprintf character count.
  - Wide Printf(Ex) functions already existent work now call new Rtlp
    private worker functions.
+ For several UnicodeStringPrintf(Ex) tests, see work going on CORE-14565


+ MSDN says they won't insert NULL characters on formatted strings. But
  seems this is incorrect at MSDN (interpret this as DONT ASSUME NULL-termination).
  We return zero-terminated strings, and MS functions seems to do the same.
  (XP DDK 7.1)

[DDK] First implementation of Unicode functions for NtStrSafe (CORE-9819)

+ This implementation does not modify the interface of previous functions.
+ Since we need length returned for the destination UNICODE_STRING.Length field:
  - an intermediate "Len" postfixed function was added with optional
    argument to return the _vsnwprintf character count.
  - Wide Printf(Ex) functions already existent work now call new Rtlp
    private worker functions.
+ For several UnicodeStringPrintf(Ex) tests, see work going on CORE-14565


+ MSDN says they won't insert NULL characters on formatted strings. But
  seems this is incorrect at MSDN (interpret this as DONT ASSUME NULL-termination).
  We return zero-terminated strings, and MS functions seems to do the same.
  (XP DDK 7.1)

[DDK] Fixed bad NtStrSafe.h va_start call (CORE-9819)

Update on RtlUnicodeStringPrintfEx plus cosmetic changes.

[DDK] First implementation of Unicode functions for NtStrSafe (CORE-9819)

+ This implementation does not modify the interface of previous functions.
+ Since we need length returned for the destination UNICODE_STRING.Length field:
  - an intermediate "Len" postfixed function was added with optional
    argument to return the _vsnwprintf character count.
  - Wide Printf(Ex) functions already existent work now call new Rtlp
    private worker functions.
+ For several UnicodeStringPrintf(Ex) tests, see work going on CORE-14565


+ MSDN says they won't insert NULL characters on formatted strings. But
  seems this is incorrect at MSDN (interpret this as DONT ASSUME NULL-termination).
  We return zero-terminated strings, and MS functions seems to do the same.
  (XP DDK 7.1)

[KMTESTS:RTL] Tests for new RtlUnicodePrintf(Ex) functions (CORE-14565)

+ 45 Tests working.
+ Lacks remaining non-Unicode functions in NtStrSafe.h for now.
+ Used for first tests on CORE-9819

[KMTESTS/RTL] Fixed test not taking care of null (CORE-14565)

[DDK] Fixed bad NtStrSafe.h va_start call (CORE-9819)

[KMTESTS:RTL] First Test.

Update on RtlUnicodeStringPrintfEx plus cosmetic changes.

[KMTESTS] Added NtStrSafe to test lists (CORE-14565)

First commit: Skeleton for test implementation + Addition to COMMON SOURCES in kmtests Cmake lists.

+Implementation of RtlStringVPrintfWorkerLenW, RtlStringVPrintfExWorkerLenW to avoid changing existing public functions. This is required as existent functions did not return vsnprintf result, so we didn't have any return info to update UNICODE_STRING.Length.
+Additional implementation of RtlUnicodeStringValidate for checking purposes.
+Former RtlStringVPrintfWorker(ex) refactored to RtlInternalStringVPrintf(Ex)WorkerW.
+No ANSI functions affected as we didn't need them for Unicode printf's.

WIP: RtlUnicodeStringPrintf

18 months ago[TRANSLATION][UTILMAN] Translations for UTILMAN and some other stuff (#1880)
Shy Zedaka [Tue, 27 Aug 2019 11:04:34 +0000 (14:04 +0300)]
[TRANSLATION][UTILMAN] Translations for UTILMAN and some other stuff (#1880)

18 months ago[CMLIB] Clean volatile registry entries in the same manner as Windows (#1883)
maharmstone [Tue, 27 Aug 2019 00:39:27 +0000 (01:39 +0100)]
[CMLIB] Clean volatile registry entries in the same manner as Windows (#1883)

This fixes the crashes in HvpGetCellMapped on Windows Server 2003 when booting from Freeloader, as mentioned in maharmstone/btrfs#16.

When the bootloader loads the system hive, it cleans the data pertaining to any volatile keys. The Windows bootloader does this by setting SubKeyCounts[Volatile] to 0. After boot, the kernel marks any cell where this is 0 but SubKeyLists[Volatile] isn't HCELL_NIL as dirty, meaning that the sanitized version will then get flushed to the disk.

Because Freeloader sets SubKeyLists[Volatile] to HCELL_NIL straightaway, Windows thinks the cell is clean, and can unload it without flushing. If it then reads it from the disk, it will crash in HvpGetCellMapped due to the stale volatile pointers.

If you break on nt!CmpInitializeSystemHive on Windows and "gu" to the let the function run, you'll see that DirtyVector of the HHIVE has only the first 8 bits set. If you run it using the official bootloader, it'll have a lot more than that.

18 months ago[WIN32SS][USER][EXPLORER] Add/Update portuguese translation (#1882)
Jose Carlos Jesus [Mon, 26 Aug 2019 19:01:41 +0000 (20:01 +0100)]
[WIN32SS][USER][EXPLORER] Add/Update portuguese translation (#1882)

18 months ago[CALC] Enable support for HTMLHELP (#1877)
Carlo Bramini [Mon, 26 Aug 2019 14:14:01 +0000 (16:14 +0200)]
[CALC] Enable support for HTMLHELP (#1877)

Nowadays ReactOS includes support for htmlhelp.h and a working implementation of HHCTRL.OCX. Although current imported HHCTRL.OCX suffers of this issue:
See also CORE-15019

+ Revert 'intptr_t' to 'size_t'.

18 months ago[MEDIA][FONTS] Add Verdana fonts (#1881)
Katayama Hirofumi MZ [Mon, 26 Aug 2019 13:19:06 +0000 (22:19 +0900)]
[MEDIA][FONTS] Add Verdana fonts (#1881)

- Add "Verdana", "Verdana Bold", "Verdana Bold Italic" and "Verdana Italic" fonts by duplicating "Bitstream Vera Sans" fonts and renaming them.
- Delete some "Verdana" font substitutes.
- Add LICENSE file.

I made these font files by using FontForge. Their family name is "Verdana". Their display names are "Verdana", "Verdana Bold", "Verdana Bold Italic" and "Verdana Italic". Their font filenames are verdana.ttf, verdanab.ttf, verdanaz.ttf and verdanai.ttf. The Underline Positions are hacked by adding an integer value for workaround of FontForge's bug. CORE-16264

18 months ago[ROSAPPS][SHLEXTDBG] Delete DbgPrint hack for gcc (fix build)
Katayama Hirofumi MZ [Mon, 26 Aug 2019 12:35:05 +0000 (21:35 +0900)]
[ROSAPPS][SHLEXTDBG] Delete DbgPrint hack for gcc (fix build)

18 months ago[MEDIA][FONTS] Make MS Sans Serif ells sans serif CORE-16166
Katayama Hirofumi MZ [Mon, 26 Aug 2019 01:07:56 +0000 (10:07 +0900)]
[MEDIA][FONTS] Make MS Sans Serif ells sans serif CORE-16166

18 months ago[MEDIA][FONTS] Adjust internal leading of Baltic MS Sans Serif
Katayama Hirofumi MZ [Sun, 25 Aug 2019 18:36:48 +0000 (03:36 +0900)]
[MEDIA][FONTS] Adjust internal leading of Baltic MS Sans Serif

18 months ago[NETAPI32] Implement DsEnumerateDomainTrustsW
Eric Kohl [Sun, 25 Aug 2019 16:23:38 +0000 (18:23 +0200)]
[NETAPI32] Implement DsEnumerateDomainTrustsW

18 months agoFix build
Ioannis Adamopoulos [Sun, 25 Aug 2019 11:53:52 +0000 (14:53 +0300)]
Fix build

18 months ago[NETAPI32] Implement DsAddressToSiteNamesA and DsAddressToSiteNamesExA
Eric Kohl [Sun, 25 Aug 2019 09:39:12 +0000 (11:39 +0200)]
[NETAPI32] Implement DsAddressToSiteNamesA and DsAddressToSiteNamesExA

18 months ago[HEADERS] Move some helpers from undocshell.h to shellutils.h as they didn't cover...
Ioannis Adamopoulos [Sun, 25 Aug 2019 09:17:42 +0000 (12:17 +0300)]
[HEADERS] Move some helpers from undocshell.h to shellutils.h as they didn't cover anything undocumented. Merge traycmd.h in undocshell.h as both contain just undocumented shell definitions.

18 months ago[NETAPI32] Fix a typo in DsDeregisterDnsHostRecordsA
Eric Kohl [Sun, 25 Aug 2019 09:15:00 +0000 (11:15 +0200)]
[NETAPI32] Fix a typo in DsDeregisterDnsHostRecordsA

Thank you very much UserNT and Thomas for the hint!

18 months ago[SETUPLIB][USETUP] Fix build about switch
Katayama Hirofumi MZ [Sun, 25 Aug 2019 03:07:31 +0000 (12:07 +0900)]
[SETUPLIB][USETUP] Fix build about switch

18 months ago[MEDIA][FONTS] Add Thai MS Sans Serif (ssee874.fon) CORE-16166
Katayama Hirofumi MZ [Sun, 25 Aug 2019 02:37:26 +0000 (11:37 +0900)]
[MEDIA][FONTS] Add Thai MS Sans Serif (ssee874.fon) CORE-16166

18 months ago[SETUPLIB][USETUP] Slightly modify how and when the HW system partition is detected...
Hermès Bélusca-Maïto [Sun, 25 Aug 2019 00:08:23 +0000 (02:08 +0200)]
[SETUPLIB][USETUP] Slightly modify how and when the HW system partition is detected and used.


- Find the system partition initially when we create the list of

- Split the old CheckActiveSystemPartition() helper in two helpers:
  FindSupportedSystemPartition() and SetActivePartition(). This allows
  simplifying slightly the former one, and allows the user, in an
  interactive situation, to decide whether the "supported system
  partition" found can actually be used or not.

- Remove the "OriginalSystemPartition" hack in the PARTLIST structure.
- Add a note regarding the SystemPartition member in PARTLIST.


- Use the introduced helpers from above. If the "system" partition we
  are going to use, in case we install ReactOS on a fixed disk, is *NOT*
  the same as the original one (e.g. because it is detected to be not
  supported by ReactOS...), display an informative screen to the user
  and let him confirm whether or not he wants to change the partition.

If we install on a fixed disk, try to find a supported system partition
on the system. Otherwise if we install on a removable disk, use the
install partition as the system partition instead.

This allows providing a fix for CORE-16274.

18 months ago[SETUPLIB][USETUP] Code simplifications & fixes.
Hermès Bélusca-Maïto [Sat, 24 Aug 2019 23:32:46 +0000 (01:32 +0200)]
[SETUPLIB][USETUP] Code simplifications & fixes.


- Remove useless HiddenSectors member in PARTENTRY structure.
- InsertDiskRegion() helper returns a BOOLEAN success.
- CreateInsertBlankRegion() helper sets LogicalPartition.

- Simplify the InitializePartitionEntry() helper so that its PartEntry
  parameter is clearly the one that is being initialized (i.e. converted
  from a blank region to) an actual partition, and use the helper
  CreateInsertBlankRegion(). The calculations for the StartSector and
  SectorCount are exactly equivalent with the old version of this
  function. Also make it return a BOOLEAN success instead.
  + Add some extra validation checks.
  + Adjust CreatePrimaryPartition(), CreateExtendedPartition() and
    CreateLogicalPartition() in this regard.

- Better handling of "RAW"-mounted partitions: treat them as
  "Unformatted" only if they are RAW *AND* their PartitionType is one of
  those associated with FAT file-system. Otherwise we cannot decide
  whether they are indeed unformatted or have an unknown file-system on
  them, therefore treat them as the latter.
  In this regard, the IsSupportedActivePartition() helper should not
  look for FileSystem == RAW but instead only look whether the partition
  is Unformatted.

  This should help with situations similar to the one described in CORE-16274
  where a partition with a genuine file-system but not recognized by
  ReactOS (because we currently do not have the EXT2/3/4 filesystem
  driver loaded during 1st-stage setup due to commit 5a650f6b) and
  therefore mounted as RAW, was thought to be unformatted.

- Use the "global" SystemPartition pointer: this is the "system"
  partition we will actually use. It can be different from the actual
  one of the computer, for example when we install ReactOS on a
  removable disk. This allows also to simplify the code.

- Remove the single-used DestinationDriveLetter variable.

- Remove BuildInstallPaths() helper and use InitDestinationPaths()
  directly instead.

- Always mention the disk where the partition being formatted is.
- Cleanup old code comments, add assertions here & there...

18 months ago[NETAPI32] Implement DsDeregisterDnsHostRecordsA
Eric Kohl [Sat, 24 Aug 2019 20:57:36 +0000 (22:57 +0200)]
[NETAPI32] Implement DsDeregisterDnsHostRecordsA

18 months ago[NETAPI32] Implement DsGetDcNameWithAccountA
Eric Kohl [Sat, 24 Aug 2019 19:40:11 +0000 (21:40 +0200)]
[NETAPI32] Implement DsGetDcNameWithAccountA

18 months ago[NETAPI32] Implement DsGetDcSiteCoverageA
Eric Kohl [Sat, 24 Aug 2019 17:44:37 +0000 (19:44 +0200)]
[NETAPI32] Implement DsGetDcSiteCoverageA

18 months ago[NETAPI32] Add the NetpAllocStrFromWStr helper function
Eric Kohl [Sat, 24 Aug 2019 12:00:33 +0000 (14:00 +0200)]
[NETAPI32] Add the NetpAllocStrFromWStr helper function

18 months ago[NETAPI32] Implement DsGetSiteNameA
Eric Kohl [Sat, 24 Aug 2019 11:15:41 +0000 (13:15 +0200)]
[NETAPI32] Implement DsGetSiteNameA

Also add the NetpAllocAnsiStrFromWStr helper function.

18 months ago[NTOSKRNL] Fix indentation. No code changes!
Eric Kohl [Sat, 24 Aug 2019 08:02:55 +0000 (10:02 +0200)]
[NTOSKRNL] Fix indentation. No code changes!

18 months ago[TESTS] Add a test for spec2def 1867/head
Mark Jansen [Tue, 20 Aug 2019 17:09:10 +0000 (19:09 +0200)]
[TESTS] Add a test for spec2def