Commit Graph

1202 Commits

Author SHA1 Message Date
Rob Shearman f5070b0511 server: Only call fchmod in file_set_fd if the mode actually changed. 2007-10-09 11:42:33 +02:00
Rob Shearman f43d8b65c1 server: Remove an unnecessary check from file_set_fd. 2007-10-09 11:42:31 +02:00
Rob Shearman cb124c9b12 server: Add primitive support for setting and getting the security descriptor of files based on their Unix permissions. 2007-10-04 12:30:52 +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
Rob Shearman 8184bcc91a server: Add a simple mapping from Unix uids to NT SIDs. 2007-10-04 12:30:52 +02:00
Rob Shearman 45b6706a32 server: Use ACL_REVISION in create_default_dacl instead of MAX_ACL_REVISION since we don't use any features from later ACL revisions. 2007-10-03 11:16:53 +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
Alexandre Julliard 24001e8ddc server: Add a default access mapping function for files, and use it for devices too. 2007-10-02 14:20:15 +02:00
Andrey Turkin d1a8155882 server: Allow completion object to be attached to an fd object. 2007-09-28 13:17:18 +02:00
Michael Stefaniuc 238043784a server: Include stdarg.h in completion.c. Needed for older gcc versions. 2007-09-27 11:58:44 +02:00
Andrey Turkin 477582401b server: Implement server-side completion queues and operations on them. 2007-09-26 13:56:43 +02:00
Alexandre Julliard 5874b854ee server: Clip the visible region of a window to the desktop window. 2007-09-20 19:38:50 +02:00
Rob Shearman 3f431a0646 server: Add get_token_statistics server call and use it to implement the TokenStatistics and TokenType levels for NtQueryInformationToken. 2007-09-14 14:43:46 +02:00
Dmitry Timoshkov c75edd04c2 server: Map ETXTBSY to STATUS_SHARING_VIOLATION. 2007-09-11 11:49:43 +02:00
Dmitry Timoshkov 69025bafe7 server: Print a more informative message when file_set_error or sock_get_error can't map errno to a status code. 2007-09-10 15:29:46 +02:00
Francois Gouget b6aa247093 server: Fix the crashed process exit code when the debugger exits without detaching. Add a conformance test. 2007-08-31 12:08:58 +02:00
Alexandre Julliard 9c18d92f36 server: Detaching from a process needs to continue all the pending events. 2007-08-30 19:47:43 +02:00
Trent Waddington fc635fa827 server: Handle existing timer replacement when no window handle specified. 2007-08-30 19:08:16 +02:00
Alexandre Julliard 2896540a34 server: Set the queue mask directly in get_message to avoid an extra server call. 2007-08-29 18:13:13 +02:00
Alexandre Julliard b4edb573fd server: Message results should be stored as longs, not ints. 2007-08-29 18:01:10 +02:00
Alexandre Julliard 8765a0da83 ntdll: Fixed file system name comparison on *BSD. 2007-08-29 12:02:13 +02:00
Alexandre Julliard df13cee288 server: Store a separate flag for windows that need to be erased in WM_PAINT.
This avoids the need to invalidate the window after WM_ERASEBKGND.
2007-08-27 16:41:08 +02:00
Alexandre Julliard 5bd497f3ca server: Moving a window should only expose the immediate parent. 2007-08-27 15:21:19 +02:00
Kirill K. Smirnov f3e13174c7 wineconsole: Implement GetConsoleWindow. 2007-08-24 12:03:22 +02:00
Alexandre Julliard 149cbb1b60 server: Validate the parents every time we paint a window instead of only on RDW_UPDATENOW. 2007-08-23 20:22:30 +02:00
Tijl Coosemans 0c4f152ec7 server: Use thr_kill2 syscall to signal threads on FreeBSD. 2007-08-23 20:19:09 +02:00
Alexandre Julliard 04a9f93f62 user32: Thread-local hooks need a module if they don't belong to the current process. 2007-08-22 12:19:00 +02:00
Alexandre Julliard c3624439c8 server: Fixed handling of a relative start time for a timer. 2007-08-09 17:16:26 +02:00
Tijl Coosemans 60833da9f2 loader: Use thr_self syscall to get thread id on FreeBSD. 2007-08-09 15:01:04 +02:00
Peter Dons Tychsen ec4d8903ef server: Added the install driver privilege to the default user. 2007-07-31 20:32:40 +02:00
Matt Jones 6763742090 server: Only commit SetThreadPriority if new priority is correct. 2007-07-25 13:59:17 +02:00
Vitaliy Margolen dcdf7c55d6 server: Treat desktop as a top-level window. 2007-07-23 11:53:06 +02:00
Alexandre Julliard fec5117e91 server: Merge APC processing into the select request.
This is needed to return the correct value when one of the handles
being waited on is set to signaled state by the APC.
2007-07-16 16:14:45 +02:00
Alexandre Julliard 6d1605a6a4 server: Make crash error message more explicit. 2007-06-25 14:13:21 +02:00
Alexandre Julliard 1f11333c7b makefiles: Build programs that link against libwine twice with appropriate rpaths.
One rpath is for installing and one is for running inside the build tree.
2007-06-20 20:03:30 +02:00
Alexandre Julliard 60901b7542 server: Don't crash when trying to set a file lock on a device. 2007-06-20 13:14:55 +02:00
Alexandre Julliard 8143d42c4c server: Enable kqueue support on Mac OS >= 10.5 now that it's fixed. 2007-06-15 12:41:43 +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
Alexandre Julliard 4c5b55a0f8 server: Run async I/O APCs from the SIGUSR1 handler. 2007-06-04 18:16:48 +02:00
Alexandre Julliard 8992f89f27 server: Remove the extra apc_arg parameter now that user APCs all require the same arg as the kernel APC. 2007-06-04 15:20:49 +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
Rob Shearman bdf964dce8 server: Move most of the duplicate_token request to a new function, token_duplicate, to enable the code to be used inside wineserver. 2007-05-30 11:46:32 +02:00
Alexandre Julliard 1b15d45dd7 server: Don't allow a waitable timer to be set to expire in the past. 2007-05-22 11:59:45 +02:00
Rob Shearman fa074bc544 server: Add the logon SID to the default admin token's groups. 2007-05-18 14:11:44 +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
Kirill K. Smirnov 9d74661856 server: Move console codepages to the server. 2007-05-11 12:41:29 +02:00
Kirill K. Smirnov 545d7f130c server: Fix access check in screen buffer handling. 2007-05-10 14:23:37 +02:00
Marcus Meissner fea59c87ad server: set_server_state needs to be called with non-NULL server.
Spotted by Coverity.
2007-05-09 12:06:37 +02:00
Alexandre Julliard aafcfe7663 server: Add support for retrieving results of queued ioctls once they are done. 2007-05-08 20:45:44 +02:00
Alexandre Julliard 78b75108cd server: Add request to retrieve the next pending ioctl call for a device manager. 2007-05-08 20:40:26 +02:00
Alexandre Julliard 61e08b346b server: Add support for queuing ioctl calls to a device. 2007-05-08 20:37:21 +02:00
Alexandre Julliard b43dc15c8a server: Add support for generic device objects managed from the client side. 2007-05-08 20:28:37 +02:00
Alexandre Julliard 46fe7177c1 server: Allocate the wait event for FSCTL_PIPE_WAIT on the server side. 2007-05-03 17:44:32 +02:00
Alexandre Julliard 63a2372526 server: Allocate the wait event for FSCTL_PIPE_LISTEN on the server side. 2007-05-03 17:44:05 +02:00
Alexandre Julliard fd59e158a7 server: Infrastructure to return a wait handle for blocking ioctls. 2007-05-03 17:43:18 +02:00
Alexandre Julliard 017480d4e2 server: Store valid file options in pseudo file descriptors. 2007-05-03 16:07:30 +02:00
Alexandre Julliard 48c5321586 server: Give system APCs priority over signaled objects. 2007-05-01 14:07:24 +02:00
Alexandre Julliard 133b8bc3ed server: Return a more correct fd type for anonymous files. 2007-04-23 15:13:22 +02:00
Gerald Pfeifer d529c63ced server: Silence compiler warning in fd_queue_async(). 2007-04-23 13:54:31 +02:00
Alexandre Julliard bf5b6c9b34 server: Don't give out read/write access to the named pipe device. 2007-04-18 16:32:31 +02:00
Alexandre Julliard c18e8d6a69 server: Use the standard file descriptor wait queue for named pipe server async waits. 2007-04-18 16:28:01 +02:00
Alexandre Julliard 6105a93be6 server: Moved the FSCTL_PIPE_LISTEN implementation to the server. 2007-04-18 16:26:37 +02:00
Alexandre Julliard f3fbae4546 server: Allow specifying the status code to return on file descriptors that don't have a Unix fd. 2007-04-18 16:05:59 +02:00
Alexandre Julliard 3684dc181c server: Move the FSCTL_PIPE_WAIT ioctl implementation to the server. 2007-04-17 22:07:07 +02:00
Alexandre Julliard 737148c57b server: Add a specific data type for ioctl codes so they can be printed as symbols. 2007-04-17 22:06:13 +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
Alexandre Julliard 2669af73df server: Move the server part of device unmounting to the ioctl processing. 2007-04-16 14:54:52 +02:00
Alexandre Julliard 8c46095484 server: Implement the FSCTL_PIPE_DISCONNECT ioctl on the server side. 2007-04-16 14:51:29 +02:00
Alexandre Julliard 635714397f server: Add infrastructure for ioctl server request. 2007-04-16 14:45:03 +02:00
Alexandre Julliard 3f0575943e server: Don't bother with default entry points for objects that don't even return an fd. 2007-04-12 20:21:53 +02:00
Alexandre Julliard 72ff2bf363 server: Create a separate fd object for each mailslot writer. Make them first-class file handles. 2007-04-12 20:19:28 +02:00
Alexandre Julliard d85121f199 ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
This avoids server round-trips for all file I/O.
2007-04-10 22:32:46 +02:00
Alexandre Julliard 7a9363a4d4 server: Rename the get_file_info function to get_fd_type and get rid of the flags. 2007-04-10 22:26:23 +02:00
Alexandre Julliard f85437c57f server: Store the opening options in the file descriptor instead of in the individual objects.
Allows moving the FD_FLAG_OVERLAPPED support to the generic
get_handle_fd request handling.
2007-04-10 22:25:07 +02:00
Alexandre Julliard bc426ab059 server: Explicitly shutdown closed pipes to prevent access from file descriptors cached in the client. 2007-04-10 21:30:37 +02:00
Alexandre Julliard 72bff2e445 server: Add support for restarting an async I/O when the client side couldn't finish it right away. 2007-04-10 17:07:27 +02:00
Alexandre Julliard a867553146 server: Use the standard file descriptor signal mechanism for directory changes. 2007-04-04 19:54:33 +02:00
Alexandre Julliard ba896e75d7 server: Fix the handling of the signaled status for file descriptors.
File handles are signaled when an I/O operation completes, and reset
when another operation is queued.
2007-04-04 19:39:29 +02:00
Alexandre Julliard 0cb29f47ca server: Add support for associating a file descriptor to a message queue. 2007-04-04 18:02:01 +02:00
Alexandre Julliard 3d39c620da make_requests: More aggressive grepping for status values. 2007-04-04 18:01:22 +02:00
Alexandre Julliard b2cba95abd server: Hold a pointer to the queue from the async operations. 2007-04-03 19:36:07 +02:00
Alexandre Julliard 4e5c7038da server: Make timeout status for async I/O specifiable. Fix mailslots timeout handling. 2007-04-03 19:12:31 +02:00
Alexandre Julliard 0aae1ca8bf server: Add a separate function to set the timeout of an async I/O operation. 2007-04-02 20:41:59 +02:00
Alexandre Julliard 02ed704be1 server: Check file access in register_async before calling the object method. 2007-04-02 20:24:55 +02:00
Alexandre Julliard df09ac5194 server: Make async I/O queues into real objects. 2007-04-02 20:09:29 +02:00
Alexandre Julliard d99ee344c2 server: Use the fd generic wait queue for directory change I/O operations. 2007-04-02 12:49:45 +02:00
Alexandre Julliard fd6f83d00a server: Take advantage of the fd generic wait queue to remove a lot of serial code. 2007-04-02 12:49:09 +02:00
Alexandre Julliard e92f85474f server: Avoid redundant polling in fd_queue_async_timeout.
Moved the file overlapped flag check to default_fd_queue_async.
2007-04-02 12:48:13 +02:00
Alexandre Julliard 95ba4b553c server: Add a generic wait queue to the file descriptor object. 2007-04-02 12:47:52 +02:00
Alexandre Julliard df651875ad server: Remove the return value of the flush() method, it's not used. 2007-03-27 16:51:44 +02:00
Alexandre Julliard c16eb8efd9 server: Add support for queuing a user APC upon async I/O completion. 2007-03-27 16:42:27 +02:00
Alexandre Julliard 589ce2bb8d server: Always return STATUS_PENDING when an async I/O operation has been queued. 2007-03-26 19:13:21 +02:00
Alexandre Julliard 73e0e8bf17 server: A named pipe wait can be satisfied by an idle pipe server too. 2007-03-23 14:03:23 +01:00
Alexandre Julliard 28a9374323 server: Print the callback function in the APC_ASYNC_IO trace. 2007-03-23 11:49:59 +01:00
Alexandre Julliard de1866d4fd server: Implement the open_file method for named pipes.
Get rid of the open_named_pipe request, we can now use a normal open_file_object.
2007-03-22 16:47:46 +01:00
Alexandre Julliard 806bb49eda server: Implement the open_file method for mailslots.
Get rid of the open_mailslot request, we can now use a normal open_file_object.
2007-03-22 16:36:54 +01:00
Alexandre Julliard 928d28f688 server: Don't enforce mailslots path format in ntdll, only in the server. 2007-03-22 14:41:37 +01:00
Alexandre Julliard 50c4800405 server: Don't enforce named pipes path format in ntdll, only in the server. 2007-03-22 14:40:41 +01:00
Alexandre Julliard 846dc62355 server: Create the named pipe and mailslot devices under \Device.
Add appropriate symlinks to them in the \?? directory.
2007-03-22 12:01:16 +01:00
Alexandre Julliard 94655c8493 server: Implemented the open_file method for named pipe and mailslot devices. 2007-03-22 11:52:40 +01:00
Alexandre Julliard 7e71c1ddee server: Add an open_file() function to the object operations. 2007-03-22 11:44:29 +01:00
Alexandre Julliard 2082a97d45 server: Use a standard async I/O event to signal directory changes. 2007-03-21 14:50:15 +01:00
Alexandre Julliard a133ad56f9 server: Move the signalling of the named pipe completion event to the server. 2007-03-21 14:31:54 +01:00
Alexandre Julliard 8adce7765a server: Notify the async object when the APC call completed. 2007-03-21 14:28:23 +01:00
Alexandre Julliard fa4679fea6 server: Add support for storing an event to signal upon async I/O completion. 2007-03-21 14:27:52 +01:00
Alexandre Julliard 111610c45e server: Add an async_data_t structure to store parameters for async I/O requests. 2007-03-20 20:21:12 +01:00
Alexandre Julliard 50975c81f0 server: Return the status from an async I/O APC call to the server. 2007-03-20 19:27:10 +01:00
Alexandre Julliard 06db705238 server: Make struct async into a real object, to keep it around while the APC is running. 2007-03-20 19:23:59 +01:00
Alexandre Julliard 52a9af7ecb server: Grab the owner object of an APC while the APC is executing. 2007-03-20 19:22:39 +01:00
Alexandre Julliard eb3728d34e server: Use the common pattern for async I/O parameters in named pipe requests. 2007-03-20 19:21:15 +01:00
Andrew Talbot b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Alexandre Julliard 0d16a7bbe4 Fixed some compilation issues on Mac OS X Leopard. 2007-03-12 16:14:18 +01:00
Alexandre Julliard f279252189 server: Added process control support using /proc on Solaris. 2007-03-09 13:40:41 +01:00
Alexandre Julliard bf17ce86d4 server: Use internal luid_t type where appropriate. 2007-03-07 13:45:11 +01:00
Juan Lang c2cb296277 ntdll: Implement NtAllocateLocallyUniqueId with server call. 2007-03-07 13:45:11 +01:00
Rob Shearman 221e01abd2 server: A general solution for handling MAXIMUM_ALLOWED access right has been implemented so remove the workarounds. 2007-03-06 22:17:39 +01:00
Alexandre Julliard b3fb3a6739 server: Replace use of internal __pthread_kill() function by a system call. 2007-03-05 17:09:54 +01:00
Alexandre Julliard 1767b4558a server: Expose areas revealed by changes to the window region. 2007-03-05 16:43:27 +01:00
Rob Shearman d342d1413c server: Add get_token_impersonation_level server call for retrieving the impersonation level from a token.
Add tests for GetTokenInformation(TokenImpersonationLevel).
2007-02-21 19:49:37 +01:00
Rob Shearman 6a76a0ac7a server: Check object's security when creating handles.
Don't check object's security when duplicating a handle of the same or 
lower access rights. Based on a patch by Vitaliy Margolen.
2007-02-21 19:49:02 +01:00
Alexandre Julliard 89faee0194 server: Added support for the PM_QS_* flags in PeekMessage. 2007-02-21 15:21:05 +01:00
Rob Shearman c9b9847dce server: Track the impersonation level of tokens. 2007-02-16 13:09:55 +01:00
Rob Shearman df0d625351 server: Track IDs for tokens and modifications made to tokens. 2007-02-16 13:09:49 +01:00
Vitaliy Margolen b0e9d7e0b5 ntdll/server: Implement NtSetSecurityObject. With tests. 2007-02-15 14:19:24 +01:00
Vitaliy Margolen 5ec1718d74 server: Add security descriptor field to object struct. 2007-02-15 13:28:00 +01:00
Vitaliy Margolen 6413a9c193 server: Get the primary group from the token's groups. 2007-02-13 17:47:43 +01:00
Vitaliy Margolen aa28ed0162 server: Fix typo. Should be group not owner. 2007-02-08 11:56:12 +01:00
Alexandre Julliard 49868e3c93 server: Clear the thread wait before releasing objects to avoid nested calls.
Reported by Misha Koshelev.
2007-02-05 18:05:03 +01:00
Ulrich Czekalla cae37b18fd wineserver: Validate the children of windows being hidden.
Prevents paint_count values from being skewed when hiding windows.
2007-01-26 12:55:47 +01:00
Vitaliy Margolen 55fdda4c3e server: Prevent a crash on error while creating a token. 2007-01-25 12:52:39 +01:00
Vitaliy Margolen c04e7e7878 advapi32: Add more tests for granted access mask. Fix test on Wine. 2007-01-25 12:52:27 +01:00
Vitaliy Margolen bae75024a4 server/ntdll: Simplistic implementation of NtQueryObject(ObjectBasicInformation). 2007-01-25 12:48:35 +01:00
Vitaliy Margolen fad936c7c5 server: Reverse return value and status in token_access_check to be consistent. 2007-01-25 12:44:35 +01:00
Vitaliy Margolen 2cf11ef771 advapi32: Add few more tests for token access check and fix it on Wine. 2007-01-25 12:42:32 +01:00
Vitaliy Margolen 97b122c03f server: User correct user sid for the default_dacl. 2007-01-22 12:02:10 +01:00
Vitaliy Margolen e612bd410c server: Add generic access mapping for winstation and desktop objects. 2007-01-19 12:28:58 +01:00
Alexandre Julliard f3cb4f7d94 ntdll: Avoid inter-process APCs when called for the process itself. 2007-01-18 15:41:05 +01:00
Alexandre Julliard 02e2fa7798 ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection. 2007-01-18 15:17:51 +01:00
Alexandre Julliard 8025f79ce1 ntdll: Implementation of inter-process RtlCreateUserThread. 2007-01-18 15:02:55 +01:00
Alexandre Julliard ae4ecb6c64 server: Print a trace when sending a signal to a thread. 2007-01-18 12:23:29 +01:00
Alexandre Julliard 3410354d61 ntdll: Fix NtDuplicateObject to only close the file descriptor if it's in the same process. 2007-01-18 12:18:51 +01:00
Alexandre Julliard c122260b9d ntdll: Implemented NtLockVirtualMemory and NtUnlockVirtualMemory. 2007-01-16 09:50:08 +01:00
Alexandre Julliard 5a1ad74a67 ntdll: Implementation of inter-process NtFlushVirtualMemory. 2007-01-15 22:31:07 +01:00
Alexandre Julliard 1ea968016f ntdll: Implementation of inter-process VirtualProtectEx. 2007-01-15 22:30:04 +01:00
Alexandre Julliard 3d00239586 ntdll: Implementation of inter-process VirtualQueryEx. 2007-01-15 22:28:42 +01:00
Alexandre Julliard 6ca1d1b081 server: Support queuing some APCs to a process instead of a thread. 2007-01-15 22:26:32 +01:00
Alexandre Julliard fb40dc4099 server: Added mechanism for returning results of APC calls.
Defined APC_VIRTUAL_ALLOC and APC_VIRTUAL_FREE requests.
2007-01-15 22:24:40 +01:00
Alexandre Julliard 46d7fa4852 server: Properly wake the waiting threads when an APC is cancelled. 2007-01-15 20:02:05 +01:00
Alexandre Julliard 1db223954f server: Set the specified in/out buffer sizes on named pipes using SO_SND/RCVBUF. 2007-01-12 20:59:22 +01:00