summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-08-05 16:09:54 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-08-05 16:09:54 +0000
commit4bd67a7eb862df211d121ac4a634c0a98583a287 (patch)
tree22f2099fc5d432fb2e1bcf442a1f75d2b4c61685
parent89dd9eb1b87cd0c757eaa54a3e646c5b34c25fee (diff)
downloadlasso-4bd67a7eb862df211d121ac4a634c0a98583a287.tar.gz
lasso-4bd67a7eb862df211d121ac4a634c0a98583a287.tar.xz
lasso-4bd67a7eb862df211d121ac4a634c0a98583a287.zip
lasso_server_get_providerID_from_hash() method takes now
a hash base64 encoded as argument.
-rw-r--r--lasso/id-ff/server.c15
-rw-r--r--lasso/id-ff/server.h2
2 files changed, 10 insertions, 7 deletions
diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c
index 7217bf54..0a6a6a07 100644
--- a/lasso/id-ff/server.c
+++ b/lasso/id-ff/server.c
@@ -226,23 +226,26 @@ lasso_server_get_provider_ref(LassoServer *server,
gchar *
lasso_server_get_providerID_from_hash(LassoServer *server,
- gchar *hash)
+ gchar *b64_hash)
{
LassoProvider *provider;
- gchar *providerID, *hash_providerID;
+ xmlChar *providerID, *hash_providerID;
+ xmlChar *b64_hash_providerID;
int i;
for(i=0; i<server->providers->len; i++) {
provider = g_ptr_array_index(server->providers, i);
providerID = lasso_provider_get_providerID(provider, NULL);
hash_providerID = lasso_str_hash(providerID, server->private_key);
- if (xmlStrEqual(hash_providerID, hash)) {
- g_free(hash_providerID);
+ b64_hash_providerID = xmlSecBase64Encode(hash_providerID, 20, 0);
+ xmlFree(hash_providerID);
+ if (xmlStrEqual(b64_hash_providerID, b64_hash)) {
+ xmlFree(b64_hash_providerID);
return(providerID);
}
else {
- g_free(providerID);
- g_free(hash_providerID);
+ xmlFree(b64_hash_providerID);
+ xmlFree(providerID);
}
}
diff --git a/lasso/id-ff/server.h b/lasso/id-ff/server.h
index 26a711a0..895906b5 100644
--- a/lasso/id-ff/server.h
+++ b/lasso/id-ff/server.h
@@ -88,7 +88,7 @@ LASSO_EXPORT LassoProvider* lasso_server_get_provider_ref (LassoServer *
gchar *providerID);
LASSO_EXPORT gchar* lasso_server_get_providerID_from_hash (LassoServer *server,
- gchar *hash);
+ gchar *b64_hash);
#ifdef __cplusplus
}