Commit Graph

74 Commits

Author SHA1 Message Date
Brendan Shanks 33c8a42547 mountmgr: Avoid unnecessary permission prompts on macOS 10.15 and newer.
On macOS 10.15 and newer, trying to open the device node of a removable
drive will trigger an "<app> would like to access files on a removable
volume" permission prompt, even if the user doesn't have permissions
to access the device node (which is almost always the case).

Check the value of access() (recommended by Apple for this purpose)
before opening devices.

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 22:37:16 +02:00
Hans Leidekker bf9ae67275 mountmgr: Add ioctl to enumerate host credentials on macOS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 17:21:44 +02:00
Derek Lesho 8e98dcd42e mountmgr.sys: Use SystemBuffer output for IOCTL_STORAGE_QUERY_PROPERTY.
In METHOD_BUFFERED ioctls, SystemBuffer must be used as both the input and output buffer.
Using UserBuffer directly, without any checks is dangerous and non-functional, as it will
be overwritten by the contents of SystemBuffer in a correct implementation.

Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 20:21:18 +02:00
Alexandre Julliard 3aa4feb578 mountmgr: Use wine_get_dos_file_name() instead of wine_unix_to_nt_file_name().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 16:05:30 +02:00
Francois Gouget b067eda87c mountmgr.sys: Make get_mountmgr_fs_type() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Hans Leidekker ea9b507380 mountmgr: Fix buffer length check.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49305
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:39 +02:00
Hans Leidekker 4ed26b63ca mountmgr: Return the disk serial from IOCTL_STORAGE_QUERY_PROPERTY(StorageDeviceProperty).
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:14 +02:00
Alexandre Julliard 77bb698b32 mountmgr.sys: Avoid using wine_get_config_dir().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 13:57:35 +02:00
Zebediah Figura 54417bf8bf mountmgr: Assign a unique nonzero serial to all volumes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:58 +02:00
Zebediah Figura 19b8aadf4b mountmgr: Return the serial and label from IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Zebediah Figura 54f93b9bb9 mountmgr: Allow querying a Unix device by device ID.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Zebediah Figura cf174edfd9 mountmgr: Return the filesystem type from IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Zebediah Figura 37ed655903 mountmgr: Determine and store the filesystem type, label, and serial.
Copied with minimal adaptation from kernel32/volume.c

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Michael Stefaniuc 269f29f3c0 mountmgr.sys: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Chip Davis 19549d11a7 mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi here instead of in kernel32.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 21:56:23 +01:00
Piotr Caban 38b30a593e mountmgr.sys: Always add all user-defined ports.
Makes it possible to define non-consecutive COM ports.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:31:59 +02:00
Piotr Caban 93ea9713c2 mountmgr.sys: Null terminate serial_search_paths and parallel_search_paths tables.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:31:56 +02:00
Zhiyi Zhang 33de7fb7a8 mountmgr: Add IOCTL_STORAGE_QUERY_PROPERTY stub.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Michael Stefaniuc e32fe9ba81 mountmgr.sys: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:44:12 +02:00
Alex Henrie 4177068d5a mountmgr: Map ttyACM devices to COM ports on Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-01 10:38:06 +01:00
Alex Henrie c296e7de4d mountmgr: Symlink WoW64 Wine ports key to regular Wine ports key.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-30 21:39:08 +01:00
Alex Henrie 88f245d068 mountmgr: Name DosDevices constants consistently.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-15 11:12:02 +02:00
Alexandre Julliard 3fca6cd1ed mountmgr: Create symbolic links in DosDevices for serial and parallel ports.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 11:49:19 +02:00
Alexandre Julliard bbe6c13605 mountmgr: Create the DEVICEMAP registry keys in their respective driver.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 11:46:50 +02:00
Alex Henrie b1203af6ba mountmgr: Create devices and registry entries for parallel ports.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 22:49:44 +02:00
Alex Henrie a6cdfea1c1 mountmgr: Create devices and registry entries for serial ports.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 22:49:44 +02:00
Francois Gouget 9cf7398394 mountmgr.sys: Remove unneeded NONAMELESSXXX directives. 2015-03-06 12:54:32 +09:00
Alexandre Julliard 41eb2fd714 mountmgr: Don't access the IRP after it has been completed. 2015-03-04 22:18:04 +09:00
Frédéric Delanoy 290cd16358 mountmgr.sys: Use BOOL type where appropriate. 2014-01-09 12:11:35 +01:00
Dmitry Timoshkov aa96c58db5 mountmgr.sys: Add a missing entry for DEVICE_DVD to match mountmgr.h enumeration types. 2013-04-18 11:51:27 +02:00
Alexandre Julliard a6b6c0ebe5 mountmgr: Create a symlink in DosDevices for cdroms. 2012-01-17 11:41:15 +01:00
Alexandre Julliard e85a5b2ee9 mountmgr: Require at least one of device or mount point to match when looking for an existing volume. 2011-12-21 10:56:52 +01:00
Frédéric Delanoy 9853580608 mountmgr.sys: Avoid hardcoding array lengths. 2011-11-22 10:54:03 +01:00
Bernhard Loos a1377319bc mountmgr, ntoskrnl: METHOD_BUFFERED uses irp->AssociatedIrp.SystemBuffer for both input and output. 2011-11-08 13:58:50 +01:00
André Hentschel 9752bf8f04 mountmgr.sys: Better fixme for unsupported ioctls. 2011-07-05 16:32:13 +02:00
André Hentschel 7a90e7a444 mountmgr.sys: Handle IOCTL_DISK_GET_DRIVE_GEOMETRY_EX. 2011-03-10 16:30:15 +01:00
Charles Davis 9a1fb63840 mountmgr: Use the media kind to fill in the device type field on Mac OS. 2011-02-15 17:24:23 +01:00
André Hentschel 5a9f3a38dc mountmgr: Use define instead of hardcoded value. 2011-02-01 18:14:09 +01:00
Ken Thomases 8a38fbcacc mountmgr: Balance volume references in add_volume(). 2011-02-01 12:04:54 +01:00
Hans Leidekker d491346861 mountmgr: Add a stub implementation of ioctl 0x560000. 2011-01-31 13:01:10 +01:00
Gerald Pfeifer 0c2fbbe7f0 mountmgr.sys: Remove variable result which is not really used from update_symlink. 2010-05-10 10:17:39 +02:00
Damjan Jovanovic 63bc9c484a mountmgr: Frame device service functions with IoGetCurrentIrpStackLocation and IoCompleteRequest. 2010-03-25 16:09:01 +01:00
Charles Davis 5415b62fc2 include: Don't accidentally redefine a member in struct _IRP (LLVM/Clang). 2010-02-25 12:10:07 +01:00
Alexandre Julliard b05ebca618 mountmgr: Increment the volume refcount in functions that return a volume. 2009-08-04 12:36:34 +02:00
Alexandre Julliard 79de2e8126 mountmgr: Protect the device structures with a critical section. 2009-07-22 21:13:00 +02:00
Alexandre Julliard 134feaab05 mountmgr: Return a copy of the strings in query_dos_device. 2009-07-22 21:02:47 +02:00
Alexandre Julliard 15acd35fa2 mountmgr: Try to match and reuse volumes when creating/updating a drive. 2009-07-22 20:56:04 +02:00
Alexandre Julliard 0da2e46eaf mountmgr: Add ref counting for volume objects. 2009-07-22 20:55:24 +02:00
Alexandre Julliard 7b7ac02e15 mountmgr: Better reuse of existing devices. 2009-07-22 19:21:22 +02:00
Alexandre Julliard 968161e106 mountmgr: Set the drive letter at creation time. 2009-07-22 18:25:38 +02:00