Commit Graph

173 Commits

Author SHA1 Message Date
Alexandre Julliard bc8d04d6a5 mountmgr: Fix handling of buffer overflows in IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 15:34:00 +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
Alexandre Julliard cf19a7ac4f mountmgr.sys: Use standard dlopen() instead of the libwine wrappers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Jacek Caban ce2257b55c mountmgr: Add mac-specific ioctl to lookup symbol files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 17:02:28 +02:00
Zebediah Figura 2d0e113db1 mountmgr: Return STATUS_BUFFER_OVERFLOW from query_unix_drive() if the buffer is too small.
STATUS_MORE_ENTRIES is meant for enumeration APIs like NtQueryDirectoryFile();
we are not enumerating anything here.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 09:23:16 +01:00
Zebediah Figura aafe39a812 mountmgr: Fill the mountmgr_unix_drive structure even if the buffer is too small to hold the dynamic strings.
kernel32 actually already assumes this.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 09:23:13 +01: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 d61e293924 mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi on Mac OS.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 21:56:36 +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
Alexandre Julliard e7040616c8 mountmgr: Don't include sys/time.h before winsock.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 19:01:10 +01:00
Hans Leidekker 4692ae3f0f mountmgr.sys: Fix the build on macOS when dbus libraries are present.
Reported by Gijs Vermeulen.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Hans Leidekker b7ab346cf7 mountmgr.sys: Add support for querying DHCP parameters on macOS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 23:15:05 +01:00
Hans Leidekker a1c159e060 mountmgr.sys: Add support for querying DHCP parameters on Linux.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 23:15:05 +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
Alexandre Julliard 38b1a1afca mountmgr.sys: Use strncmpiW instead of memicmpW for strings without embedded nulls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 11:31:21 -05:00
Alexandre Julliard 3d7471570e makefiles: Pass --subsystem to the linker also.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 15:28:48 +01: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
Alexandre Julliard f21cb01aa4 makefiles: Don't allow import libraries to have an extension.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 14:04:20 +09: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
Alexandre Julliard cf0e96c6d0 configure: Rename substituted variables to a standard _CFLAGS and _LIBS format. 2014-01-30 14:51:33 +01:00
Alexandre Julliard 8aa64e3580 configure: Automatically expand _CFLAGS and _LIBS variables in all makefiles. 2014-01-30 12:42:56 +01:00
Frédéric Delanoy 290cd16358 mountmgr.sys: Use BOOL type where appropriate. 2014-01-09 12:11:35 +01:00
Alexandre Julliard 15b40f62cc mountmgr.sys: Use the correct variable for the include paths. 2014-01-07 12:20:27 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard e7bd23ba47 configure: Use the pkg-config helper macro for hal and dbus. 2013-05-03 20:45:06 +02: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
Andrew Talbot 1cff1145b0 mountmgr.sys: Remove superfluous semicolon. 2012-12-10 11:21:49 +01:00
Alexandre Julliard ed8d665f8c mountmgr: Support udisks2 versions that store the uuid as an array. 2012-09-13 22:37:00 +02:00
Alexandre Julliard 2ffc57821f mountmgr: Add support for UDisks2. 2012-06-13 17:51:00 +02:00
Alexandre Julliard 2f86012373 mountmgr: Add a helper function for parsing UDisks media compatibility. 2012-06-13 17:36:55 +02:00
Alexandre Julliard 6157f4a9f4 mountmgr.sys: Don't try to close the dbus connection. 2012-06-06 11:46:38 +02:00
Alexandre Julliard a6b6c0ebe5 mountmgr: Create a symlink in DosDevices for cdroms. 2012-01-17 11:41:15 +01:00
Francois Gouget 4628c52c36 mountmgr: Add a trailing '\n' to a WARN() message. 2011-12-28 17:46:48 +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
Alexandre Julliard 2a59f016db mountmgr: Add dynamic devices support using UDisks.
Inspired by a patch from Detlef Riekenberg.
2011-12-20 20:06:26 +01:00
Alexandre Julliard 55f5209631 mountmgr: Rename hal.c to dbus.c. 2011-12-20 11:06:12 +01:00
Frédéric Delanoy 9853580608 mountmgr.sys: Avoid hardcoding array lengths. 2011-11-22 10:54:03 +01:00
Bernhard Loos 79b93fff0b mountmgr: Also call IoCompleteRequest in case of an error. 2011-11-08 13:59:08 +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
Alexandre Julliard 2fff57a5e7 mountmgr.sys: Include system headers before Windows headers. 2011-09-06 13:25:35 +02:00
André Hentschel 9752bf8f04 mountmgr.sys: Better fixme for unsupported ioctls. 2011-07-05 16:32:13 +02:00
Marcus Meissner e025b138f9 mountmgr.sys: Mark internal symbols with hidden visibility. 2011-05-20 10:32:42 +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
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02: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
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +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 d19e2ada9c mountmgr: Move creation of the DEVICEMAP registry keys to mountmgr. 2009-11-23 13:21:22 +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
Alexandre Julliard 6880b4d175 mountmgr: Use set_volume_info to update the volume when creating a new drive. 2009-07-22 18:04:36 +02:00
Alexandre Julliard e38aff419b mountmgr: Add a helper function to update symlinks. 2009-07-22 17:57:08 +02:00
Alexandre Julliard 878459383a mountmgr: Optionally update the drive mount point in set_volume_info. 2009-07-22 17:49:39 +02:00
Alexandre Julliard 86fdd8ebc5 mountmgr: Rename the DOS drive mount field for symmetry with the volume structure. 2009-07-22 17:46:02 +02:00
Alexandre Julliard 19e2d0cd5d mountmgr: Create volumes for non-removable volumes reported by HAL/Disk Arbitration. 2009-07-21 20:33:17 +02:00
Alexandre Julliard 22f58341dc mountmgr: Add support for creating volumes without an associated drive. 2009-07-21 20:30:43 +02:00
Alexandre Julliard 053eccf910 mountmgr: Always set the mount point id as a separate step from the mount point creation. 2009-07-20 21:00:33 +02:00
Alexandre Julliard 81cfeaf531 mountmgr: Retrieve the volume uuid through HAL/DiskArbitration when creating a device. 2009-07-20 17:11:47 +02:00
Alexandre Julliard 84396c2e62 mountmgr: Add support for setting the drive UUID instead of having it always hardcoded. 2009-07-20 16:14:23 +02:00
Alexandre Julliard bc8dce2004 mountmgr: Create a separate structure for volume information. 2009-07-20 15:56:26 +02:00
Alexandre Julliard 8fb8b2e6a3 mountmgr: Create a separate structure for disk device information, independent from the DOS drive. 2009-07-20 15:46:34 +02:00
Ben Klein 49f1d5f7c8 mountmgr.sys: Add tracking of fixed harddisk devices. 2009-06-05 15:19:57 +02:00
Alexandre Julliard 5606bf4df4 mountmgr.sys: Avoid a compiler warning on older gcc. 2008-12-04 14:32:21 +01:00
Alexandre Julliard a2feb0f8e4 mountmgr: Make the device type more specific than what is possible with the standard Win32 drive types. 2008-11-12 11:49:12 +01:00
Alexandre Julliard 8227c03073 mountmgr: Return the drive type even when the buffer is too small. 2008-11-10 16:11:05 +01:00
Alexandre Julliard bc32b857ab mountmgr: Add a Wine-specific ioctl to query the Unix information about a drive. 2008-10-24 14:24:58 +02:00
Alexandre Julliard 8faceff2f9 mountmgr: Add a Wine-specific ioctl to define a drive for a Unix path. 2008-10-24 14:24:53 +02:00
Alexandre Julliard b2ebab9f6f mountmgr: Allow to specify the drive letter explicitly when creating/removing a drive. 2008-10-23 15:44:18 +02:00
Alexandre Julliard 5f2d2c7df0 mountmgr: Store the contents of the device symlink in the drive object. 2008-10-23 15:43:46 +02:00
Alexandre Julliard b4b49a7d75 mountmgr: Reuse create_disk_device to create the initial harddisk0 device. 2008-10-21 16:11:51 +02:00