akallabeth
2f5e5359f6
Destroy channel listeners on terminate
2020-05-12 11:40:42 +02:00
akallabeth
52dd312e11
Fixed various input buffer length checks in URBDRC
...
Thanks to hac425 CVE-2020-11039
2020-05-08 11:04:03 +02:00
Bernhard Miklautz
3e89574205
Merge pull request #6124 from akallabeth/speedup
...
Unify inline and some warning fixes
2020-05-05 15:34:38 +02:00
akallabeth
9d014fe1ea
Fixed compiler warnings for usb channel
2020-04-27 08:19:42 +02:00
Lukas Fink
0c27cecea4
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-04-26 19:09:13 +02:00
Lukas Fink
0cbff94aa9
Implemented udevman->hotplug_vid_pids as wArrayList
2020-04-26 19:09:13 +02:00
Lukas Fink
060253c9fa
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-04-26 19:09:13 +02:00
Lukas Fink
0a5d0312d5
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-04-26 19:09:13 +02:00
Lukas Fink
3d3cec4dc4
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-04-26 19:09:13 +02:00
akallabeth
c6666731d2
Removed casts in udevman_parse_device_id_addr
2020-04-21 08:05:06 +02:00
Lukas Fink
be884c2bf6
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-21 08:05:06 +02:00
jacobopantoja
0f8437d1d8
Restrict USBDK to Windows builds
...
This commit restricts ebdaea6f3b
to just Win32 builds
2020-04-11 09:04:29 +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
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
David Fort
ff8f7e9474
Disambiguate USB error messages and fix a typo
2017-11-06 22:09:01 +01:00
Armin Novak
8b9e3fa51e
Fixed use of reserved keywords for include guards.
2017-07-20 09:35:41 +02:00
Armin Novak
0490aeb018
Fixed clang malloc integer overflow warnings.
2017-07-20 09:29:48 +02:00
David Fort
48163a27db
Merge pull request #3906 from akallabeth/addin_cast_fix
...
Addin cast fix
2017-05-22 11:12:05 +02:00