summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-08-27 15:00:52 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-08-27 15:00:52 +0000
commit225d5969cf70637b46ee1fd649047df358c12343 (patch)
tree701f4062789e077f23f480e6a16040bc38fc0723
parenta58772ba19422e0644442639a43d42cc8be6dad8 (diff)
downloadlasso-225d5969cf70637b46ee1fd649047df358c12343.tar.gz
lasso-225d5969cf70637b46ee1fd649047df358c12343.tar.xz
lasso-225d5969cf70637b46ee1fd649047df358c12343.zip
Added return of code error LASSO_PROFILE_ERROR_INVALID_QUERY when an error occurs while parsing a federation termination notification message query in lasso_defederation_process_notification_msg()
-rw-r--r--lasso/id-ff/defederation.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lasso/id-ff/defederation.c b/lasso/id-ff/defederation.c
index 582fc2da..7b00d34d 100644
--- a/lasso/id-ff/defederation.c
+++ b/lasso/id-ff/defederation.c
@@ -383,6 +383,10 @@ lasso_defederation_process_notification_msg(LassoDefederation *defederation,
case lassoHttpMethodRedirect:
debug("Build a federation termination notification from query msg\n");
profile->request = lasso_federation_termination_notification_new_from_export(notification_msg, lassoNodeExportTypeQuery);
+ if (LASSO_IS_FEDERATION_TERMINATION_NOTIFICATON(profile->request) == FALSE) {
+ ret = LASSO_PROFILE_ERROR_INVALID_QUERY;
+ goto done;
+ }
break;
default:
message(G_LOG_LEVEL_CRITICAL, "Invalid notification method\n");
@@ -459,7 +463,9 @@ lasso_defederation_validate_notification(LassoDefederation *defederation)
goto done;
}
- /* if HTTP-Redirect protocol profile, set the federation termination service return url */
+ /* If SOAP notification, then msg_url and msg_body are NULL */
+ /* if HTTP-Redirect notification, set msg_url with the federation termination service return url,
+ and set msg_body to NULL */
profile->msg_url = NULL;
profile->msg_body = NULL;
if (profile->http_request_method == lassoHttpMethodRedirect) {