diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-03-30 08:55:37 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-03-30 08:55:37 +0000 |
| commit | ad962a15daf75b87d7fedbbbb9ed407a28058f67 (patch) | |
| tree | d47b21dcee20157028e2203425ac753f07969196 | |
| parent | 54aaf688c6d72a1ffa796bfc5ae74040ed4f56a1 (diff) | |
| download | lasso-ad962a15daf75b87d7fedbbbb9ed407a28058f67.tar.gz lasso-ad962a15daf75b87d7fedbbbb9ed407a28058f67.tar.xz lasso-ad962a15daf75b87d7fedbbbb9ed407a28058f67.zip | |
fix type parameters from const char to const xmlChar. add function to build response
| -rw-r--r-- | lasso/Attic/protocols/federation_termination_notification.c | 21 | ||||
| -rw-r--r-- | lasso/Attic/protocols/federation_termination_notification.h | 8 | ||||
| -rw-r--r-- | lasso/Attic/protocols/logout.c | 57 | ||||
| -rw-r--r-- | lasso/Attic/protocols/logout.h | 21 | ||||
| -rw-r--r-- | lasso/Attic/protocols/register_name_identifier.c | 71 | ||||
| -rw-r--r-- | lasso/Attic/protocols/register_name_identifier.h | 22 | ||||
| -rw-r--r-- | lasso/Attic/protocols/single_sign_on_and_federation.c | 61 | ||||
| -rw-r--r-- | lasso/Attic/protocols/single_sign_on_and_federation.h | 8 |
8 files changed, 137 insertions, 132 deletions
diff --git a/lasso/Attic/protocols/federation_termination_notification.c b/lasso/Attic/protocols/federation_termination_notification.c index ac8bd82c..f1800711 100644 --- a/lasso/Attic/protocols/federation_termination_notification.c +++ b/lasso/Attic/protocols/federation_termination_notification.c @@ -1,28 +1,23 @@ #include <lasso/protocols/federation_termination_notification.h> -xmlChar *lasso_build_url_encoded_message_federationTerminationNotification(LassoNode *request) -{ - -} - -LassoNode *lasso_build_federationTerminationNotification(const char *metadata, - LassoNode *nameIdentifier, - const char *consent) +LassoNode *lasso_build_federationTerminationNotification(const xmlChar *providerID, + LassoNode *nameIdentifier, + const xmlChar *consent) { LassoNode *notification; notification = lasso_lib_federation_termination_notification_new(); lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(notification), - (const xmlChar *)lasso_build_unique_id(32)); + (const xmlChar *)lasso_build_unique_id(32)); lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(notification), - lassoLibMinorVersion); + lassoLibMinorVersion); lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(notification), - lasso_get_current_time()); + lasso_get_current_time()); lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(notification), - lassoLibMajorVersion); + lassoLibMajorVersion); - lasso_lib_federation_termination_notification_set_providerID(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(notification), "badproviderid.com"); // FIXME + lasso_lib_federation_termination_notification_set_providerID(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(notification), providerID); lasso_lib_federation_termination_notification_set_nameIdentifier(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(notification), nameIdentifier); diff --git a/lasso/Attic/protocols/federation_termination_notification.h b/lasso/Attic/protocols/federation_termination_notification.h index 53b0c4ad..c4b9f2f5 100644 --- a/lasso/Attic/protocols/federation_termination_notification.h +++ b/lasso/Attic/protocols/federation_termination_notification.h @@ -28,10 +28,8 @@ e Place, Suite 330, Boston, MA 02111-1307 USA #include <lasso/lasso.h> -xmlChar *lasso_build_url_encoded_message_federationTerminationNotification(LassoNode *); - -LassoNode *lasso_build_federationTerminationNotification(const char *metadata, - LassoNode *nameIdentifier, - const char *consent); +LassoNode *lasso_build_federationTerminationNotification(const xmlChar *providerID, + LassoNode *nameIdentifier, + const xmlChar *consent); #endif /* __FEDERATION_TERMINATION_NOTIFICATION_H__ */ diff --git a/lasso/Attic/protocols/logout.c b/lasso/Attic/protocols/logout.c index 4105694b..c1cbe55b 100644 --- a/lasso/Attic/protocols/logout.c +++ b/lasso/Attic/protocols/logout.c @@ -1,41 +1,38 @@ #include <lasso/protocols/logout.h> -xmlChar *lasso_build_url_encoded_message_logoutRequest(LassoNode *request) -{ - -} - -LassoNode *lasso_build_logoutRequest(const char *metadata, - LassoNode *nameIdentifier, - const char *sessionIndex, - const char *relayState, - const char *consent) +LassoNode *lasso_build_logoutRequest(const xmlChar *providerID, + LassoNode *nameIdentifier, + const xmlChar *sessionIndex, + const xmlChar *relayState, + const xmlChar *consent) { 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)); + (const xmlChar *)lasso_build_unique_id(32)); lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request), - lassoLibMinorVersion); + lassoLibMinorVersion); lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request), - lasso_get_current_time()); + lasso_get_current_time()); lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request), - lassoLibMajorVersion); + lassoLibMajorVersion); lasso_lib_logout_request_set_providerID(LASSO_LIB_LOGOUT_REQUEST(request), - "badproviderid.com"); // FIXME + providerID); - lasso_lib_logout_request_set_nameIdentifier(LASSO_LIB_LOGOUT_REQUEST(request), nameIdentifier); + 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); + 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); + relayState); } if(consent){ @@ -46,31 +43,26 @@ LassoNode *lasso_build_logoutRequest(const char *metadata, } - -xmlChar *lasso_build_url_encoded_message_logoutResponse(LassoNode *response) -{ - -} - LassoNode *lasso_build_logoutResponse(LassoNode *request, - const char *statusCodeValue, - const char *relayState) + 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)); + (const xmlChar *)lasso_build_unique_id(32)); lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lassoLibMinorVersion); + lassoLibMinorVersion); lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lassoLibMajorVersion); + lassoLibMajorVersion); lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_get_current_time()); + lasso_get_current_time()); lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response), - "badproviderid.com"); // FIXME + providerID); ss = lasso_samlp_status_new(); ssc = lasso_samlp_status_code_new(); @@ -79,7 +71,8 @@ LassoNode *lasso_build_logoutResponse(LassoNode *request, lasso_samlp_response_set_status(LASSO_SAMLP_RESPONSE(response), LASSO_SAMLP_STATUS(ss)); if(relayState){ - lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response), relayState); + lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response), + relayState); } return(response); diff --git a/lasso/Attic/protocols/logout.h b/lasso/Attic/protocols/logout.h index 11ddf6f6..db091930 100644 --- a/lasso/Attic/protocols/logout.h +++ b/lasso/Attic/protocols/logout.h @@ -3,18 +3,15 @@ #include <lasso/lasso.h> -xmlChar *lasso_build_url_encoded_message_logoutRequest(LassoNode *); +LassoNode *lasso_build_logoutRequest(const xmlChar *providerID, + LassoNode *nameIdentifier, + const xmlChar *sessionIndex, + const xmlChar *relayState, + const xmlChar *consent); -LassoNode *lasso_build_logoutRequest(const char *metadata, - LassoNode *nameIdentifier, - const char *sessionIndex, - const char *relayState, - const char *consent); - -xmlChar *lasso_build_url_encoded_message_logoutResponse(LassoNode *); - -LassoNode *lasso_build_logoutResponse(LassoNode *request, - const char*codeValue, - const char*relayState); +LassoNode *lasso_build_logoutResponse(LassoNode *request, + const xmlChar *providerID, + const xmlChar *codeValue, + const xmlChar *relayState); #endif /* __LOGOUT_H__ */ diff --git a/lasso/Attic/protocols/register_name_identifier.c b/lasso/Attic/protocols/register_name_identifier.c index 4c555856..b5d32ec4 100644 --- a/lasso/Attic/protocols/register_name_identifier.c +++ b/lasso/Attic/protocols/register_name_identifier.c @@ -1,78 +1,67 @@ #include <lasso/protocols/register_name_identifier.h> -xmlChar *lasso_build_url_encoded_message_registerNameIdentifierRequest(LassoNode *request) -{ - -} - -LassoNode *lasso_build_registerNameIdentifierRequest(const char *metadata, - LassoNode *idpProvidedNameIdentifer, - LassoNode *spProvidedNameIdentifier, - LassoNode *oldProvidedNameIdentifier, - const char *relayState) +LassoNode *lasso_build_registerNameIdentifierRequest(const xmlChar *providerID, + LassoNode *idpProvidedNameIdentifer, + LassoNode *spProvidedNameIdentifier, + LassoNode *oldProvidedNameIdentifier, + const xmlChar *relayState) { LassoNode *request; - + request = lasso_lib_register_name_identifier_request_new(); - + lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request), - (const xmlChar *)lasso_build_unique_id(32)); + (const xmlChar *)lasso_build_unique_id(32)); lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request), - lassoLibMinorVersion); + lassoLibMinorVersion); lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request), - lasso_get_current_time()); + lasso_get_current_time()); lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request), - lassoLibMajorVersion); + lassoLibMajorVersion); - lasso_lib_register_name_identifier_request_set_providerID(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST( - request), - "badproviderid.com"); // FIXME + lasso_lib_register_name_identifier_request_set_providerID(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), providerID); lasso_lib_register_name_identifier_request_set_idp_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), idpProvidedNameIdentifer); - + lasso_lib_register_name_identifier_request_set_sp_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), spProvidedNameIdentifier); - - lasso_lib_register_name_identifier_request_set_old_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), oldProvidedNameIdentifier); - + + lasso_lib_register_name_identifier_request_set_old_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), oldProvidedNameIdentifier); + if(relayState){ - lasso_lib_register_name_identifier_request_set_relayState(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), relayState); + lasso_lib_register_name_identifier_request_set_relayState(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), relayState); } - + return(request); } -xmlChar *lasso_build_url_encoded_message_registerNameIdentifierResponse(LassoNode *response) -{ - -} - -LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *response, - const char *statusCodeValue, - const char *relayState) +LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *request, + const xmlChar *providerID, + const xmlChar *statusCodeValue, + const xmlChar *relayState) { LassoNode *response, *ss, *ssc; response = lasso_lib_register_name_identifier_response_new(); lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - (const xmlChar *)lasso_build_unique_id(32)); + (const xmlChar *)lasso_build_unique_id(32)); lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lassoLibMinorVersion); + lassoLibMinorVersion); lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lassoLibMajorVersion); + lassoLibMajorVersion); lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_get_current_time()); - + lasso_get_current_time()); + lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response), - "badproviderid.com"); // FIXME - + providerID); + ss = lasso_samlp_status_new(); ssc = lasso_samlp_status_code_new(); lasso_samlp_status_code_set_value(LASSO_SAMLP_STATUS_CODE(ssc), statusCodeValue); lasso_samlp_status_set_statusCode(LASSO_SAMLP_STATUS(ss), LASSO_SAMLP_STATUS_CODE(ssc)); lasso_samlp_response_set_status(LASSO_SAMLP_RESPONSE(response), LASSO_SAMLP_STATUS(ss)); - + if(relayState){ lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response), relayState); } diff --git a/lasso/Attic/protocols/register_name_identifier.h b/lasso/Attic/protocols/register_name_identifier.h index ccc7bd59..0914a28a 100644 --- a/lasso/Attic/protocols/register_name_identifier.h +++ b/lasso/Attic/protocols/register_name_identifier.h @@ -3,19 +3,15 @@ #include <lasso/lasso.h> -xmlChar *lasso_build_url_encoded_message_registerNameIdentifierRequest(LassoNode *); - -LassoNode *lasso_build_registerNameIdentifierRequest(const char *metadata, - LassoNode *idpProvidedNameIdentifer, - LassoNode *spProvidedNameIdentifier, - LassoNode *oldProvidedNameIdentifier, - const char *relayState); - -xmlChar *lasso_build_url_encoded_message_registerNameIdentifierResponse(LassoNode *); - -LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *request, - const char*codeValue, - const char*relayState); +LassoNode *lasso_build_registerNameIdentifierRequest(const xmlChar *providerID, + LassoNode *idpProvidedNameIdentifer, + LassoNode *spProvidedNameIdentifier, + LassoNode *oldProvidedNameIdentifier, + const xmlChar *relayState); +LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *request, + const xmlChar *providerID, + const xmlChar *codeValue, + const xmlChar *relayState); #endif /* __REGISTER_NAME_IDENTIFIER_H__ */ diff --git a/lasso/Attic/protocols/single_sign_on_and_federation.c b/lasso/Attic/protocols/single_sign_on_and_federation.c index 3c7a030b..d9fa4b50 100644 --- a/lasso/Attic/protocols/single_sign_on_and_federation.c +++ b/lasso/Attic/protocols/single_sign_on_and_federation.c @@ -1,11 +1,5 @@ #include <lasso/protocols/single_sign_on_and_federation.h> -xmlChar *lasso_build_url_encoded_message_authnRequest(LassoNode *request) -{ - xmlChar *authority = "https://idpprovider.com"; - xmlChar *query; -} - LassoNode *lasso_build_authnRequest(const xmlChar *providerID, const xmlChar *nameIDPolicy, const xmlChar *isPassive, @@ -20,7 +14,7 @@ LassoNode *lasso_build_authnRequest(const xmlChar *providerID, const xmlChar *consent) { LassoNode *request; - + // build AuthnRequest class request = lasso_lib_authn_request_new(); @@ -32,34 +26,73 @@ LassoNode *lasso_build_authnRequest(const xmlChar *providerID, lasso_get_current_time()); lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request), lassoLibMajorVersion); - + lasso_lib_authn_request_set_providerID(LASSO_LIB_AUTHN_REQUEST(request), providerID); - + if(nameIDPolicy){ lasso_lib_authn_request_set_nameIDPolicy(LASSO_LIB_AUTHN_REQUEST(request), nameIDPolicy); } - + if(isPassive){ lasso_lib_authn_request_set_isPassive(LASSO_LIB_AUTHN_REQUEST(request), isPassive); } - + if(forceAuthn){ lasso_lib_authn_request_set_forceAuthn(LASSO_LIB_AUTHN_REQUEST(request), forceAuthn); } - + if(assertionConsumerServiceID){ lasso_lib_authn_request_set_assertionConsumerServiceID(LASSO_LIB_AUTHN_REQUEST(request), assertionConsumerServiceID); } - + if(relayState!=NULL){ lasso_lib_authn_request_set_relayState(LASSO_LIB_AUTHN_REQUEST(request), relayState); } - + if(consent!=NULL){ lasso_lib_authn_request_set_consent(LASSO_LIB_AUTHN_REQUEST(request), consent); } return(request); } + + +LassoNode *lasso_build_authnResponse(LassoNode *request, + const xmlChar *providerID) +{ + LassoNode *response; + + response = lasso_lib_authn_response_new(); + + lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + (const xmlChar *)lasso_build_unique_id(32)); + lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response), + lassoLibMajorVersion); + lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response), + lassoLibMinorVersion); + lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(response), + lasso_get_current_time()); + + return(response); +} + +LassoNode *lasso_build_response(LassoNode *request, + const xmlChar *providerID) +{ + LassoNode *response; + + response = lasso_samlp_response_new(); + + lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + (const xmlChar *)lasso_build_unique_id(32)); + lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response), + lassoSamlMajorVersion); + lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response), + lassoSamlMinorVersion); + lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(response), + lasso_get_current_time()); + + return(response); +} diff --git a/lasso/Attic/protocols/single_sign_on_and_federation.h b/lasso/Attic/protocols/single_sign_on_and_federation.h index f29ad96b..c0a8f1e4 100644 --- a/lasso/Attic/protocols/single_sign_on_and_federation.h +++ b/lasso/Attic/protocols/single_sign_on_and_federation.h @@ -2,8 +2,7 @@ #define SINGLE_SIGN_ON_AND_FEDERATION_H #include <lasso/lasso.h> - -xmlChar *lasso_build_url_encoded_message_authnRequest(LassoNode *); +#include <glib.h> LassoNode *lasso_build_authnRequest(const xmlChar *providerID, const xmlChar *nameIDPolicy, @@ -18,4 +17,9 @@ LassoNode *lasso_build_authnRequest(const xmlChar *providerID, const xmlChar **idpList, const xmlChar *consent); +LassoNode *lasso_build_authnResponse(LassoNode *request, + const xmlChar *providerID); + +LassoNode *lasso_build_response(LassoNode *request, + const xmlChar *providerID); #endif |
