Commit Graph

181 Commits

Author SHA1 Message Date
Alexandre Julliard 26314a56d3 server: Access the list of committed ranges directly from the mapped view.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:44 +02:00
Alexandre Julliard 7e6cf601f4 server: Make the memory ranges structure into a proper object.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:44 +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 1c8a36a91c ntdll: Pass the mapping file access instead of the protection bits to the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-12 20:32:01 +02:00
Alexandre Julliard e5c39a565a server: Enforce valid flags for file mappings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:14 +02:00
Jacek Caban ad1e0609a0 server: Get rid of no loner used cancel_async from fd_ops.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:59 +01:00
Piotr Caban 84b3218ed6 server: Fix loading of IMAGE_OPTIONAL_HEADER.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 00:56:00 +09:00
Alexandre Julliard ef716e9d1e server: Don't grow the mapped file for read-only mappings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:07 +09:00
Alexandre Julliard 32c7153fdb server: Avoid rounding mapping sizes on the server side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 17:03:03 +09:00
Alexandre Julliard 6f0979b983 ntdll: Implement the SectionImageInformation class of NtQuerySection.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-26 20:33:16 +09:00
Alexandre Julliard 2602df14d8 ntdll: Implement the SectionBasicInformation class of NtQuerySection.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-26 20:32:10 +09:00
Alexandre Julliard 1ddc636051 server: Store the section flags separately from the protection.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-26 14:20:02 +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 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
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
Alexandre Julliard 837b39b202 server: Add read and write fd member functions.
Also rename no_flush() to no_fd_flush() for consistency.
2015-05-06 09:07:42 +09:00
Alexandre Julliard e8eb781327 server: Check PE file architecture at mapping creation time. 2013-11-21 19:39:02 +01:00
Alexandre Julliard 2b97a064e3 server: Use sysconf() instead of getpagesize(). 2013-01-09 12:15:25 +01:00
Dmitry Timoshkov 29b91206a8 server: Store correct protection for an image mapping. 2012-01-24 18:10:31 +01:00
Alexandre Julliard 200f8d958f server: Reuse existing file descriptor objects for duplicate file mappings. 2011-04-19 18:29:24 +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 eb2fe39d63 server: Add support for opening a new file handle from a mapping object. 2011-04-18 14:27:44 +02:00
Alexandre Julliard 8dbd06a1f8 server: Create anonymous file mappings in the config directory if the server directory is mounted noexec. 2011-01-28 17:41:26 +01:00
Alexandre Julliard a2ca2ebd50 server: Change the removable fd flag to a cacheable flag to make it possible for fd users to set it dynamically. 2010-08-23 17:09:45 +02:00
Alexandre Julliard 923d582f07 server: Implement the file sharing check when truncating a file that has an existing mapping. 2009-11-23 17:24:45 +01:00
Alexandre Julliard fd504b6289 server: Implement the special file sharing rules for memory mappings. 2009-11-23 17:10:28 +01:00
Alexandre Julliard 028bca4cc5 server: Don't create a file object for anonymous mappings. 2009-11-23 16:30:01 +01:00
Alexandre Julliard 62eda39fc1 server: Moved the create_temp_file function to mapping.c. 2009-11-23 16:30:00 +01:00
Alexandre Julliard 5f808f03e1 server: Store a duplicate of the file descriptor for file mappings. 2009-11-23 16:30:00 +01:00
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