Commit graph

78932 commits

Author SHA1 Message Date
Victor Perevertkin
06bff99edb
[I8042PRT][RAMDISK] Fix usage of the RegistryPath in DriverEntry
We can't rely on it being zero-terminated, so ensure that it's
duplicated first before usage in RtlQueryRegistryValues
2021-01-04 17:19:12 +03:00
Victor Perevertkin
e12233daf6
[USETUP] Do not put ImagePath to the service registry entry
It is supposed to be there already
2021-01-04 16:50:33 +03:00
Victor Perevertkin
e5254974d2
[NTOS:IO] Start loading drivers from the disk only after SystemRoot is initialized
Add another PnPBootDriversInitialized variable to indicate a point where
both disk subsystem and SystemRoot symlink are initialized, and use it
in a PiCallDriverAddDevice call.
2021-01-04 16:50:33 +03:00
Victor Perevertkin
c4c0585f96
[NTOS:IO][NTOS:PNP] Implement PiCallDriverAddDevice
- Move the driver's name obtaining logic into the IopGetDriverNames
  function
- Create a new PiCallDriverAddDevice instead of PipCallDriverAddDevice
  and move it to pnpmgr/devaction.c file. Move around all its internal
  helpers too
- Support a proper Windows-compatible driver loading order for a PDO
  (lower filters, main service, upper filters, etc.)
- Set a correct Problem for the DeviceNode, in case of an error during
  driver loading
- Check the Start Type for all drivers before loading
- Do not try to load drivers during the early boot stage when there is
  no disk subsystem initialized
2021-01-04 16:50:33 +03:00
Victor Perevertkin
4c95339da0
[NTOS:IO] Refactoring of the driver initialization code (2)
- Do not hold the IopDriverLoadResource while trying to reference a
  driver object (but still acquire it when we actually need to load a
  driver)
- Change IopLoadDriver and IopInitializeDriverModule to use registry
  handle instead of a service name string and/or full registry path
- Do not try to reference a driver object inside IopLoadDriver. It's
  supposed to be done before the function call
2021-01-04 16:50:33 +03:00
Victor Perevertkin
a6a3aa0f0d
[NTOS:IO] Refactor IopLoadUnloadDriver
- Split IopLoadUnloadDriver into IopLoadDriver and calling DriverUnload
- Schedule the worker for (un)loading driver in a separate routine
  (IopDoLoadUnloadDriver) this allows IopLoadDriver to be called
  separately (if we are sure that we're in the system process)
2021-01-04 16:50:32 +03:00
Victor Perevertkin
e18a32df3a
[NTOS:IO] Refactoring of the driver initialization code
- Remove IopCreateDriver and put its code into IoCreateDriver and
  IopInitializeDriverModule. It's hard to extract a meaningful common
  part from it
- Refactor IopInitializeDriverModule. Extend and put the DriverName
  generation logic into it. Now this function frees the ModuleObject in
  case of failure and returns STATUS_FAILED_DRIVER_ENTRY in case of
  DriverInit failure (will be used later)
2021-01-04 16:50:32 +03:00
Victor Perevertkin
edb425d89e
[CMAKE] Use consolidated registry.inf for generating SETUPREG.HIV
This way all registry data generated by add_registry_inf goes there.
SETUPREG.HIV increased by about 12KiB after that
2021-01-04 16:50:32 +03:00
Victor Perevertkin
6f0e37b042
[NTOS:PNP][NTOS:IO] Do not create a device object + node on every driver load
- Remove the usage of IopCreateDeviceNode and change it to
  PipAllocateDeviceNode where required
2021-01-04 16:50:32 +03:00
Victor Perevertkin
4f91354092
[HIVESYS] Add CDROM device class 2021-01-04 16:50:31 +03:00
Victor Perevertkin
b1c460d34e
[I8042PRT] Add service registry entry for the driver 2021-01-04 16:50:31 +03:00
Victor Perevertkin
9029f51d8c
[UNIATA] Reduce the stack usage in AtapiDmaInit 2021-01-04 16:43:23 +03:00
Piotr Hetnarowicz
eb5972010a
[SHELL32] Improve Polish (pl-PL) translation (#3410) 2021-01-03 18:24:18 +03:00
Piotr Hetnarowicz
df7b892d97
[COMDLG32] Improve Polish (pl-PL) translation (#3411) 2021-01-03 15:54:10 +03:00
Eric Kohl
54d6fab0e1 [SAMSRV] Add 'Print Operators', 'Performance Monitor Users' and 'Performance Log Users' aliases to servers 2021-01-03 06:17:48 +01:00
Victor Perevertkin
e394a1312a
[CMAKE] Replace CMAKE_AR with CMAKE_LINKER /LIB for msvc
Render the command to a variable for dealing with quotes properly

Addendum to ca1b2ada34 and b96e88894a
2021-01-03 04:06:51 +03:00
Victor Perevertkin
ca1b2ada34
[CMAKE] Replace DIVISION_SLASH unicode character with SOLIDUS
This fixes the build on some machines. In addition, replace
the hardcoded "LINK /LIB" with ${CMAKE_AR}

Addendum to b96e88894a
2021-01-03 03:46:12 +03:00
Hermès Bélusca-Maïto
0abff65a55
[USETUP] Minor improvements when initializing the console.
- Use NT values for uninitialized handle values.
- Cache the STD_INPUT_HANDLE.
- Free the console if GetConsoleScreenBufferInfo() fails in CONSOLE_Init().
2021-01-03 00:27:54 +01:00
Hermès Bélusca-Maïto
8b94515bd3
[USETUP] Fix handling of the ESCAPE key.
Its AsciiChar is not zero in Console-compatible code.
2021-01-03 00:27:50 +01:00
Eric Kohl
16532170de [SYSSETUP][INF] Add event log settings to the default security settings and apply them on setup 2021-01-02 21:18:18 +01:00
Thomas Faber
9587fe1c36
[ACPICA] Update to version 20201217. CORE-17410 2021-01-01 16:20:53 +01:00
Eric Kohl
8de143e058 [SYSSETUP] Rename defltws.inf to defltwk.inf 2021-01-01 11:14:28 +01:00
Eric Kohl
1627e44637 [INF] Rename defltws.inf to defltwk.inf 2021-01-01 11:12:36 +01:00
Eric Kohl
f1e768c070 [SAMSRV][INF] Add missing aliases and privileges
- Add the 'Backup Operators', 'Replicator', 'RemoteDesktop Users' and 'Network Configuration Operators' aliases.
- Add missing privileges for the aliases.

Happy new year 2021! :-)
2021-01-01 10:24:36 +01:00
Hermès Bélusca-Maïto
b570fac18b
Happy New Year 2021 to the ReactOS Community!!
⚛️ 🍾 🥳 🎆 ☢️
2021-01-01 00:00:00 +01:00
Stanislav Motylkov
88d36c93a2
[UNIATA] Properly mark ReactOS diff from upstream
Addendum to 4b9cf2e (r71252), d14a872 (r73324), 7d65f2a (r71262), and 6c0ff7b.

CORE-11157 CORE-16078
2020-12-31 22:14:39 +03:00
Jérôme Gardou
c9f1501373 [FASTFAT_NEW] Fix callback calling convention 2020-12-31 17:14:04 +01:00
Serge Gautherie
685f15e253
[ACPI] acpi_create_registry_table(): Close the key handle, on errors (#3372)
Addendum to 44f1cf1 (r74559). CORE-12942
2020-12-31 17:42:42 +03:00
Serge Gautherie
309ed0d1fe
[ACPI] AcpiRegOpenKey(): Add a missing OBJ_KERNEL_HANDLE (#3370)
CORE-10207
2020-12-31 17:42:03 +03:00
Stanislav Motylkov
0ed5db45a4
[UNIATA] Emulate SCSI INQUIRY to properly recognize Xbox DVD drives
CORE-16692
2020-12-31 15:54:42 +03:00
George Bișoc
c11d342f42
[OSK] Adjust the resource size, width and heigh properties of buttons (#3403)
For French (fr-FR) and French Canadian (fr-CA) translations.

CORE-17039
2020-12-31 01:48:34 +03:00
Tibor Lajos Füzi
82f0061ddc
[TRANSLATION] Hungarian (hu-HU) translation update (#3388)
For mspaint, notepad, wordpad, cmd, cmdutils/help, appwiz, devmgr, newdev

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2020-12-31 01:42:34 +03:00
Erdem Ersoy
8a92b55649
[TRANSLATION] Update Turkish (tr-TR) translations of Control Panel applets (#3367) 2020-12-31 00:46:05 +03:00
Václav Zouzalík
d40f29601d
[SHIMGVW] Update Czech (cs-CZ) translation (#3409)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2020-12-31 00:06:48 +03:00
Jérôme Gardou
8a6d653044 [CRT] Fix _onexit
Avoid calling malloc in CR initialisation code.
Have executables call msvcrt implementation, while the DLLs keep their own function tables

CORE-17362
2020-12-30 19:03:52 +01:00
Jérôme Gardou
6c6d9bee68 [CRT] Do not call atexit at process initialization
There is no guarantee that the underlying APIs are initialized at this point

CORE-17362
2020-12-30 19:03:52 +01:00
Jérôme Gardou
26863538a4 [CRT] Format source a bit.
This is horrendous.
2020-12-30 19:03:52 +01:00
Stanislav Motylkov
f234cb6e59
[NTOS:CM] Do not create ProcessorNameString value if there is no Brand String
If the CPU does support CPUID instruction but does not have the Brand String,
the legacy name detection should be performed either in CIM_Processor (WMI),
in the Processor device driver, or in the application itself.

The deleted Intel CPU name detection code can go to the WMI at some point.
In fact Windows XP and 2003 kernels do not have any strings of that kind.

This effectively reverts the hack committed 6 years ago in 7a985425 (r63798)
that was intended to workaround CORE-7952.

CORE-17413
2020-12-30 19:38:41 +03:00
Stanislav Motylkov
c57d0b7b98
[ACPI] Do not panic if ProcessorNameString does not exist
Windows does not create this value in the registry if the processor core
does not expose the Brand String. It's an optional value and existing code
accessing it already has proper NULL checks:
https://git.reactos.org/?p=reactos.git;a=blob;f=drivers/bus/acpi/buspdo.c;hb=b96e88894a4d55f5e8b94430deeb0f086151b24f#l748

This is the proper fix for regression in CORE-7952.
Addendum to 48912992 (r61666) and 4d992804 (r62642).

CORE-17413
2020-12-30 19:38:33 +03:00
Stanislav Motylkov
740beb65e6
[DXDIAG] If ProcessorNameString not found, fall back to Identifier
It also should have its own routine for detecting CPU name, add a comment.
Windows XP and 2003 does have CPU name strings in dxdiagn.dll.

CORE-17413
2020-12-30 19:38:26 +03:00
Stanislav Motylkov
e9f9f83c0a
[SYSDM] If ProcessorNameString not found, fall back to Identifier
Also add a comment about CIM_Processor. CORE-17413
2020-12-30 19:38:14 +03:00
Jérôme Gardou
b96e88894a [CMAKE] Turn import libs into regular C static libs
Embed msvcrtex into libmsvcrt

Idea taken from Thomas Faber
2020-12-28 12:13:30 +01:00
Jérôme Gardou
cad583967b [GITHUB] Get LLVM latest version from chocolatey repository
Also, explicitly set target in toolchain file to help CMake getting things right.
2020-12-28 12:13:30 +01:00
Jérôme Gardou
56e56f8ecc [CMAKE] Use -fcommon when using CLang 2020-12-28 12:13:30 +01:00
Jérôme Gardou
5387a7ccb2 [SPEC2DEF] Work-around a bug in MS linker handling of extern forwarders 2020-12-28 12:13:30 +01:00
Jérôme Gardou
d53b03e676 [MSVCRT_WINETEST] Unconditionally link against oldnames 2020-12-28 12:13:30 +01:00
Jérôme Gardou
6fcd9f3184 [FTP] Always link agains oldnames 2020-12-28 12:13:30 +01:00
Victor Perevertkin
8ee88d3bd5
[NTOS:PNP] Send removal IRPs to a file system device object for mounted devices
If a DeviceObject has VPB attached, it should be treated in a special way

CORE-16106
2020-12-27 18:40:33 +03:00
Victor Perevertkin
62a4f9d42b
[MOUNTMGR] Do not handle device removal notification
Do not treat target device change notification as
DEVICE_INTERFACE_CHANGE_NOTIFICATION. The notification have to be
unregistered while handling GUID_DEVICE_INTERFACE_REMOVAL, so
GUID_TARGET_DEVICE_REMOVE_COMPLETE should never be sent to mountmgr in a
normal case.

CORE-16106
2020-12-27 18:35:52 +03:00
Hermès Bélusca-Maïto
89f36bcfc8
[CONSRV] Less hardcoded magic values. 2020-12-27 00:52:01 +01:00