Commit graph

204 commits

Author SHA1 Message Date
Alexandre Julliard 663e93e61f server: Only create Wow64 system directories for 32-bit platforms. 2023-10-31 14:07:16 +01:00
Dmitry Timoshkov d289dfc2c0 server: Write terminating '\0' in the strings.
I have an application that creates its special registry key using
NtCreateKey(parent, "Something\0"), and then expects to be able to
open this key with NtOpenKey("Something\0") on start up. Currently
this fails because terminating '\0' in the key name doesn't survive
saving/loading the registry. parse_strW() helper already supports
loading such key names.

As the tests show after creating a kernel object with the name "Something\0"
it's possible to only open it as "Something\0", and an attempt opening it
as "Something" fails with STATUS_OBJECT_NAME_NOT_FOUND, and vice versa.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-09-12 09:40:52 +02:00
Alexandre Julliard 17a0e19489 server: Make x86_64 a supported architecture on ARM64. 2023-05-09 14:28:04 +02:00
Sven Baars fe8b10f8c8 server: Don't return the actual 32-bit Software\Classes key. 2022-11-18 13:55:21 +01:00
Sven Baars b8d7434e33 server: Recursively obtain the Wow6432Node parent. 2022-11-18 13:55:21 +01:00
Alexandre Julliard bd5edbe1eb server: Create new keys in the parent of a shared key.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53343
2022-07-13 12:50:07 +02:00
Alexandre Julliard 569c27945e server: Use standard named object functions for registry keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-07 19:10:02 +02:00
Alexandre Julliard b79ff648ef server: Implement lookup_name() for registry keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-07 19:10:02 +02:00
Alexandre Julliard 6a7a7bbe97 server: Implement link_name() for registry keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-07 19:10:02 +02:00
Alexandre Julliard 721cd6e636 server: Move some functions to avoid forward declarations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-07 19:10:02 +02:00
Alexandre Julliard 5414f648ee server: Implement unlink_name() for registry keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-06 16:02:48 +02:00
Alexandre Julliard 617cc989f0 server: Store the key parent in the standard object name structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-06 16:02:48 +02:00
Alexandre Julliard e3c32904b2 server: Use the standard object name for registry keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-06 16:02:48 +02:00
Alexandre Julliard 6bed417bb7 server: Store a pointer to the Wow6432Node subkey.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-06 16:02:48 +02:00
Alexandre Julliard 68a69b51bb server: Return the standard status code when the key exists in NtCreateKey.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-05 14:19:00 +02:00
Alexandre Julliard ec8edb66df server: Fix access check for NtQueryKey.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-05 14:08:43 +02:00
Nikolay Sivov 1fb6f27144 ntdll: Implement NtRenameKey().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-28 15:54:15 +02:00
Alexandre Julliard 990cc1c64b server: Define a server-side structure for SID.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 12:32:11 +01:00
Alexandre Julliard 841b8862fb server: Define a server-side structure for ACE.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 12:21:14 +01:00
Alexandre Julliard c36f81fa75 server: Define a server-side structure for ACL.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 12:10:40 +01:00
Alexandre Julliard 7d7322671c server: Define a server-side structure for LUID_AND_ATTRIBUTES.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 11:55:40 +01:00
Alexandre Julliard 1381be977b server: Add sys/types.h include in a few more files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 11:44:02 +02:00
Alexandre Julliard c954e5b9e6 server: Avoid using wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Zebediah Figura 70e95447f9 server: Create the special Perflib\009 key.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Zebediah Figura 089b2528c2 server: Return STATUS_KEY_DELETED when trying to retrieve the full name of a deleted key.
This fixes a server crash that can be triggered by deleting a key and then
trying to retrieve its name. In that case key->parent is NULL.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard 2ff7a7676c server: Add a native_machine global variable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-24 11:00:24 +02:00
Alexandre Julliard ea2d9c0406 server: Create the Wow64 key and system directory for all supported architectures.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 10:43:35 +02:00
Alexandre Julliard 339ed57643 server: Get rid of the CPU type and functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 10:42:04 +02:00
Alexandre Julliard 96865eb7e7 server: Return a list of supported machines instead of a CPU bitmask.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 15:17:54 +02:00
Akihiro Sagawa 70c77cdfee server: Prevent unloading a registry hive while the key is in use.
Otherwise, RegUnLoadKey(HKEY_USERS, "S-1-5-21-0-0-0-1000") erases all
HKCU registry. The call is actually done by a certain installer.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Akihiro Sagawa d6d99e59e3 ntdll: ObjectName should also be used in NtUnloadKey.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Alexandre Julliard d6ef9401b3 server: Use the object type information to implement access mapping.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Alexandre Julliard 4d646de90d server: Add generic mapping masks for all object types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 15:38:22 +01:00
Alexandre Julliard c6f2aacb57 server: Add a type descriptor to all server objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 21:25:32 +01:00
Sebastian Lackner 9c29cee638 server: Store and notify all notification events associated with a given registry handle.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 21:06:26 +01:00
Paul Gofman a692d49039 server: Remove leftover dump in key_get_full_name().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Paul Gofman 886acfad37 server: Check reply size when copying key full name.
Fixes segfault in wineserver during ntdll reg test.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Alexandre Julliard 25692223f1 server: Rename make_object_static() to make_object_permanent().
This makes it clear that it's the same as the OBJ_PERMANENT flag.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 15:26:10 +02:00
Alexandre Julliard 96dcee6430 server: Implement object name information for registry keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 21:35:35 +02:00
Alexandre Julliard 2e51f9aae3 server: Add an object operation to retrieve an object name.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 16:55:08 +02:00
Alexandre Julliard 5721d5f8da server: Add a helper function for case-insensitive Unicode string comparisons.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Alexandre Julliard faaea5cd00 server: Add a helper function for creating a Unicode string.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Alexandre Julliard 78846662ec server: Use byte length in dump_strW() for consistency.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:39:09 +01:00
Alexandre Julliard fc17535eb9 server: No longer depend on libwine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Jacek Caban b2a546c92d server: Introduce kernel_object struct for generic association between server and kernel objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:55:15 +01:00
Alexandre Julliard 156965eae9 server: Create the windows directories at startup if necessary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-12 23:02:28 +01:00
Michael Stefaniuc 9e365e4ecc server: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 13:56:55 +02:00
Daniel Lehman 1353d02904 server: Notify parents of registry value changes.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-07 12:09:47 +02:00
Daniel Lehman 47df3778aa server: Fix copy & paste for number of subkeys.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 20:53:08 +02:00
Sebastian Lackner 808619b72d server: Allow to create win32 prefix when directory already exists.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 12:46:01 +09:00