summaryrefslogtreecommitdiffstats
path: root/lasso/id-ff/provider.c
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-05-30 22:24:37 +0200
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-05-30 22:24:37 +0200
commit9cedec628ee6fceb41f6d54d1e7c228e7bb9ba0f (patch)
treed30cf84e5d0bba219b510b1f77e9db8f309ae33d /lasso/id-ff/provider.c
parent24a29f954ac15da645b62338d1dacc3c5e364b57 (diff)
downloadlasso-9cedec628ee6fceb41f6d54d1e7c228e7bb9ba0f.tar.gz
lasso-9cedec628ee6fceb41f6d54d1e7c228e7bb9ba0f.tar.xz
lasso-9cedec628ee6fceb41f6d54d1e7c228e7bb9ba0f.zip
[core] finish transition from single encryption key to multiple ones
Some code still reference provider->private->encryption_public_key, this commit make them use lasso_provider_get_encryption_public_key().
Diffstat (limited to 'lasso/id-ff/provider.c')
-rw-r--r--lasso/id-ff/provider.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c
index 28c9e1d2..8df653de 100644
--- a/lasso/id-ff/provider.c
+++ b/lasso/id-ff/provider.c
@@ -550,8 +550,8 @@ lasso_provider_get_encryption_public_key(const LassoProvider *provider)
g_return_val_if_fail(LASSO_IS_PROVIDER(provider), NULL);
GList *public_keys;
- if (provider->private_data->encryption_public_key) {
- return provider->private_data->encryption_public_key;
+ if (provider->private_data->encryption_public_keys) {
+ return provider->private_data->encryption_public_keys->data;
}
public_keys = lasso_provider_get_public_keys(provider);
if (! public_keys) {
@@ -859,9 +859,8 @@ dispose(GObject *object)
provider->private_data->encryption_public_key_str = NULL;
}
- if (provider->private_data->encryption_public_key) {
- xmlSecKeyDestroy(provider->private_data->encryption_public_key);
- provider->private_data->encryption_public_key = NULL;
+ if (provider->private_data->encryption_public_keys) {
+ lasso_release_list_of_sec_key(provider->private_data->encryption_public_keys);
}
lasso_release(provider->private_data->affiliation_id);
@@ -906,7 +905,7 @@ instance_init(LassoProvider *provider)
provider->private_data->signing_key_descriptors = NULL;
provider->private_data->encryption_key_descriptor = NULL;
provider->private_data->encryption_public_key_str = NULL;
- provider->private_data->encryption_public_key = NULL;
+ provider->private_data->encryption_public_keys = NULL;
provider->private_data->encryption_mode = LASSO_ENCRYPTION_MODE_NONE;
provider->private_data->encryption_sym_key_type = LASSO_ENCRYPTION_SYM_KEY_TYPE_AES_128;
@@ -1290,8 +1289,8 @@ lasso_provider_load_public_key(LassoProvider *provider, LassoPublicKeyType publi
list_of_sec_key);
break;
case LASSO_PUBLIC_KEY_ENCRYPTION:
- lasso_assign_new_sec_key(provider->private_data->encryption_public_key,
- (xmlSecKey*)keys->data);
+ lasso_transfer_full(provider->private_data->encryption_public_keys,
+ keys, list_of_sec_key);
break;
default:
lasso_release_list_of_sec_key(keys);