Timothy J. Miller wrote:
Because if I am, then this looks to be what's biting me in the ass. :)
And indeed, it seems to be so. If I modify C_Logout in p11_session.c to *not* reset the card after msc_LogoutAll returns an error, the code I've been having problems with works like a champ.
This doesn't address the problem of why there's a stale pointer in the session hash table, but it does point at a path to a possible fix.
The problem with my quick hack-test is, of course, that IDs are left logged it; since MSCLogoutAll is unsupported by commonAccessCard.c, no actual logout was performed. This is very likely a Bad Thing(tm).
So what's the proper thing to do here? Is the correct behavior to logout and then close the session, or the reverse, or only one or the other but not both?
If the code I have is correct (C_Logout followed by C_CloseSession), then I only see a two options:
1) Add MSCLogoutAll to commonAccessCard.c. This is probably the best solution, but I have no freakin' clue how to go about it;
2) Modify the logic in p11_session.c to avoid the reset or handle it more gracefully. I tried a simple msc_ClearReset() after the slot_EndTransation in C_Logout, but that didn't have any effect. Or, I did it wrong. Either way, it didn't fix anything.
Suggestions? -- Tim
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
