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
Norbert Federa
f4d5ec776f
rdpegfx: use 1-based indexing for bitmap cache
...
Weird but Microsoft uses 1-based indexing in the RDPGFX bitmap
cache PDU's.
This does not seem to be documented but can be deducted from the
RDP client test code in Microsoft's "Windows Protocol Test Suites"
GitHub repository and the observation that mstsc aborts with a
protocol error if the cacheSlot index value 0 is used in e.g. a
GFX surface to cache PDU.
2020-03-02 09:55:25 +01:00
Armin Novak
2968e41409
Fixed missing boundary checks in smartcard_array_dump
2020-03-02 09:01:39 +01:00
Martin Fleisz
3318d1574f
Fix possible NULL pointer access crash
2020-02-28 12:53:39 +01:00
Armin Novak
4eb4f58fbb
Updated CMake channel detection
...
* Now both, dynamic and static channel entries can be defined by
a single channel.
* Added better logging to distinguish between static and dynamic
channel messages.
2020-02-28 12:53:39 +01:00
Martin Fleisz
da354feed0
Add dynamic channel part for rdpsnd channel
2020-02-28 12:53:39 +01:00
Martin Fleisz
347055492e
Merge pull request #5920 from akallabeth/rdpsnd_crash_fix
...
Fix #5885 : Check for division by zero
2020-02-28 11:50:40 +01:00
Armin Novak
5e4603d0b7
Fix #5885 : Check for division by zero
2020-02-27 13:56:53 +01:00
Armin Novak
95bf87a063
Replaced CMake list find with loop to fix build issues.
2020-02-27 11:18:54 +01:00
Martin Fleisz
f484b20787
Merge pull request #5907 from akallabeth/cmake_channel_dependency_fix
...
Cmake channel dependency fix
2020-02-26 16:18:46 +01:00
Armin Novak
829497b313
Made CHANNEL_TSMF optional and deprecated.
2020-02-26 13:56:43 +01:00
Armin Novak
53c15e3e90
Deactivate USB redirection for IOS and ANDROID by default.
2020-02-26 13:53:25 +01:00
Armin Novak
d8c3ccb375
drdynvc: reorder filepaths when adding channels
2020-02-26 10:19:12 +01:00
Armin Novak
d633195879
Promoted usb, printer and smartcard dependencies to recommended
2020-02-25 17:36:17 +01:00
Armin Novak
00f5f014c6
Fixed CMake channel dependencies for variables.
2020-02-25 16:56:42 +01:00
Armin Novak
0154d3ceb8
audin pulse log states by name
2020-02-25 14:57:42 +01:00
Armin Novak
451c4ddee6
Passing on error code from irp_free
2020-02-21 11:31:21 +01:00
Armin Novak
30db616cec
Added a free function to erase streams not processed.
...
When shutting down the streams still in the queue were not properly
freed.
2020-02-21 11:31:15 +01:00
Armin Novak
bef8dda5e1
Fixed data length for list reader group return.
2020-02-20 15:35:11 +01:00
Armin Novak
5ab0716d7b
SCardListReadersW return length is in bytes, not char.
2020-02-20 15:24:03 +01:00
Armin Novak
fd89ff6913
Fixed some conversion warnings.
2020-02-20 14:40:19 +01:00
Armin Novak
9b5f1ab384
Beautify smartcard log.
2020-02-20 13:59:28 +01:00
Armin Novak
893d08d653
Decreased smartcard log verbosity.
2020-02-20 13:59:28 +01:00
Armin Novak
a8e8351c1d
Removed duplicated copyright claim
2020-02-20 13:59:28 +01:00
Armin Novak
f885476423
Fixed 8bit and 16bit return string sizes.
2020-02-20 13:59:28 +01:00
Armin Novak
ef93109f42
Fixes for GetAttrib and some refactroing
...
* Fix accidental buffer free before transfer
* Refactored code to eliminate a bunch of warnings
* Updated copyright headers
2020-02-20 13:59:28 +01:00
Armin Novak
fe61eab88c
Fixed SCardReadCache autoallocate handling.
2020-02-20 13:59:28 +01:00
Armin Novak
04f0e679f7
Fixed NDR pointer handling for smartcard data.
2020-02-20 13:59:28 +01:00
Armin Novak
436b68e416
Fixed #5895 : cast warnings.
2020-02-19 10:21:43 +01:00
Armin Novak
f77b3daaa0
Fix channel linking for built in channels
2020-02-18 11:14:05 +01:00
Armin Novak
f933cafa93
Added some callbacks to dynamic channel
...
* Allow listener removal of channel during runtime
* Allow retrieval of channel name
2020-02-18 11:14:05 +01:00
Vic Lee
25eb6b6cdd
rdpsnd: implement buffer overrun detection.
2020-02-14 20:49:18 +08: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
David Fort
7c26d7d9ad
Merge pull request #5875 from akallabeth/smartcard_missing_null_check
...
Fix #5847 : Missing length check to trace smartcard buffers.
2020-02-10 14:57:46 +01:00
Armin Novak
11d3ea3b43
Fix #5847 : Missing length check to trace smartcard buffers.
2020-02-10 14:28:38 +01:00
Martin Fleisz
ebe0fc59b5
Merge pull request #5865 from akallabeth/write_cancelled_leak
...
Fix #5852 : handle CHANNEL_EVENT_WRITE_CANCELLED
2020-02-10 12:08:55 +01:00
Martin Fleisz
1366abfbff
Merge pull request #5869 from llyzs/winmm_fixes
...
rdpsnd/winmm: fix some memory issues.
2020-02-10 10:40:55 +01:00
David Fort
245fc6014d
Merge pull request #5830 from akallabeth/smartcard_updates
...
Smartcard updates
2020-02-07 14:11:00 +01:00
Vic Lee
847fe0f919
rdpsnd/winmm: fix some memory issues.
2020-02-04 17:56:45 +08:00
Armin Novak
d2aef75004
Fix #5852 : handle CHANNEL_EVENT_WRITE_CANCELLED
...
When channels are cleaned up OpenHandle is most of the time
already 0. Ignore the argument checks for
CHANNEL_EVENT_WRITE_CANCELLED and CHANNEL_EVENT_WRITE_COMPLETE
only check where actually required (CHANNEL_EVENT_DATA_RECEIVED)
2020-01-29 08:52:25 +01:00
Armin Novak
11f2532242
Added unified NDR pointer reading.
2020-01-24 13:52:43 +01:00
Armin Novak
7b50ed887e
Fixed missing length checks for smartcard IRP read.
2020-01-24 13:23:40 +01:00
Armin Novak
9128e441c6
Fixed rdpei unused function warning.
2020-01-23 10:50:37 +01:00
Armin Novak
f4ee8d92a7
Fixed smartcard type mismatches.
2020-01-23 10:39:43 +01:00
Armin Novak
087f290d8d
Fixed type of index variable.
2020-01-23 10:12:12 +01:00
Armin Novak
8996fdc797
Fixed unused variable warning.
2020-01-23 10:12:12 +01:00
Armin Novak
f0db6f2ead
Unified smartcart multistring conversion.
2020-01-23 10:07:54 +01:00
Armin Novak
ee7950c95c
Fixed type mismatches on allocation.
2020-01-23 09:48:20 +01:00
Armin Novak
ec5881e3f2
Fixed smartcard_SetAttrib_Decode call type
2020-01-23 09:32:34 +01:00
Martin Fleisz
706e32982e
rdpsnd: Add synchronization to winmm backend
2020-01-17 13:56:30 +01:00
Armin Novak
afaee324bb
Fixed #5843 wrong header length for pdu
...
@boom1 reported encomsp_send_change_participant_control_level_pdu
fails due to wrong length.
2020-01-16 15:30:33 +01:00
Armin Novak
03e2106f25
Fixed accidental reorder of surface delete and disconnect
2020-01-16 15:24:55 +01:00
Martin Fleisz
369c696b23
rdpsnd: Fix possible crash and deadlock in winmm backend
2020-01-16 10:23:17 +01:00