summaryrefslogtreecommitdiffstats
path: root/auth_mellon_handler.c
diff options
context:
space:
mode:
authormanu@netbsd.org <manu@netbsd.org@a716ebb1-153a-0410-b759-cfb97c6a1b53>2009-06-01 20:43:17 +0000
committermanu@netbsd.org <manu@netbsd.org@a716ebb1-153a-0410-b759-cfb97c6a1b53>2009-06-01 20:43:17 +0000
commit168300298027322956ed3c50ddb56197111f58ef (patch)
tree38e42092654a65846e1e11de13f05bd91e65c568 /auth_mellon_handler.c
parent4efd2ad895795b7a61d70da76e32fac5d319e2c1 (diff)
downloadmod_auth_mellon-168300298027322956ed3c50ddb56197111f58ef.tar.gz
mod_auth_mellon-168300298027322956ed3c50ddb56197111f58ef.tar.xz
mod_auth_mellon-168300298027322956ed3c50ddb56197111f58ef.zip
Add a MellonSamlResponseDump option to dump the SAML authentication response in
the environement git-svn-id: https://modmellon.googlecode.com/svn/trunk@51 a716ebb1-153a-0410-b759-cfb97c6a1b53
Diffstat (limited to 'auth_mellon_handler.c')
-rw-r--r--auth_mellon_handler.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/auth_mellon_handler.c b/auth_mellon_handler.c
index a776a6b..d4983b7 100644
--- a/auth_mellon_handler.c
+++ b/auth_mellon_handler.c
@@ -402,7 +402,9 @@ static LassoServer *am_get_lasso_server(request_rec *r)
* Returns:
* OK on success or HTTP_INTERNAL_SERVER_ERROR on failure.
*/
-static int am_save_lasso_profile_state(request_rec *r, LassoProfile *profile)
+static int am_save_lasso_profile_state(request_rec *r,
+ LassoProfile *profile,
+ char *saml_response)
{
am_cache_entry_t *am_session;
LassoIdentity *lasso_identity;
@@ -456,7 +458,10 @@ static int am_save_lasso_profile_state(request_rec *r, LassoProfile *profile)
}
/* Save the profile state. */
- ret = am_cache_set_lasso_state(am_session, identity_dump, session_dump);
+ ret = am_cache_set_lasso_state(am_session,
+ identity_dump,
+ session_dump,
+ saml_response);
am_release_request_session(r, am_session);
@@ -1309,7 +1314,7 @@ static int add_attributes(am_cache_entry_t *session, request_rec *r,
* A HTTP status code which should be returned to the client.
*/
static int am_handle_reply_common(request_rec *r, LassoLogin *login,
- char *relay_state)
+ char *relay_state, char *saml_response)
{
const char *name_id;
GList *assertions;
@@ -1385,7 +1390,7 @@ static int am_handle_reply_common(request_rec *r, LassoLogin *login,
/* Save the profile state. */
- rc = am_save_lasso_profile_state(r, LASSO_PROFILE(login));
+ rc = am_save_lasso_profile_state(r, LASSO_PROFILE(login), saml_response);
if(rc != OK) {
lasso_login_destroy(login);
return rc;
@@ -1509,7 +1514,7 @@ static int am_handle_post_reply(request_rec *r)
"RelayState");
/* Finish handling the reply with the common handler. */
- return am_handle_reply_common(r, login, relay_state);
+ return am_handle_reply_common(r, login, relay_state, saml_response);
}
@@ -1611,7 +1616,7 @@ static int am_handle_artifact_reply(request_rec *r)
"RelayState");
/* Finish handling the reply with the common handler. */
- return am_handle_reply_common(r, login, relay_state);
+ return am_handle_reply_common(r, login, relay_state, "");
}