From 5f6df01199dccd3990bc4ea9871ab88d4eb7717e Mon Sep 17 00:00:00 2001 From: Nicolas Clapies Date: Mon, 12 Jul 2004 15:52:40 +0000 Subject: *** empty log message *** --- lasso/Attic/protocols/provider.c | 4 +-- lasso/Attic/protocols/provider.h | 2 +- lasso/id-ff/server.c | 57 ++++++++++++++++++---------------------- lasso/id-ff/server.h | 4 +-- 4 files changed, 31 insertions(+), 36 deletions(-) diff --git a/lasso/Attic/protocols/provider.c b/lasso/Attic/protocols/provider.c index 9f8c2c83..fbe867b1 100644 --- a/lasso/Attic/protocols/provider.c +++ b/lasso/Attic/protocols/provider.c @@ -239,12 +239,12 @@ lasso_provider_new(gchar *metadata_filename, LassoProvider* -lasso_provider_new_metadata_xmlNode(xmlNodePtr metadata_xmlNode) +lasso_provider_new_from_metadata_node(LassoNode *metadata_node) { LassoProvider *provider; provider = LASSO_PROVIDER(g_object_new(LASSO_TYPE_PROVIDER, NULL)); - provider->metadata = lasso_node_new_from_xmlNode(metadata_xmlNode); + provider->metadata = lasso_node_new_from_xmlNode(metadata_node); return(provider); } diff --git a/lasso/Attic/protocols/provider.h b/lasso/Attic/protocols/provider.h index 5d505f6a..cb1ea64f 100644 --- a/lasso/Attic/protocols/provider.h +++ b/lasso/Attic/protocols/provider.h @@ -68,7 +68,7 @@ LASSO_EXPORT LassoProvider *lasso_provider_new gchar *public_key_filename, gchar *certificate_filename); -LASSO_EXPORT LassoProvider *lasso_provider_new_metadata_xmlNode (xmlNodePtr metadata_xmlNode); +LASSO_EXPORT LassoProvider *lasso_provider_new_from_metadata_node (LassoNode *metadata_node); LASSO_EXPORT LassoProvider *lasso_provider_new_metadata_filename (gchar *metadata_filename); diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c index 53f95c2f..227f697d 100644 --- a/lasso/id-ff/server.c +++ b/lasso/id-ff/server.c @@ -191,6 +191,8 @@ lasso_server_new(gchar *metadata, xmlNodePtr root; LassoNode *metadata_node; + g_return_val_if_fail(metadata!=NULL, NULL); + server = LASSO_SERVER(g_object_new(LASSO_TYPE_SERVER, NULL)); @@ -213,13 +215,12 @@ LassoServer * lasso_server_new_from_dump(gchar *dump) { LassoNodeClass *server_class, *providers_class; - LassoNode *server_node, *providers_node, *metadata, *provider_node; + LassoNode *server_node, *providers_node, *provider_node, *entity_node, *server_metadata_node; LassoServer *server; LassoProvider *provider; - xmlNodePtr xmlNode, providers_xmlNode, provider_xmlNode, entity_xmlNode; - xmlChar *content, *public_key, *certificate; + xmlNodePtr providers_xmlNode, provider_xmlNode; + xmlChar *public_key, *certificate; - LassoNode *server_metadata_node; server = LASSO_SERVER(g_object_new(LASSO_TYPE_SERVER, NULL)); @@ -251,33 +252,27 @@ lasso_server_new_from_dump(gchar *dump) while(provider_xmlNode){ if(provider_xmlNode->type==XML_ELEMENT_NODE && xmlStrEqual(provider_xmlNode->name, LASSO_PROVIDER_NODE)){ -/* /\* provider node *\/ */ -/* provider_node = lasso_node_new_from_xmlNode(provider_xmlNode); */ - -/* /\* metadata *\/ */ -/* entity_node = lasso_node_get_child(provider_node, "EntityDescriptor"); */ - -/* /\* public key *\/ */ -/* public_key = lasso_node_get_attr_value(provider_node, LASSO_PROVIDER_PUBLIC_KEY_NODE); */ - -/* /\* certificate *\/ */ -/* certificate = lasso_node_get_attr_value(provider_node, LASSO_PROVIDER_CERTIFICATE_NODE); */ - -/* /\* add provider *\/ */ -/* provider = lasso_provider_new_ */ - - - - -/* /\* add a new provider *\/ */ -/* provider = lasso_provider_new_metadata_xmlNode(entity_xmlNode); */ -/* if(public_key){ */ -/* lasso_provider_set_public_key(provider, public_key); */ -/* } */ -/* if(certificate){ */ -/* lasso_provider_set_public_key(provider, certificate); */ -/* } */ -/* lasso_server_add_lasso_provider(server, provider); */ + /* provider node */ + provider_node = lasso_node_new_from_xmlNode(provider_xmlNode); + + /* metadata */ + entity_node = lasso_node_get_child(provider_node, "EntityDescriptor", NULL); + + /* public key */ + public_key = lasso_node_get_attr_value(provider_node, LASSO_PROVIDER_PUBLIC_KEY_NODE); + + /* certificate */ + certificate = lasso_node_get_attr_value(provider_node, LASSO_PROVIDER_CERTIFICATE_NODE); + + /* add provider */ + provider = lasso_provider_new_from_metadata_node(entity_node); + if(public_key){ + lasso_provider_set_public_key(provider, public_key); + } + if(certificate){ + lasso_provider_set_public_key(provider, certificate); + } + lasso_server_add_lasso_provider(server, provider); } provider_xmlNode = provider_xmlNode->next; diff --git a/lasso/id-ff/server.h b/lasso/id-ff/server.h index 1bdc8ab3..6b2e6b07 100644 --- a/lasso/id-ff/server.h +++ b/lasso/id-ff/server.h @@ -41,8 +41,8 @@ extern "C" { #define LASSO_SERVER_NODE "LassoServer" #define LASSO_SERVER_PROVIDERS_NODE "LassoProviders" -#define LASSO_SERVER_PRIVATE_KEY_NODE "LassoPrivateKey" -#define LASSO_SERVER_SIGNATURE_METHOD_NODE "LassoSignatureMethod" +#define LASSO_SERVER_PRIVATE_KEY_NODE "PrivateKey" +#define LASSO_SERVER_SIGNATURE_METHOD_NODE "SignatureMethod" typedef struct _LassoServer LassoServer; typedef struct _LassoServerClass LassoServerClass; -- cgit