Commit Graph

872 Commits

Author SHA1 Message Date
Mike McCormack 213e01e606 server: Make sure to release the fd we grabbed in all cases. 2006-01-17 13:13:14 +01:00
Alexandre Julliard 2878d99216 ntdll: Add debug registers to the context of all exceptions.
Maintain a local cache of the debug registers to avoid server calls
where possible.
2006-01-13 13:58:14 +01:00
Alexandre Julliard b54e9e94e9 server: Don't round up the header size for image mappings. 2006-01-11 20:59:26 +01:00
Alexandre Julliard 2654be08d5 ntdll: Handle NtSetContextThread on the client side (as far as
possible) when setting the context of the current thread.
2006-01-11 20:20:32 +01:00
Eric Pouech b7607aebdc ntdll: Correct implementation for atom query functions. 2006-01-03 17:34:43 +01:00
Vitaliy Margolen 4fabe112d7 server: Fix va_list compile error. 2006-01-03 12:06:03 +01:00
Alexandre Julliard b4fa1b914c server: Fixed console access rights handling. 2005-12-22 13:54:34 +01:00
Alexandre Julliard bd298b511e server: Set the context flags in get_thread_context to indicate which
parts of the returned context are valid.
2005-12-21 20:06:42 +01:00
Vitaliy Margolen b05340a523 ntdll: Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Modify WaitNamedPipeW to use NtFsControlFile.
Replace struct overlapped with event.
2005-12-14 11:14:02 +01:00
Alexandre Julliard 1acb930db8 server: Added get_file_info implementation for named pipe and mailslot devices. 2005-12-13 12:00:11 +01:00
Alexandre Julliard 5bcd0888ef server: Fixed refcounting in get_fd requests for named pipe and mailslot devices. 2005-12-13 11:22:28 +01:00
Alexandre Julliard 770c4a1551 server: Don't enable polling on regular files in add_queue. 2005-12-12 17:20:03 +01:00
Alexandre Julliard a510a7e117 server: Added access rights mapping to file objects. 2005-12-12 16:46:17 +01:00
Alexandre Julliard 46d1b3e8da server: Added access rights mapping to process and thread objects. 2005-12-12 15:03:07 +01:00
Alexandre Julliard 32a93960ba server: Added access rights mapping to registry key objects. 2005-12-12 15:02:26 +01:00
Alexandre Julliard e57f734765 server: Added access rights mapping to symlink objects. 2005-12-12 15:01:16 +01:00
Alexandre Julliard 5fb2e68bb2 server: Added access rights mapping to token objects. 2005-12-12 15:01:08 +01:00
Alexandre Julliard 03f46e1321 server: Added access rights mapping to synchronization objects. 2005-12-12 14:58:44 +01:00
Alexandre Julliard 28beba31d6 server: Added infrastructure for access rights mapping. 2005-12-12 14:57:40 +01:00
Alexandre Julliard b0aa29effa server: Allow the mailslot device to be opened as a file object. 2005-12-12 14:39:27 +01:00
Alexandre Julliard 26e60d8ffc server: Allow the named pipe device to be opened as a file object. 2005-12-12 14:30:06 +01:00
Alexandre Julliard 67505c00af server: Support for opening devices.
Added support for opening devices directly with the server when they
don't correspond to a Unix file.
2005-12-12 14:27:45 +01:00
Alexandre Julliard 2017555b06 server: Use a better error code for a zero-size mapped file. 2005-12-12 13:38:43 +01:00
Alexandre Julliard 03b040c51d server: Added object attributes to a few more requests. 2005-12-09 14:52:04 +01:00
Alexandre Julliard 24560e70bb server: Make alloc_handle use attributes instead of inherit flag. 2005-12-09 13:58:25 +01:00
Alexandre Julliard 7b910f40f2 server: Use attributes instead of inherit flag in dup_handle request. 2005-12-09 12:21:35 +01:00
Alexandre Julliard 836d07c369 server: Use attributes instead of inherit flag in token requests.
Also use the specified access rights in the open_token request.
2005-12-09 12:17:19 +01:00
Alexandre Julliard f2d7dd645e server: Use attributes instead of inherit flag in process and thread requests. 2005-12-09 12:13:11 +01:00
Alexandre Julliard f11d0a375f server: Use attributes instead of inherit flag in snapshot requests. 2005-12-09 12:09:44 +01:00
Alexandre Julliard 7a096601e3 server: Use attributes instead of inherit flag in console requests. 2005-12-09 12:05:20 +01:00
Alexandre Julliard 27b1aec925 server: Use attributes instead of inherit flag in file requests. 2005-12-09 12:00:48 +01:00
Alexandre Julliard bc30303c56 server: Use attributes instead of inherit flag in socket requests. 2005-12-09 11:58:55 +01:00
Vitaliy Margolen 4e36524916 server: Remove sync_namespace. 2005-12-05 14:52:18 +01:00
Alexandre Julliard d13095bc84 server: Let the directory code handle device names. 2005-12-05 14:52:02 +01:00
Vitaliy Margolen cf21d4d7ca Move mailslot devices into directory name space. 2005-12-05 13:30:26 +01:00
Vitaliy Margolen babfa79436 Move named pipe objects into directory name space.
Change tests accordingly.
Add small test for WaitNamedPipe.
2005-12-05 13:09:35 +01:00
Alexandre Julliard 3764da68de server: Move handle allocation out of open_object_dir. 2005-12-05 12:52:05 +01:00
Vitaliy Margolen 348a3d912b Move mapping (section) objects into directory name space. 2005-12-02 16:13:13 +01:00
Vitaliy Margolen 7c5cb7a229 Move timer objects into directory name space. 2005-12-02 16:05:54 +01:00
Vitaliy Margolen 5daae3dfa9 Move semaphore objects into directory name space. 2005-12-02 16:01:17 +01:00
Vitaliy Margolen f676bc8d85 Move event and mutex objects into directory name space. 2005-12-02 15:55:48 +01:00
Alexandre Julliard e21a97da85 Fixed some compiler warnings on Darwin. 2005-12-01 12:36:05 +01:00
Vitaliy Margolen 80444dfe51 Implement symbolic link object in wineserver.
Implement Nt[Create|Open|Query]SymbolicLinkObject.
Change tests accordingly.
2005-11-30 19:22:57 +01:00
Vitaliy Margolen 3c6bdcce53 Implement directory object in wineserver.
Implement Nt[Create|Open]DirectoryObject.
Change tests accordingly.
2005-11-29 17:21:05 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Vitaliy Margolen baffcb95d3 Add name_lookup function in object_ops. 2005-11-22 14:55:42 +00:00
Alexandre Julliard 7f9e281b72 Use struct unicode_str instead of null-terminated strings where
possible, and remove constraints on total key path length.
2005-11-22 12:05:36 +00:00
Robert Lunnon 95414ef44c Add stdarg.h where missing. 2005-11-22 12:01:05 +00:00
Vitaliy Margolen 893987b871 Return correct error on name collision when creating new named
objects.
Check for correct error in affected places.
2005-11-21 16:27:03 +00:00
Alexandre Julliard 86397e1d43 Fixed handling of mailslot read timeout to avoid compiler warnings. 2005-11-21 15:23:49 +00:00
Vitaliy Margolen 83ef91ce2d Replace inherit flag with object attributes in winstation and desktop
create & open. Use OBJ_OPENIF flag to create winstation & desktop.
2005-11-21 12:05:38 +00:00
Alexandre Julliard ead9b062e3 Added a struct unicode_str to encapsulate object names. 2005-11-18 16:31:18 +00:00
Alexandre Julliard 80b997a2cc Added support for the QS_ALLPOSTMESSAGE flag. 2005-11-14 15:17:09 +00:00
Alexandre Julliard 73c72390f8 Fixed Get/SetThreadContext to work properly on suspended threads.
Added a test case.
2005-11-02 20:54:12 +00:00
Vitaliy Margolen f2686d4620 Fix error returned when opening nonexistent pipes. 2005-11-02 14:15:09 +00:00
Alexandre Julliard 3f85e26af2 Moved the platform-independent part of the get/set_thread_context
requests to a common file.
2005-11-02 14:12:13 +00:00
Alexandre Julliard ff7795ef4c Don't send an extra signal when waiting for a debug event, just do a
normal wait.  Return the debug event status directly as return value
of the server call.
2005-11-01 21:47:07 +00:00
Alexandre Julliard d6f7adb367 Don't send the incoming context to the server for get_thread_context,
instead copy only the relevant fields of the return value on the
client side.
2005-11-01 21:41:26 +00:00
Vitaliy Margolen ecca104869 Fix error returned when exceeding allowed instances. 2005-11-01 21:37:30 +00:00
Vitaliy Margolen 1ca6e899ec - Use OBJ_CASE_INSENSITIVE in object lookup.
- Remove case_sensitive flag from namespace.
- Remove todo_wine from now succeeding tests.
2005-11-01 10:22:38 +00:00
Marcus Meissner 4b811d9348 Do not overflow the stackbased "nt" struct when reading non-conforming
PE files.
2005-10-31 21:03:05 +00:00
Vitaliy Margolen 3585f2fa77 Pass object attributes to create_named_object & find_object. 2005-10-29 12:38:23 +00:00
Vitaliy Margolen a996000ad5 - Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
inherit flag.
- Pass DesiredAccess to the server when creating mailslot.
2005-10-27 18:30:37 +00:00
Alexandre Julliard f8037bddce Make the unmount_device request take a handle to the device file
itself instead of a handle to a file opened on the device.
2005-10-27 11:20:50 +00:00
Alexandre Julliard 2790923722 Removed incorrect process queue check in wait_input_idle. 2005-10-12 21:10:52 +00:00
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard 664e4106c6 Added global rules for man pages. 2005-10-06 16:06:04 +00:00
Vitaliy Margolen 9a7b41ad53 Fix refcount leak and return correct error in create_named_object. 2005-09-28 12:04:51 +00:00
Alexandre Julliard 79b387deb6 Initial version of a wineserver man page. 2005-09-27 10:56:47 +00:00
Eric Pouech b09582a890 Implemented kernel32 process affinity handling on top on ntdll. 2005-09-27 10:52:10 +00:00
Alexandre Julliard 0ec183cfe3 Use the proper format to print handles in handle_table_dump. 2005-09-27 09:36:54 +00:00
Alexandre Julliard 43c6396e94 Use int instead of long in interlocked_* functions for 64-bit
compatibility.
2005-09-26 13:51:58 +00:00
Eric Pouech e21aa6a184 - now passing access rights when creating a named pipe in NTDLL
- reimplemented Kernel32.CreatePipe purely on top of NTDLL APIs
- anonymous pipe handles should have the SYNCHRONIZE bit set
2005-09-26 11:02:45 +00:00
Alexandre Julliard 5a12dd17ae Preliminary version of the context support for x86-64. 2005-09-16 18:59:23 +00:00
Alexandre Julliard cdf92942b1 Use the proper size for the cmsg_fd structure on 64-bit plaforms. 2005-09-16 18:52:47 +00:00
Alexandre Julliard 867ae269d4 Remove an exiting thread from the process only after thread cleanup to
avoid accessing freed window classes.
2005-09-14 15:44:12 +00:00
Alexandre Julliard 127127fd3b Timeout 0 means infinite wait for SendMessageTimeout.
Remove the message from the receiver queue if it times out before
being received.
2005-09-13 14:46:46 +00:00
Ivan Leo Puoti f0db7ab06b Added FSCTL_PIPE_LISTEN support. 2005-09-06 14:09:42 +00:00
Eric Pouech b3badc7dd3 - rewrite kernel32:{Set|Get}PriorityClass on top of ntdll equivalent
- priority for process in wineserver is now the NTDLL form (no longer
  the kernel32 one)
2005-09-06 10:25:11 +00:00
Alexandre Julliard f62f6e8fe1 Don't cache file descriptors open on removable devices. 2005-08-24 18:33:50 +00:00
Alexandre Julliard 38502f70eb Added a separate set_handle_cached_fd request instead of abusing
set_handle_info for that.
2005-08-23 18:43:50 +00:00
Alexandre Julliard 1b2adad892 Don't try to detach from a thread that is exiting, to avoid triggering
a kernel race condition.
2005-08-22 10:13:28 +00:00
Alexandre Julliard 9d99a04880 Added a watchdog mechanism to break out of the wait4 call in case it
didn't return properly (can happen at thread exit).
2005-08-19 14:01:43 +00:00
Alexandre Julliard 3f31a10d01 Avoid a crash in find_hardware_message_window when there's no
foreground input.
2005-08-16 19:58:12 +00:00
Alexandre Julliard 4ebd2fc0ff Better handling of conflicting section information between
SizeOfRawData and VirtualSize.
2005-08-15 14:50:06 +00:00
Mike McCormack e659f1e60c Fix some gcc 4.0 warnings. 2005-08-09 10:37:50 +00:00
Alexandre Julliard b0e091acbf The temp buffer always stores WCHARs, fixed its type and got rid of a
number of casts.
2005-08-09 10:36:45 +00:00
Alexandre Julliard 964815bc42 Added an unmount_device request that invalidates all file descriptors
open on a given Unix device.
2005-08-08 15:11:03 +00:00
Alexandre Julliard 49b7fdcfc0 Removed the broken mmap64 configure check, and moved the
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +00:00
Alexandre Julliard d4325152db Added a separate device object to keep track of inodes that are on the
same device.
2005-07-30 19:09:43 +00:00
Alexandre Julliard 830d1edb9d Automatically generate the list of error names in make_requests. 2005-07-29 14:49:05 +00:00
Alexandre Julliard b6c7677778 Removed a no longer used variable. 2005-07-29 14:41:40 +00:00
Alexandre Julliard f895ad180d Fixed a couple of error codes. 2005-07-29 14:41:14 +00:00
Alexandre Julliard c132542470 Renamed fd to unix_fd in the closed_fd structure to make the code a
bit clearer.
2005-07-28 10:48:57 +00:00
Alexandre Julliard 8197e0b07b Create the desktop class when needed without requiring a client
request.
2005-07-19 19:45:48 +00:00
Robert Shearman 91eaea53ae - Change the default user SID to match what was previously returned by
NtQueryInformationToken.
- Implement TokenUser for NtQueryInformationToken.
- Add a function for getting the user's registry path from a SID.
2005-07-18 13:22:55 +00:00
Robert Shearman 37773dda84 Make mailslots use as much of the default async fd implementation as
possible.
2005-07-14 12:18:05 +00:00
Alexandre Julliard 9ad5628639 Moved the server start time to the init_thread request and got rid of
the init_process request (based on a patch by Felix Nawothnig).
2005-07-14 10:32:46 +00:00
Alexandre Julliard 11ad6a0ac4 Return the startup info size in the init_thread request, and allocate
the process parameters structure in ntdll instead of kernel.
2005-07-13 19:43:35 +00:00
Robert Shearman fbf0ea9f18 Store the default DACL in the token. 2005-07-13 19:31:27 +00:00
Alexandre Julliard 4391be583e Get rid of the boot_done request. 2005-07-13 14:20:13 +00:00
Alexandre Julliard 0424f38169 Already initialize the process in the first init_thread request
instead of waiting for the init_process request.
2005-07-13 12:12:43 +00:00
Alexandre Julliard c976db1a03 Avoid potential crashes when there is no handle table. 2005-07-13 12:09:49 +00:00
Alexandre Julliard 01caa5e645 Moved the fields that depends on startup info from the init_process
request to get_startup_info.
2005-07-12 20:27:09 +00:00
Alexandre Julliard 6aa0cc5e3c Load the HKEY_CURRENT_USER branch at server startup too. 2005-07-11 20:44:59 +00:00
Alexandre Julliard 4a40b2eefb Store the global hooks table in the desktop object. 2005-07-11 18:05:50 +00:00
Alexandre Julliard 5ad90c0f37 Tie windows and thread input structures to a specific desktop.
Support multiple desktop windows (one per desktop object).
Use the window desktop to find the window station to use for property
atoms.
2005-07-11 13:30:23 +00:00
Alexandre Julliard 499e343d9f Export the winstation and desktop structures to avoid having to write
too many accessor functions.
2005-07-11 10:55:53 +00:00
Alexandre Julliard c3ac57dd86 Explicitly pass the winstation to the atom functions so that they can
be used even when current is not set.
2005-07-08 14:23:27 +00:00
Alexandre Julliard 8c518808b8 Put in place the basic infrastructure to allow supporting multiple
desktop windows.
2005-07-08 11:37:40 +00:00
Alexandre Julliard bb82cbb90b Convert the shared mapping list to a standard list. 2005-07-07 12:04:55 +00:00
Dmitry Timoshkov 86af38c8ca Make IsWindowUnicode work in the case when window belongs to another
process.
2005-07-07 12:02:31 +00:00
Alexandre Julliard 248f4b29fe Store the global atom table in the process window station. 2005-07-07 11:29:23 +00:00
Vitaliy Margolen b2e74c3047 Load all dll sections no matter what attributes say. 2005-07-02 10:50:42 +00:00
Alexandre Julliard 112228dfe3 Don't bother loading the config file anymore. 2005-07-01 19:26:07 +00:00
Alexandre Julliard 45128bdcdd Make the clipboard information local to the process window station. 2005-06-29 20:13:36 +00:00
Alexandre Julliard 36b85d02f6 Clear the process handle table before releasing it to avoid potential
problems with destructors trying to access handles.
2005-06-29 19:29:15 +00:00
Alexandre Julliard 92fec7b67a Keep track of the windows and hooks used by a thread to properly
refuse to change the thread desktop when it's in use.
2005-06-28 19:37:52 +00:00
Mike McCormack 390bc5f52f Don't include winbase.h when it's not necessary. 2005-06-21 09:46:15 +00:00
Robert Shearman 4bba21643c Add support for impersonating a token. 2005-06-20 13:18:38 +00:00
Mike McCormack 66e5ce3066 Remove unnecessary includes. 2005-06-20 10:35:36 +00:00
Robert Shearman 8cb3f92e53 - All versions of Windows ignore the access rights of the passed in
parent handle to RegCreateKey(Ex).
- Add a test that shows this.
2005-06-16 20:34:34 +00:00
Alexandre Julliard 5f22e7caf6 Remove the process locks in process_killed, not process_destroy. 2005-06-14 19:23:56 +00:00
Alexandre Julliard 0901b23206 Call the close_handle notification for all objects when releasing a
handle table.
2005-06-14 19:16:56 +00:00
Robert Shearman dacc3dbfa5 Fix size used to validate the sids in aces. 2005-06-14 19:15:58 +00:00
Robert Shearman f95ef09b8e Add TokenType attribute to specify whether the token is a primary or
impersonation token.
2005-06-14 18:10:04 +00:00
Mike McCormack cdcb203691 Call remove_process_locks when a process ends, fix declarations. 2005-06-14 11:40:40 +00:00
Robert Shearman 3795709344 Change code style of form "if( x )" to "if (x)" for consistency. 2005-06-10 19:54:46 +00:00
Alexandre Julliard 9b3b7caf2d Store the process along with the key handle in notifications. 2005-06-09 20:36:08 +00:00
Alexandre Julliard b9b1ea9c9f Added a close_handle method to the object operations, and use it to
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Alexandre Julliard 78a3e63377 The desktop of a new thread should be set from the process initial
desktop, not from the parent thread.
Fixed a couple of bugs in the desktop name handling.
2005-06-09 12:07:12 +00:00
Robert Shearman 9b82644d00 - Avoid evil signed bitfields.
- Fix bug with using wrong revision in security_sid_alloc.
- Add all builtin groups present in the Administrator token on Windows
  to the default token.
2005-06-09 09:47:28 +00:00
Robert Shearman d681022d68 Fix a regression in the performance of named pipes by only making the
fd non-blocking when overlapped I/O is requested for the fd (reported
by Ivan Leo Puoti).
2005-06-09 09:46:55 +00:00
Mike McCormack c61580133d Include user.h in the new winstation.c to avoid a warning from
-Wmissing-declarations.
2005-06-09 09:43:54 +00:00
Robert Shearman e51dd36453 Implement overlapped I/O with named pipes. 2005-06-08 19:11:46 +00:00
Alexandre Julliard 1bf96e09a9 Beginnings of support for window stations and desktops. 2005-06-08 18:44:50 +00:00
Robert Shearman d6a4e34a60 - Add a default asynchronous I/O implementation.
- Make file objects use it.
2005-06-07 20:09:01 +00:00
Alexandre Julliard db412aaf60 Added a from_child parameter to the get_update_region request to allow
restarting the search from a given child, in order to avoid looping
forever on windows that don't repaint correctly.
2005-05-31 13:37:16 +00:00
Alexandre Julliard 50dc5a30e1 Crop the update region to the new window rectangle when resizing a
window.
2005-05-26 12:28:07 +00:00
Robert Shearman c516571481 - Use NULL instead of 0 for all non-handle pointers.
- Fix non-ANSI function declarations.
- Make a function static.
2005-05-25 18:41:09 +00:00
Robert Shearman 616b293e1d - Print commas between ACE's.
- Dump access masks from all ACE's.
2005-05-25 09:54:05 +00:00
Robert Shearman 4ad93416a8 Implement NtAccessCheck. 2005-05-24 12:32:18 +00:00
Robert Shearman 7bff35428b - Add new server type "struct security_descriptor".
- Add tracing for this new type.
2005-05-23 16:33:00 +00:00
Rob Shearman b4b7f05dc3 Fix several memory leaks. 2005-05-23 09:53:06 +00:00
Robert Shearman 2a782c65bd Add user attribute to token objects. 2005-05-16 17:52:46 +00:00
Alexandre Julliard 110c8dc54a Fixed a number of atom test failures. 2005-05-14 11:11:21 +00:00
Alexandre Julliard 55d449e476 Fixed another case where a mouse message could get assigned to a
different thread input.
2005-05-14 11:08:05 +00:00
Alexandre Julliard 90b48e93a3 Only set the new window of a hardware message if the window belongs to
the same thread input, otherwise just drop the message.
2005-05-13 14:00:19 +00:00
Alexandre Julliard 9e73cdde39 Allow passing a string to the window property server requests instead
of an atom to avoid redundant server round-trips.
2005-05-11 19:01:10 +00:00