Timothy J. Miller wrote:
1) slot_TokenChanged is detecting a token change when none occurred, deleting the session prematurely;
Deeper and deeper in the rabbit-hole I go...So I recompiled everything with symbols so I can step through the whole schlemiel, and I follow the ball all the way through slot_TokenChanged to msc_IsTokenMoved to MSCIsTokenMoved to SCardStatus.
(Assuming I'm reading this right) SCardStatus builds up a struct, writes it to pcscd, and then reads back the result into scStatusStruct. It then tests the return value in scStatusStruct against SCARD_S_SUCCESS and SCARD_E_INSUFFICIENT_BUFFER.
Unfortunately, the return value I have is -2146434968, which certainly isn't either of these, so I'm dutifully dumped down through the stack and a 1 gets returned from MSCIsTokenMoved--which is why slot_TokenChanged thinks that the token has changed.
So the main bug is somewhere in the running server, or in the commonAccessCard.bundle I cribbed from Darwin and modified per the Naval Research Laboratory instructions. I'm thinking the latter. I've been rapidly dusting off my ancient gdb skills, such as they are, but they don't include debugging a running process. New things to learn...
However, if anyone has any input re: commonAccessCard.c, I'd love to hear it.
-- Tim
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
