Commit graph

896 commits

Author SHA1 Message Date
Alexandre Julliard b9638ebc1c kernelbase: Fix the name of the default system locale. 2024-05-24 11:15:33 +02:00
Dmitry Timoshkov fcdd73df19 kernelbase: Add support for FileDispositionInfoEx to SetFileInformationByHandle().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-05-07 13:47:32 +02:00
Alexandre Julliard da387a9b56 nls: Update locale data to CLDR version 45. 2024-05-04 09:56:23 +02:00
Zebediah Figura 61b88ebd50 kernelbase: Do not start the debugger if SEM_NOGPFAULTERRORBOX is set.
Motor City Online apparently checks for a debugger by setting this flag and then
intentionally causing a page fault. If no debugger is present on Windows, the
subprocess simply dies without spawning any crash dialog. This patch emulates
that behaviour, suppressing a (harmless) crash dialog from winedbg.

This may result in legitimate failures no longer triggering a winedbg crash
dialog, if other programs happen to use SEM_NOGPFAULTERRORBOX, but the winedbg
crash dialog cannot be relied upon anyway.
2024-04-25 12:57:58 +02:00
Jinoh Kang 4b0b489f6f kernelbase: Open object with DELETE access for NtMakeTemporaryObject().
Fixes: a4ef56e1d9
2024-03-21 22:19:58 +01:00
Alexandre Julliard 866907ee3d kernelbase: Remove no longer needed DllMainCRTStartup function. 2024-03-14 18:41:42 +01:00
Zhiyi Zhang d2045611b6 advapi32: Check NULL return key pointers when creating registry keys.
Fix Warlords Battlecry III (433280) crashes at launch.
2024-03-04 22:50:25 +01:00
Alexandre Julliard 577c327a44 kernelbase: Implement RaiseException on ARM64EC. 2024-03-01 19:12:10 +01:00
Alexandre Julliard 0698f732af kernelbase: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Paul Gofman 6cbe072c37 kernelbase: Use KEY_WOW64_64KEY flag when 64 bit registry access is assumed. 2024-02-28 22:40:43 +01:00
Paul Gofman 6ba603a03c kernelbase: Force debug info in critical sections. 2024-02-20 10:44:14 +01:00
Kartavya Vashishtha 1e34842799 kernelbase: Implement CopyFile2(). 2024-02-20 10:42:57 +01:00
Jinoh Kang 1b0d8428df kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().
It also fixes the game Unity of Command II (same bug).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46070
2024-02-19 21:28:42 +01:00
Alexandre Julliard 6e9d214096 kernelbase: Update timezone data to version 2024a. 2024-02-17 18:18:03 +01:00
Nikola Kuburović fddea5da01 kernelbase: Reduce FIXME to TRACE if params is null.
If CREATEFILE2_EXTENDED_PARAMS struct pointer is null, we just forward
to CreateFileW and we don't need FIXME's.
2024-02-15 20:37:07 +01:00
Zebediah Figura 5ca8e4b00d kernelbase: Use scheme_is_opaque() in UrlIs(). 2024-02-13 22:37:50 +01:00
Zebediah Figura 37aabda67e kernelbase: Reimplement UrlCanonicalize().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=23166
2024-02-13 22:37:50 +01:00
Zebediah Figura 80a92c07f5 kernelbase: Do not canonicalize the relative part in UrlCombine(). 2024-02-13 22:37:50 +01:00
Zebediah Figura 13d48ed315 kernelbase: Do not use isalnum() with Unicode characters.
It does not expect code points higher than U+00FF and will read past the end of the ctypes[] array.
2024-02-13 22:37:50 +01:00
Gabriel Ivăncescu e8f4909ac3 kernelbase: Copy the read-only attribute from the source.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-02-12 23:02:03 +01:00
Eric Pouech 4121a29b50 kernelbase: Don't use INVALID_HANDLE_VALUE as std handle in CreateProcess.
And don't infer detached console state from std handle values, but rely
on a NULL console handle.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-02-12 23:02:02 +01:00
Alexandre Julliard 9088506029 kernel32: Move Wow64Get/SetThreadContext implementation to kernelbase. 2024-02-06 16:36:19 +01:00
Felix Münchhalfen 1cbff7c8d6 kernelbase/tests: Add a test for MapViewOfFile3 with MEM_REPLACE_PLACEHOLDER. 2024-02-01 21:47:17 +01:00
Gabriel Brand 12141ad6c5 kernel32: Add string for WSAEADDRNOTAVAIL error. 2024-01-25 21:00:06 +01:00
Jacek Caban 91d7b084ba kernelbase: Silence -Warray-bounds clang warning. 2024-01-25 17:58:54 +01:00
Jacek Caban 2765825c9e kernelbase: Silence -Wsometimes-uninitialized clang warning. 2024-01-25 17:58:54 +01:00
Alexandre Julliard 7cd2821d67 kernelbase: Don't validate calendar id for GetCalendarInfo(CAL_ITWODIGITYEARMAX).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53845
2023-12-12 11:01:14 +01:00
Nikolay Sivov f27b62206c kernel32: Implement GetProcessInformation(ProcessMachineTypeInfo).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-08 22:31:38 +01:00
Alexandre Julliard 158a2bada7 kernelbase: Implement SwitchToFiber on ARM64EC. 2023-12-07 20:21:42 +01:00
Alexandre Julliard 8fef79cb41 kernelbase: Implement DebugBreak() for ARM64EC. 2023-12-07 20:21:42 +01:00
Eric Pouech a7c5e2413e kernelbase: GetStartupInfoW: set std handle only when USESTDHANDLES is set.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Eric Pouech 3f814c42c0 kernelbase: No longer cache GetStartupInfoW() results.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-05 21:24:37 +01:00
Eric Pouech 0c61713bc3 kernelbase: Reset std handles gotten from GetStartupInfo().
The std handles gotten from GetStartupInfo are only set when
process was created with STARTF_USESTDHANDLES flag.
And yes, Ansi and Unicode versions reset the std
handles to a different value.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-30 23:12:54 +01:00
Paul Gofman ed7aca011c kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW(). 2023-11-09 14:38:32 +01:00
Paul Gofman d93e289977 kernelbase: Return empty string from LoadStringW() if resource is not found. 2023-11-09 14:38:32 +01:00
Paul Gofman f1db89768a kernelbase: Don't inherit all the handles in conhost.exe. 2023-11-07 20:55:08 +01:00
Alexandre Julliard 7ccb5df0fc makefiles: Always use the global SOURCES variable for .rc files. 2023-11-01 22:43:56 +01:00
Hans Leidekker fd00d8e4cc ntdll: Bump current build number to 19043 (Win10 2009).
Based on Proton commit 0fa76dd66a8.
2023-10-31 17:04:57 +01:00
Alexandre Julliard 0d3fd14747 kernelbase: Only support Wow64 system directories for 32-bit platforms. 2023-10-31 14:07:16 +01:00
Hans Leidekker 3f6510c1d6 kernelbase: Trace global memory counters in decimal. 2023-10-25 07:50:04 -05:00
Alexandre Julliard e57e885688 kernelbase: Export the extended context functions on all platforms. 2023-10-19 18:19:30 +02:00
Alexandre Julliard cf21c75bbf ntdll: Simplify platform checks for exception handling functions.
And sync the corresponding forwards.
2023-10-19 18:19:30 +02:00
Alexandre Julliard 64de93e300 makefiles: Always use the global SOURCES variable for .mc files. 2023-10-12 10:50:42 +02:00
Alex Henrie 0d7cf84709 include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h. 2023-09-27 11:17:47 +02:00
Paul Gofman 9ff0569667 kernelbase: Support masks suggesting no extension in FindNextFile(). 2023-09-04 20:41:54 +02:00
Paul Gofman a90f695f78 kernelbase: Get unprocessed mask in FindFirstFileExW(). 2023-09-04 20:41:54 +02:00
Paul Gofman 68fecd77eb kernelbase: Duplicate file name matching code for FindNextFileW(). 2023-09-04 20:41:54 +02:00
Etaash Mathamsetty 240556e2b8 kernelbase: Add GetPackagePathByFullName stub. 2023-08-23 18:56:29 +02:00
Eric Pouech 3b7baae6e9 kernelbase: Correctly handle new process group flag in CreateProcess.
(when CREATE_NEW_CONSOLE is used).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech 82b0bb3c24 server: Separate console and new group flag (CreateProcess).
We were using bit 1 of RTL_USER_PROCESS_PARAMETERS for two different cases:
- rightfully, as a sign to block ctrl-c events from being processed by
  handlers (and by default, terminating the process)
- But this was also used to request for the creation of a new process group.

This patch properly separates the two use cases, by using the
ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS (checked that Win10
behaves as this patch in RtlCreateUserProcess wrt.
RTL_USER_PROCESS_PARAMETERS ProcessGroupId usage input/output).

Introduce process_group_id in startup_info_t and use it to pass it to
server. ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS is now properly
set.

Note: this will change some external behavior.
- before this patch, a child process created with Ctrl-C disabled
  (ConsoleFlags set), couldn't turn it on as the process was detached
  from unix console.
- now, SIGINT handling is moved to kernelbase (and can be turned on/off at
  application will),
- when creating a new windows group id, the child will be detached from
  unix console, so will no longer receives the SIGINT from ctrl-c in unix
  console (if parent was attached to this unix console).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00