Commit graph

72539 commits

Author SHA1 Message Date
Pierre Schweitzer 85d4a49acd
Add a quick statement about BtrFS :-) 2018-08-20 20:26:16 +02:00
Pierre Schweitzer 53985bf64d
[FASTFAT] Disable delayed close
It brings too many regressions for too little gain.

CORE-14938
CORE-14917
CORE-14826
2018-08-20 19:43:43 +02:00
Serge Gautherie 2e7b73dc75 [MSHTML] Fix an MSVC warning about HTMLInputElementImpl_fire_event()
"...\htmlinput.c(1303) : warning C4028: formal parameter 2 different from declaration"

Temporary fix, until WINESYNC replaces this function.
CORE-7538
2018-08-20 19:06:00 +02:00
Timo Kreuzer c219be9409 [NTOS:MM] Fix paged pool expansion 2018-08-20 18:07:35 +02:00
Adam Słaboń af3d426685 [TRANSLATION] Polish translation update (#781)
In addition: fix the encoding of the comdlg32 and ntvdm polish resource files.
2018-08-20 17:00:33 +02:00
Katayama Hirofumi MZ b8ea1b3416 [GDI32][APITESTS] Add GetGlyphOutline testcase (#776)
CORE-14928
2018-08-20 16:31:32 +02:00
Katayama Hirofumi MZ 932df378bf [BOOTDATA] Improve 'Open With' registry information (#586)
* use ""%1""
* double-quoted %1
* remove doubled quotes with rundll32
2018-08-20 16:14:18 +02:00
Jake Collins 72827bc514 [MODERN.MSSTYLES] Add the initial version of the modern theme.
CORE-13020
2018-08-20 15:06:53 +02:00
Victor Perevertkin d0847939e4 [BTRFSTOOLS] Added python scripts for inspecting BTRFS filesystem
internals
2018-08-20 08:26:56 +02:00
Victor Perevertkin 0e61b570e7 [BTRFS] Applied upstream pull-requests before they are merged 2018-08-20 08:26:56 +02:00
Victor Perevertkin 3b69eee7a6 [FREELDR][BTRFS] Implemented BTRFS support in Free Loader. Now it supports case-insensitive path lookup, symlink folowing and reading uncompressed files.
Volume boot record is also implemented, it supports reading BTRFS tree structures with upto 64k node size.
This support required to change all path in Free Loader to lowercase for better performance.
CORE-13769
2018-08-20 08:26:56 +02:00
Victor Perevertkin 07bc92f740 [USETUP][SETUPLIB] Added support for formatting partition in BTRFS and installing ReactOS on it.
Removed code related to EXT2 boot sector for now.
CORE-13769
2018-08-20 08:26:56 +02:00
Eric Kohl 934104d73f [UMPNPMGR] Simplify PNP_GetDeviceRegProp 2018-08-20 00:55:03 +02:00
Eric Kohl 91fab9e53b [SETUPAPI] SetupDiGetDeviceRegistryPropertyW call CM_Get_DevNode_Registry_Property_ExW for properties that can not be retrieved from the registry 2018-08-20 00:16:18 +02:00
Katayama Hirofumi MZ 5daa7b07c8 [FONT][WIN32SS] Refactor the loop (1 of 5) 2018-08-19 23:08:38 +02:00
Katayama Hirofumi MZ c4e0107765 [FONT][WIN32SS] Refactor the loop (2 of 5) 2018-08-19 23:07:37 +02:00
Katayama Hirofumi MZ b9b4c90303 [FONT][WIN32SS] Refactor the loop (4 of 5) 2018-08-19 23:05:35 +02:00
Katayama Hirofumi MZ 7b04962aed [FONT][WIN32SS] Refactor the loop (5 of 5) 2018-08-19 23:05:04 +02:00
Katayama Hirofumi MZ d641072cb2 [FONT][WIN32SS] Refactor the loop (3 of 5) 2018-08-19 23:03:13 +02:00
Timo Kreuzer 279d179ac4
[TRANSLATION] Polish translation of errcodes.mc (0-499) (#777) 2018-08-19 22:46:51 +02:00
Serge Gautherie 155bd681a0 [GDI32_APITEST] Remove broken EngDeleteSemaphore.c (#655)
- Checks are actually uses-after-free, "by design" :-<
- Actual test code duplicates EngCreateSemaphore.c, EngAcquireSemaphore.c and EngReleaseSemaphore.c.
2018-08-19 22:33:56 +02:00
Hermès Bélusca-Maïto d0632b0bca
[WIN32K:NTUSER] In UserSetProcessWindowStation(), use a duplicated window station handle to be set in the EPROCESS:Win32WindowStation cache.
Fixes most of the user32:desktop window station handle reference count tests.
2018-08-19 22:18:42 +02:00
Hermès Bélusca-Maïto e3b9152935
[WIN32K:NTUSER] For processes that start without any window station and no desktops but manage these (e.g. winlogon.exe), assign their startup desktop when they assign a desktop to one of their threads. 2018-08-19 22:18:41 +02:00
Hermès Bélusca-Maïto 3270979327
[WIN32K:NTUSER] Add a temporary winsta/desktop-connection hack for CSRSS/USERSRV (connection to WinSta0).
Normally CSRSS must not be connected to any winsta or desktop by default. It should manually connect
to a winsta/desktop only when it has to do some GUI operations, and then disconnect afterwards.

[USERSRV] Temporarily hackfix the harderror dialog display to the current input desktop.
2018-08-19 22:18:40 +02:00
Hermès Bélusca-Maïto fd39f92fcb
[INCLUDE][WINLOGON] Rename the STARTF_SCRNSAVER flag to STARTF_SCREENSAVER,
as documented in "Advanced Windows NT" by Jeffrey M. Richter (Microsoft Press),
and in https://is.muni.cz/el/1433/jaro2010/PB167/um/cv5/undocumented_CreateProcess.pdf .

[INCLUDE][SERVICES][WIN32K:NTUSER] Add an undocumented STARTF_INHERITDESKTOP flag
for the STARTUPINFO::dwFlags structure member, whose purpose is to tell Win32k
that the created handles to the window station and desktop to which the
process is connecting to, can be inherited by its child processes.
It is used when starting interactive services.
Observed via API monitoring on Windows 2003.
2018-08-19 22:18:40 +02:00
Hermès Bélusca-Maïto f3699c3838
[WIN32K:NTUSER] NtUserCloseDesktop(): Use ObCloseHandle instead. 2018-08-19 22:18:39 +02:00
Hermès Bélusca-Maïto c697f191cf
[WIN32K:NTUSER] Make NtUserResolveDesktop() and IntResolveDesktop() work in a more Win2k3-compatible manner.
CORE-11933 and PR #621.

Since this API is also called from WINSRV when calling the AllocConsole() API,
it can be tested more-or-less easily. The internal helper IntResolveDesktop()
is also tested during process connection to a window station, when such process
first calls a USER32 or GDI32 function.
This is also the functionality tested by the user32:desktop apitest.

- Adjust how IntResolveDesktop() is called.
2018-08-19 22:18:37 +02:00
Hermès Bélusca-Maïto 83104d9f00
[WIN32K:NTUSER] Code style fixes only. 2018-08-19 22:18:36 +02:00
Hermès Bélusca-Maïto bc7810a97e
[WIN32K:NTUSER] Rename some variables with more natural names. 2018-08-19 22:18:36 +02:00
Hermès Bélusca-Maïto 1abeb905c3
[WIN32K:NTUSER] Split NtUserCreateDesktop() into the part that captures the user-mode data and the internal worker IntCreateDesktop() function, which will also be used later. 2018-08-19 22:18:35 +02:00
Hermès Bélusca-Maïto 7bc2ddd669
[WIN32K:NTUSER] Fixes for NtUserCreateWindowStation(), IntCreateWindowStation() and NtUserOpenWindowStation().
CORE-11933 and PR #621.

We are potentially going to modify the window station name to be
created or opened, by one with the format "Service-0x<luidhigh>-<luidlow>$",
in case the user provides an empty name.
Since we want to use the user-mode ObjectAttributes structure pointer so
that the Object manager can correctly perform the access checks and the
capture, we actually need to construct the new window station name in the
user memory space! This allows us then to fetch the new name in the
ObjectAttributes structure so that Ob can use it.
All of this is performed under SEH.

For NtUserOpenWindowStation(), we also need to be Windows-compatible and
detect whether user-mode gave instead the special "Service-0x00000000-00000000$"
name (observed via API monitoring) that is used when one tries to open a
window station with empty name.
2018-08-19 22:18:35 +02:00
Hermès Bélusca-Maïto 26933a0965
[WIN32K:NTUSER] Similarly to what was done in USERSRV for harderrors, introduce the _scwprintf() helper function based on the imported _vscwprintf(). 2018-08-19 22:18:34 +02:00
Hermès Bélusca-Maïto 43e2ab208a
[WIN32K:NTUSER] Get rid of the cached window station Name member, and instead just use the name stored in the NT Object's header.
CORE-11933 and PR #621.

- Remove the related hack-FIXMEs;
- Adjust NtUserGetObjectInformation() in accordance.
- Retrieve the window-station/desktop object type string in NtUserGetObjectInformation()
  also from the NT Object's header.

Also simplify the UOI_FLAGS case of NtUserGetObjectInformation() by reading
the handle inheritance information directly from the OBJECT_HANDLE_INFORMATION
structure returned by ObReferenceObjectByHandle().
2018-08-19 22:18:32 +02:00
Hermès Bélusca-Maïto dae57caa36
[WIN32K:NTUSER] Detect when the NtUserCreateWindowStation() caller has provided an empty window station name, and if so, generate a name in the format: "Service-0x<luidhigh>-<luidlow>$" .
CORE-11933 and PR #621.
2018-08-19 22:18:32 +02:00
Hermès Bélusca-Maïto ba018294d3
[WIN32K:NTUSER] Split NtUserCreateWindowStation() into the part that captures the user-mode data and the internal worker IntCreateWindowStation() function, which will also be used later.
Add a FIXME note about how we currently handle the window station name.
2018-08-19 22:18:31 +02:00
Hermès Bélusca-Maïto f47afc3b61
[WIN32K:NTUSER] In UserCreateWinstaDirectory(), use a string-safe printf, and use OBJ_KERNEL_HANDLE as well as a suitable desired access value in a ZwCreateDirectoryObject() call. 2018-08-19 22:18:30 +02:00
Hermès Bélusca-Maïto 2345d63ce3
[WIN32K:NTUSER] Add an extra optional "Process" parameter to the GetProcessLuid() function to be used alternatively in place of "Thread" to retrieve the LUID. 2018-08-19 22:18:30 +02:00
Hermès Bélusca-Maïto d77c493213
[WIN32K:NTUSER] Move the GetProcessLuid() function to the miscellaneous module. 2018-08-19 22:18:29 +02:00
Hermès Bélusca-Maïto 9c0564063d
[USER32] Implement the special case in CreateWindowStationW() that, when no window station name is provided (either NULL or empty string), does not open any WindowStation directory handle to be passed to the Win32k function.
Observed via API monitoring.
This corresponds to the case where Win32k creates a window station whose name is based on the logon session identifier for the calling process.

Add also a note about the fact that we need to use a per-session-based WindowStation directory name, as done already in Win32k.

CORE-11933 and PR #621.
2018-08-19 22:18:22 +02:00
Andrew Cook 8cd5c4e7bd CORE-14513 [CMAKE] Remove modules that are shipped with cmake (#575)
* Remove unused cmake modules - Both are unedited versions of modules provided by cmake itself
* Remove Compiler/GNU.cmake - Only chang was various _INIT flags, which are handled
via CMAKE_USER_MAKE_RULES_OVERRIDE instead
* Remove Platform/Windows.cmake - There's no clear explination for this file being in reactos
and is simply an old version of the one in cmake
* Remove Platform/Windows-MSVC.cmake - _INIT variable changes moved to overrides-msvc.cmake
Remove /implib from link commands
* Remove CMakeDetermineASMCompiler.cmake - Only change from 3.2 is the addition of a compiler list for the generic ASM dialect, but toolchain files explicitly set a compiler so the list is never used
2018-08-19 22:01:31 +02:00
Bișoc George 2eb7ddd598 [OSK] Some enhancements for locales IT and RO (#416)
* Window element improvements for Italian and Romanian
2018-08-19 21:42:57 +02:00
Petr Akhlamov 05fbad174f [OSK] Rearrange window elements for ru-RU and en-US locales (#412)
* Resize osk window at RU and EN(US) languages
2018-08-19 21:40:58 +02:00
Pierre Schweitzer e8611d3e65
[NETSHELL] Update French translation to reflect 0725098 2018-08-19 20:50:55 +02:00
Stanislav Motylkov d033fe9bbf [NTOS:EX] Implement SystemFirmwareTableInformation class 2018-08-19 20:27:59 +02:00
Stanislav Motylkov 844483504b [KERNEL32] Implement system firmware functions properly 2018-08-19 20:27:59 +02:00
Stanislav Motylkov b851d7e1d3 [KERNEL32_APITEST] Add SystemFirmwareTableInformation tests
Thanks goes to Mark Jansen for help!
2018-08-19 20:27:59 +02:00
Serge Gautherie 95fdc24157 [APPVEYOR] Add 'BuildType: vssolution'
Disabled by default, though ready to be enabled.
2018-08-19 20:03:14 +02:00
Denis Malikov 55368bacc8 [UPDATES] New stubs for Automatic Updates service and WUSA.exe. Presence of this modules required for installation by some NT6+ applications. 2018-08-19 19:56:18 +02:00
Paweł Cholewa 8569c905ca [SDK][Translation] Polish translation update (#495)
* Polish translation update in neteventmsg.mc
2018-08-19 19:47:26 +02:00
Serge Gautherie 8283a9ece2 [LOG2LINES] Enforce "Iso" type when unpacking the Iso file
Work around some "7z" dealing with files not named "*.iso" as "Cab" type.
Issue at least with "7-Zip [64]  9.20" on "Ubuntu 16.04".

CORE-14734
2018-08-19 17:39:15 +02:00