Certain FINeID cards for organisations return 6A88 instead of 6A82 for missing files. This makes sc_enum_apps fail and will result in unknown card behavior from OpenSC. See http://www.opensc-project.org/pipermail/opensc-devel/2011-June/016910.html
C_CloseSession() and C_CloseAllSessions() were calling sc_debug() before any check on the validity of the context. So if C_Initialize() was not previously called you get an assert: log.c:76: sc_do_log_va: Assertion `ctx != ((void *)0)' failed.
…ize’ Also remove asserts, production code is compiled with asserts turned off, thus the unused variable warning.
The code that treated a timeout as success was never reached, because the surrounding if eliminated the possibility of entering the block when the return code from SCardGetStatusChange was SCARD_E_TIMEOUT. Issue found by Coverity Scan.
Patch by Frank Morgner http://www.opensc-project.org/pipermail/opensc-devel/2011-May/016659.html
… and restore compatibility with v2 cards with 1024 keys. The more proper name for the 2048bit cards could be "v2.5". Thanks to email@example.com, firstname.lastname@example.org and email@example.com for the patch.
…ize' into proposed
Some pinpads do not support PIN size less than 4 or greater than 8. PC/SC v2 part 10 allows to ask the driver/reader for the supported values. This avoids to have the SECURE PIN CCID command rejected by the reader. This should fix OpenSC ticket #361 "card-entersafe should ask the pinpad reader for the maximum pin size"
Now the DLLs installed into the 'system' directory are static. Only opensc tools depend on opensc.dll.