Commit graph

112 commits

Author SHA1 Message Date
Zhiyi Zhang
b240f8ea93 ntdll: Implement NtSetIoCompletionEx(). 2024-11-14 21:56:33 +01:00
Zhiyi Zhang
b21813fa13 ntdll: Implement NtAllocateReserveObject().
React Native applications need a real kernel handle from NtAllocateReserveObject().
NtAllocateReserveObject() pre-allocates memory for objects to deal with low memory situations. Due
to no APIs in Wine actually uses NtAllocateReserveObject(), for now no memory is reserved.
2024-10-18 16:42:47 +02:00
Alexandre Julliard
322b5334a8 server: Add a helper to append data to a buffer. 2024-09-11 22:51:45 +02:00
Rémi Bernon
33a9097bb4 server: Mark block as writable in mark_block_uninitialized.
Before writing to it, it may have been marked as noaccess before
in free_shared_object.
2024-06-21 22:59:39 +02:00
Rémi Bernon
fac940dfac server: Create a global session shared mapping. 2024-06-20 23:03:26 +02:00
Zebediah Figura
2c2b1b1f14 server: Don't set error in find_object_index if the object is not found.
find_object_index() sets the status code to STATUS_NO_MORE_ENTRIES to
indicate that the given index does not exist in the list of the
directory entries, in addition to returning NULL.

STATUS_NO_MORE_ENTRIES only makes sense in the context of the function's
only caller, req_get_directory_entry(), which is used to implement the
NtQueryDirectoryObject() system call, specifically the single object
case.  Otherwise, the choice of status code is unintuitive.

Remove the set_error() call in find_object_index(), and move the
responsibility of setting the status code to the caller.
2024-06-11 16:51:27 +02:00
Jinoh Kang
9090229e67 server: Use the token owner instead of the token user for default object owner.
Also, replace the token user with the token owner for the default DACL
as well.  Wine currently selects domain_users_sid as the token owner, so
use that.  This is required to pass the advapi32:security test which
expects the security descriptor owner SID to be referenced in the DACL
as well.
2022-07-20 22:33:44 +02:00
Alexandre Julliard
9c551448cb server: Prevent infinite symlink recursion in lookup_named_object().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-05 14:33:55 +02:00
Alexandre Julliard
248231468d server: Avoid potential NULL dereference in create_named_object().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-05 14:33:33 +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
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
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
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
dc4e881834 server: Add support for object counts in the object type information.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11: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
Paul Gofman
ae106feed2 server: Do not dereference symlinks specified as root directory.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alexandre Julliard
50e2c62a60 server: Initialize the object permanent flag.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49889
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 14:14:53 +02:00
Alexandre Julliard
ab9ded062f server: Restart search from the start when releasing permanent objects at exit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 14:14:45 +02:00
Alexandre Julliard
3b3c8619c8 server: Keep permanent objects on the standard object list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 15:34:10 +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
82c84548eb server: Use OBJ_PERMANENT for permanent objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 15:16:13 +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
Zebediah Figura
77e74fb1db ntdll: Implement NtMakeTemporaryObject().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Zebediah Figura
c7032e9222 server: Implement OBJ_PERMANENT.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
6db1232567 server: Add a helper function for hashing a Unicode string.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01: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
7b41b7510f server: Add a helper function for splitting a path into individual elements.
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
Zebediah Figura
2b9c7f8bfb server: Make free_object() static.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 11:43:01 +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
Michael Müller
187b53e5a5 server: Do not set SE_{D, S}ACL_PRESENT if no {D, S}ACL was set.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-15 11:09:16 +02:00
Michael Müller
af2d01c2fa server: Implement changing the label of a security descriptor.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-15 11:08:59 +02:00
Sebastian Lackner
332d592158 server: Explicitly mark memory as undefined in mem_alloc wrapper.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 10:28:53 +01:00
Alexandre Julliard
3ea7f7d2f4 server: Set the security descriptor at object creation.time.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
7ad32cf56a server: Allow lookup_name to distinguish the case of an empty path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 20:36:16 +09:00
Sebastian Lackner
f7915d4e43 server: Fix memory leak of object name structure.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 22:14:48 +09:00
Alexandre Julliard
7a5b14d456 server: Add a function to open a named object inside any parent, not only directories.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 16:55:00 +09:00
Alexandre Julliard
0458a7d0e3 server: Use the lookup_name operation when creating a named object.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 14:24:15 +09:00
Alexandre Julliard
bfd0dff215 server: Add a function to lookup an object by name inside any parent, not only directories.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 14:10:39 +09:00
Alexandre Julliard
b21a324070 server: Use the link_name operation to create named objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 00:20:01 +09:00
Alexandre Julliard
f55db7882d server: Add link_name and unlink_name object operations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Alexandre Julliard
d15f47412e server: Always print the full path of objects when dumping them.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 01:26:15 +09:00
Sebastian Lackner
52f9acedd2 server: Clear last error when creating object without name.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:22 +09:00
Andrew Cook
5d85f57814 server: Track handle count of objects. 2015-04-03 17:07:37 +09:00
Marcus Meissner
ea5808dff5 server: Initialize the _len parts to 0 (Coverity). 2014-12-01 11:00:20 +01:00
Joris van der Wel
6d19aa83bf server: A new function "set_sd_defaults_from_token". 2014-10-01 14:53:59 +02:00
Joris van der Wel
0a4c7860f8 server: Setting a security descriptor should not replace an existing owner or group with a default, if only a DACL is being set. 2014-07-08 19:04:49 +02:00
Joris van der Wel
11674b2f61 server: Any of the 4 SE_*_DEFAULTED controls should not be stored on objects, their usage is transient. 2014-07-01 13:07:48 +02:00