diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2006-11-30 17:59:50 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2006-11-30 17:59:50 +0000 |
| commit | 818de5a5347933ce9549f45e698da2192da765d1 (patch) | |
| tree | 980cdeaed1d6c0a11ecdc66eb89c86e6e4e0eeda | |
| parent | 01fda42b98b0fb793613f55d7966ea150975a879 (diff) | |
| download | lasso-818de5a5347933ce9549f45e698da2192da765d1.tar.gz lasso-818de5a5347933ce9549f45e698da2192da765d1.tar.xz lasso-818de5a5347933ce9549f45e698da2192da765d1.zip | |
only call into lasso_saml20_login_process_paos_response_msg if PAOS namespace
is visible; this avoids parsing three times the same message for the common
case of *not* PAOS.
| -rw-r--r-- | lasso/saml-2.0/login.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lasso/saml-2.0/login.c b/lasso/saml-2.0/login.c index f1dcb7e0..36a83619 100644 --- a/lasso/saml-2.0/login.c +++ b/lasso/saml-2.0/login.c @@ -905,10 +905,14 @@ lasso_saml20_login_process_response_msg(LassoLogin *login, gchar *response_msg) LassoProfile *profile = LASSO_PROFILE(login); int rc; - rc = lasso_saml20_login_process_paos_response_msg(login, response_msg); - if (rc == 0) { - return lasso_saml20_login_process_response_status_and_assertion(login); + if (strstr(response_msg, LASSO_PAOS_HREF)) { + rc = lasso_saml20_login_process_paos_response_msg(login, response_msg); + if (rc == 0) { + return lasso_saml20_login_process_response_status_and_assertion(login); + } + return rc; } + rc = lasso_saml20_profile_process_artifact_response(profile, response_msg); if (rc) { return rc; |
