Ondrej Holy
97f25e8ab4
channels/smartcard: Fix leak found by covscan
...
leaked_storage: Variable "operation" going out of scope leaks the storage it points to.
2018-08-22 13:35:43 +02:00
Ondrej Holy
3baa716706
channels/smartcard: Format code by astyle
...
Run ./scripts/format_code.sh before the following changes.
2018-08-22 13:35:43 +02:00
Armin Novak
2517755d25
Fixed thread function return and parameters.
2018-03-07 14:36:55 +01:00
Armin Novak
bb7ba6ff26
Fixed smartcard related scanbuild warnings.
2017-12-21 10:53:36 +01:00
Bernhard Miklautz
bc8bdc3e54
fix channel/smartcard: compiler warnings
...
* remove unused variables
* remove unused jump label
2017-12-13 17:04:06 +01:00
Bernhard Miklautz
e3d45c4580
fix channel/smartcard: remove SCardAddReaderName
...
SCardAddReaderName isn't part of the SCard API.
Note: removing this also removes the possibility to redirect single
smartcard readers with /smartcard:READERNAME. However this features
wasn't implemented in a general way and will be re-added as part of
the smart card channel directly.
2017-12-13 17:04:06 +01:00
Bernhard Miklautz
1e6fea7fa7
fix channel/smartcard: simplify channel variables
...
Path was not really used and name was duplicated. Use the device->Name
directly.
2017-12-13 17:04:06 +01:00
Bernhard Miklautz
46a7538322
fix channel/smartcard: async request handling
...
The smart card channel tried to mimic mstsc's behavior on if an IRP was
processed synchronously or asynchronously. As the channel uses one thread per
context it could happen, especially with PCSC, that the main
channel thread was blocked waiting for an smart card operation to
complete. To prevent that behavior only call known safe functions in the
main thread (like CreateContext) and call the rest asynchronously.
For example the channel would block if a ListReaders is invoked on
the same context where a GetStatusChange (infinite timeout)
was already pending. Only when a status change happened the channel
would continue.
Note: Due to the one context per thread design it's important that
cancel isn't queued an alway run synchronously. Otherwise a specific
context might lock.
2017-12-13 17:04:06 +01:00
dodo040
03723c2738
fix wrong declaration
2017-07-19 13:16:08 +02:00
dodo040
722e927c64
redirect specific smartcard readers
2017-07-19 13:16:08 +02: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
c6e6b44143
countless WLog/printf format specifier fixes
2016-11-25 17:06:25 +01:00
Marc-André Moreau
dee76617d9
channels: remove thread-local storage usage
2016-11-15 11:41:01 -05:00
Armin Novak
b0b32734ad
Reformatted file.
2016-10-06 13:43:13 +02:00
Armin Novak
9f5da483dc
Reformatted files touched in last 2 commits.
2016-10-06 13:43:12 +02:00
Armin Novak
88a3b8dd76
Initializing channel context in each thread.
2016-10-06 13:43:12 +02:00
David PHAM-VAN
d5dc5b4a3f
Fix smartcard channel disconnect
2016-09-19 11:27:25 -07:00
Armin Novak
97f7aa8f42
Fixed uninitialized values.
2015-09-01 12:27:54 +02:00
Martin Haimberger
52405a3e79
Remove WIN32ERROR type
...
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Martin Haimberger
2862109337
Merge remote-tracking branch 'upstream/master' into mh-channel-fix
...
Conflicts:
channels/smartcard/client/smartcard_main.c
channels/smartcard/client/smartcard_operations.c
2015-07-30 07:29:12 -07:00
Martin Haimberger
65fd259610
misc fixes:
...
fixed all bugs from the review
checking all WaitFor*Object/s calls
2015-07-30 06:49:21 -07:00
Rostislav Kondratenko
7248ea98d0
Fixing condition on SCardIsValidContext to be true when context is valid
2015-07-17 18:13:02 +03:00
Rostislav Kondratenko
f2863fabf5
Re-enabled PCSC-Lite transactions and fixed smartcard deinitialization so it will release all contexts to unblock calls waiting for transactions
2015-07-17 16:37:44 +03:00
Martin Haimberger
b8c110d19b
introduced channel error reporting system
...
The rdpContext gets an event which will
get set if an error occoured in a channel.
If a thread or a void callback has to report an
error it will get signaled by this system.
2015-07-15 00:50:35 -07:00
Martin Haimberger
d9e2834a70
channel smartcard hardend
2015-07-09 03:00:19 -07:00
Martin Haimberger
6e4e1c2773
Merge remote-tracking branch 'upstream/master' into mh-stream-fix
...
Conflicts:
client/Windows/wf_cliprdr.c
2015-06-18 03:06:40 -07:00
Martin Haimberger
76305a716c
just satisfied compiler
2015-06-18 03:04:33 -07:00
David FORT
12f873f1f9
Fixed MessageQueue and callers
2015-05-29 14:24:14 +02:00
Hardening
f8120919af
Add checks for some XXX_New and XXX_Add functions
...
Based on PR #2616
2015-05-18 11:28:00 +02:00
Marc-André Moreau
ee51da8500
channels/smartcard: cleanup debug output
2015-01-20 11:16:37 -05:00
Marc-André Moreau
51554ff16c
channels: patch rdpdr/smartcard valgrind leaks, fix hang on disconnect
2014-12-28 14:56:13 -05:00
Marc-André Moreau
9ebc67ba02
channels/smartcard: cleanup SCardControl
2014-12-22 16:25:59 -05: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
Marc-André Moreau
ba5d84ee5c
libwinpr-smartcard: add logging for each calls in smartcard inspector
2014-05-26 17:54:39 -04:00
Marc-André Moreau
bc771ec56b
channels/smartcard: reuse the same thread for the same SCARDCONTEXT
2014-05-12 17:05:20 -04:00
Marc-André Moreau
d8053b3d93
channels/smartcard: cleanup smartcard operations
2014-05-12 15:47:49 -04:00
Marc-André Moreau
5416ab1d6e
channels/smartcard: decode and then call
2014-05-12 15:32:02 -04:00
Marc-André Moreau
8a940ad778
channels/smartcard: start splitting decoding from calling
2014-05-12 14:13:57 -04:00
Marc-André Moreau
fc39f6bc8d
channels/smartcard: create smartcard context data structures with associated thread
2014-05-12 11:28:20 -04:00
Marc-André Moreau
2da6111972
channels/smartcard: fix clearing of rgSCardContextList
2014-05-12 10:17:49 -04:00
Marc-André Moreau
d04430cb02
channels/smartcard: implement usage of SCardAccessStartedEvent
2014-05-10 23:43:25 -04:00
Marc-André Moreau
894ec8c4aa
channels/smartcard: cleanup
2014-05-08 15:24:33 -04:00
Marc-André Moreau
81be8b2473
channels/smartcard: better selection of async vs sync processing of IRPs
2014-05-07 21:16:05 -04:00
Marc-André Moreau
67f691f90a
channels/smartcard: add improve completed IRP management
2014-05-07 17:41:53 -04:00
Marc-André Moreau
d53a9415ae
channels/smartcard: add sequence id to IRPs for easier cancellation
2014-05-06 18:19:54 -04:00
Marc-André Moreau
62395f7b0c
channels/smartcard: add rgSCardContextList
2014-05-06 17:42:10 -04:00
Marc-André Moreau
cd7e3151cd
libwinpr-smartcard: fix PCSC incompatible type definitions
2014-05-03 13:49:50 -04:00
Marc-André Moreau
b1c0a68f55
client/common: honor RedirectSmartCards, RedirectPrinters
2014-04-27 21:29:44 -04:00