Alexandre Julliard
0f4068ac6f
server: Use the file descriptor instead of the file object where possible in memory mappings.
2009-11-23 16:29:52 +01:00
Alexandre Julliard
d57692d86b
server: Also store a file descriptor object for mappings.
2009-11-23 15:59:37 +01:00
Alexandre Julliard
78d211b3bd
server: Move the functions to extend file to mapping.c since it's the only user.
2009-11-23 15:58:25 +01:00
Alexandre Julliard
95d3a722ab
server: Add support for image mappings for both 32- and 64-bit PE formats.
2009-08-12 12:53:16 +02:00
Alexandre Julliard
d5d0738fb9
ntdll: Tweak the file mapping permission checks some more, with tests.
2009-05-19 21:36:05 +02:00
Alexandre Julliard
d066a9a01a
server: Make the mapping base address a client_ptr_t instead of a void pointer.
2008-12-30 14:18:21 +01:00
Alexandre Julliard
29d9759156
server: Use mem_size_t instead of file_pos_t for memory mapping sizes.
2008-12-17 19:25:49 +01:00
Alexandre Julliard
5e2ed6bfe9
ntdll,server: Fixed access checks for OpenFileMapping and MapViewOfFile.
2008-11-05 20:32:32 +01:00
Alexandre Julliard
cdce50f5be
ntdll: Store the per-page committed status in the server for anonymous file mappings.
2008-11-05 12:31:37 +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
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
f98556c119
server: Add the name length to the object_attributes structure so that other variable length data can be present after object_attributes.
2007-10-30 14:18:05 +01:00
Rob Shearman
23df453d38
server: Make create_mapping use struct object_attributes and set the security descriptor of file mapping objects.
2007-10-26 12:45:29 +02:00
Alexandre Julliard
235532ce28
server: Use the file_pos_t type for file sizes and offsets in the protocol structures.
2007-10-10 14:06:25 +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
7e71c1ddee
server: Add an open_file() function to the object operations.
2007-03-22 11:44:29 +01:00
Andrew Talbot
b1788c8462
server: Replace inline static with static inline.
2007-03-17 20:05:05 +01:00
Alexandre Julliard
4cbe867a85
ntdll: Duplicate the mapping handle on the server side for NtMapViewOfSection.
2007-01-12 14:55:31 +01:00
Alexandre Julliard
126bbb3fe3
server: Don't fail to map a shared section if the final sector is truncated.
2007-01-08 21:34:15 +01:00
Alexandre Julliard
9fed1205ca
ntdll: File positions should be aligned to sector boundaries in PE loader.
2006-12-21 12:34:44 +01:00
Alexandre Julliard
3dc21d387b
ntdll: Map the PE header up to the specified size, and clear the rest of the page.
2006-12-13 16:04:49 +01:00
Alexandre Julliard
715d78e006
server: Refuse to close handles in other processes if they have an associated fd.
2006-11-02 20:52:22 +01:00
Michael Stefaniuc
5cecceccb2
server: Remove redundant NULL check before free() (found by Smatch).
2006-10-10 12:56:16 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
d59fa772d5
server: Ignore the SizeOfHeaders field and compute the correct size ourselves.
2006-04-21 16:16:11 +02: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
a510a7e117
server: Added access rights mapping to file objects.
2005-12-12 16:46:17 +01:00
Alexandre Julliard
28beba31d6
server: Added infrastructure for access rights mapping.
2005-12-12 14:57:40 +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
24560e70bb
server: Make alloc_handle use attributes instead of inherit flag.
2005-12-09 13:58:25 +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
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Vitaliy Margolen
baffcb95d3
Add name_lookup function in object_ops.
2005-11-22 14:55:42 +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
ead9b062e3
Added a struct unicode_str to encapsulate object names.
2005-11-18 16:31:18 +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
4ebd2fc0ff
Better handling of conflicting section information between
...
SizeOfRawData and VirtualSize.
2005-08-15 14:50:06 +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
bb82cbb90b
Convert the shared mapping list to a standard list.
2005-07-07 12:04:55 +00:00
Vitaliy Margolen
b2e74c3047
Load all dll sections no matter what attributes say.
2005-07-02 10:50:42 +00:00
Mike McCormack
390bc5f52f
Don't include winbase.h when it's not necessary.
2005-06-21 09:46:15 +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
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Alexandre Julliard
a4334a6b95
Cleaned up handling of 64-bit file sizes.
2005-04-19 11:59:13 +00:00
Alexandre Julliard
646ab89f0a
Support mapping non page-aligned binaries for SEC_IMAGE mappings.
2005-01-04 12:04:06 +00:00
Alexandre Julliard
72f87b8c06
Use pread/pwrite everywhere to avoid changing the file position while
...
the client is using it.
Get rid of the no longer used truncate_file request.
2004-05-01 02:50:06 +00:00
Alexandre Julliard
49b2f6d964
Get rid of the removable media handling in the server.
2004-04-06 23:41:01 +00:00
Mike McCormack
dc82769e61
Mapping a zero size file should fail.
2004-01-09 00:34:14 +00:00
Alexandre Julliard
af192f83b6
Store a "removable" flag instead of the full drive type in the server
...
file object; this way we don't need to use GetDriveTypeW in the loader
code.
Make sure we always have a valid builtin_load_info pointer.
2003-10-08 00:25:32 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
64a41a2842
The server also needs to cope with IMAGE_SCN_CNT_UNINITIALIZED_DATA
...
and IMAGE_SCN_CNT_INITIALIZED_DATA flags set together.
2003-06-21 02:03:40 +00:00
Alexandre Julliard
e66207ebfc
Moved all references to file descriptors out of the generic object
...
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +00:00
Alexandre Julliard
d0e4a76544
Make sure get_file_size uses a valid fd (spotted by Uwe Bonnes).
2003-02-17 01:50:40 +00:00
Alexandre Julliard
cf27a7fa3b
Changed fd operations to take a struct fd instead of a struct object.
...
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Alexandre Julliard
863637b158
Started moving functions that deal with Unix file descriptors to a
...
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Alexandre Julliard
435e2e63f4
winnt.h should not be self-contained, it must depend on windef.h so
...
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
2002-12-10 22:56:43 +00:00
Alexandre Julliard
526a28de51
Added support for multiple object namespaces, and a bunch functions
...
for managing linked lists.
2002-10-02 23:49:30 +00:00
Alexandre Julliard
341b7dceb4
Implemented the ntdll virtual memory functions, and made the kernel
...
functions use them.
2002-09-17 18:54:42 +00:00
Dmitry Timoshkov
1467bbd5a4
Relax a bit PE consistency checks.
...
Return BINARY_DOS type if extended header was not recognized.
2002-08-27 00:34:41 +00:00
Alexandre Julliard
5188574984
Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h.
2002-05-30 20:12:58 +00:00
Alexandre Julliard
5769d1de00
Better support for configure detection of missing types, added check
...
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard
ca18f1580b
Clear mapping->shared_file on error.
2002-04-20 21:07:24 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Martin Wilck
88cd32b2d1
More general approach to file descriptor types and flags.
2002-01-09 20:30:51 +00:00
Mike McCormack
6f011c0847
- move async activation into the server
...
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard
9caa71eef4
Redesign of the server communication protocol to allow arbitrary sized
...
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Ove Kaaven
708a846a88
Save a disk file's drive type in the server object.
2001-10-24 00:23:25 +00:00
Francois Gouget
e5ddd26dd7
When including config.h, include it first.
2001-10-14 16:18:52 +00:00
Mike McCormack
ff58be5c7f
Fetch a handle type in FILE_GetUnixHandle.
2001-10-04 16:18:15 +00:00
Alexandre Julliard
84fdfd087a
Repaired shared PE data sections.
2001-04-13 22:38:39 +00:00
Alexandre Julliard
5f195f8c01
Small server protocol cleanups.
2001-02-20 23:45:07 +00:00
Alexandre Julliard
8081e5a1e5
Added handle_t type to server interface so that we can make handles
...
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard
63411dbde5
Avoid dup'ing file descriptors when not necessary.
...
Do not send fd to the client if ops->get_fd() fails.
2000-12-22 21:12:36 +00:00
Alexandre Julliard
d549f6909e
Use a separate FIFO pair for server requests that don't need to pass a
...
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard
1ab243bac1
Merged the get_read_fd and get_write_fd requests.
2000-12-19 02:12:45 +00:00
Andreas Mohr
1c99af4a7a
Check the attributes of the *current* section, not only the attributes
...
of the *first* section...
2000-12-03 04:02:09 +00:00
Alexandre Julliard
908464d448
Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
...
Various warning fixes.
2000-11-01 03:11:12 +00:00
Alexandre Julliard
9c2370bd75
Added exception handling wrapper to a number of server requests.
...
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard
c19e1a7e19
Implemented SEC_IMAGE mappings and shared PE sections (with the help
...
of Peter Ganten).
2000-08-14 20:20:01 +00:00
Alexandre Julliard
ef88637f5b
Made request tracing more robust against bogus lengths.
2000-04-04 19:33:27 +00:00
Alexandre Julliard
cb1fc735f0
Changed the server to return STATUS_* error codes.
2000-01-24 21:58:06 +00:00
Alexandre Julliard
1dca5e24c7
Moved poll handling to the generic part of the server objects.
...
Fixed busy waiting on POLLERR events.
Merged struct client into struct thread.
2000-01-01 00:56:27 +00:00
Alexandre Julliard
d16319ce22
Store all object names as Unicode in the server.
1999-11-25 21:30:24 +00:00
Alexandre Julliard
c76ad35a32
Added get_page_size function.
1999-11-13 19:49:05 +00:00
Alexandre Julliard
ebe29ef376
Further server optimizations:
...
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard
5bc78089db
Made server communication faster by using a shared memory block.
...
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00
Marcus Meissner
adb87931d3
Do not use pagesize aligned size_low to grow mapped file, but original
...
size_low. (fixes Heises Index Register)
1999-05-23 07:47:31 +00:00
Alexandre Julliard
43c190e7ba
Server reorganization:
...
- moved request handlers to the specific C files
- moved handle management to handle.c
- moved server private includes to server/ instead of include/server/
1999-05-15 10:48:19 +00:00
Alexandre Julliard
cb28bdc2c8
Added support for mappings with no associated file.
1999-02-28 10:13:59 +00:00
Alexandre Julliard
068a26e848
Moved process definitions to include/server/process.h
1999-02-14 17:58:51 +00:00
Alexandre Julliard
0562539d18
Implemented file sharing checks in the server.
...
Added set file time server request.
Overall clean up of the file handling (DOS device handling is now
broken, should be redone).
1999-01-03 11:55:56 +00:00
Alexandre Julliard
a8b8d9c0f6
Added server-side file mapping object support.
1999-01-01 16:59:27 +00:00