Armin Novak
a1c8e4cf85
Refactored ArrayList_Add to conform to other functions
2021-06-16 11:46:42 +02:00
akallabeth
566f47f63b
Fixed compilation warnings.
2021-05-11 08:32:18 +02:00
akallabeth
ab49694101
Added new RDP file options
2021-05-11 07:59:05 +02:00
akallabeth
43311130a2
Fixed CodeQL warnings
2021-02-19 11:19:49 +01:00
akallabeth
e2fd9db0b5
Added const to function arguments
2021-02-17 11:29:56 +01:00
akallabeth
6e3c00725a
Cleaned up collections:
...
ArrayList, MessageQueue, Queue, PubSub, BipBuffer
ObjectPool and BufferPool
2020-11-06 12:30:13 +01:00
Armin Novak
93ee13245c
Fixed urbdrc server notification of channel close
...
There was a recursion issue with usb device channel closing and
local redirected device removal.
If the local redirected device is removed due to hotplug events,
the device channel needs to be closed, which in turn checks if
the local device list contains the device. Ensure that the
channel close code is only executed when not called from the
channel side.
2020-08-10 13:40:41 +02:00
akallabeth
bc7d423c6c
Replaced malloc in urbdrc channel
2020-07-07 10:43:08 +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
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
8996fdc797
Fixed unused variable warning.
2020-01-23 10:12:12 +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
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
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
Norbert Federa
f71b6b46e8
fix string format specifiers
...
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Norbert Federa
90cdfa7646
cmake: replaced STATIC_CHANNELS with BUILTIN_CHANNELS
2016-06-15 13:36:27 +02:00
Armin Novak
fb88ad0ee6
Fixed symbol export for sound plugins.
2016-03-03 17:17:13 +01:00
Martin Haimberger
6ab0187d84
Merge remote-tracking branch 'upstream/master' into mh-channel
...
Conflicts:
channels/audin/client/oss/audin_oss.c
channels/drive/client/drive_main.c
channels/printer/client/printer_cups.c
channels/printer/client/printer_main.c
channels/rail/client/rail_main.c
channels/rdpgfx/client/rdpgfx_main.c
channels/rdpsnd/client/oss/rdpsnd_oss.c
channels/remdesk/client/remdesk_main.c
channels/remdesk/server/remdesk_main.c
channels/tsmf/client/tsmf_media.c
2015-07-15 01:57:07 -07:00
David FORT
b83ab92776
Hardened urbdrc channel
2015-07-06 16:46:21 +02:00
ivan-83
83a40a32a7
* tsmf: OSS code cleanup
...
+ urbdrc: add devd support (not tested)
* fix FindUUID detection ubder BSD
* wlog: fix prev commit: build error on Windows
* cmdline: add /usb syntax help
2015-05-27 22:58:41 +03:00
Armin Novak
b1e9ffb655
Using wlog for channel logging now.
...
Fixed compiler warnings and broken callback in urbdrc.
2014-09-15 08:48:46 +02:00
Armin Novak
66b8905ac6
Using special log defines for channels now.
2014-08-11 09:12:01 +02:00
Armin Novak
b252009d36
Replaced custom logging mechanism with WLog wrapper.
2014-08-07 16:51:49 +02:00
Hardening
7701c9d934
Replace printf(...) by fprintf(stderr, ...)
2013-03-28 23:06:34 +01:00
Marc-André Moreau
15008297be
channels/urbdrc: fix libusb subsystem
2012-11-21 03:32:15 -05:00