• last updated 15 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Commit forgotten part of the Esperanto support from r75378.


  1. … 1 more file in changeset.
[SHIMENG] Enable the Application Compatibility framework by default.

- Also add disabled keys to configure the logging

- Demote a noisy print used in the shim engine.

At this point the shim engine should be functional enough to be used.

One thing that remains is creating more shims(fixes) to use, and implement more features for the already existing ones.


  1. … 2 more files in changeset.

Mass update for Romanian resource files.

Patch by Ștefan Fulea.


  1. … 15 more files in changeset.
[REACTOS]: Russian translation update part 1/2 by amber.


  1. … 10 more files in changeset.
Patch by Serge Gautherie:


hivesys.inf: Put 'Mup' service back in 'File System' group. (Fix r72450)

Fixes installation of Vmware Tools which was always hanging.

CORE-12107 #resolve

[ACPPAGE] Register the extension + allow it to be disabled with policies. Disable it with the rest of the app compat infrastructure. CORE-10375
  1. … 3 more files in changeset.
[BOOTDATA]: Sprinkle few FLG_ADDREG_NOCLOBBER (0x00000002) flags for registry keys/values that need to remain the same across ReactOS upgrades. This also includes the "Session Manager\DOS Devices" as well as the "Session Manager\Environment" values!

Also, fix the default LastKnownGood value to the 'Current'/'Default' one. These values should also not be touched across upgrades (well, they can be touched manually by the (u)setup program, but they must not when updating the registry in bulk).

  1. … 1 more file in changeset.
That shouldn't have been committed in r75125. Thanks Thomas!

- Implement GetPrinterDataA, GetPrinterDataExA, GetPrinterDataExW, GetPrinterDataW, SetPrinterDataA, SetPrinterDataExA, SetPrinterDataExW, SetPrinterDataW.

They support all features for Print Server and Printer Handles (minus security checks!)

I've also added tests for them.

- Store Printer data in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead of SYSTEM\CurrentControlSet\Control\Print\Printers and create a registry symlink from the former path to the new one just like Windows does.

According to https://social.technet.microsoft.com/Forums/windowsserver/en-US/a683ab54-c43c-4ebe-af8f-1f7a65af2a51, this is needed when having >900 printers to work around a size limit of the SYSTEM registry hive. And if Windows has both locations, we need both for compatibility anyway.

- Add several settings which are queried by the new Printer Data APIs when working with Print Server Handles.

- Store the job directory in the Windows-compatible "DefaultSpoolDirectory" setting and make use of it.

- Revert the ASSERTs in LocalEnumPrinters again to let us verify the NULL pointer exceptions in localspl_apitest (thanks Serge! CORE-13433)

- Translate ERROR_INVALID_NAME to ERROR_INVALID_PRINTER_NAME in all cases in OpenPrinterW (thanks Victor! CORE-13412)

- Make EnumMonitorsW and EnumPortsW in spoolss more robust against failing Print Monitors.

- Remove the wrong !phPrinter check in OpenPrinterW to make Print Server Handles work for real.

- Fix error handling when memory allocation fails: HeapAlloc doesn't set last error, so it's just wrong to query or return it.

One more item done from https://reactos.org/wiki/Printing !

This is all still a big Work-in-Progress, with many subtle bugs deep down in ReactOS, for which I need to open additional tickets. But I didn't want to make this commit even bigger..

  1. … 28 more files in changeset.

Add the missing pieces for the NFS filesystem: registry information.

Register the pnfs service (nfsd) as manual, so that it only gets started when user wants/needs it.

Same goes to the nfs41_driver service (driver). nfsd as a code modification specific to ReactOS so that it loads the driver

as soon as it gets started.

That means, in order to use NFS in ReactOS, you need to start the nfsd service: net start nfsd

Then, you can mount your remote share: net use * \\IP\path (you can replace * by a letter, e.g. z:)

There's no GUI stuff implemented yet for this in MPR.

If you want to access the share without mounting it in ReactOS (like, in Explorer), you've to be aware of a small detail:

after you start pnfs service, in explorer bar, type \\IP\nfs4\path. This is required so that NFS driver can claim the path

without troubles.

Something else you've to know: so far, tests where conducted with a remote share being 777, read-only and anonymously mounted.

Other scenarii are likely to fail (auth, rw, server?!, etc.).

Also note that if you attempt to mount a share on which you don't have traverse right, mounting will succeed but any later

operation will fail, refused by the remote NFS server. This is a bit different than the behavior on Linux where mount is denied

if traverse is not granted.

Final thing: this is highly experimental and not fully implemented yet: expect not working stuff, broken asserts, deadlocks, etc.


[HIVESYS]: Add some missing PnP classes... But as it says, "Device classes (this list is incomplete... and should be generated from .inf files during installation)" <-- the INFs in question are the INF hardware files in the media/inf directory.

- Sort keyboard layouts and make them translatable.

- Remove quotation marks from service display names and descriptions and fix a typo.


[BOOTDATA] Create an empty HKLM\...\AppCompatFlags\Layers key to silence logging.
  1. … 1 more file in changeset.

Make service display names and descriptions translatable.



- Refactor LocalEnumPrinters to make it ready for supporting additional levels.

- Correctly handle all passed flags for Level 1 queries to the Local Print Provider.

- Introduce strsafe functions to LocalEnumPrinters in a way that actually makes the code smaller. To be done in other parts too.

- Use PackStrings in LocalEnumPrinters to simplify the code.

- Return the correct 3 strings in the Description field of Level 1 queries. That also introduces the "Location" field.

- Remove debug spam in _OpenEnvironment.


- Make use of the newly implemented AlignRpcPtr/UndoAlignRpcPtr. Fixes a test.


- Dismiss invalid levels already in EnumPrintersW and zero the input buffer here (but not in localspl). Verified by a test.

EnumPrintersW for Level 1 should be fully supported now.

  1. … 11 more files in changeset.
[SHSVCS] -Add the module that should host the theme service. Implement ThemeWaitForServiceReady and ThemeWatchForStart. These are already called by our msgina and are responsible for starting themes in the session.
  1. … 13 more files in changeset.
* Revert r73869 because wmi was mentioned nowhere in CORE-9111, nor in our tree restructure wiki, nor any developers discussions. This is the ReactOS trunk, not a branch.
  1. … 83 more files in changeset.
[WMI]: Gather all the user-mode components of WMI inside base/wmi/, as part of the ReactOS source code tree restructure. This gives an idea how this can be done for other ReactOS components.


  1. … 164 more files in changeset.
[BOOTDATA] Add FIPSAlgorithmPolicy registry value for bcrypt tests.
[BOOT] Spelling fixes by Josh Soref. CORE-12286
  1. … 47 more files in changeset.

Finally merge my branch "colins-printing-for-freedom", giving us an initial implementation of a Win32-compatible Printing Stack (localmon, localspl, spoolss, spoolsv, winspool)

You can now send raw data to parallel port printers using documented Win32 API. An example application is in my "winspool_print" commandline tool merged to rosapps.

ReactOS folks, thanks for your support during the development of this, making my bachelor's thesis a reality! :)

Documentation/Thesis: https://svn.reactos.org/reactos/trunk/documentation/articles/Printing%20Stack%20Thesis/thesis.pdf

Video: https://www.youtube.com/watch?v=cNzePucTOLY


  1. … 243 more files in changeset.

- Install the DHCP client service as part of nettcpip.inf. This ensures it does not try to run before tcpip is installed.

CORE-12011 #resolve

  1. … 2 more files in changeset.
[NLS] Add missed code pages
  1. … 89 more files in changeset.

- We can now swap the 2k3 fltmgr with ours and successfully boot windows, so we can use the same name from here on.

- Start type is still demand as I've not done too much testing in ros, but it seems to be boot and run fine, so can be changed to boot start for anyone wanting to experiment a bit.


- Remove invalid "ServiceType" registry value of the MPU401 driver.

- Fix MUP driver group.

- Fix MountMgr driver group.

- Fix rosfltmgr driver group.

- Add "Base" group list (until we have it inside some driver inf).

- Add tags for acpi, pci, null, beep and ksecdd drivers.

  1. … 3 more files in changeset.

Enable the FFS support.

Patch by Peter Hater.


  1. … 1 more file in changeset.

Enable the ReiserFS support.

Patch by Peter Hater.


  1. … 1 more file in changeset.

Add the driver to the registry and to the CDs (out of cab)

Feel free to enjoy btrfs in ReactOS :-)


  1. … 1 more file in changeset.

Add missing service groups.


- Change the start type to demand.

- Should stop free loader from throwing a tantrum because it can't load a non-existant boot driver