Zebediah Figura
a17469b165
server: Call the close_handle callback and release_object_from_handle() in the same loop.
...
Several server objects check if the last handle is being closed in their
close_handle callback. If a process holds the last two handles to an object,
this code path currently won't be triggered.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 19:54:56 +02:00
Zebediah Figura
e759da260e
server: Use a separate request to retrieve the object name.
...
A deleted key returns STATUS_KEY_DELETED when ObjectNameInformation is
requested, but succeeds when ObjectBasicInformation is requested.
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
Zebediah Figura
5df0f5f6fb
ntdll: Use a kernel APC to call NtDuplicateObject() if DUPLICATE_CLOSE_SOURCE is used on another process.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 12:29:10 +01:00
Zebediah Figura
33a80885ce
ntdll: Fill the object type index in System(Extended)HandleInformation.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 10:18:51 +01:00
Zebediah Figura
1f1d4da5f6
ntdll: Fill the handle attributes in System(Extended)HandleInformation.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 10:18:39 +01:00
Alexandre Julliard
584427fc89
server: Avoid redefining the DuplicateHandle() constants.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 21:20:47 +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
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
Nikolay Sivov
2a7a1bbee2
server: Handle duplicate handles when inheriting them for the new process.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50004
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Nikolay Sivov
fde5967f72
server: Inherit standard handles together with explicit handle list.
...
Restores standard handles behavior pre-c58a10c16395c30e7793cde1f748febe0432a6ad,
always inheriting them when inherit mode is enabled.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49895
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 21:04:13 +02:00
Zebediah Figura
fa1b0fcf6c
server: Check duplicated handle access against the calling thread token and target process token.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:22:36 +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
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
Nikolay Sivov
c58a10c163
server: Implement inherited handles list.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 14:04:45 +02:00
Zebediah Figura
24021931a8
server: Remove no longer used enumerate_handles().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:57:42 +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
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
Michael Müller
2ebe679638
server: Implement querying the security label of a security descriptor.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-15 10:50:54 +02:00
Michael Müller
0e49e0541f
server: Give all access rights when opening an object with MAXIMUM_ALLOWED.
...
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 11:37:02 +01:00
Alexandre Julliard
10a38ef056
server: Require a directory as root to open an object with a name.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Michael Müller
18a8636ebe
server: Add support for Win8 pseudo handles.
...
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:15:54 +09:00
Alexandre Julliard
39e60dc680
server: Support opening objects from any root, not only directories.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 20:36:17 +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
37503be654
server: Fix checks for a valid directory in object attributes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 14:57:37 +09:00
Alexandre Julliard
ed268bbf91
server: Use a common helper function to implement open object calls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:12 +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
08706ef357
server: Implement wineserver call for SystemHandleInformation.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:51:59 +01:00
Andrew Cook
5d85f57814
server: Track handle count of objects.
2015-04-03 17:07:37 +09:00
Alexandre Julliard
4654d871b2
server: Map new handle access even when not checking it.
2013-08-26 14:17:42 +02:00
Piotr Caban
76bfbf43e9
server: Don't create new handle when DUP_HANDLE_CLOSE_SOURCE is used if possible.
2013-06-05 17:31:40 +02:00
Dmitry Timoshkov
094e465790
server: A destroyed process handle table means that the process is terminating.
2013-05-08 12:44:49 +02:00
Michael Stefaniuc
835171c2e0
server: Remove casts to the type of the casted expression.
2011-09-21 14:41:01 +02:00
Bernhard Loos
bf3c2a06f5
server: Check for STATUS_OBJECT_TYPE_MISMATCH before STATUS_ACCESS_DENIED in get_handle_obj.
2011-07-20 19:23:04 +02:00
André Hentschel
c7becc3015
server: Remove dead initializations (clang).
2011-07-06 11:20:37 +02:00
Alexandre Julliard
350c0caba0
server: Always free the process handle table even if the process didn't start.
2010-08-24 12:10:51 +02:00
Alexandre Julliard
658dae988d
server: Add support for returning the object name in NtQueryObject.
2010-01-08 13:01:50 +01:00
Alexandre Julliard
60efdd55ea
server: Don't set last error in close_handle(), return the error code instead.
2009-12-01 13:59:41 +01:00
Alexandre Julliard
1a6c472115
server: Don't set last error in get_handle(), move that into the callers.
2009-12-01 13:49:43 +01:00
Alexandre Julliard
0d3d456bd0
server: Make object handles ints instead of pointers.
2008-12-08 16:04:20 +01:00
Alexandre Julliard
9434e19965
server: Limit the number of allocated handles before running out of memory.
2008-12-04 16:12:04 +01:00
Alexandre Julliard
8382eb01b2
server: Return correct object types in the get_directory_entry request.
2007-12-05 18:16:42 +01:00
Alexandre Julliard
d30b5742ed
server: Implemented EnumWindowStations and EnumDesktops.
2007-12-05 16:45:32 +01:00
Rob Shearman
92db6d2c2f
server: Don't do access checks on the security descriptors of newly created objects.
2007-11-06 14:52:21 +01:00
Rob Shearman
9980f478e2
server: Make sure to always initialise req_sd.owner_len and req_sd.group_len in the handler for the get_security_object call.
2007-11-01 12:51:12 +01:00
Rob Shearman
c1707d8938
server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
2007-10-04 12:30:52 +02:00
Rob Shearman
5356bfde2c
server: Add a new get_security_object call for getting the security descriptor of an object.
...
Use it to implement NtQuerySecurityObject.
2007-10-03 11:16:45 +02:00
Rob Shearman
5af809abfd
server: Move set_security_object to handle.c and set_object_sd to object.c.
...
These both don't operate on tokens so token.c is not the right place for
them to be implemented.
2007-10-03 11:04:43 +02:00