summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-04-01 12:48:15 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-04-01 12:48:15 +0000
commitea716033fd1acfa32dfc721a663088ec02550733 (patch)
tree9e71590aa829ee4df587411b7cf5f855344e0e93
parentd12148196477f60c005fd0023db38bf1207483f4 (diff)
add methods lasso_build_full_logoutRequest lasso_build_full_logoutResponse
-rw-r--r--lasso/Attic/protocols/logout.c202
-rw-r--r--lasso/Attic/protocols/logout.h22
2 files changed, 177 insertions, 47 deletions
diff --git a/lasso/Attic/protocols/logout.c b/lasso/Attic/protocols/logout.c
index c1cbe55b..53a16f65 100644
--- a/lasso/Attic/protocols/logout.c
+++ b/lasso/Attic/protocols/logout.c
@@ -1,65 +1,155 @@
#include <lasso/protocols/logout.h>
+LassoNode *lasso_build_full_logoutRequest(const char *requestID,
+ const xmlChar *majorVersion,
+ const xmlChar *minorVersion,
+ const xmlChar *issueInstant,
+ const xmlChar *providerID,
+ LassoNode *nameIdentifier,
+ const xmlChar *sessionIndex,
+ const xmlChar *relayState,
+ const xmlChar *consent)
+{
+ LassoNode *request;
+
+ request = lasso_lib_logout_request_new();
+
+ if(requestID!=NULL){
+ lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ requestID);
+ }
+ else{
+ lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ (const xmlChar *)lasso_build_unique_id(32));
+ }
+
+ if(majorVersion!=NULL){
+ lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ majorVersion);
+ }
+ else{
+ lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ lassoLibMajorVersion);
+ }
+
+ if(minorVersion!=NULL){
+ lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ minorVersion);
+ }
+ else{
+ lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ lassoLibMinorVersion);
+ }
+
+ if(issueInstant!=NULL){
+ lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ issueInstant);
+ }
+ else{
+ lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
+ lasso_get_current_time());
+ }
+
+ lasso_lib_logout_request_set_providerID(LASSO_LIB_LOGOUT_REQUEST(request),
+ providerID);
+
+
+ lasso_lib_logout_request_set_nameIdentifier(LASSO_LIB_LOGOUT_REQUEST(request),
+ nameIdentifier);
+
+ if(sessionIndex){
+ lasso_lib_logout_request_set_sessionIndex(LASSO_LIB_LOGOUT_REQUEST(request),
+ sessionIndex);
+ }
+
+ if(relayState){
+ lasso_lib_logout_request_set_relayState(LASSO_LIB_LOGOUT_REQUEST(request),
+ relayState);
+ }
+
+ if(consent){
+ lasso_lib_logout_request_set_consent(LASSO_LIB_LOGOUT_REQUEST(request),
+ consent);
+ }
+
+}
+
LassoNode *lasso_build_logoutRequest(const xmlChar *providerID,
- LassoNode *nameIdentifier,
+ LassoNode *nameIdentifier,
const xmlChar *sessionIndex,
const xmlChar *relayState,
const xmlChar *consent)
{
- LassoNode *request;
+ LassoNode *request;
- request = lasso_lib_logout_request_new();
-
- lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
- (const xmlChar *)lasso_build_unique_id(32));
- lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
- lassoLibMinorVersion);
- lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
- lasso_get_current_time());
- lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
- lassoLibMajorVersion);
-
- lasso_lib_logout_request_set_providerID(LASSO_LIB_LOGOUT_REQUEST(request),
- providerID);
-
- lasso_lib_logout_request_set_nameIdentifier(LASSO_LIB_LOGOUT_REQUEST(request),
- nameIdentifier);
-
- if(sessionIndex){
- lasso_lib_logout_request_set_sessionIndex(LASSO_LIB_LOGOUT_REQUEST(request),
- sessionIndex);
- }
-
- if(relayState){
- lasso_lib_logout_request_set_relayState(LASSO_LIB_LOGOUT_REQUEST(request),
- relayState);
- }
-
- if(consent){
- lasso_lib_logout_request_set_consent(LASSO_LIB_LOGOUT_REQUEST(request), consent);
- }
-
- return(request);
+ request = lasso_build_full_logoutRequest(NULL,
+ NULL,
+ NULL,
+ NULL,
+ providerID,
+ nameIdentifier,
+ sessionIndex,
+ relayState,
+ consent);
+ return(request);
}
-LassoNode *lasso_build_logoutResponse(LassoNode *request,
- const xmlChar *providerID,
- const xmlChar *statusCodeValue,
- const xmlChar *relayState)
+LassoNode *lasso_build_full_logoutResponse(const xmlChar *responseID,
+ const xmlChar *majorVersion,
+ const xmlChar *minorVersion,
+ const xmlChar *issueInstant,
+ const xmlChar *inResponseTo,
+ const xmlChar *recipient,
+ const xmlChar *providerID,
+ const xmlChar *statusCodeValue,
+ const xmlChar *relayState)
{
LassoNode *response, *ss, *ssc;
response = lasso_lib_logout_response_new();
- lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
- (const xmlChar *)lasso_build_unique_id(32));
- lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
- lassoLibMinorVersion);
- lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
- lassoLibMajorVersion);
- lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
- lasso_get_current_time());
+ if(responseID!=NULL){
+ lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ responseID);
+ }
+ else{
+ lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ (const xmlChar *)lasso_build_unique_id(32));
+ }
+
+ if(majorVersion!=NULL){
+ lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ majorVersion);
+ }
+ else{
+ lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ lassoLibMajorVersion);
+ }
+
+ if(minorVersion!=NULL){
+ lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ minorVersion);
+ }
+ else{
+ lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ lassoLibMinorVersion);
+ }
+
+ if(issueInstant!=NULL){
+ lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ issueInstant);
+ }
+ else{
+ lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ lasso_get_current_time());
+ }
+
+ lasso_samlp_response_abstract_set_inResponseTo(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ inResponseTo);
+
+ lasso_samlp_response_abstract_set_recipient(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
+ recipient);
lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response),
providerID);
@@ -77,3 +167,23 @@ LassoNode *lasso_build_logoutResponse(LassoNode *request,
return(response);
}
+
+LassoNode *lasso_build_logoutResponse(LassoNode *request,
+ const xmlChar *providerID,
+ const xmlChar *statusCodeValue,
+ const xmlChar *relayState)
+{
+ LassoNode *response;
+
+ response = lasso_build_full_logoutResponse(NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ providerID,
+ statusCodeValue,
+ relayState);
+ return(response);
+}
+
diff --git a/lasso/Attic/protocols/logout.h b/lasso/Attic/protocols/logout.h
index db091930..383a22ca 100644
--- a/lasso/Attic/protocols/logout.h
+++ b/lasso/Attic/protocols/logout.h
@@ -3,15 +3,35 @@
#include <lasso/lasso.h>
+LassoNode *lasso_build_full_logoutRequest(const char *requestID,
+ const xmlChar *majorVersion,
+ const xmlChar *minorVersion,
+ const xmlChar *issueInstant,
+ const xmlChar *providerID,
+ LassoNode *nameIdentifier,
+ const xmlChar *sessionIndex,
+ const xmlChar *relayState,
+ const xmlChar *consent);
+
LassoNode *lasso_build_logoutRequest(const xmlChar *providerID,
LassoNode *nameIdentifier,
const xmlChar *sessionIndex,
const xmlChar *relayState,
const xmlChar *consent);
+LassoNode *lasso_build_full_logoutResponse(const xmlChar *responseID,
+ const xmlChar *majorVersion,
+ const xmlChar *minorVersion,
+ const xmlChar *issueInstant,
+ const xmlChar *inResponseTo,
+ const xmlChar *recipient,
+ const xmlChar *providerID,
+ const xmlChar *statusCodeValue,
+ const xmlChar *relayState);
+
LassoNode *lasso_build_logoutResponse(LassoNode *request,
const xmlChar *providerID,
- const xmlChar *codeValue,
+ const xmlChar *statusCodeValue,
const xmlChar *relayState);
#endif /* __LOGOUT_H__ */