Bernhard Miklautz
36c6478627
fix client/smartcard: indentation and return value
...
Integrate feedback from pull request review.
2017-12-14 16:21:19 +01:00
Bernhard Miklautz
5a1c0081c5
fix smartcard: SCardStatus unicode handling
...
* fix StatusW_Call to rely and use SCardStatusW
* fix trace call in StatusW_Call - needs to be called after the sizes
are set
* unify SCardStatus functions for pcsc - let the internal function handle unicode directly
This fixes an issue with size calculations of SCardStatusW.
2017-12-14 15:46:14 +01:00
Bernhard Miklautz
94b35cb4f7
fix channel/smartcard: leak in Connect[AW]
...
smartcard_Connect[AW] leaked the reader buffer in error case.
2017-12-13 17:04:06 +01:00
Bernhard Miklautz
9fc754170b
fix channel/smartcard: SCardStatus
...
Add support for fmszReaderNamesIsNULL. Formating of the touched files
was also updated.
2017-12-13 17:04:06 +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
f8a3e7acd4
fix channel/smartcard: GetStatusChange return code
...
In case SCardGetStatusChange returned an error the call didn't return
any data but STATUS_NO_MEMORY as the calloc failed. This caused problems
with multiple applications server side (hangs and incorrect behavior).
Now the case when no readers are returned is handed correctly and the
data is also filled and send if the call fails.
2017-12-13 17:04:06 +01:00
Bernhard Miklautz
3dc4e283db
fix channel/smartcard: return value handling
...
Device control calls always returned SCARD_S_SUCCESS even if an error
occurred. This caused server side software (including the card manager)
to behave incorrectly.
2017-12-13 17:04:06 +01:00
Bernhard Miklautz
99c69cde27
fix channel/smartcard: error handling
...
According to MS-RDPESC the smart card channel must set the IoStatus to
an NTSTATUS in case a encoding or decoding error happens. The smart card
channel did this correctly but the output stream was modified
incorrectly causing the smart card remote manager to stop in error
cases.
2017-12-13 17:04:06 +01:00
Armin Novak
b2c29158be
Scanbuild warning, argument checks and leak fixes.
...
* Added Stream_GetRemainingCapacity to check remaining stream size
before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
Armin Novak
ff56f75893
Fixed format specifier and unused variables.
2017-02-17 14:25:59 +01:00
Andreas Schultz
d2f98261f7
smartcard: implement ListReaderGroups
...
Conflicts:
channels/smartcard/client/smartcard_operations.c
channels/smartcard/client/smartcard_pack.c
channels/smartcard/client/smartcard_pack.h
smartcard_operations: move handling of call argument into functions
The call argument was only use by static functions and was always equal
to operation->call. Remove the argument and use operation-call directly.
Also put the memory allocation and check into the same place.
Conflicts:
channels/smartcard/client/smartcard_operations.c
Updated formatting and API
2017-02-16 16:59:03 +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
c6e6b44143
countless WLog/printf format specifier fixes
2016-11-25 17:06:25 +01:00
bjcollins
456416a871
Dont use invalid/bogus input value for cbAtrLen for Smartcard Status Calls, instead just always use the max value here to indicate we have max
...
buffer space available.
2015-09-18 16:55:06 -05:00
Armin Novak
911750f0f6
Checking for allocation value > 0
2015-09-07 11:10:27 +02:00
Armin Novak
aa43f3b5df
Fixed zero lenght allocation.
2015-09-01 12:25:44 +02: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
Kirill Kotyagin
ef37487a44
channels/smartcard: fix possible mszReaders leak in smartcard_ListReaders(A/W)_Call
2015-07-22 17:25:17 +03:00
Kirill Kotyagin
76916d614b
channels/smartcard: make smartcard_ListReaders(A/W)_Call return PCSC error statuses to the server
2015-07-22 16:56:24 +03:00
Martin Haimberger
d9e2834a70
channel smartcard hardend
2015-07-09 03:00:19 -07:00
Bernhard Miklautz
d922afc24a
smartcard: fix compiler warnings
...
gcc 4.7.2:
warning: passing argument 1 of ‘free’ discards ‘const’ qualifier from
pointer target type
2015-05-18 11:36:31 +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
Norbert Federa
1eff1a345e
free can handle NULL perfectly fine
2015-05-11 09:07:39 +02:00
Marc-André Moreau
bc50c81a0a
channels/smartcard: fix SCardTransmit return encoding with pioRecvPci
2015-02-20 15:39:51 -05:00
Marc-André Moreau
ee51da8500
channels/smartcard: cleanup debug output
2015-01-20 11:16:37 -05:00
Marc-André Moreau
e47f1c8b80
channels/smartcard: minor robustness fixes
2015-01-19 12:04:23 -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
6c2ebb2b58
channels: redirection valgrind fixes
2014-12-27 13:50:50 -05:00
Marc-André Moreau
9ebc67ba02
channels/smartcard: cleanup SCardControl
2014-12-22 16:25:59 -05:00
Marc-André Moreau
0625be2720
channels/smartcard: fix SCardGetAttrib SCARD_AUTOALLOCATE support
2014-12-22 13:28:16 -05:00
Vinche
2708a8de5c
first commit
2014-11-09 22:42:35 +01: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
b22b897389
Reformatted changed files.
2014-09-09 16:32:22 +02:00
Armin Novak
419f102bec
Fixed calling of dump functions, new API
2014-09-09 16:31: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
erbth
0842475876
fixed getstatuschangeW rdp-return value in case of failure
2014-06-12 17:19:08 +02:00
erbth
19397d47fd
fixed getstatuschangeA rdp-return value in case of failure
2014-06-11 21:45:53 +02:00
Marc-André Moreau
f5bfb98aca
channels/smartcard: experiment with multiple card contexts
2014-06-02 17:20:01 -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
9f70629c3a
channels/smartcard: store SCARDCONTEXT, SCARDHANDLE in SMARTCARD_OPERATION
2014-05-12 16:45:24 -04:00
Marc-André Moreau
9f93565811
channels/smartcard: modify operation functions to take SMARTCARD_OPERATION*
2014-05-12 16:19:44 -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
77827bb411
channels/smartcard: split encoding from calling
2014-05-12 15:22:57 -04:00
Marc-André Moreau
526e74f7fa
channels/smartcard: further split decoding from calling
2014-05-12 15:04:31 -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
fda492c58d
libwinpr-smartcard: fix AccessStartedEvent
2014-05-11 01:53:47 -04:00