Commit Graph

2160 Commits

Author SHA1 Message Date
akallabeth
eee1d7176b Fixed #6163: Force linking to objective C runtime
Sound channel requires the objective C runtime, force linking to
fix build issues on older mac os versions
2020-05-11 09:56:18 +02:00
Bernhard Miklautz
fd5bdee8b3
Merge pull request #6147 from akallabeth/rdpsnd_thread
Use dedicated sound decoder thread.
2020-05-06 13:19:29 +02:00
akallabeth
f016f1ec09 Create data copy in case of dynamic sound channel. 2020-05-05 17:03:14 +02:00
Bernhard Miklautz
ecc9f12733
Merge pull request #6140 from akallabeth/smartcard_silence
Silence SCARD_E_TIMEOUT warnings
2020-05-05 15:41:04 +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
af554b5a54 Use dedicated sound decoder thread. 2020-05-05 14:25:54 +02:00
Armin Novak
e80316cf9a Silence SCARD_E_TIMEOUT warnings
These occur quite often for status calls, so reduce log verbosity.
2020-05-04 17:32:55 +02:00
qarmin
fe8bad1698 Don't allow to overflow dev_array array 2020-05-01 20:34:59 +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
Alex Wilson
40f23e2728 SCardReadCache/SCardWriteCache should actually cache data
Currently since the hash/keyCompare/keyClone members on the
context->cache were never being set, we were using the
HashTable_Pointer* variants, meaning that lookup always
failed (since we never ask for the same *pointer* twice).

This also revealed that the logic for autoallocate on these ops
was a bit backwards, and some error codes and support for the
"freshness" counter were missing.

In Win10 (at least with some card minidrivers) the freshness
counter is load-bearing and smartcard login won't work without
implementing a very basic version of it.
2020-04-21 08:11:54 +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
David Fort
7733fe7a8a
Merge pull request #6060 from akallabeth/warnings
Fix some compiler warnings
2020-04-16 10:54:43 +02:00
akallabeth
6b66aa71fb Fixi #6086: smartcard filter early abort.
Do not abort before incrementing read position.
2020-04-14 19:04:11 +02:00
Armin Novak
9a60d2feb0 Fixed cups httpConnectEncrypt deprecation warning. 2020-04-11 09:41:08 +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
Alex Wilson
c6e675bfb7 Always copy null terminator when filtering smartcard list 2020-04-09 10:44:25 +02:00
Martin Fleisz
99786970a3
Merge pull request #5884 from akallabeth/smartcard_ndr_strict
Smartcard tighter input validation
2020-03-31 08:34:04 +02:00
akallabeth
2749de506c Added missing context and handle read. 2020-03-30 11:07:47 +02:00
Armin Novak
f360d445e2 Pack smartcard channel structs to 1 byte alignment 2020-03-27 18:24:25 +01:00
akallabeth
ac4ec690c9 Removed a few magic numbers. 2020-03-27 15:03:59 +01:00
akallabeth
80177efe69 Fixed typos, make status comparisons explicit. 2020-03-27 14:49:09 +01:00
Armin Novak
c406f7a972 Fixed misleading log message. 2020-03-10 14:05:10 +01:00
Armin Novak
b40762c542 Removed unused function 2020-03-10 14:04:53 +01:00
Armin Novak
cb9e7fda32 Removed unused function. 2020-03-10 14:04:53 +01:00
Armin Novak
c58db76e4c Fixed return check for usbdk backend. 2020-03-09 16:40:07 +01:00
Armin Novak
4692f00864 Removed unnecessary cast. 2020-03-09 16:40:07 +01:00
Kobi Mizrachi
929457db4c egfx: client: add missing NULL checks 2020-03-09 08:28:40 +01:00
Armin Novak
5690780bdd [RDPEGFX] checks for cache import, prevent 0 size allocations 2020-03-06 12:28:21 +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
35d7e896ae Fix GFX cache eviction, use 1 based indexing. 2020-03-04 11:01:23 +01:00
Martin Fleisz
6942669f32
Merge pull request #5941 from akallabeth/clang_fixes
Fixed clang scanbuild warnings.
2020-03-04 09:34:51 +01:00
Martin Fleisz
174832150e
Merge pull request #5932 from nfedera/fix_gfx_bitmapcache_indexing
Fix RDPEGFX bitmap cache indexing
2020-03-04 09:31:52 +01:00
Armin Novak
1fd51d9183 Fixed clang scanbuild warnings. 2020-03-04 09:17:35 +01:00
Norbert Federa
17e0d25104 dynvc/client: fix and improve channel closing code
- fixed and consolitate the duplicated code for sending the
  CLOSE_REQUEST_PDU to the server into dvcman_close_channel
- call dvcman_close_channel if a dynamic channel plugin fails
  to process the received channel data
- rdpegfx: don't try to remove a non-existing cache entry,
  return an error instead which now will close the channel, as
  expected by Microsoft's windows protocols test suite
2020-03-04 08:03:56 +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
Norbert Federa
39e12990e8 rdpegfx: rename MaxCacheSlot to MaxCacheSlots
Although Microsoft uses 1-based numbering on the wire for indexing the
GFX bitmap cache entries, the code in FreeRDP uses 0-based numbering and
therefore the name MaxCacheSlots is less confusing.
2020-03-02 09:55:25 +01:00