diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-10-13 11:44:11 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-10-13 11:44:11 +0000 |
| commit | 4b007b73e1d7bec23dfb234e733c1f7d6cdc87c8 (patch) | |
| tree | 3c85b91de2f6f41bd0a3bc3b3e872568f234eb43 | |
| parent | 2bcf34e0dfa13e6066e98de8b7fd4074a5ebbdfd (diff) | |
Integrate modification from Olav Morken <olavmo@stud.ntnu.no>
It fixes bad url encoding of relaystates for logout
profile. A better fix for all profiles is coming.
| -rw-r--r-- | lasso/xml/saml-2.0/samlp2_logout_response.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lasso/xml/saml-2.0/samlp2_logout_response.c b/lasso/xml/saml-2.0/samlp2_logout_response.c index 75ca35c9..3a9b90a8 100644 --- a/lasso/xml/saml-2.0/samlp2_logout_response.c +++ b/lasso/xml/saml-2.0/samlp2_logout_response.c @@ -22,6 +22,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +#include <libxml/uri.h> + #include "samlp2_logout_response.h" /** @@ -51,7 +54,7 @@ static LassoNodeClass *parent_class = NULL; static gchar* build_query(LassoNode *node) { - char *ret, *deflated_message; + char *ret, *deflated_message, *relay_state; LassoSamlp2LogoutResponse *response = LASSO_SAMLP2_LOGOUT_RESPONSE(node); deflated_message = lasso_node_build_deflated_query(node); @@ -59,8 +62,10 @@ build_query(LassoNode *node) return NULL; } if (response->relayState) { + relay_state = (char*)xmlURIEscapeStr((xmlChar *)response->relayState, NULL); ret = g_strdup_printf("SAMLResponse=%s&RelayState=%s", - deflated_message, response->relayState); + deflated_message, relay_state); + xmlFree(relay_state); } else { ret = g_strdup_printf("SAMLResponse=%s", deflated_message); } |
