summaryrefslogtreecommitdiffstats
path: root/lasso
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-08-11 21:18:46 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-08-11 21:18:46 +0000
commit67c25ac0a4b804247fd9001fc083a3816032bde3 (patch)
tree1ba1b5de19a6ee1c57a7979159d84e7c07d416e9 /lasso
parentf223b6a9b2d9705b538e8ae2c9cd1cb90b8dc134 (diff)
downloadlasso-67c25ac0a4b804247fd9001fc083a3816032bde3.tar.gz
lasso-67c25ac0a4b804247fd9001fc083a3816032bde3.tar.xz
lasso-67c25ac0a4b804247fd9001fc083a3816032bde3.zip
Fixed a bug with metadata
ProviderID attribute is "providerID" instead of "ProviderID" Removed param 'err' in lasso_provider_get_providerID
Diffstat (limited to 'lasso')
-rw-r--r--lasso/Attic/protocols/provider.c95
-rw-r--r--lasso/Attic/protocols/provider.h3
2 files changed, 57 insertions, 41 deletions
diff --git a/lasso/Attic/protocols/provider.c b/lasso/Attic/protocols/provider.c
index c92b7203..9020533c 100644
--- a/lasso/Attic/protocols/provider.c
+++ b/lasso/Attic/protocols/provider.c
@@ -100,29 +100,42 @@ lasso_provider_get_metadata_value(LassoProvider *provider,
LassoNode *descriptor;
GError *tmp_err = NULL;
- g_return_val_if_fail (LASSO_IS_PROVIDER(provider), NULL);
- g_return_val_if_fail (name != NULL, NULL);
- g_return_val_if_fail (err == NULL || *err == NULL, NULL);
+ if (err != NULL && *err != NULL) {
+ g_set_error(err, g_quark_from_string("Lasso"),
+ LASSO_PARAM_ERROR_ERR_CHECK_FAILED,
+ lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED));
+ g_return_val_if_fail (err == NULL || *err == NULL,NULL);
+ }
+ if (LASSO_IS_PROVIDER(provider) == FALSE) {
+ g_set_error(err, g_quark_from_string("Lasso"),
+ LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ,
+ lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ));
+ g_return_val_if_fail(LASSO_IS_PROVIDER(provider), NULL);
+ }
+ if (name == NULL) {
+ g_set_error(err, g_quark_from_string("Lasso"),
+ LASSO_PARAM_ERROR_INVALID_VALUE,
+ lasso_strerror(LASSO_PARAM_ERROR_INVALID_VALUE));
+ g_return_val_if_fail(name != NULL, NULL);
+ }
- if (xmlStrEqual(name, "ProviderID")) {
+ switch (provider_type) {
+ case lassoProviderTypeSp:
+ descriptor = lasso_node_get_child(provider->metadata,
+ "SPDescriptor", NULL, &tmp_err);
+ break;
+ case lassoProviderTypeIdp:
descriptor = lasso_node_get_child(provider->metadata,
- "EntityDescriptor", NULL, NULL);
- value = lasso_node_get_attr_value(descriptor, name, &tmp_err);
+ "IDPDescriptor", NULL, &tmp_err);
+ break;
}
- else {
- switch (provider_type) {
- case lassoProviderTypeSp:
- descriptor = lasso_node_get_child(provider->metadata,
- "SPDescriptor", NULL, NULL);
- break;
- case lassoProviderTypeIdp:
- descriptor = lasso_node_get_child(provider->metadata,
- "IDPDescriptor", NULL, NULL);
- break;
- }
- value = lasso_node_get_child_content(descriptor, name, NULL,
- &tmp_err);
+ if (descriptor == NULL) {
+ g_propagate_error (err, tmp_err);
+ return (NULL);
}
+
+ value = lasso_node_get_child_content(descriptor, name, NULL,
+ &tmp_err);
lasso_node_destroy(descriptor);
if (value == NULL) {
@@ -258,20 +271,21 @@ lasso_provider_get_nameIdentifierMappingProtocolProfile(LassoProvider *prov
}
gchar *
-lasso_provider_get_providerID(LassoProvider *provider,
- GError **err)
+lasso_provider_get_providerID(LassoProvider *provider)
{
+ LassoNode *descriptor;
xmlChar *value;
- GError *tmp_err = NULL;
+ GError *err = NULL;
+
+ descriptor = lasso_node_get_child(provider->metadata,
+ "EntityDescriptor", NULL, NULL);
+ value = lasso_node_get_attr_value(descriptor, "providerID", &err);
+ lasso_node_destroy(descriptor);
- g_return_val_if_fail (err == NULL || *err == NULL, NULL);
-
- value = lasso_provider_get_metadata_value(provider,
- lassoProviderTypeSp, /* bidon */
- "ProviderID",
- &tmp_err);
if (value == NULL) {
- g_propagate_error (err, tmp_err);
+ /* providerID attr is required */
+ message(G_LOG_LEVEL_CRITICAL, err->message);
+ g_error_free(err);
}
return (value);
@@ -332,7 +346,7 @@ lasso_provider_get_singleSignOnProtocolProfile(LassoProvider *provider,
lassoProviderTypeIdp,
"SingleSignOnProtocolProfile",
&tmp_err);
- if (value == NULL) {
+ if (tmp_err != NULL) {
g_propagate_error (err, tmp_err);
}
@@ -352,7 +366,7 @@ lasso_provider_get_singleSignOnServiceURL(LassoProvider *provider,
lassoProviderTypeIdp,
"SingleSignOnServiceURL",
&tmp_err);
- if (value == NULL) {
+ if (tmp_err != NULL) {
g_propagate_error (err, tmp_err);
}
@@ -380,9 +394,10 @@ lasso_provider_get_singleLogoutProtocolProfile(LassoProvider *provider,
return (value);
}
-gchar *lasso_provider_get_singleLogoutServiceURL(LassoProvider *provider,
- lassoProviderType provider_type,
- GError **err)
+gchar *
+lasso_provider_get_singleLogoutServiceURL(LassoProvider *provider,
+ lassoProviderType provider_type,
+ GError **err)
{
xmlChar *value;
GError *tmp_err = NULL;
@@ -400,9 +415,10 @@ gchar *lasso_provider_get_singleLogoutServiceURL(LassoProvider *provider,
return (value);
}
-gchar *lasso_provider_get_singleLogoutServiceReturnURL(LassoProvider *provider,
- lassoProviderType provider_type,
- GError **err)
+gchar *
+lasso_provider_get_singleLogoutServiceReturnURL(LassoProvider *provider,
+ lassoProviderType provider_type,
+ GError **err)
{
xmlChar *value;
GError *tmp_err = NULL;
@@ -442,7 +458,8 @@ lasso_provider_get_soapEndpoint(LassoProvider *provider,
}
void
-lasso_provider_set_public_key(LassoProvider *provider, gchar *public_key)
+lasso_provider_set_public_key(LassoProvider *provider,
+ gchar *public_key)
{
provider->public_key = g_strdup(public_key);
}
@@ -459,7 +476,7 @@ lasso_provider_set_ca_certificate(LassoProvider *provider,
/*****************************************************************************/
static gchar *lasso_provider_get_direct_child_content(LassoProvider *provider,
- const gchar *name)
+ const gchar *name)
{
LassoNode *node;
xmlChar *content;
diff --git a/lasso/Attic/protocols/provider.h b/lasso/Attic/protocols/provider.h
index 415e934c..41f400f6 100644
--- a/lasso/Attic/protocols/provider.h
+++ b/lasso/Attic/protocols/provider.h
@@ -108,8 +108,7 @@ LASSO_EXPORT gchar* lasso_provider_get_nameIdentifierMappingProtocolProf
lassoProviderType provider_type,
GError **err);
-LASSO_EXPORT gchar* lasso_provider_get_providerID (LassoProvider *provider,
- GError **err);
+LASSO_EXPORT gchar* lasso_provider_get_providerID (LassoProvider *provider);
LASSO_EXPORT gchar* lasso_provider_get_registerNameIdentifierProtocolProfile (LassoProvider *provider,
lassoProviderType provider_type,