[SmartcardServices-Dev] ScardEndTransaction ends all the transactions on the card

Ludovic Rousseau ludovic.rousseau at gmail.com
Thu Aug 17 07:49:26 PDT 2017


2017-08-07 10:59 GMT+02:00 Логачев Антон <ALogachev at rutoken.ru>:

> Hello!
>

Hello,


>
> There is a bug in OsX implementation of PCSC standard that makes smartcard
> synchronization not available via the PSCS functions.
>
> If we start 2 transcations (SCardBeginTransaction) on a specific card only
> one call to SCardEndTransaction makes the card available to all the
> processes, though it is supposed to be available only after the second
> matching call to SCardEndTransaction (that’s the way it behaves on linux
> and windows).
>
>
>
> In the attachment you can find a simple code that demonstrates this
> behavior. You can use this command line to build it: “g++ -framework PCSC
> -std=c++11 scardTest.cpp”.
>
> Launch it in two terminals simultaneously. On OsX both processes will
> reach the “Start me again” output, but on Linux and Windows the second
> process will wait on ScardConnect function until all the transactions are
> closed.
>

Thanks for reporting the bug.
I reported it at https://bugreport.apple.com/
I also wrote a blog article at
https://ludovicrousseau.blogspot.com/2017/08/macos-sierra-bug-pcsc-transactions-cant.html

I do not work for Apple so I can't tell if/when this bug will be fixed.

Regards,

-- 
 Dr. Ludovic Rousseau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/smartcardservices-dev/attachments/20170817/4a52f55a/attachment.html>


More information about the SmartcardServices-Dev mailing list