Commit graph

72820 commits

Author SHA1 Message Date
Eric Kohl 6d3921bdd5 [BOOTDATA] Register the CriticalDeviceCoInstaller as a class co-installer for critical device classes 2018-09-30 17:23:40 +02:00
Eric Kohl 4aa1bee757 [SYSETUP] Implement the CriticalDeviceCoInstaller
The CriticalDeviceCoInstaller adds devices of registered classes to the critical device database.
2018-09-30 17:23:38 +02:00
Thomas Faber c7af85b64b
[BTRFS] Fix IRP leak.
This leaked at least one IRP for every write, making it the largest leak when
running with BTRFS as the system volume.
Thanks to Victor Perevertkin.

Submitted upstream thanks to Pierre:
https://github.com/maharmstone/btrfs/pull/106
2018-09-30 16:11:42 +02:00
Pierre Schweitzer 257923cad1
[NPFS] Magic--; 2018-09-30 10:55:44 +02:00
Pierre Schweitzer 890a293683
[NTOSKRNL] Fix remaining access computation on open 2018-09-30 10:55:44 +02:00
Pierre Schweitzer 6d0c07c44f
[NTOSKRNL] Implement access check for secure open 2018-09-30 10:55:43 +02:00
Hermès Bélusca-Maïto 0c122589d2
[BLUE] Perform size/rectangle boundary checks on read/write operations. CORE-15108 2018-09-29 21:55:00 +02:00
Hermès Bélusca-Maïto e29457aadd
[USETUP] Remove a hardcoded value. 2018-09-29 21:54:48 +02:00
Eric Kohl 54eb5635d8 [MSPORTS] Implement the 'Enable legacy Plug and Play detection' setting 2018-09-29 18:05:22 +02:00
Alexander Rechitskiy ea0fd8a395 [README] Add a link to the nightly builds page for convenience (#881) 2018-09-29 16:43:32 +02:00
Pierre Schweitzer cf25432eed
[NTOSKRNL] Don't lock file object on close if we're not called by Ob
IopCloseFile can be called by IopDeleteFile. In that situation, it
doesn't set any process as first parameter. Furthermore, we are in a
situation where it's not required to lock the file object (see the
assert before the call).
2018-09-29 16:25:58 +02:00
Abdulganiev Rafael 6f138e2811 [DESK.CPL] Remove monitor resource scaling (#876) 2018-09-29 16:24:10 +02:00
Stanislav Motylkov 4eccca5943
[SYSDM] Add hardware model name print 2018-09-29 17:12:18 +03:00
Stanislav Motylkov 797d2354fa
[SYSDM] Add one more IDC_MACHINELINE for model name 2018-09-29 17:11:57 +03:00
Stanislav Motylkov bd1fc964e7
[SYSDM] Move system information controls 16 points higher 2018-09-29 17:11:31 +03:00
Stanislav Motylkov bae6e075e0
[UDMIHELP] Initialize output buffer if DMI string is NULL 2018-09-29 17:11:08 +03:00
Stanislav Motylkov c356804550
[DMILIB] Process SKU and Family strings 2018-09-29 17:10:48 +03:00
Eric Kohl 133611fed8 [MSPORTS] Implement the 'Filter Resource Method' setting for parallel ports 2018-09-29 14:58:55 +02:00
Pierre Schweitzer 1f85e4fe9f
[DEVCPUX] Add French translation 2018-09-29 11:36:45 +02:00
Pierre Schweitzer 207ff9444e
[NTOSKRNL] Reference the file object before issuing the unlock all IRP
This fixes the last kmode assert triggered by httpd on ReactOS.

CORE-12045
2018-09-29 11:22:22 +02:00
Eric Kohl f155de483f [msports] Notify the system of changes to the serial port settings. 2018-09-29 01:57:59 +02:00
Eric Kohl 8f939e057c [SERVICES] Control set code clean-up
- Flush the new control set after the control set has been created.
- Make sure that we create a new control set only on the first boot after setup.
- Move the control set copy code to a separate function.
- Get rid of the global control set values.
2018-09-29 01:31:58 +02:00
Pierre Schweitzer 5472c1db82
[NTOSKRNL] Unlock file if required on last process handle close 2018-09-28 23:34:28 +02:00
Eric Kohl 04683639f0 [SERVICES] RChangeServiceConfigW / RCreateServiceW: Use SecureZeroMemory to wipe clear-text passwords after use. 2018-09-28 17:51:12 +02:00
Eric Kohl b9aeb5bfbd [SERVICES] Fixed a missing comma 2018-09-28 17:29:31 +02:00
Eric Kohl ea6dac3438 [SERVICES] Create a new control set on a non-setup boot. 2018-09-28 16:24:07 +02:00
Hermès Bélusca-Maïto c446ce0d62
[ADVAPI32] Improve a bit CreateProcessAsUser().
- Check whether the user-provided token is a primary token.

- Do not fail when the RtlAdjustPrivilege() call fails (see the code
  comment for an explanation). TL;DR is: that call may indeed fail but
  the privilege may also not be necessary because the user-provided
  token is a restricted version of the caller's primary token.
  And this is situation is perfectly fine.

This fixes Java 7 installation, CORE-14874.
2018-09-28 00:45:04 +02:00
Hermès Bélusca-Maïto 89c5191d3f
[NTOS:PS] In PspSetPrimaryToken(), check also for sibling token to determine whether it is required to have the SeAssignPrimaryTokenPrivilege.
In addition, it is the presence or absence of the 'Token' pointer that indicates whether or not we should use instead the provided token handle.
2018-09-28 00:45:03 +02:00
Hermès Bélusca-Maïto 7f9282927b
[NTOS:SE] Fixes for NT tokens.
- SeIsTokenChild(): Correctly check whether a caller-provided token
  is a child from the current process' primary token by looking at
  its ParentTokenId member.

- Add a SeIsTokenSibling() helper to determine whether a caller-provided
  token and the current process' primary token are siblings, by comparing
  their ParentTokenId's and AuthenticationId's.

NOTE: Children tokens are created through CreateRestrictedToken();
sibling tokens are created through DuplicateToken() (amongst others).

See slide 49 of https://www.slideshare.net/Shakacon/social-engineering-the-windows-kernel-by-james-forshaw
or https://googleprojectzero.blogspot.com/2016/01/raising-dead.html
for some details.
2018-09-28 00:45:01 +02:00
Bișoc George 3caab66e22 [DWNL] Add translations (for Romanian & Italian)
And include them as well.
2018-09-28 00:23:48 +02:00
Stanislav Motylkov 0fa744241f [DEVCPUX] Add russian translation
Also make MHz string translatable. Addendum to 793e2a3.
2018-09-27 12:10:06 +02:00
Eric Kohl 3c1e5f7cb9 [NETCFGX] Add the most simple property sheet provider for network adapters
- Switch to WINE debug code.
- Build the UNICODE version of the DLL by default.
- Add the most simple property sheet provider.
2018-09-26 23:49:02 +02:00
Eric Kohl 986ce63c4c [SETUPAPI] SetupDiGetClassDevPropertySheetsW: Support class property sheet providers. 2018-09-26 23:49:01 +02:00
Stanislav Motylkov 68c6641781 [MSPORTS] Add russian translation
Addendum to 69e834f.
2018-09-25 22:50:02 +02:00
Eric Kohl 793e2a38b4 [DEVCPUX] Make the CPU property sheet page a little nicer and make it translatable 2018-09-25 21:51:19 +02:00
Eric Kohl af37e0e565 [MSPORTS] Hackfix the code to determine the serial and parallel port numbers.
Now that SetupDiCreateDevRegKeyW is working as expected, we can no
longer (ab)use it to retrieve a ports resources. Use SetupDiGetDeviceInstanceIdW instead and open the registry keys manually.
2018-09-25 17:48:27 +02:00
Eric Kohl 69e834fa54 [MSPORTS] Implement serial port settings
- Fix the control styles and grouping in the dialogs.
- Implement reading, modifying and writing of the serial port settings.
2018-09-25 14:28:29 +02:00
Stanislav Motylkov f1c2ec0de6 [INF] Add russian translation to machine.inf
Addendum to 68eb0fd.
2018-09-25 11:20:25 +02:00
Eric Kohl 68eb0fd202 [INF] machine.inf: Add settings for PCI RAM controllers 2018-09-24 16:15:46 +02:00
Eric Kohl 185a8fd835 [NETSHELL] Read, write and display the 'Notify me when this connection...' option for network connections. 2018-09-23 23:31:00 +02:00
Eric Kohl df36ee9fe2 [SETUPAPI] Replace the remaining internal calls to SetupDiOpenDevRegKey and SetupDiCreateDevRegKeyW by calls to SETUPDI_OpenDrvKey, SETUPDI_CreateDevKey or SETUPDI_CreateDrvKey. 2018-09-23 20:19:26 +02:00
Mark Jansen 3d3bd4e77e
[WIN32K] Work around GCC builds inventing dead keys.
CORE-14948
2018-09-23 20:03:14 +02:00
Mark Jansen 7882b6cfe3
[SHELL32_APITEST] Speed up the CUserNotification test in the failure case. 2018-09-23 20:03:08 +02:00
Hermès Bélusca-Maïto bf164caae8
[SERVICES] Simplify the implementation of RGetServiceDisplayNameA/W() and RGetServiceKeyNameA/W().
Also comment about the observed behaviour of the returned number of "characters"
returned by the ANSI versions of these APIs (which is tested by advapi32_winetest:service).

[ADVAPI32:SCM] Add a comment concerning wide characters vs. bytes mismatch.
2018-09-23 18:09:10 +02:00
Eric Kohl 60e166535a [SETUPAPI] Do not use SetupDiOpenDevRegKey in other SetupDi functions. Use SETUPDI_OpenDevKey or SETUPDI_OpenDrvKey instead.
Note: The remaining calls to SetupDiOpenDevRegKey and SetupDiCreateDevRegKey will be fixed in another patch.

Fixes CORE-15091
2018-09-23 16:16:12 +02:00
Pierre Schweitzer 2a80ae2bb6
[NTOSKRNL] Properly align VACB writes
Also simplify VACB reads alignment code.
Also add some sanity ASSERTs.
2018-09-23 10:32:14 +02:00
Hermès Bélusca-Maïto f7b9db0f66
[BOOTDATA] Factorize the creation of user profile directories inside a helper function that can be called with different parameters. 2018-09-23 00:38:12 +02:00
Hermès Bélusca-Maïto 7ee298bbfc
[SHELL32] In _SHExpandEnvironmentStrings(), fall back to SHExpandEnvironmentStringsForUserW() if the simplified code paths failed.
This allows the code to give a last chance for expanding the string.
And if it still fails, we bail out as expected and the caller will
take appropriate actions.

As a by-product, this commit (together with the previous one e2960914)
fixes the regression CORE-14981 (Quick-Launch bar couldn't be opened
in LiveCD).
2018-09-23 00:18:57 +02:00
Hermès Bélusca-Maïto e29609147b
[SHELL32] In _SHGetUserShellFolderPath(), check the return value of _SHExpandEnvironmentStrings()
and bail out if it failed. That way we won't use and cache in the registry an invalid-expanded string.

CORE-14981
2018-09-23 00:16:06 +02:00
Hermès Bélusca-Maïto 41a5b11fcd
[SHELL32] Partially synchronize wine/shellpath.c with Wine.
- Adjust the code with respect to:
  "shell32: Re-add support for expanding ALLUSERSPROFILE for backward compatibility."
  4a6855a575c02aa1569aab8b2e96720fc02f3f26 (Alexandre Julliard)

- "shell32: Avoid infinite loop in _SHExpandEnvironmentStrings."
  ceea5bda14ecf4c8ce262fc7ab88df49e500bc38 (Alexandre Julliard)

- "shell32: Assume that system directory always contains a drive letter."
  54530bc4933ae1014c3697c95e22b8ca5a275bc4 (Alexandre Julliard)

- "shell32: Use ARRAY_SIZE macro."
  612a1941331485725952d34f3dcd5866fc318dc2 (Nikolay Sivov)

- "shell32: Fix a trace message."
  bb09bb5750d617047aa23635731519a2f9486159 (Nikolay Sivov)

- "shell32: Fix SHGetFolderPathAndSubDir() trace message."
  f75d5625966933562b974540a3f29dfcd720ad50 (Nikolay Sivov)

- "shell32: Pass correct buffer length to RegQueryValueExW()."
  0bfb97dcba29552b51d8609fcc6e7bbc04bb8320 (Nikolay Sivov)

- "shell32: Remove unused string (Clang)."
  8d50a8a246960749afba21eac117b4fcbbf2c79d (André Hentschel)

- "shell32: Use E_NOT_SUFFICIENT_BUFFER definition."
  730e744e3bd6b706612fe0f90a7efb2e600f114f (Nikolay Sivov)
2018-09-23 00:16:02 +02:00