diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-04-01 12:48:15 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-04-01 12:48:15 +0000 |
| commit | ea716033fd1acfa32dfc721a663088ec02550733 (patch) | |
| tree | 9e71590aa829ee4df587411b7cf5f855344e0e93 | |
| parent | d12148196477f60c005fd0023db38bf1207483f4 (diff) | |
add methods lasso_build_full_logoutRequest lasso_build_full_logoutResponse
| -rw-r--r-- | lasso/Attic/protocols/logout.c | 202 | ||||
| -rw-r--r-- | lasso/Attic/protocols/logout.h | 22 |
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__ */ |
