Commit Graph

342 Commits

Author SHA1 Message Date
Alexandre Julliard a77ef5c443 server: Add a separate request to exec a new process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:44:25 +02:00
Alexandre Julliard 2cab0ec389 server: Don't return the process exe file to the client.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Alexandre Julliard d6683d637a server: Store the process exe file in the process structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Alexandre Julliard ac7ae92af1 server: Allow specifying the security descriptor for a new process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard 39afcaac4a server: Create the initial thread as a separate request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard af8f3ae333 server: Move initial thread creation out of the create_process() function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard 4a328e08ac server: Allow specifying the security descriptor for a new thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 13:06:12 +02:00
Alexandre Julliard ab182dbf06 server: No longer store the mapping object in the dll structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:45 +02:00
Alexandre Julliard a557934c76 server: Keep track of mapped memory views.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:44 +02:00
Alexandre Julliard 0eefa76791 ntdll: Suspend the process before attaching dlls, using the process initial context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:43:00 +02:00
Michael Müller a78d419420 server: Assign a default label to all tokens.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 09:50:32 +02:00
Sebastian Lackner 4fc5d8873c server: Do not shutdown server in persistent mode when creation of first process fails.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 09:48:08 +02:00
Michael Müller 7c08e787b1 server: Implement setting a security descriptor when duplicating tokens.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-15 11:12:24 +02:00
Alex Henrie 146cf041d9 ntdll: Always fill PagefileUsage counter with a nonzero value on Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 21:57:12 +02:00
Alex Henrie 19a79f4228 ntdll: Implement ProcessVmCounters for Linux for other processes.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-09 16:37:42 -05:00
Jacek Caban 6ffe08459f server: Cancel process asyncs on process termination.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 15:25:34 +01:00
Jacek Caban 055918c982 server: Store async list in process object and use that to find async in cansel_async request.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:27 +01:00
Roman Pisl ddfc5275af process: Make PROCESS_QUERY_LIMITED_INFORMATION sufficient for QueryFullProcessImageName().
Signed-off-by: Roman Pisl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-17 16:55:14 -07:00
Sebastian Lackner 7c06f1c218 server: Do not store unix_pid in process_snapshot struct.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 23:54:44 +09:00
Alexandre Julliard 80f3fda934 server: Add support for maintaining a client-side directory cache.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 14:39:16 +09:00
Sebastian Lackner bae3dcc295 server: Do not hold reference on parent process.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:19 +09:00
Sebastian Lackner 1025ed38c0 server: Increase size of PID table and do not reuse recently freed ptids.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:19 +09: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 ff9d90bbb0 server: Use a standard object for object attribute roots instead of a directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +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 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 008f14f03f server: Directly return a structure in get_req_unicode_str().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:12 +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 b3064d748b server: Implement NtOpenJobObject.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 16:38:53 +09:00
Alexandre Julliard 9504e2addf server: Add a helper function to validate and return object attributes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Alexandre Julliard 7350682aa6 server: Store the attributes in the object_attributes structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Sebastian Lackner 1980834c7d ntdll: ProcessDebugFlags should return debug_children flag instead of !debugger_present.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:14:43 +01:00
Sebastian Lackner c948e84189 server: Properly inherit debug_children flag when creating new process. 2015-08-24 18:41:34 +09:00
Dmitry Timoshkov 1d2241eca3 server: For querying process information demand PROCESS_QUERY_LIMITED_INFORMATION access. 2015-08-21 14:35:01 +09:00
Dmitry Timoshkov c19091272d server: Add implicit PROCESS_[QUERY|SET]_LIMITED_INFORMATION access. 2015-08-21 14:34:55 +09:00
Sebastian Lackner 905bf79337 server: Store correct entry point for first thread. 2015-07-30 11:37:15 +02:00
Andrew Cook 453458f294 server: Implement JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE. 2015-07-17 14:28:59 +09:00
Sebastian Lackner a7247df6ca server: Implement waiting for job objects. 2015-04-07 23:16:20 +09:00
Andrew Cook 1d359a5827 server: Implement TerminateJobObject. 2015-04-07 23:15:47 +09:00
Andrew Cook 47ffeaee74 server: Implement io completion messages for job objects. 2015-04-03 00:33:29 +09:00
Andrew Cook 0dbe5adc21 server: Implement job inheritance. 2015-04-03 00:33:29 +09:00
Andrew Cook ecd41d1de7 server: Implement job limit flags. 2015-04-03 00:33:29 +09:00
Andrew Cook 3affd63b34 server: Implement IsProcessInJob. 2015-04-01 22:34:19 +09:00
Andrew Cook 98132f0364 server: Implement AssignProcessToJobObject. 2015-04-01 22:34:18 +09:00
Andrew Cook 0e78b0248d server: Implement CreateJobObject. 2015-04-01 17:05:44 +09:00
Sebastian Lackner b985b677e8 server: Fix several fd leaks on error in new_process wineserver call. 2014-11-20 22:33:39 +09:00
Piotr Caban 4fca169301 server: Don't debug children when DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS flags are passed to CreateProcess. 2014-04-09 13:15:58 +02:00
Dmitry Timoshkov a0b08adbe4 server: Add PROCESS_QUERY_LIMITED_INFORMATION to GENERIC_EXECUTE access mapping and appropriately change PROCESS_ALL_ACCESS. 2014-02-06 17:08:32 +01:00
Dmitry Timoshkov 53847fd6a1 server: Fix generic access mapping for a process. 2014-02-06 17:08:31 +01:00
Austin English d506e59dab server: Set process start time a bit later. 2013-12-20 11:13:10 +01:00
Alexandre Julliard 1e78c99388 kernel32: Validate the architecture of newly created processes on the server side. 2013-11-22 12:32:48 +01:00
Alexandre Julliard 39644bb309 server: Pass a wait queue entry to the signaled/satisfied object functions. 2013-08-27 23:48:36 +02:00
Dmitry Timoshkov df6c2a8418 server: Mark the process as disconnected from desktop/winstation before closing its handles. 2013-06-03 21:11:38 +02:00
Dmitry Timoshkov bac0387d29 server: Fail to set process affinity mask if the process is terminating. 2013-05-07 11:25:54 +02:00
Dmitry Timoshkov af3d73b035 server: Add a process flag indicating whether the process is terminating, use it to block thread creation in a being terminated process. 2013-05-07 11:25:49 +02:00
Dmitry Timoshkov b92c82c942 server: Add support for NtTerminateProcess(0). 2013-04-15 16:45:33 +02:00
Piotr Caban 23191a4355 server: Don't debug children when debugger is attached with DebugActiveProcess function. 2013-04-05 20:39:07 +02:00
Henri Verbeet c6fcc0255c user32: Add rawinput keyboard support. 2012-09-12 12:47:13 +02:00
Henri Verbeet faaf3d388e user32: Add rawinput mouse support. 2012-09-11 18:06:34 +02:00
Henri Verbeet 5befb959dd user32: Implement RegisterRawInputDevices(). 2012-09-10 11:44:19 +02:00
Hans Leidekker d1b6cf9379 server: Include the Unix pid in the snapshot_next_process reply. 2012-04-16 17:49:32 +02:00
Bernhard Loos e7ec00d22c server: If a debugger is attached to a process, child processes shouldn't get debugged. 2011-10-10 13:41:24 +02:00
Alexandre Julliard a0c0878805 server: Allow creating a process without any parent or startup info. 2011-06-16 22:45:45 +02:00
Alexandre Julliard 5dc9c73c31 server: Check for the need to suspend a thread again once it leaves an exception or suspend block. 2011-05-06 12:49:57 +02:00
Alexandre Julliard 900352bc6b server: Store a mapping instead of a file for process dlls. 2011-04-18 14:45:32 +02:00
Alexandre Julliard 4fd8bab99e server: Inherit the process affinity from the parent process. 2011-04-14 19:57:52 +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
Henri Verbeet f0a5045254 ntdll: Improve support for the ProcessDebugPort info class in NtQueryInformationProcess(). 2010-03-15 15:56:42 +01:00
Alexandre Julliard 349eba9e09 server: Make terminate_process more robust against recursive calls for the same process. 2010-02-02 11:47:06 +01:00
Alexandre Julliard 7d4e28480d server: Any thread can set the idle event, don't treat the first one differently. 2009-12-16 18:06:32 +01:00
Alexandre Julliard d1dc48d8dc server: Don't set the idle event when a queue is destroyed, instead return success in WaitForInputIdle on process exit. 2009-12-16 18:00:34 +01:00
Alexandre Julliard e4faa12900 server: Make sure that last error doesn't get set during thread cleanup. 2009-12-01 15:10:23 +01:00
Alexandre Julliard 538b24747c server: Free client-side user handles at process exit. 2009-10-15 17:56:04 +02:00
Juan Lang 24036fe13a server: Setting a process's affinity sets all of its threads' affinities too. 2009-09-30 14:34:32 +02:00
Alexandre Julliard da8acbc47d server: Define an architecture-independent structure for process startup info. 2009-08-21 20:00:12 +02:00
Alexandre Julliard 6056e8a52b server: Return the process CPU in the get_process_info request. 2009-07-07 11:37:47 +02:00
Alexandre Julliard fa8643805b server: Make TEB and PEB client_ptr_t instead of void pointers. 2008-12-31 15:09:59 +01:00
Alexandre Julliard c6c335d70e server: Make thread entry points client_ptr_t instead of void pointers. 2008-12-31 15:09:59 +01:00
Alexandre Julliard 2cf868c0be server: Move ldt_copy to the init_process_done request and make it a client_ptr_t. 2008-12-31 15:09:59 +01:00
Alexandre Julliard 1d2d0d5622 server: Send the version with the initial fd so that it can be checked before sending the first request. 2008-12-31 15:09:59 +01:00
Alexandre Julliard 8e9c156e14 server: Make the address argument for read/write_process_memory a client_ptr_t. 2008-12-30 14:11:58 +01:00
Alexandre Julliard cb2788efaf server: Add a module_handle_t type to represent client-side module handles. 2008-12-29 16:41:44 +01:00
Alexandre Julliard db6e45488d server: Get rid of the support for module snapshots, it is no longer needed. 2008-12-09 11:49:37 +01:00
Alexandre Julliard 0d3d456bd0 server: Make object handles ints instead of pointers. 2008-12-08 16:04:20 +01:00
Alexandre Julliard 24ec4a6ed7 server: Move the process pipe hangup handling into kill_process.
This ensures that it's also done correctly when a read from the pipe
returns EOF.
2008-06-20 20:42:51 +02:00
Alexandre Julliard 3bf12b9aca server: Don't force the process affinity to 1, leave it up to the client. 2008-01-17 13:40:03 +01:00
Marcus Meissner 3bf54c2950 server: Enumerate process in reverse. 2008-01-14 16:24:55 +01:00
Alexandre Julliard 2f1e73cb35 server: Wait for the expiration of all the process SIGKILL timers before exiting the server. 2008-01-07 17:19:05 +01:00
Alexandre Julliard af268c6211 server: Redesign the server shutdown processing.
System processes are now killed only after the server persistence
delay has expired. New processes are not allowed to start during
shutdown.
2008-01-03 11:40:03 +01:00
Alexandre Julliard 11750af329 server: Don't give out full access to the system process event. 2007-12-20 16:43:31 +01:00
Alexandre Julliard ffbeae78f7 server: Don't count system processes as users of a desktop. 2007-12-20 16:43:14 +01:00
Alexandre Julliard 8382eb01b2 server: Return correct object types in the get_directory_entry request. 2007-12-05 18:16:42 +01:00
Rob Shearman bf2a35b78d server: Change the get_dll_info server request to allow retrieving the image file name of a process.
Implement NtQueryInformationProcess(ProcessImageFileName).
2007-11-20 14:29:09 +01:00
Rob Shearman dd9e392796 server: Use the security descriptor passed in when creating events. 2007-10-25 12:47:22 +02: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
Alexandre Julliard 156b205eb5 server: Add support for system processes, that can be signaled to exit when all non-system processes are done. 2007-06-06 20:33:13 +02:00
Rob Shearman ec86243521 server: When starting a new process, use the token from the calling process, if one exists. 2007-05-30 11:48:25 +02:00
Alexandre Julliard 627ca4079e server: Stop exporting the console_input structure. Get rid of console.h. 2007-05-11 12:46:32 +02:00
Alexandre Julliard aaf477f292 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. 2007-04-17 20:08:59 +02:00