From: Ludovic R. <lud...@gm...> - 2013-02-15 07:39:46
|
---------- Forwarded message ---------- From: Ludovic Rousseau <lud...@gm...> Date: 2013/2/13 Subject: Re: [Opensc-devel] OpenVPN, PKCS#11 and MacOSX To: Hasso Tepper <has...@gm...> Cc : OpenSC Development <ope...@li...> 2013/2/13 Alon Bar-Lev <alo...@gm...>: > Hi, Hello, > Problem seems to be in pcsc-lite. Exact. > Call to pcsc_disconnect is not returning. > > Ludovic, can you please take a look? > This happens after standard sequence of fork() usage with PKCS#11, > child process should finalize and initialize PKCS#11. I can reproduce the problem using the PC/SC Unitary Test SCard_fork.py [1]. After the fork the application should not do any PC/SC call in the son using the father PC/SC context. Otherwise the PC/SC calls in the father will be blocked. It is a bug in Apple PC/SC. The same Unitary Test works find on GNU/Linux with a recent PC/SC lite. I don't know if the bug is easy to circumvent in OpenSC. OpenSC would have to detect the application has forked and forget about the PC/SC context in the son. This may be done only in C_Finalize() and only for Mac OS X. Bye, [1] http://anonscm.debian.org/viewvc/pcsclite/trunk/PCSC/UnitaryTests/SCard_fork.py?view=markup -- Dr. Ludovic Rousseau -- Dr. Ludovic Rousseau |