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

Reply via email to