diff options
author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-23 14:05:20 +0000 |
---|---|---|
committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-23 14:05:20 +0000 |
commit | 4fb5358591677388e15c62ef3b428bae62317afe (patch) | |
tree | d8a8c0df2a464d5e03e2933a889714fc6f535939 /lasso/Attic | |
parent | eea33a45c765cba6a2ae50b871012fa157416da0 (diff) | |
download | lasso-4fb5358591677388e15c62ef3b428bae62317afe.tar.gz lasso-4fb5358591677388e15c62ef3b428bae62317afe.tar.xz lasso-4fb5358591677388e15c62ef3b428bae62317afe.zip |
added support of URI identifier in signature
Diffstat (limited to 'lasso/Attic')
-rw-r--r-- | lasso/Attic/protocols/authn_request.c | 3 | ||||
-rw-r--r-- | lasso/Attic/protocols/logout_request.c | 22 | ||||
-rw-r--r-- | lasso/Attic/protocols/logout_request.h | 10 | ||||
-rw-r--r-- | lasso/Attic/protocols/logout_response.c | 64 | ||||
-rw-r--r-- | lasso/Attic/protocols/logout_response.h | 16 | ||||
-rw-r--r-- | lasso/Attic/protocols/request.c | 3 |
6 files changed, 73 insertions, 45 deletions
diff --git a/lasso/Attic/protocols/authn_request.c b/lasso/Attic/protocols/authn_request.c index 01e28969..93eccaee 100644 --- a/lasso/Attic/protocols/authn_request.c +++ b/lasso/Attic/protocols/authn_request.c @@ -181,7 +181,8 @@ lasso_authn_request_new(const xmlChar *providerID, if (sign_type != lassoSignatureTypeNone) { lasso_samlp_request_abstract_set_signature_tmpl(LASSO_SAMLP_REQUEST_ABSTRACT(request), sign_type, - sign_method); + sign_method, + id); } /* ProviderID */ lasso_lib_authn_request_set_providerID(LASSO_LIB_AUTHN_REQUEST(request), diff --git a/lasso/Attic/protocols/logout_request.c b/lasso/Attic/protocols/logout_request.c index 14dc13b7..ef1af151 100644 --- a/lasso/Attic/protocols/logout_request.c +++ b/lasso/Attic/protocols/logout_request.c @@ -69,10 +69,12 @@ GType lasso_logout_request_get_type() { } LassoNode * -lasso_logout_request_new(gchar *providerID, - gchar *nameIdentifier, - gchar *nameQualifier, - gchar *format) +lasso_logout_request_new(gchar *providerID, + gchar *nameIdentifier, + gchar *nameQualifier, + gchar *format, + lassoSignatureType sign_type, + lassoSignatureMethod sign_method) { LassoNode *request, *identifier; xmlChar *id, *time; @@ -83,7 +85,6 @@ lasso_logout_request_new(gchar *providerID, id = lasso_build_unique_id(32); lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request), (const xmlChar *)id); - xmlFree(id); /* MajorVersion */ lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request), lassoLibMajorVersion); @@ -95,6 +96,17 @@ lasso_logout_request_new(gchar *providerID, lasso_samlp_request_abstract_set_issueInstant(LASSO_SAMLP_REQUEST_ABSTRACT(request), (const xmlChar *)time); xmlFree(time); + + /* set the signature template */ + if (sign_type != lassoSignatureTypeNone) { + lasso_samlp_request_abstract_set_signature_tmpl(LASSO_SAMLP_REQUEST_ABSTRACT(request), + sign_type, + sign_method, + id); + } + + xmlFree(id); + /* ProviderID */ lasso_lib_logout_request_set_providerID(LASSO_LIB_LOGOUT_REQUEST(request), providerID); diff --git a/lasso/Attic/protocols/logout_request.h b/lasso/Attic/protocols/logout_request.h index a54378aa..dea4261d 100644 --- a/lasso/Attic/protocols/logout_request.h +++ b/lasso/Attic/protocols/logout_request.h @@ -54,10 +54,12 @@ struct _LassoLogoutRequestClass { LASSO_EXPORT GType lasso_logout_request_get_type (void); -LASSO_EXPORT LassoNode* lasso_logout_request_new (gchar *providerID, - gchar *nameIdentifier, - gchar *nameQualifier, - gchar *format); +LASSO_EXPORT LassoNode* lasso_logout_request_new (gchar *providerID, + gchar *nameIdentifier, + gchar *nameQualifier, + gchar *format, + lassoSignatureType sign_type, + lassoSignatureMethod sign_method); LASSO_EXPORT LassoNode* lasso_logout_request_new_from_export (gchar *buffer, lassoNodeExportType export_type); diff --git a/lasso/Attic/protocols/logout_response.c b/lasso/Attic/protocols/logout_response.c index 6921daa6..b0dc822a 100644 --- a/lasso/Attic/protocols/logout_response.c +++ b/lasso/Attic/protocols/logout_response.c @@ -94,9 +94,11 @@ GType lasso_logout_response_get_type() { } LassoNode* -lasso_logout_response_new(gchar *providerID, - const gchar *statusCodeValue, - LassoNode *request) +lasso_logout_response_new(gchar *providerID, + const gchar *statusCodeValue, + LassoNode *request, + lassoSignatureType sign_type, + lassoSignatureMethod sign_method) { LassoNode *response, *ss, *ssc; xmlChar *inResponseTo, *request_providerID, *request_relayState; @@ -121,6 +123,14 @@ lasso_logout_response_new(gchar *providerID, lasso_samlp_response_abstract_set_issueInstant(LASSO_SAMLP_RESPONSE_ABSTRACT(response), (const xmlChar *)time); xmlFree(time); + + /* set the signature template */ + if (sign_type != lassoSignatureTypeNone) { + lasso_samlp_response_abstract_set_signature_tmpl(LASSO_SAMLP_RESPONSE_ABSTRACT(request), + sign_type, + sign_method); + } + /* ProviderID */ lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response), providerID); @@ -216,34 +226,34 @@ lasso_logout_response_new_from_query(gchar *query) return(response); } -LassoNode * -lasso_logout_response_new_from_request_export(gchar *buffer, - lassoNodeExportType export_type, - gchar *providerID, - gchar *statusCodeValue) -{ - LassoNode *request, *response; +/* LassoNode * */ +/* lasso_logout_response_new_from_request_export(gchar *buffer, */ +/* lassoNodeExportType export_type, */ +/* gchar *providerID, */ +/* gchar *statusCodeValue) */ +/* { */ +/* LassoNode *request, *response; */ - g_return_val_if_fail(buffer != NULL, NULL); +/* g_return_val_if_fail(buffer != NULL, NULL); */ - switch(export_type){ - case lassoNodeExportTypeQuery: - request = lasso_logout_request_new_from_export(buffer, export_type); - break; - case lassoNodeExportTypeSoap: - request = lasso_logout_request_new_from_export(buffer, export_type); - break; - default: - message(G_LOG_LEVEL_WARNING, "Invalid export type\n"); - return(NULL); - } +/* switch(export_type){ */ +/* case lassoNodeExportTypeQuery: */ +/* request = lasso_logout_request_new_from_export(buffer, export_type); */ +/* break; */ +/* case lassoNodeExportTypeSoap: */ +/* request = lasso_logout_request_new_from_export(buffer, export_type); */ +/* break; */ +/* default: */ +/* message(G_LOG_LEVEL_WARNING, "Invalid export type\n"); */ +/* return(NULL); */ +/* } */ - response = lasso_logout_response_new(providerID, - statusCodeValue, - request); +/* response = lasso_logout_response_new(providerID, */ +/* statusCodeValue, */ +/* request); */ - return(response); -} +/* return(response); */ +/* } */ LassoNode * lasso_logout_response_new_from_soap(gchar *buffer) diff --git a/lasso/Attic/protocols/logout_response.h b/lasso/Attic/protocols/logout_response.h index 51e7be9d..d527b73d 100644 --- a/lasso/Attic/protocols/logout_response.h +++ b/lasso/Attic/protocols/logout_response.h @@ -55,17 +55,19 @@ struct _LassoLogoutResponseClass { LASSO_EXPORT GType lasso_logout_response_get_type (void); -LASSO_EXPORT LassoNode* lasso_logout_response_new (gchar *providerID, - const gchar *statusCodeValue, - LassoNode *request); +LASSO_EXPORT LassoNode* lasso_logout_response_new (gchar *providerID, + const gchar *statusCodeValue, + LassoNode *request, + lassoSignatureType sign_type, + lassoSignatureMethod sign_method); LASSO_EXPORT LassoNode* lasso_logout_response_new_from_export (gchar *buffer, lassoNodeExportType export_type); -LASSO_EXPORT LassoNode* lasso_logout_response_new_from_request_export (gchar *buffer, - lassoNodeExportType export_type, - gchar *providerID, - gchar *statusCodeValue); +/* LASSO_EXPORT LassoNode* lasso_logout_response_new_from_request_export (gchar *buffer, */ +/* lassoNodeExportType export_type, */ +/* gchar *providerID, */ +/* gchar *statusCodeValue); */ #ifdef __cplusplus } diff --git a/lasso/Attic/protocols/request.c b/lasso/Attic/protocols/request.c index 170be949..f0fdf944 100644 --- a/lasso/Attic/protocols/request.c +++ b/lasso/Attic/protocols/request.c @@ -101,7 +101,8 @@ lasso_request_new(const xmlChar *assertionArtifact) FIXME: signature method */ lasso_samlp_request_abstract_set_signature_tmpl(request, lassoSignatureTypeWithX509, - lassoSignatureMethodRsaSha1); + lassoSignatureMethodRsaSha1, + NULL); /* AssertionArtifact */ lasso_samlp_request_set_assertionArtifact(LASSO_SAMLP_REQUEST(request), |