From 6bd8540bc2d70235dc3e6bfea33dc9a80c2b6e65 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 1 Aug 2008 14:06:57 +0000 Subject: polish code in lasso_discovery_build_credential --- lasso/id-wsf/discovery.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lasso/id-wsf/discovery.c b/lasso/id-wsf/discovery.c index 8cd533e0..399c4087 100644 --- a/lasso/id-wsf/discovery.c +++ b/lasso/id-wsf/discovery.c @@ -110,18 +110,20 @@ lasso_discovery_build_credential(LassoDiscovery *discovery, const gchar *provide LassoSamlSubjectConfirmation *subject_confirmation = NULL; LassoDsKeyInfo *key_info = NULL; GList *iter = NULL; + LassoSamlSubjectConfirmation *subject_confirmation; + LassoProvider *our_provider = + LASSO_PROVIDER(LASSO_WSF_PROFILE(discovery)->server); g_return_val_if_fail(LASSO_IS_DISCOVERY(discovery), NULL); - profile = LASSO_WSF_PROFILE(discovery); - /* Init assertion informations */ assertion = lasso_saml_assertion_new(); assertion->AssertionID = lasso_build_unique_id(32); assertion->MajorVersion = LASSO_SAML_MAJOR_VERSION_N; assertion->MinorVersion = LASSO_SAML_MINOR_VERSION_N; assertion->IssueInstant = lasso_get_current_time(); - assertion->Issuer = g_strdup(LASSO_PROVIDER(profile->server)->ProviderID); + assertion->Issuer = + g_strdup(our_provider->ProviderID); /* Add AuthenticationStatement */ authentication_statement = LASSO_SAML_AUTHENTICATION_STATEMENT( @@ -131,11 +133,13 @@ lasso_discovery_build_credential(LassoDiscovery *discovery, const gchar *provide subject = LASSO_SAML_SUBJECT(lasso_saml_subject_new()); /* NameIdentifier */ - name_identifier = lasso_saml_name_identifier_new(); - name_identifier->NameQualifier = g_strdup(LASSO_PROVIDER(profile->server)->ProviderID); - header = profile->soap_envelope_request->Header; - for (iter = header->Other; iter != NULL; iter = iter->next) { - if (LASSO_IS_SOAP_BINDING_PROVIDER(iter->data)) { + identifier = lasso_saml_name_identifier_new(); + identifier->NameQualifier = g_strdup( + our_provider->ProviderID); + header = LASSO_WSF_PROFILE(discovery)->soap_envelope_request->Header; + iter = header->Other; + while (iter) { + if (LASSO_IS_SOAP_BINDING_PROVIDER(iter->data) == TRUE) { provider = LASSO_SOAP_BINDING_PROVIDER(iter->data); break; } -- cgit