There's a bunch of changes available from svn
http://www.opensc.org/svn/ideelabor/trunk/mp/opensc that contain the
following generic changes:
* Everything except the 'core' opensc is removed (shall be an extra
* scrandom is included in libopensc as sc_random_bytes
* sc_disconnect doesn't have the action parameter that comes directly
from the nature of of pcsc and was not used in real life and should
not matter to upper layers at all.
* new attribute for pcsc driver strict_mode was introduced. This
controls the sharing parameter for pcsc (shared vs exclusive) and what
to do with card on disconnect and transactions - the default is as it
used to be, SCARD_LEAVE_CARD and SCARD_SHARING_SHARED are used, but
'strict' mode connects to readers in exclusive mode and card is reset
after disconnect and in the beginning of transactions.
* when shared mode is used other applications might use the card as
well (like EstEID CSP implementation on windows) and pcsc layer reacts
with a SCardReconnect when in the beginning of transaction a resetted
card is detected. Currently the somewhat useless error
(SC_ERROR_CARD_RESET) goes up to higher layers and causes trouble. It
seems to work on linux with a test program, but some kind of resetting
in card.c layers might be needed too.