[Pcsclite-cvs-commit] CVS PKCS11/src
CVS User rousseau
ludovic.rousseau@free.fr
Sun, 28 Nov 2004 07:30:32 -0700
Update of /cvsroot/muscleapps/PKCS11/src
In directory haydn:/tmp/cvs-serv21300/src
Modified Files:
p11_object.c p11x_object.c p11x_slot.c
Log Message:
reread object after the PIN is verfied. See
http://archives.neohapsis.com/archives/dev/muscle/2004-q4/0249.html
Thanks to Peter Stamfest for the patch.
--- /cvsroot/muscleapps/PKCS11/src/p11_object.c 2004/11/28 14:11:52 1.25
+++ /cvsroot/muscleapps/PKCS11/src/p11_object.c 2004/11/28 14:30:31 1.26
@@ -1,6 +1,6 @@
/******************************************************************************
**
-** $Id: p11_object.c,v 1.25 2004/11/28 14:11:52 rousseau Exp $
+** $Id: p11_object.c,v 1.26 2004/11/28 14:30:31 rousseau Exp $
**
** Package: PKCS-11
** Author : Chris Osgood <oznet@mac.com>
@@ -535,8 +535,10 @@
}
}
- if (st.prefs.multi_app || !slot->objects)
+ if (st.prefs.multi_app || !slot->objects || (slot->flags & P11_SLOT_REREAD_OBJECTS))
{
+ slot->flags &= ~P11_SLOT_REREAD_OBJECTS;
+
if (!CKR_ERROR(rv = slot_BeginTransaction(session->session.slotID)))
{
msc_rv = msc_ListKeys(&slot->conn, MSC_SEQUENCE_RESET, &keyInfo);
--- /cvsroot/muscleapps/PKCS11/src/p11x_object.c 2003/11/28 09:47:13 1.42
+++ /cvsroot/muscleapps/PKCS11/src/p11x_object.c 2004/11/28 14:30:31 1.43
@@ -1,6 +1,6 @@
/******************************************************************************
**
-** $Id: p11x_object.c,v 1.42 2003/11/28 09:47:13 rousseau Exp $
+** $Id: p11x_object.c,v 1.43 2004/11/28 14:30:31 rousseau Exp $
**
** Package: PKCS-11
** Author : Chris Osgood <oznet@mac.com>
@@ -1453,12 +1453,11 @@
ck_attrib.pValue = &priv;
ck_attrib.ulValueLen = sizeof(priv);
-/*
+
if (object_MatchAttrib(&ck_attrib, object))
objACL.readPermission = (MSCUShort16)object_MapPIN(st.prefs.user_pin_num);
else
-*/
- objACL.readPermission = MSC_AUT_ALL;
+ objACL.readPermission = MSC_AUT_ALL;
objACL.writePermission = (MSCUShort16)object_MapPIN(st.prefs.user_pin_num);
objACL.deletePermission = (MSCUShort16)object_MapPIN(st.prefs.user_pin_num);
--- /cvsroot/muscleapps/PKCS11/src/p11x_slot.c 2003/10/04 08:30:18 1.30
+++ /cvsroot/muscleapps/PKCS11/src/p11x_slot.c 2004/11/28 14:30:32 1.31
@@ -1,6 +1,6 @@
/******************************************************************************
**
-** $Id: p11x_slot.c,v 1.30 2003/10/04 08:30:18 rousseau Exp $
+** $Id: p11x_slot.c,v 1.31 2004/11/28 14:30:32 rousseau Exp $
**
** Package: PKCS-11
** Author : Chris Osgood <oznet@mac.com>
@@ -931,6 +931,8 @@
else
{
st.slots[slotID - 1].pin_state = 0; /* Fixme: create #define for this */
+ /* mark the slot to update its objects and keys */
+ st.slots[slotID - 1].flags |= P11_SLOT_REREAD_OBJECTS;
session_l = st.sessions;
while (session_l)
@@ -984,6 +986,8 @@
else
{
st.slots[slotID - 1].pin_state = 1; /* Fixme: create #define for this */
+ /* mark the slot to update its objects and keys */
+ st.slots[slotID - 1].flags |= P11_SLOT_REREAD_OBJECTS;
session_l = st.sessions;
while (session_l)