akallabeth
3fe4650b2c
Fixed DestroyListener arguments and call order
...
(cherry picked from commit 0e08727d4ecff2777884a23bc33961f63d52465e)
2020-05-18 16:41:20 +02:00
akallabeth
47b4867729
Destroy channel listeners on terminate
...
(cherry picked from commit 2f5e5359f60c26a2de244cd6d9f7957b039cd121)
2020-05-18 16:40:52 +02:00
akallabeth
eee9dead2d
Fixed compiler warnings for usb channel
2020-05-08 11:06:02 +02:00
akallabeth
e928888dab
Fixed various input buffer length checks in URBDRC
...
Thanks to hac425 CVE-2020-11039
2020-05-08 11:06:02 +02:00
akallabeth
af2ce439e1
Fixed int overflow in msusb_mspipes_read
...
Thanks to hac425
2020-05-08 11:06:02 +02:00
akallabeth
55f18cb8a5
Fix oob read in msusb_msconfig_read
2020-05-05 07:46:10 +02:00
Lukas Fink
6425313776
Fixes null dereference bug
...
Avoids a null function pointer dereference that happened, when
freerdp_urbdrc_client_subsystem_entry failed before invoking
udevman_load_interface.
2020-05-05 07:46:09 +02:00
Lukas Fink
aae9640beb
Implemented udevman->hotplug_vid_pids as wArrayList
2020-05-05 07:46:09 +02:00
Lukas Fink
c668d66e88
Added ability to add usb devs via id and addr simultaneously
...
It is now possible to add usb devices both via vid+pid and via bus+addr
at the same time. To do this, the ids are directly
given to the corresponding command line options:
/usb🆔 <vid+pids>,addr:<bus+addrs>
The dev option still works like before: /usb:id,dev:<vid+pids> or
/usb:addr,dev:<bus+addrs>
2020-05-05 07:46:09 +02:00
Lukas Fink
efb929644e
Added hotplug to /usb:id,dev option
...
Devices specified with the /usb:id,dev command line option are now
detected by the hotplug callback.
2020-05-05 07:46:09 +02:00
Lukas Fink
2e86e36200
Fixed /usb:dev command line option
...
The /usb:dev command line option failed silently, because it tried to add the
devices before urbdrc gets initialized. This commit adds a new function
to udevman, that gets called when the urbdrc addin is initialized.
Registering of the given devices is now performed there.
2020-05-05 07:46:09 +02:00
akallabeth
5587bc6fc3
Removed casts in udevman_parse_device_id_addr
2020-04-28 14:03:19 +02:00
Lukas Fink
af6aa50020
Refactored parsing of usb dev: command line option
...
Refactored urbdrc_udevman_register_devices with its helper functions,
because the old implementation was a bit quirky. Removed a unsafe
strcpy, that led to a buffer overflow when given misonstructed command
line options. Doing something like "/usb:id,dev🔢 1234##abcd:abcd"
won't work anymore, too.
2020-04-28 14:03:19 +02:00
jacobopantoja
9c79bc29f6
Restrict USBDK to Windows builds
...
This commit restricts ebdaea6f3b5e410b9a3380368d6023c52bed67cc to just Win32 builds
2020-04-28 14:03:19 +02:00
akallabeth
aa39e08c29
Fixed URBDRC DEVICE_ADD_FLAG definitions
2020-04-10 14:16:19 +02:00
akallabeth
42d40261c5
Fixed return type for subsystem entry
2020-04-10 14:11:15 +02:00
akallabeth
de7ea07a3d
Fixed URBDRC parsing error reported in #6024 .
2020-04-09 18:00:51 +02:00
Armin Novak
c58db76e4c
Fixed return check for usbdk backend.
2020-03-09 16:40:07 +01:00
Armin Novak
95522923ba
Move libusb hotplug registration to polling thread.
...
* libusb polling thread now is responsible for hotplug registration
and removal as well as cleanup.
* Only register hotplug callback on systems with support.
2020-03-06 12:07:22 +01:00
Armin Novak
ebdaea6f3b
enable usbdk on windows.
2020-03-06 12:07:22 +01:00
Armin Novak
e867ad3c9d
Fixed compilation issues against libusb on windows
2020-03-06 12:07:22 +01:00
Armin Novak
34498d4064
URBDRC: Only mark closed if control is closed.
2020-03-03 11:15:34 +01:00
Armin Novak
30990089b8
Implemented del_device by vid/pid
2020-03-02 11:40:05 +01:00
Armin Novak
1b1ab01e43
Cleaned up USB redirection
...
* Removed obsolete searchman
* Unified device add and virtual channel add
* Unified device id generation
2020-03-02 11:40:05 +01:00
Armin Novak
acb77391a2
Fix #5910 : USB hotplug added device wrong
...
When a USB device was added via hotplug add_device was called
with wrong arguments.
2020-03-02 11:40:05 +01:00
Armin Novak
53c15e3e90
Deactivate USB redirection for IOS and ANDROID by default.
2020-02-26 13:53:25 +01:00
Armin Novak
d633195879
Promoted usb, printer and smartcard dependencies to recommended
2020-02-25 17:36:17 +01:00
Martin Fleisz
e304428a5f
Merge pull request #5857 from akallabeth/scanbuild_fixes
...
Scanbuild fixes
2020-02-12 10:16:54 +01:00
Armin Novak
b004e01fc8
Exporting URBDRC symbols used by helper library
...
When building the usb channel with different shared libraries some
necessary symbols were not exported.
2020-02-11 12:42:45 +01:00
Armin Novak
8996fdc797
Fixed unused variable warning.
2020-01-23 10:12:12 +01:00
Armin Novak
f313fabb2b
Added fallback for libusb < 1.0.19
...
we use stream_id functions which were introduced with 1.0.19
2020-01-13 15:23:57 +01:00
Armin Novak
b5bb6e3ea9
Fixed LIBUSB_HOTPLUG_NO_FLAGS definition
...
libusb documentation is a bit misleading, this flag was
introduced with 1.0.20
2020-01-13 15:13:35 +01:00
Armin Novak
d0929cbf2f
Extend LIBUSB_API_VERSION check
...
The define exists since 1.0.13, so to compensate for older also
check if the variable is defined.
2020-01-10 10:52:23 +01:00
Armin Novak
b0de74cad2
Fallback definition for LIBUSB_HOTPLUG_NO_FLAGS
...
The flag was first introduced with libusb 1.0.16, so
define it if we are using an older version.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-08 17:14:09 +01:00
Armin Novak
d044915a7e
Fixed stream handling and missing includes.
2019-12-17 15:51:24 +01:00
Armin Novak
c4a141cd8a
Fixed some scanbuild warnings.
2019-11-22 11:47:16 +01:00
Armin Novak
0927d7aa50
Rewrite of urbdrc channel.
...
* Fix command line parsing
* Properly handle channel creation/destruction
* Use wStream API for parsing
2019-11-22 10:56:21 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Armin Novak
0c87eaee4d
COMMAND_LINE_ARGUMENT structs contain parser results, use one per instance
...
Remove the old global structs as the parser modifies them. When using
multiple instances in the same process space this could break parsing.
2019-10-28 13:30:05 +01:00
AzureusNation
4955a0e5b8
Fixes hub was not found! error
...
Again as with auto usb detection strtol needs to use base 10 and force to use base 10 else the conversion does not work correctly.
2019-10-23 09:56:23 +02:00
AzureusNation
7d6a10aaff
Fixes Auto USB Redirection
...
Base 0 does not work when converting the string to long int. This ends up not showing the correct device id and sometimes the wrong bus id. By changing it to base 10 conversion instead of base 0 this fixes the issue of auto redirect usb devices.
2019-10-23 09:56:23 +02:00
Kyle Evans
d796920f8f
(FreeBSD) Build fixes for urbdrc
2019-08-19 16:57:56 +02:00
Armin Novak
6c9130f7d6
Fixed sign-compare warnings.
2019-04-05 09:14:35 +02:00
Armin Novak
4430187e8d
Fixed sign-compare warnings
2019-04-05 09:13:24 +02:00
Armin Novak
ef1728faf5
Fixed NULL dereferences and uninitialized values
2019-01-30 16:11:10 +01:00
Armin Novak
fad20be6e6
Fixed missing includes.
2018-08-27 14:34:42 +02:00
Armin Novak
62c1696d4c
Removed use of unchecked sprintf
2018-08-27 14:34:42 +02:00
Armin Novak
114abad767
Removed use of strcpy.
2018-08-27 14:34:09 +02:00
Pascal J. Bourguignon
15f2bafeab
Cleaned up const char** -> char** for argv, since we definitely do modify the argv!
...
(we overwrite the password and pin arguments).
This implies changes in the argument parsing tests that now must pass a mutable argv
(copied from the statically declared test argvs).
Some other const inconsistency have been dealt with too.
2018-06-06 16:43:09 +02:00
Armin Novak
4eb5b8e349
Replaced atoi
2017-11-15 15:52:16 +01:00