34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
From 912891b83b297ac6af2b62f6c1f8c31b1d3cc8bd Mon Sep 17 00:00:00 2001
|
|
From: Stef Walter <stef@memberwebs.com>
|
|
Date: Sat, 13 Feb 2010 04:16:50 +0000
|
|
Subject: [secret-store] Fix regression: secret value not stored properly.
|
|
|
|
---
|
|
diff --git a/pkcs11/secret-store/gck-secret-item.c b/pkcs11/secret-store/gck-secret-item.c
|
|
index b0c5659..5c77723 100644
|
|
--- a/pkcs11/secret-store/gck-secret-item.c
|
|
+++ b/pkcs11/secret-store/gck-secret-item.c
|
|
@@ -141,6 +141,7 @@ factory_create_item (GckSession *session, GckTransaction *transaction,
|
|
CK_ATTRIBUTE *attr;
|
|
gboolean is_token;
|
|
gchar *identifier;
|
|
+ CK_ULONG i;
|
|
|
|
g_return_val_if_fail (GCK_IS_TRANSACTION (transaction), NULL);
|
|
g_return_val_if_fail (attrs || !n_attrs, NULL);
|
|
@@ -175,7 +176,11 @@ factory_create_item (GckSession *session, GckTransaction *transaction,
|
|
gck_transaction_fail (transaction, CKR_TEMPLATE_INCONSISTENT);
|
|
return NULL;
|
|
} else {
|
|
- gck_attributes_consume (attrs, n_attrs, CKA_ID, G_MAXULONG);
|
|
+ gck_attributes_consume (attrs, n_attrs, CKA_ID, 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 (GCK_OBJECT (item), session, transaction, &attrs[i]);
|
|
+ }
|
|
return g_object_ref (item);
|
|
}
|
|
}
|
|
--
|
|
cgit v0.8.3.1
|