[gnome-keyring] [pkcs11] Set attributes on object before storing.
- From: Stefan Walter <stefw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-keyring] [pkcs11] Set attributes on object before storing.
- Date: Sun, 7 Feb 2010 17:36:45 +0000 (UTC)
commit aa548019df045b4085c088c84aec585ab0e62a98
Author: Stef Walter <stef memberwebs com>
Date: Sun Feb 7 17:32:57 2010 +0000
[pkcs11] Set attributes on object before storing.
Set attributes on new objects before storing them.
pkcs11/gck/gck-session.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/pkcs11/gck/gck-session.c b/pkcs11/gck/gck-session.c
index 8b280ec..ead7b1c 100644
--- a/pkcs11/gck/gck-session.c
+++ b/pkcs11/gck/gck-session.c
@@ -770,7 +770,6 @@ gck_session_create_object_for_factory (GckSession *self, GckFactory *factory,
{
GckTransaction *owned = NULL;
GckObject *object;
- gulong i;
g_return_val_if_fail (GCK_IS_SESSION (self), NULL);
g_return_val_if_fail (factory && factory->func, NULL);
@@ -797,13 +796,6 @@ gck_session_create_object_for_factory (GckSession *self, GckFactory *factory,
gck_transaction_fail (transaction, CKR_GENERAL_ERROR);
}
- /* Next go through and set all attributes that weren't used initially */
- gck_attributes_consume (template, count, CKA_TOKEN, G_MAXULONG);
- for (i = 0; i < count && !gck_transaction_get_failed (transaction); ++i) {
- if (!gck_attribute_consumed (&template[i]))
- gck_object_set_attribute (object, self, transaction, &template[i]);
- }
-
g_free (template);
if (owned)
@@ -846,6 +838,7 @@ gck_session_complete_object_creation (GckSession *self, GckTransaction *transact
GckObject *object, CK_ATTRIBUTE_PTR attrs, CK_ULONG n_attrs)
{
gboolean is_private;
+ gulong i;
g_return_if_fail (GCK_IS_SESSION (self));
g_return_if_fail (GCK_IS_OBJECT (object));
@@ -872,6 +865,13 @@ gck_session_complete_object_creation (GckSession *self, GckTransaction *transact
return gck_transaction_fail (transaction, CKR_USER_NOT_LOGGED_IN);
}
+ /* Next go through and set all attributes that weren't used initially */
+ gck_attributes_consume (attrs, n_attrs, CKA_TOKEN, G_MAXULONG);
+ for (i = 0; i < n_attrs && !gck_transaction_get_failed (transaction); ++i) {
+ if (!gck_attribute_consumed (&attrs[i]))
+ gck_object_set_attribute (object, self, transaction, &attrs[i]);
+ }
+
/* Find somewhere to store the object */
if (gck_object_is_token (object))
gck_module_store_token_object (self->pv->module, transaction, object);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]