summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-03-30 08:55:37 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-03-30 08:55:37 +0000
commitad962a15daf75b87d7fedbbbb9ed407a28058f67 (patch)
treed47b21dcee20157028e2203425ac753f07969196
parent54aaf688c6d72a1ffa796bfc5ae74040ed4f56a1 (diff)
downloadlasso-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.c21
-rw-r--r--lasso/Attic/protocols/federation_termination_notification.h8
-rw-r--r--lasso/Attic/protocols/logout.c57
-rw-r--r--lasso/Attic/protocols/logout.h21
-rw-r--r--lasso/Attic/protocols/register_name_identifier.c71
-rw-r--r--lasso/Attic/protocols/register_name_identifier.h22
-rw-r--r--lasso/Attic/protocols/single_sign_on_and_federation.c61
-rw-r--r--lasso/Attic/protocols/single_sign_on_and_federation.h8
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