Hi. I've almost finished testing a ~250KB patch for OpenSC, which currently includes these major changes:
Core: - Dynamic readers. Change reader table to a list. Get rid of "int reader" in API and use sc_reader_t objects instead. Look up readers based on name or position. Remove unused "action" parameter from sc_disconnect_card() - Remove reader slot abstraction. If the reader subsystem uses slots, make them present the slots as different readers instead. - Add support for SCardCancel in reader API and PC/SC implementation PKCS#11: - Dynamic slots. Get rid of tables for slots and cards, use lists instead. - Proper blocking C_WaitForSlotEvent() implementation - More correct PKCS#11 v2.20 support The reasons for slot abstraction removal are outlined here: http://www.opensc-project.org/openct/ticket/35 Changes to ctapi and openct drivers are made on "should work" basis because a) I don't believe it affects more than maybe 2..3 users b) I don't know of any "active maintainer" for CT-API. OpenCT probably would be covered. The change is similar to the latest pcsc-lite patch, it removes static tables for runtime data and replaces them with lists. There is also a new PKCS#11 v2.30 draft out there, which among other things adds GOST support. This is probably interesting to Aleksey - we already have some GOST support, maybe we should upgrade PKCS#11 conformance to 2.30? For me, the most visible result of this patch is running Firefox with opensc-pkcs11.so installed in debug mode - polling for slots is replaced with a readable log output thanks to C_WaitForSlotEvent and plugging readers and cards back and forth actually works. This has been a major usability problem for laptop users this far. It also messes with the API as I did not have the intention of "making it a clean patch" but rather "clean things up". The hotplugging feature only works with PC/SC and only if all connected readers are PC/SC. That's OK for 99.9% users on Windows and Mac. And the reason why I suggested to maybe have different packages on Linux - libopensc-pcsc, libopensc-openct and libopensc-ctapi is that it is not realistic to have the hotpluggin feature work with different subsystems. Any thoughts on this? -- Martin Paljak http://martin.paljak.pri.ee +372.515.6495 _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel