diff options
author | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-08-28 21:37:18 +0000 |
---|---|---|
committer | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-08-28 21:37:18 +0000 |
commit | 2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6 (patch) | |
tree | 3d67453696feef0f31d5bddb10570154a4fe3f4b | |
parent | 2988cacb8d34cba4c8c2479996a4d672ed6bce45 (diff) | |
download | lasso-2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6.tar.gz lasso-2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6.tar.xz lasso-2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6.zip |
SWIG now produces high-level bindings.
(python/Makefile.am needs some cleaning IMHO, but I don't understant it).
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | lasso/Attic/protocols/artifact.c | 44 | ||||
-rw-r--r-- | lasso/Attic/protocols/provider.c | 64 | ||||
-rw-r--r-- | lasso/id-ff/login.c | 36 | ||||
-rw-r--r-- | lasso/id-ff/server.c | 18 | ||||
-rw-r--r-- | lasso/xml/errors.c | 16 | ||||
-rw-r--r-- | lasso/xml/errors.h | 20 | ||||
-rw-r--r-- | lasso/xml/saml_assertion.c | 2 | ||||
-rw-r--r-- | lasso/xml/samlp_request_abstract.c | 6 | ||||
-rw-r--r-- | lasso/xml/samlp_response_abstract.c | 6 | ||||
-rw-r--r-- | lasso/xml/xml.c | 74 | ||||
-rw-r--r-- | python/Makefile.am | 16 | ||||
-rw-r--r-- | python/lasso.py | 715 | ||||
-rwxr-xr-x | python/tests/profiles_tests.py | 10 | ||||
-rw-r--r-- | swig/Lasso.i | 1186 |
15 files changed, 1156 insertions, 1063 deletions
diff --git a/configure.ac b/configure.ac index a4109089..4234bdec 100644 --- a/configure.ac +++ b/configure.ac @@ -338,7 +338,7 @@ AM_CONDITIONAL([PYTHON_ENABLED],[test "x$enable_python" = "xyes"]) AC_MSG_RESULT($enable_python) AC_SUBST(PYTHON_VERSION) -dnl Check if python is explicitly disabled. +dnl Check if php is explicitly disabled. AC_ARG_ENABLE(php, [ --disable-php disable the PHP bindings],, enable_php="yes") @@ -356,7 +356,7 @@ if test "X$PHP_CONFIG" != X ; then PHP_UNPREFIXED_EXTENSION_DIR=`$PHP_CONFIG --extension-dir | $SED 's/\/usr//g'` PHP_PREFIX=`$PHP_CONFIG --prefix` else - # This allows 'make clean' in the python directory to work when + # This allows 'make clean' in the php directory to work when # php isn't available PHP=: PHP_INCLUDES= @@ -618,7 +618,7 @@ dnl ========================================================================== dnl Final steps: lasso config dnl ========================================================================== LASSO_CORE_CFLAGS="$LASSO_DEFINES" -dnl -I${includedir}" +dnl -I${includedir} if test $MINGW -eq 1; then LASSO_CORE_LIBS="-llasso-0" else diff --git a/lasso/Attic/protocols/artifact.c b/lasso/Attic/protocols/artifact.c index 15cff94c..003770f5 100644 --- a/lasso/Attic/protocols/artifact.c +++ b/lasso/Attic/protocols/artifact.c @@ -75,14 +75,14 @@ lasso_artifact_get_assertionHandle(LassoArtifact *artifact, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_ARTIFACT(artifact) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); } @@ -115,17 +115,17 @@ lasso_artifact_get_byteCode(LassoArtifact *artifact, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, - LASSO_PARAM_ERROR_ERR_CHECK_FAILED); + LASSO_PARAM_ERROR_CHECK_FAILED); } if (LASSO_IS_ARTIFACT(artifact) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); } byteCode = lasso_node_get_child_content(LASSO_NODE(artifact), @@ -150,14 +150,14 @@ lasso_artifact_get_b64IdentityProviderSuccinctID(LassoArtifact *artifact, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_ARTIFACT(artifact) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); } @@ -180,14 +180,14 @@ lasso_artifact_get_relayState(LassoArtifact *artifact, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_ARTIFACT(artifact) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); } @@ -209,14 +209,14 @@ lasso_artifact_get_samlArt(LassoArtifact *artifact, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_ARTIFACT(artifact) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); } diff --git a/lasso/Attic/protocols/provider.c b/lasso/Attic/protocols/provider.c index d289d6ca..72243c4f 100644 --- a/lasso/Attic/protocols/provider.c +++ b/lasso/Attic/protocols/provider.c @@ -103,14 +103,14 @@ lasso_provider_get_metadata_value(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_PROVIDER(provider) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_PROVIDER(provider), NULL); } if (name == NULL) { @@ -158,8 +158,8 @@ lasso_provider_get_assertionConsumerServiceURL(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -183,8 +183,8 @@ lasso_provider_get_authnRequestsSigned(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -209,8 +209,8 @@ lasso_provider_get_federationTerminationNotificationProtocolProfile(LassoProvide if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -235,8 +235,8 @@ lasso_provider_get_federationTerminationServiceReturnURL(LassoProvider *pro if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -261,8 +261,8 @@ lasso_provider_get_federationTerminationServiceURL(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -287,8 +287,8 @@ lasso_provider_get_nameIdentifierMappingProtocolProfile(LassoProvider *prov if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -340,8 +340,8 @@ lasso_provider_get_registerNameIdentifierProtocolProfile(LassoProvider *pro if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -366,8 +366,8 @@ lasso_provider_get_registerNameIdentifierServiceURL(LassoProvider *provider if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -391,8 +391,8 @@ lasso_provider_get_singleSignOnProtocolProfile(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -416,8 +416,8 @@ lasso_provider_get_singleSignOnServiceURL(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -442,8 +442,8 @@ lasso_provider_get_singleLogoutProtocolProfile(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -468,8 +468,8 @@ lasso_provider_get_singleLogoutServiceURL(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -494,8 +494,8 @@ lasso_provider_get_singleLogoutServiceReturnURL(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -520,8 +520,8 @@ lasso_provider_get_soapEndpoint(LassoProvider *provider, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c index 79901e82..c2f2b547 100644 --- a/lasso/id-ff/login.c +++ b/lasso/id-ff/login.c @@ -72,9 +72,9 @@ lasso_login_add_response_assertion(LassoLogin *login, GError *err = NULL; gint ret = 0; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail (LASSO_IS_FEDERATION(federation), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* get RequestID to build Assertion */ requestID = lasso_node_get_attr_value(LASSO_NODE(LASSO_PROFILE(login)->request), @@ -137,7 +137,7 @@ lasso_login_process_federation(LassoLogin *login) gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* verify if an identity exists else create it */ if (LASSO_PROFILE(login)->identity == NULL) { @@ -222,7 +222,7 @@ lasso_login_process_response_status_and_assertion(LassoLogin *login) { gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); assertion = lasso_node_get_child(LASSO_PROFILE(login)->response, "Assertion", @@ -325,7 +325,7 @@ lasso_login_accept_sso(LassoLogin *login) gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); if(LASSO_PROFILE(login)->identity == NULL) { LASSO_PROFILE(login)->identity = lasso_identity_new(); @@ -430,7 +430,7 @@ lasso_login_build_artifact_msg(LassoLogin *login, xmlChar *assertionHandle, *identityProviderSuccinctID; gint i; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(authenticationMethod != NULL && reauthenticateOnOrAfter != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); @@ -539,7 +539,7 @@ lasso_login_build_authn_request_msg(LassoLogin *login, gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(remote_providerID != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); LASSO_PROFILE(login)->remote_providerID = g_strdup(remote_providerID); @@ -657,7 +657,7 @@ lasso_login_build_authn_response_msg(LassoLogin *login, LassoProvider *remote_provider; LassoFederation *federation; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* ProtocolProfile must be BrwsPost */ if (login->protocolProfile != lassoLoginProtocolProfileBrwsPost) { @@ -703,7 +703,7 @@ lasso_login_build_request_msg(LassoLogin *login) gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* sign request */ ret= lasso_samlp_request_abstract_sign_signature_tmpl(LASSO_SAMLP_REQUEST_ABSTRACT(LASSO_PROFILE(login)->request), @@ -771,7 +771,7 @@ gint lasso_login_init_authn_request(LassoLogin *login, lassoHttpMethod http_method) { - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); if (http_method != lassoHttpMethodRedirect && http_method != lassoHttpMethodPost) { message(G_LOG_LEVEL_CRITICAL, "Invalid HTTP method, it must be REDIRECT or POST\n."); return (LASSO_PARAM_ERROR_INVALID_VALUE); @@ -812,7 +812,7 @@ lasso_login_init_from_authn_request_msg(LassoLogin *login, gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(authn_request_msg != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); if (authn_request_http_method != lassoHttpMethodRedirect && \ @@ -926,13 +926,13 @@ lasso_login_init_from_authn_request_msg(LassoLogin *login, } /* Modify StatusCode if signature is not OK */ - if (ret == LASSO_DS_ERROR_INVALID_SIGNATURE || ret == LASSO_DS_ERROR_SIGNATURE_NOTFOUND) { + if (ret == LASSO_DS_ERROR_INVALID_SIGNATURE || ret == LASSO_DS_ERROR_SIGNATURE_NOT_FOUND) { switch (ret) { case LASSO_DS_ERROR_INVALID_SIGNATURE: lasso_profile_set_response_status(LASSO_PROFILE(login), lassoLibStatusCodeInvalidSignature); break; - case LASSO_DS_ERROR_SIGNATURE_NOTFOUND: /* Unsigned AuthnRequest */ + case LASSO_DS_ERROR_SIGNATURE_NOT_FOUND: /* Unsigned AuthnRequest */ lasso_profile_set_response_status(LASSO_PROFILE(login), lassoLibStatusCodeUnsignedAuthnRequest); break; @@ -953,7 +953,7 @@ lasso_login_init_request(LassoLogin *login, gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(response_msg != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); if (response_http_method != lassoHttpMethodRedirect && \ @@ -1013,7 +1013,7 @@ lasso_login_must_authenticate(LassoLogin *login) gboolean forceAuthn = FALSE; gchar *str; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* verify if the user must be authenticated or not */ str = lasso_node_get_child_content(LASSO_PROFILE(login)->request, "IsPassive", @@ -1052,7 +1052,7 @@ lasso_login_process_authn_response_msg(LassoLogin *login, gint ret1 = 0, ret2 = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(authn_response_msg != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); LASSO_PROFILE(login)->response = lasso_authn_response_new_from_export(authn_response_msg, @@ -1086,7 +1086,7 @@ lasso_login_process_request_msg(LassoLogin *login, gint ret = 0; GError *err = NULL; - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(request_msg != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); /* rebuild samlp:Request with request_msg */ @@ -1115,7 +1115,7 @@ gint lasso_login_process_response_msg(LassoLogin *login, gchar *response_msg) { - g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(response_msg != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); /* rebuild samlp:Response with response_msg */ diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c index 7bdfd051..aac8b04a 100644 --- a/lasso/id-ff/server.c +++ b/lasso/id-ff/server.c @@ -70,7 +70,7 @@ lasso_server_add_provider(LassoServer *server, { LassoProvider *provider; - g_return_val_if_fail(LASSO_IS_SERVER(server), LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + g_return_val_if_fail(LASSO_IS_SERVER(server), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); g_return_val_if_fail(metadata != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); provider = lasso_provider_new(metadata, public_key, ca_certificate); @@ -199,8 +199,8 @@ lasso_server_get_provider(LassoServer *server, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } @@ -227,14 +227,14 @@ lasso_server_get_provider_ref(LassoServer *server, if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_SERVER(server) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_SERVER(server), NULL); } if (providerID == NULL) { @@ -260,8 +260,8 @@ lasso_server_get_provider_ref(LassoServer *server, /* no provider was found */ g_set_error(err, g_quark_from_string("Lasso"), - LASSO_SERVER_ERROR_PROVIDER_NOTFOUND, - lasso_strerror(LASSO_SERVER_ERROR_PROVIDER_NOTFOUND), + LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND, + lasso_strerror(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND), providerID); /* print error msg here so that caller just check err->code */ message(G_LOG_LEVEL_CRITICAL, err[0]->message); diff --git a/lasso/xml/errors.c b/lasso/xml/errors.c index c67830be..9c15bd50 100644 --- a/lasso/xml/errors.c +++ b/lasso/xml/errors.c @@ -33,13 +33,13 @@ lasso_strerror(int error_code) char msg[256]; switch (error_code) { - case LASSO_XML_ERROR_NODE_NOTFOUND: + case LASSO_XML_ERROR_NODE_NOT_FOUND: return "Unable to get '%s' child of '%s' element.\n"; - case LASSO_XML_ERROR_NODE_CONTENT_NOTFOUND: + case LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND: return "Unable to get content of '%s' element.\n"; - case LASSO_XML_ERROR_ATTR_NOTFOUND: + case LASSO_XML_ERROR_ATTR_NOT_FOUND: return "Unable to get '%s' attribute of '%s' element.\n"; - case LASSO_XML_ERROR_ATTR_VALUE_NOTFOUND: + case LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND: return "Unable to get '%s' attribute value of '%s' element.\n"; case LASSO_DS_ERROR_CONTEXT_CREATION_FAILED: @@ -52,7 +52,7 @@ lasso_strerror(int error_code) return "Failed to load certificate %s.\n"; case LASSO_DS_ERROR_SIGNATURE_FAILED: return "Failed to sign the node %s.\n"; - case LASSO_DS_ERROR_SIGNATURE_NOTFOUND: + case LASSO_DS_ERROR_SIGNATURE_NOT_FOUND: return "Signature element not found in %s.\n"; case LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED: return "Failed to create keys manager.\n"; @@ -63,7 +63,7 @@ lasso_strerror(int error_code) case LASSO_DS_ERROR_INVALID_SIGNATURE: return "The signature of %s is invalid.\n"; - case LASSO_SERVER_ERROR_PROVIDER_NOTFOUND: + case LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND: return "Failed to get LassoProvider object with providerID %s in LassoServer object.\n"; case LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE: @@ -72,11 +72,11 @@ lasso_strerror(int error_code) case LASSO_PROFILE_ERROR_INVALID_QUERY: return "Error while parsing query message\n"; - case LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ: + case LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ: return "An object type provided as parameter is invalid or object is NULL.\n"; case LASSO_PARAM_ERROR_INVALID_VALUE: return "A parameter value is invalid.\n"; - case LASSO_PARAM_ERROR_ERR_CHECK_FAILED: + case LASSO_PARAM_ERROR_CHECK_FAILED: return "The error return location should be either NULL or contains a NULL error.\n"; default: diff --git a/lasso/xml/errors.h b/lasso/xml/errors.h index e8ceedf1..7f5ef330 100644 --- a/lasso/xml/errors.h +++ b/lasso/xml/errors.h @@ -23,10 +23,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LASSO_XML_ERROR_NODE_NOTFOUND -10 -#define LASSO_XML_ERROR_NODE_CONTENT_NOTFOUND -11 -#define LASSO_XML_ERROR_ATTR_NOTFOUND -12 -#define LASSO_XML_ERROR_ATTR_VALUE_NOTFOUND -13 +#define LASSO_XML_ERROR_NODE_NOT_FOUND -10 +#define LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND -11 +#define LASSO_XML_ERROR_ATTR_NOT_FOUND -12 +#define LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND -13 #define LASSO_DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED -101 #define LASSO_DS_ERROR_CONTEXT_CREATION_FAILED -102 @@ -34,23 +34,23 @@ #define LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED -104 #define LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED -105 #define LASSO_DS_ERROR_SIGNATURE_FAILED -106 -#define LASSO_DS_ERROR_SIGNATURE_NOTFOUND -107 +#define LASSO_DS_ERROR_SIGNATURE_NOT_FOUND -107 #define LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED -108 #define LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED -109 #define LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED -110 #define LASSO_DS_ERROR_INVALID_SIGNATURE -111 -#define LASSO_SERVER_ERROR_PROVIDER_NOTFOUND -201 +#define LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND -201 #define LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED -202 #define LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE -301 #define LASSO_PROFILE_ERROR_INVALID_QUERY -401 -#define LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ -501 -#define LASSO_PARAM_ERROR_INVALID_VALUE -502 -#define LASSO_PARAM_ERROR_ERR_CHECK_FAILED -503 +#define LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ -501 +#define LASSO_PARAM_ERROR_INVALID_VALUE -502 +#define LASSO_PARAM_ERROR_CHECK_FAILED -503 -#define LASSO_ERROR_UNDEFINED -999 +#define LASSO_ERROR_UNDEFINED -999 const char* lasso_strerror(int error_code); diff --git a/lasso/xml/saml_assertion.c b/lasso/xml/saml_assertion.c index 581410c8..0db42e42 100644 --- a/lasso/xml/saml_assertion.c +++ b/lasso/xml/saml_assertion.c @@ -266,7 +266,7 @@ lasso_saml_assertion_set_signature(LassoSamlAssertion *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_SAML_ASSERTION(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); diff --git a/lasso/xml/samlp_request_abstract.c b/lasso/xml/samlp_request_abstract.c index 9b02c975..334dcd82 100644 --- a/lasso/xml/samlp_request_abstract.c +++ b/lasso/xml/samlp_request_abstract.c @@ -132,7 +132,7 @@ lasso_samlp_request_abstract_set_signature(LassoSamlpRequestAbstract *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_SAMLP_REQUEST_ABSTRACT(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); @@ -151,7 +151,7 @@ lasso_samlp_request_abstract_set_signature_tmpl(LassoSamlpRequestAbstract *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_SAMLP_REQUEST_ABSTRACT(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); @@ -166,7 +166,7 @@ lasso_samlp_request_abstract_sign_signature_tmpl(LassoSamlpRequestAbstract *node LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_SAMLP_REQUEST_ABSTRACT(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); diff --git a/lasso/xml/samlp_response_abstract.c b/lasso/xml/samlp_response_abstract.c index d3d400d8..c5a2ca3f 100644 --- a/lasso/xml/samlp_response_abstract.c +++ b/lasso/xml/samlp_response_abstract.c @@ -145,7 +145,7 @@ lasso_samlp_response_abstract_set_signature(LassoSamlpResponseAbstract *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_SAMLP_RESPONSE_ABSTRACT(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); @@ -163,7 +163,7 @@ lasso_samlp_response_abstract_set_signature_tmpl(LassoSamlpResponseAbstract *nod LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_SAMLP_RESPONSE_ABSTRACT(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); @@ -178,7 +178,7 @@ lasso_samlp_response_abstract_sign_signature_tmpl(LassoSamlpResponseAbstract *no LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_SAMLP_RESPONSE_ABSTRACT(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c index 1232d0e3..223087f7 100644 --- a/lasso/xml/xml.c +++ b/lasso/xml/xml.c @@ -200,14 +200,14 @@ lasso_node_get_attr(LassoNode *node, LassoNodeClass *class; if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_NODE(node) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_NODE(node), NULL); } /* don't check @name here, it's checked in impl method */ @@ -235,14 +235,14 @@ lasso_node_get_attr_value(LassoNode *node, LassoNodeClass *class; if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_NODE(node) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_NODE(node), NULL); } /* don't check @name here, it's checked in impl method */ @@ -289,14 +289,14 @@ lasso_node_get_child(LassoNode *node, LassoNodeClass *class; if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_NODE(node) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_NODE(node), NULL); } /* don't check @name here, it's checked in impl method */ @@ -326,14 +326,14 @@ lasso_node_get_child_content(LassoNode *node, LassoNodeClass *class; if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL, NULL); } if (LASSO_IS_NODE(node) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_NODE(node), NULL); } /* don't check @name here, it's checked in impl method */ @@ -380,14 +380,14 @@ lasso_node_get_content(LassoNode *node, LassoNodeClass *class; if (err != NULL && *err != NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_ERR_CHECK_FAILED, - lasso_strerror(LASSO_PARAM_ERROR_ERR_CHECK_FAILED)); + LASSO_PARAM_ERROR_CHECK_FAILED, + lasso_strerror(LASSO_PARAM_ERROR_CHECK_FAILED)); g_return_val_if_fail (err == NULL || *err == NULL,NULL); } if (LASSO_IS_NODE(node) == FALSE) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ, - lasso_strerror(LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ)); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ, + lasso_strerror(LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ)); g_return_val_if_fail(LASSO_IS_NODE(node), NULL); } @@ -486,7 +486,7 @@ lasso_node_verify_signature(LassoNode *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_NODE(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* don't check @public_key_file here, it's checked in impl method */ class = LASSO_NODE_GET_CLASS(node); @@ -510,7 +510,7 @@ lasso_node_verify_x509_signature(LassoNode *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_NODE(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* don't check @certificate_file here, it's checked in impl method */ class = LASSO_NODE_GET_CLASS(node); @@ -542,7 +542,7 @@ lasso_node_add_signature(LassoNode *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_NODE(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* don't check @private_key_file and @certificate_file here, it's checked in impl method */ @@ -560,7 +560,7 @@ lasso_node_add_signature_tmpl(LassoNode *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_NODE(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); class = LASSO_NODE_GET_CLASS(node); return (class->add_signature_tmpl(node, sign_type, sign_method, reference_id)); @@ -690,7 +690,7 @@ lasso_node_sign_signature_tmpl(LassoNode *node, LassoNodeClass *class; g_return_val_if_fail(LASSO_IS_NODE(node), - LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); /* don't check @private_key_file and @certificate_file here, it's checked in impl method */ @@ -891,8 +891,8 @@ lasso_node_impl_get_attr(LassoNode *node, /* attr not found */ g_set_error(err, g_quark_from_string("Lasso"), - LASSO_XML_ERROR_ATTR_NOTFOUND, - lasso_strerror(LASSO_XML_ERROR_ATTR_NOTFOUND), + LASSO_XML_ERROR_ATTR_NOT_FOUND, + lasso_strerror(LASSO_XML_ERROR_ATTR_NOT_FOUND), name, node->private->node->name); return (NULL); } @@ -914,8 +914,8 @@ lasso_node_impl_get_attr_value(LassoNode *node, if (value == NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_XML_ERROR_ATTR_VALUE_NOTFOUND, - lasso_strerror(LASSO_XML_ERROR_ATTR_VALUE_NOTFOUND), + LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND, + lasso_strerror(LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND), name, node->private->node->name); } @@ -1014,8 +1014,8 @@ lasso_node_impl_get_child(LassoNode *node, } else { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_XML_ERROR_NODE_NOTFOUND, - lasso_strerror(LASSO_XML_ERROR_NODE_NOTFOUND), + LASSO_XML_ERROR_NODE_NOT_FOUND, + lasso_strerror(LASSO_XML_ERROR_NODE_NOT_FOUND), name, node->private->node->name); return (NULL); } @@ -1083,8 +1083,8 @@ lasso_node_impl_get_content(LassoNode *node, content = xmlNodeGetContent(node->private->node); if (content == NULL) { g_set_error(err, g_quark_from_string("Lasso"), - LASSO_XML_ERROR_NODE_CONTENT_NOTFOUND, - lasso_strerror(LASSO_XML_ERROR_NODE_CONTENT_NOTFOUND), + LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND, + lasso_strerror(LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND), node->private->node->name); } @@ -1178,9 +1178,9 @@ lasso_node_impl_verify_signature(LassoNode *node, xmlSecDSigNs); if (signature == NULL) { message(G_LOG_LEVEL_CRITICAL, - lasso_strerror(LASSO_DS_ERROR_SIGNATURE_NOTFOUND), + lasso_strerror(LASSO_DS_ERROR_SIGNATURE_NOT_FOUND), node->private->node->name); - ret = LASSO_DS_ERROR_SIGNATURE_NOTFOUND; + ret = LASSO_DS_ERROR_SIGNATURE_NOT_FOUND; goto done; } @@ -1268,9 +1268,9 @@ lasso_node_impl_verify_x509_signature(LassoNode *node, xmlSecDSigNs); if (signature == NULL) { message(G_LOG_LEVEL_CRITICAL, - lasso_strerror(LASSO_DS_ERROR_SIGNATURE_NOTFOUND), + lasso_strerror(LASSO_DS_ERROR_SIGNATURE_NOT_FOUND), node->private->node->name); - ret = LASSO_DS_ERROR_SIGNATURE_NOTFOUND; + ret = LASSO_DS_ERROR_SIGNATURE_NOT_FOUND; goto done; } diff --git a/python/Makefile.am b/python/Makefile.am index 7e2c55ef..515d876d 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -1,21 +1,21 @@ INCLUDES = -I$(top_srcdir) pythondir= $(PY_SITE_PACKAGES) -python_DATA = lassomod.py lasso.py -python_LTLIBRARIES = _lassomod.la +python_DATA = lasso.py +python_LTLIBRARIES = _lasso.la -PYTHON_PACKAGE=lassomod +PYTHON_PACKAGE=lasso -_lassomod_la_SOURCES = $(PYTHON_PACKAGE)_wrap.c +_lasso_la_SOURCES = $(PYTHON_PACKAGE)_wrap.c -_lassomod_la_CFLAGS = $(LASSO_CFLAGS) \ +_lasso_la_CFLAGS = $(LASSO_CFLAGS) \ -DSWIG_COBJECT_TYPES \ $(PY_CFLAGS) -_lassomod_la_LIBADD = $(top_builddir)/lasso/liblasso.la \ +_lasso_la_LIBADD = $(top_builddir)/lasso/liblasso.la \ $(LASSO_LIBS) -_lassomod_la_LDFLAGS = -no-undefined \ +_lasso_la_LDFLAGS = -no-undefined \ -module -avoid-version $(PYTHON_PACKAGE)_wrap.c $(PYTHON_PACKAGE).py: $(top_srcdir)/swig/Lasso.i @@ -30,7 +30,7 @@ SWIG_OUTPUTS = $(PYTHON_PACKAGE)_wrap.c $(PYTHON_PACKAGE).py # In distribution, swig generated files are present. -EXTRA_DIST = $(SWIG_OUTPUTS) lasso.py +EXTRA_DIST = $(SWIG_OUTPUTS) # In case of.... CLEANFILES = *.pyc diff --git a/python/lasso.py b/python/lasso.py deleted file mode 100644 index c1d7fad7..00000000 --- a/python/lasso.py +++ /dev/null @@ -1,715 +0,0 @@ -#! /usr/bin/env python -# -*- coding: utf-8 -*- -# -# $Id$ -# -# PyLasso - High-level Python bindings for Lasso Library -# -# Copyright (C) 2004 Entr'ouvert -# http://lasso.entrouvert.org -# -# Author: Emmanuel Raviart <eraviart@entrouvert.com> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -__docformat__ = "plaintext en" - - -import lassomod - - -################################################################################ -# Constants -################################################################################ - - -def _initConstants(): - """Copy constants from module lassomod. - - They are copied in two forms : - - - as a global variable, with the 'lasso' prefix removed and the first letter in lower case, - - - as an item in a global dictionnary of all constants having the same prefix. - """ - - constantPrefixes = ( - 'lassoHttpMethod', 'lassoLibConsent', 'lassoLibNameIDPolicyType', - 'lassoLibProtocolProfile', 'lassoLoginProtocolProfile', 'lassoMessageType', - 'lassoProviderType', 'lassoRequestType', 'lassoSamlAuthenticationMethod', - 'lassoSignatureMethod') - globals_ = globals() - for constantName, constantValue in lassomod.__dict__.iteritems(): - for contantPrefix in constantPrefixes: - if constantName.startswith(contantPrefix): - globals_[constantName[5].lower() + constantName[6:]] = constantValue - constantPlural = contantPrefix[5].lower() + contantPrefix[6:] + 's' - constantCore = constantName[len(contantPrefix)].lower() \ - + constantName[len(contantPrefix) + 1:] - if constantPlural in globals_: - globals_[constantPlural][constantCore] = constantValue - else: - globals_[constantPlural] = {constantCore: constantValue} - -_initConstants() - - -################################################################################ -# Errors -################################################################################ - - -class Error(Exception): - code = None # Use positive error codes for binding specific errors. - functionName = None - - def __init__(self, functionName): - self.functionName = functionName - - def __str__(self): - return repr(self.msg) - - -class ErrorUnknown(Error): - def __init__(self, code, functionName): - Error.__init__(self, functionName) - self.code = code - - def __str__(self): - return 'Unknown error number %d in Lasso function %s' % (self.code, self.functionName) - - -# Binding specific errors - - -class ErrorLassoAlreadyInitialized(Error): - code = 1 - msg = 'Lasso already initialized' - - -class ErrorLassoNotInitialized(Error): - code = 2 - msg = 'Lasso not initialized or already shotdown' - - -class ErrorInstanceCreationFailed(Error): - code = 3 - - def __str__(self): - return 'Instance creation failed in Lasso function %s()' % self.functionName - - -class ErrorUnknownRequestType(Error): - code = 4 - requestType = None - - def __init__(self, functionName, requestType): - super(ErrorUnknownRequestType, self).__init__(functionName) - self.requestType = requestType - - def __str__(self): - return 'Unknown request type (= %s) in Lasso function %s()' % ( - self.requestType, self.functionName) - - -class ErrorUnknownResponseType(Error): - code = 5 - responseType = None - - def __init__(self, functionName, responseType): - super(ErrorUnknownResponseType, self).__init__(functionName) - self.responseType = responseType - - def __str__(self): - return 'Unknown response type (= %s) in Lasso function %s()' % ( - self.responseType, self.functionName) - - -# Lasso errors - - -class ProfileErrorInvalidQuery(Error): - code = lassomod.LASSO_PROFILE_ERROR_INVALID_QUERY - - def __str__(self): - return 'Invalid query in Lasso function %s()' % self.functionName - - -class LogoutErrorUnsupportedProfile(Error): - code = lassomod.LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE - - def __str__(self): - return 'Unsupported logout profile in Lasso function %s()' % self.functionName - - -def newError(code, functionName): - # FIXME: Use proper ErrorClass, when Lasso will have well defined error codes. - if code == lassomod.LASSO_PROFILE_ERROR_INVALID_QUERY: - return ProfileErrorInvalidQuery(functionName) - elif code == lassomod.LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE: - return LogoutErrorUnsupportedProfile(functionName) - else: - return ErrorUnknown(code, functionName) - - -################################################################################ -# Common -################################################################################ - - -_registeredClasses = {} - - -class _ObjectMixin(object): - """Abstract mixin class""" - - # Constants - - lassomodClass = None - - # Attributes - - def get_parent(self): - parent = super(_ObjectMixin, self).parent - if parent is not None: - _setRegisteredClass(parent) - return parent - parent = property(get_parent) - - # Methods - - def __repr__(self): - return '<Lasso %s instance wrapping %s>' % (self.__class__.__name__, self.this) - - -def _setRegisteredClass(instance): - try: - instanceClass = instance.__class__ - except AttributeError: - return - cls = _registeredClasses.get(instanceClass, None) - if cls is None and instanceClass.__name__.endswith('Ptr'): - cls = _registeredClasses.get(instanceClass.__bases__[0], None) - if cls is not None: - object.__setattr__(instance, '__class__', cls) - -def registerClass(cls): - assert cls.lassomodClass - _registeredClasses[cls.lassomodClass] = cls - - -################################################################################ -# Protocols -################################################################################ - - -class AuthnRequest(_ObjectMixin, lassomod.LassoAuthnRequest): - # Constants - - lassomodClass = lassomod.LassoAuthnRequest - -registerClass(AuthnRequest) - - -class Request(_ObjectMixin, lassomod.LassoRequestPtr): - # Constants - - lassomodClass = lassomod.LassoRequestPtr - -registerClass(Request) - - -################################################################################ -# Profiles -################################################################################ - - -class Server(_ObjectMixin, lassomod.LassoServer): - # Constants - - lassomodClass = lassomod.LassoServer - -registerClass(Server) - - -class Identity(_ObjectMixin, lassomod.LassoIdentity): - # Constants - - lassomodClass = lassomod.LassoIdentity - -registerClass(Identity) - - -class Session(_ObjectMixin, lassomod.LassoSession): - # Constants - - lassomodClass = lassomod.LassoSession - -registerClass(Session) - - -class _ProfileChild(object): - """Abstract class for all Lasso objects that inherit from LassoProfile""" - - # Attributes - - def get_authn_request(self): - authn_request = self.parent.authn_request - if authn_request is not None: - _setRegisteredClass(authn_request) - return authn_request - authn_request = property(get_authn_request) - - def get_authn_response(self): - authn_response = self.parent.authn_response - if authn_response is not None: - _setRegisteredClass(authn_response) - return authn_response - authn_response = property(get_authn_response) - - def get_identity(self): - identity = lassomod.lasso_profile_get_identity(self.parent) - if identity is not None: - _setRegisteredClass(identity) - return identity - def set_identity(self, identity): - lassomod.lasso_profile_set_identity(self.parent, identity) - identity = property(get_identity, set_identity) - - def get_msg_body(self): - return self.parent.msg_body - msg_body = property(get_msg_body) - - def get_msg_relayState(self): - return self.parent.msg_relayState - msg_relayState = property(get_msg_relayState) - - def get_msg_url(self): - return self.parent.msg_url - msg_url = property(get_msg_url) - - def get_nameIdentifier(self): - return self.parent.nameIdentifier - nameIdentifier = property(get_nameIdentifier) - - def get_provider_type(self): - return self.parent.provider_type - provider_type = property(get_provider_type) - - def set_remote_providerID(self, remote_providerID): - lassomod.lasso_profile_set_remote_providerID(self.parent, remote_providerID) - remote_providerID = property(None, set_remote_providerID) - - def get_request(self): - request_type = self.request_type - if request_type == messageTypeAuthnRequest: - request = self.parent.authn_request - elif request_type == messageTypeRequest: - request = self.parent.request - else: - raise ErrorUnknownRequestType('lasso_profile_get_request', request_type) - if request is not None: - _setRegisteredClass(request) - return request - request = property(get_request) - - def get_request_type(self): - return self.parent.request_type - request_type = property(get_request_type) - - def get_response(self): - response_type = self.response_type - if response_type == messageTypeAuthnResponse: - response = self.parent.authn_response - elif response_type == messageTypeResponse: - response = self.parent.response - else: - raise ErrorUnknownResponseType('lasso_profile_get_response', response_type) - if response is not None: - _setRegisteredClass(response) - return response - response = property(get_response) - - def set_response_status(self, response_status): - lassomod.lasso_profile_set_response_status(self.parent, response_status) - response_status = property(None, set_response_status) - - def get_response_type(self): - return self.parent.response_type - response_type = property(get_response_type) - - def get_server(self): - server = self.parent.server - if server is not None: - _setRegisteredClass(server) - return server - server = property(get_server) - - def get_session(self): - session = lassomod.lasso_profile_get_session(self.parent) - if session is not None: - _setRegisteredClass(session) - return session - def set_session(self, session): - lassomod.lasso_profile_set_session(self.parent, session) - session = property(get_session, set_session) - - def is_identity_dirty(self): - return lassomod.lasso_profile_is_identity_dirty(self.parent) - identity_dirty = property(is_identity_dirty) - - def is_session_dirty(self): - return lassomod.lasso_profile_is_session_dirty(self.parent) - session_dirty = property(is_session_dirty) - - # Methods - - def dump(self): - return lassomod.lasso_profile_dump(self.parent) - - def set_identity_from_dump(self, dump): - lassomod.lasso_profile_set_identity_from_dump(self.parent, dump) - - def set_session_from_dump(self, dump): - lassomod.lasso_profile_set_session_from_dump(self.parent, dump) - - -class Defederation(_ObjectMixin, lassomod.LassoDefederation, _ProfileChild): - # Constants - - lassomodClass = lassomod.LassoDefederation - - # Methods - - def build_notification_msg(self): - errorCode = lassomod.lasso_defederation_build_notification_msg(self) - if errorCode: - raise newError(errorCode, 'lasso_defederation_build_notification_msg') - - def init_notification(self, remote_providerID, notification_method = httpMethodAny): - errorCode = lassomod.lasso_defederation_init_notification( - self, remote_providerID, notification_method) - if errorCode: - raise newError(errorCode, 'lasso_defederation_init_notification') - - def process_notification_msg(self, notification_msg, notification_method): - errorCode = lassomod.lasso_defederation_process_notification_msg( - self, notification_msg, notification_method) - if errorCode: - raise newError(errorCode, 'lasso_defederation_process_notification_msg') - - def validate_notification(self): - errorCode = lassomod.lasso_defederation_validate_notification(self) - if errorCode: - raise newError(errorCode, 'lasso_defederation_validate_notification') - -registerClass(Defederation) - - -class Login(_ObjectMixin, lassomod.LassoLogin, _ProfileChild): - # Constants - - lassomodClass = lassomod.LassoLogin - - # Constructors - - def new_from_dump(cls, server, dump): - self = lassomod.lasso_login_new_from_dump(server, dump) - if self is None: - raise ErrorInstanceCreationFailed('lasso_login_new_from_dump') - _setRegisteredClass(self) - return self - new_from_dump = classmethod(new_from_dump) - - # Methods - - def accept_sso(self): - errorCode = lassomod.lasso_login_accept_sso(self) - if errorCode: - raise newError(errorCode, 'lasso_login_accept_sso') - - def build_artifact_msg(self, authentication_result, authenticationMethod, - reauthenticateOnOrAfter, method): - errorCode = lassomod.lasso_login_build_artifact_msg( - self, authentication_result, authenticationMethod, reauthenticateOnOrAfter, method) - if errorCode: - raise newError(errorCode, 'lasso_login_build_artifact_msg') - - def build_authn_request_msg(self, remote_providerID): - errorCode = lassomod.lasso_login_build_authn_request_msg( - self, remote_providerID) - if errorCode: - raise newError(errorCode, 'lasso_login_build_authn_request_msg') - - def build_authn_response_msg(self, authentication_result, authenticationMethod, - reauthenticateOnOrAfter): - errorCode = lassomod.lasso_login_build_authn_response_msg( - self, authentication_result, authenticationMethod, reauthenticateOnOrAfter) - if errorCode: - raise newError(errorCode, 'lasso_login_build_authn_response_msg') - - def build_request_msg(self): - errorCode = lassomod.lasso_login_build_request_msg(self) - if errorCode: - raise newError(errorCode, 'lasso_login_build_request_msg') - - def dump(self): - return lassomod.lasso_login_dump(self) - - def init_authn_request(self, http_method): - errorCode = lassomod.lasso_login_init_authn_request(self, http_method) - if errorCode: - raise newError(errorCode, 'lasso_login_init_authn_request') - - def init_from_authn_request_msg(self, authn_request_msg, authn_request_http_method): - errorCode = lassomod.lasso_login_init_from_authn_request_msg( - self, authn_request_msg, authn_request_http_method) - if errorCode: - raise newError(errorCode, 'lasso_login_init_from_authn_request_msg') - - def init_request(self, response_msg, response_http_method = httpMethodRedirect): - errorCode = lassomod.lasso_login_init_request(self, response_msg, response_http_method) - if errorCode: - raise newError(errorCode, 'lasso_login_init_request') - - def must_authenticate(self): - return lassomod.lasso_login_must_authenticate(self) - - def process_authn_response_msg(self, authn_response_msg): - errorCode = lassomod.lasso_login_process_authn_response_msg(self, authn_response_msg) - if errorCode: - raise newError(errorCode, 'lasso_login_process_authn_response_msg') - - def process_request_msg(self, request_msg): - errorCode = lassomod.lasso_login_process_request_msg(self, request_msg) - if errorCode: - raise newError(errorCode, 'lasso_login_process_request_msg') - - def process_response_msg(self, response_msg): - errorCode = lassomod.lasso_login_process_response_msg(self, response_msg) - if errorCode: - raise newError(errorCode, 'lasso_login_process_response_msg') - -registerClass(Login) - - -class Logout(_ObjectMixin, lassomod.LassoLogout, _ProfileChild): - # Constants - - lassomodClass = lassomod.LassoLogout - - # Methods - - def build_request_msg(self): - errorCode = lassomod.lasso_logout_build_request_msg(self) - if errorCode: - raise newError(errorCode, 'lasso_logout_build_request_msg') - - def build_response_msg(self): - errorCode = lassomod.lasso_logout_build_response_msg(self) - if errorCode: - raise newError(errorCode, 'lasso_logout_build_response_msg') - - def get_next_providerID(self): - return lassomod.lasso_logout_get_next_providerID(self) - - def init_request(self, remote_providerID = None, request_method = httpMethodAny): - errorCode = lassomod.lasso_logout_init_request(self, remote_providerID, request_method) - if errorCode: - raise newError(errorCode, 'lasso_logout_init_request') - - def process_request_msg(self, request_msg, request_method): - errorCode = lassomod.lasso_logout_process_request_msg(self, request_msg, request_method) - if errorCode: - raise newError(errorCode, 'lasso_logout_process_request_msg') - - def process_response_msg(self, response_msg, response_method): - errorCode = lassomod.lasso_logout_process_response_msg( - self, response_msg, response_method) - if errorCode: - raise newError(errorCode, 'lasso_logout_process_response_msg') - - def reset_session_index(self): - errorCode = lassomod.lasso_logout_reset_session_index(self) - if errorCode: - raise newError(errorCode, 'lasso_logout_reset_session_index') - - def validate_request(self): - errorCode = lassomod.lasso_logout_validate_request(self) - if errorCode: - raise newError(errorCode, 'lasso_logout_validate_request') - -registerClass(Logout) - - -class Lecp(_ObjectMixin, lassomod.LassoLecp): - # Constants - - lassomodClass = lassomod.LassoLecp - - # Attributes - - def get_msg_body(self): - return self.parent.msg_body - msg_body = property(get_msg_body) - - def get_msg_url(self): - return self.parent.msg_url - msg_url = property(get_msg_url) - - def get_request(self): - return self.parent.request - request = property(get_request) - - def get_request_type(self): - return self.parent.request_type - request_type = property(get_request_type) - - # Constructors - - def new_from_dump(cls, server, dump): - self = lassomod.lasso_lecp_new_from_dump(server, dump) - if self is None: - raise ErrorInstanceCreationFailed('lasso_lecp_new_from_dump') - _setRegisteredClass(self) - return self - new_from_dump = classmethod(new_from_dump) - - # Methods - - def build_authn_request_envelope_msg(self): - errorCode = lassomod.lasso_lecp_build_authn_request_envelope_msg(self) - if errorCode: - raise newError(errorCode, 'lasso_lecp_build_authn_request_envelope_msg') - - def build_authn_request_msg(self, remote_providerID): - errorCode = lassomod.lasso_lecp_build_authn_request_msg(self, remote_providerID) - if errorCode: - raise newError(errorCode, 'lasso_lecp_build_authn_request_msg') - - def build_authn_response_envelope_msg(self, authentication_result, authenticationMethod, - reauthenticateOnOrAfter): - errorCode = lassomod.lasso_lecp_build_authn_response_envelope_msg( - self, authentication_result, authenticationMethod, reauthenticateOnOrAfter) - if errorCode: - raise newError(errorCode, 'lasso_lecp_build_authn_response_envelope_msg') - - def build_authn_response_msg(self): - errorCode = lassomod.lasso_lecp_build_authn_response_msg(self) - if errorCode: - raise newError(errorCode, 'lasso_lecp_build_authn_response_msg') - - def init_authn_request(self): - errorCode = lassomod.lasso_lecp_init_authn_request(self) - if errorCode: - raise newError(errorCode, 'lasso_lecp_init_authn_request') - - def init_from_authn_request_msg(self, authn_request_msg, authn_request_method): - errorCode = lassomod.lasso_lecp_init_from_authn_request_msg( - self, authn_request_msg, authn_request_method) - if errorCode: - raise newError(errorCode, 'lasso_lecp_init_from_authn_request_msg') - - def process_authn_request_envelope_msg(self, request_msg): - errorCode = lassomod.lasso_lecp_process_authn_request_envelope_msg(self, request_msg) - if errorCode: - raise newError(errorCode, 'lasso_lecp_process_authn_request_envelope_msg') - - def process_authn_response_envelope_msg(self, response_msg): - errorCode = lassomod.lasso_lecp_process_authn_response_envelope_msg(self, response_msg) - if errorCode: - raise newError(errorCode, 'lasso_lecp_process_authn_response_envelope_msg') - - def set_identity_from_dump(self, dump): - return self.parent.set_identity_from_dump(dump) - - def set_session_from_dump(self, dump): - return self.parent.set_session_from_dump(dump) - -registerClass(Lecp) - - -get_request_type_from_soap_msg = lassomod.lasso_profile_get_request_type_from_soap_msg - - -################################################################################ -# Module Initialization -################################################################################ - - -_initialized = False - -def init(): - """Initialize Lasso library.""" - global _initialized - if _initialized: - raise ErrorLassoAlreadyInitialized() - _initialized = True - lassomod.lasso_init() - - -def shutdown(): - """Shutdown Lasso Library.""" - global _initialized - if not _initialized: - raise ErrorLassoNotInitialized() - _initialized = False - lassomod.lasso_shutdown() - - -################################################################################ -# Module Test -################################################################################ - - -if __name__ == '__main__': - import os - - init() - - # Lasso constants have two forms. - assert libNameIDPolicyTypeFederated == libNameIDPolicyTypes['federated'] - - dataDirectoryPath = '../tests/data' - server = Server( - os.path.join(dataDirectoryPath, 'sp1-la/metadata.xml'), - os.path.join(dataDirectoryPath, 'sp1-la/public-key.pem'), - os.path.join(dataDirectoryPath, 'sp1-la/private-key-raw.pem'), - os.path.join(dataDirectoryPath, 'sp1-la/certificate.pem'), - signatureMethodRsaSha1) - server.add_provider( - os.path.join(dataDirectoryPath, 'idp1-la/metadata.xml'), - os.path.join(dataDirectoryPath, 'idp1-la/public-key.pem'), - os.path.join(dataDirectoryPath, 'idp1-la/certificate.pem')) - - # We override one of the binding classes. - class MyAuthnRequest(AuthnRequest): - def __repr__(self): - return 'This is my own class for AuthnRequest!' - registerClass(MyAuthnRequest) - - login = Login(server) - login.init_authn_request() - print 'Class overriding works:', login.request - login.request.set_isPassive(False) - login.request.set_nameIDPolicy(libNameIDPolicyTypeFederated) - login.request.set_consent(libConsentObtained) - login.build_authn_request_msg('https://idp1/metadata', httpMethodRedirect) - print 'Redirect URL =', login.msg_url - shutdown() -else: - if not _initialized: - init() diff --git a/python/tests/profiles_tests.py b/python/tests/profiles_tests.py index 4e367ad7..6aba8e80 100755 --- a/python/tests/profiles_tests.py +++ b/python/tests/profiles_tests.py @@ -88,7 +88,6 @@ class LoginTestCase(unittest.TestCase): os.path.join(dataDir, 'idp1-la/certificate.pem')) login = lasso.Login(lassoServer) login.init_authn_request(lasso.httpMethodRedirect) - self.failUnlessEqual(login.request_type, lasso.messageTypeAuthnRequest) login.authn_request login.authn_request.protocolProfile = lasso.libProtocolProfileBrwsArt @@ -110,8 +109,9 @@ class LogoutTestCase(unittest.TestCase): logout = lasso.Logout(lassoServer, lasso.providerTypeSp) try: logout.init_request() - except lasso.Error, error: - if error.code != -1: + except RuntimeError, error: + errorCode = int(error.args[0].split(' ', 1)[0]) + if errorCode != -1: raise else: self.fail('logout.init_request without having set identity before should fail') @@ -151,8 +151,8 @@ class DefederationTestCase(unittest.TestCase): # The process_notification_msg should failt but not abort. try: defederation.process_notification_msg('nonLibertyQuery=1', lasso.httpMethodRedirect) - except lasso.Error, error: - pass + except RuntimeError, error: + errorCode = int(error.args[0].split(' ', 1)[0]) else: self.fail('Defederation process_notification_msg should have failed.') diff --git a/swig/Lasso.i b/swig/Lasso.i index ee0dcda8..f7d1dac3 100644 --- a/swig/Lasso.i +++ b/swig/Lasso.i @@ -69,11 +69,9 @@ %} -/* When lasso module is imported, lasso is initialized. -%init -%{ +%init %{ lasso_init(); -%}*/ +%} /*********************************************************************** @@ -125,8 +123,11 @@ %exception { int errorCode; errorCode = $action - if (errorCode) - SWIG_exception(SWIG_UnknownError, "Unknown error"); + if (errorCode) { + char errorMessage[256]; + sprintf(errorMessage, "%d (Lasso error)", errorCode); + SWIG_exception(SWIG_UnknownError, errorMessage); + } } %enddef @@ -137,8 +138,10 @@ /* Functions */ +%rename(init) lasso_init; int lasso_init(void); +%rename(shutdown) lasso_shutdown; int lasso_shutdown(void); @@ -147,6 +150,12 @@ int lasso_shutdown(void); ***********************************************************************/ +/* HttpMethod */ +%rename(httpMethodAny) lassoHttpMethodAny; +%rename(httpMethodGet) lassoHttpMethodGet; +%rename(httpMethodPost) lassoHttpMethodPost; +%rename(httpMethodRedirect) lassoHttpMethodRedirect; +%rename(httpMethodSoap) lassoHttpMethodSoap; typedef enum { lassoHttpMethodAny = 0, lassoHttpMethodGet, @@ -156,17 +165,38 @@ typedef enum { } lassoHttpMethod; /* Consent */ +%rename(libConsentObtained) lassoLibConsentObtained; +%rename(libConsentUnavailable) lassoLibConsentUnavailable; +%rename(libConsentInapplicable) lassoLibConsentInapplicable; %constant xmlChar *lassoLibConsentObtained = "urn:liberty:consent:obtained"; %constant xmlChar *lassoLibConsentUnavailable = "urn:liberty:consent:unavailable"; %constant xmlChar *lassoLibConsentInapplicable = "urn:liberty:consent:inapplicable"; /* NameIDPolicyType */ +%rename(libNameIDPolicyTypeNone) lassoLibNameIDPolicyTypeNone; +%rename(libNameIDPolicyTypeOneTime) lassoLibNameIDPolicyTypeOneTime; +%rename(libNameIDPolicyTypeFederated) lassoLibNameIDPolicyTypeFederated; +%rename(libNameIDPolicyTypeAny) lassoLibNameIDPolicyTypeAny; %constant xmlChar *lassoLibNameIDPolicyTypeNone = "none"; %constant xmlChar *lassoLibNameIDPolicyTypeOneTime = "onetime"; %constant xmlChar *lassoLibNameIDPolicyTypeFederated = "federated"; %constant xmlChar *lassoLibNameIDPolicyTypeAny = "any"; /* ProtocolProfile */ +%rename(libProtocolProfileBrwsArt) lassoLibProtocolProfileBrwsArt; +%rename(libProtocolProfileBrwsPost) lassoLibProtocolProfileBrwsPost; +%rename(libProtocolProfileFedTermIdpHttp) lassoLibProtocolProfileFedTermIdpHttp; +%rename(libProtocolProfileFedTermIdpSoap) lassoLibProtocolProfileFedTermIdpSoap; +%rename(libProtocolProfileFedTermSpHttp) lassoLibProtocolProfileFedTermSpHttp; +%rename(libProtocolProfileFedTermSpSoap) lassoLibProtocolProfileFedTermSpSoap; +%rename(libProtocolProfileRniIdpHttp) lassoLibProtocolProfileRniIdpHttp; +%rename(libProtocolProfileRniIdpSoap) lassoLibProtocolProfileRniIdpSoap; +%rename(libProtocolProfileRniSpHttp) lassoLibProtocolProfileRniSpHttp; +%rename(libProtocolProfileRniSpSoap) lassoLibProtocolProfileRniSpSoap; +%rename(libProtocolProfileSloIdpHttp) lassoLibProtocolProfileSloIdpHttp; +%rename(libProtocolProfileSloIdpSoap) lassoLibProtocolProfileSloIdpSoap; +%rename(libProtocolProfileSloSpHttp) lassoLibProtocolProfileSloSpHttp; +%rename(libProtocolProfileSloSpSoap) lassoLibProtocolProfileSloSpSoap; %constant xmlChar *lassoLibProtocolProfileBrwsArt = "http://projectliberty.org/profiles/brws-art"; %constant xmlChar *lassoLibProtocolProfileBrwsPost = "http://projectliberty.org/profiles/brws-post"; %constant xmlChar *lassoLibProtocolProfileFedTermIdpHttp = "http://projectliberty.org/profiles/fedterm-idp-http"; @@ -177,16 +207,26 @@ typedef enum { %constant xmlChar *lassoLibProtocolProfileRniIdpSoap = "http://projectliberty.org/profiles/rni-idp-soap"; %constant xmlChar *lassoLibProtocolProfileRniSpHttp = "http://projectliberty.org/profiles/rni-sp-http"; %constant xmlChar *lassoLibProtocolProfileRniSpSoap = "http://projectliberty.org/profiles/rni-sp-soap"; -%constant xmlChar *lassoLibProtocolProfileSloSpHttp = "http://projectliberty.org/profiles/slo-sp-http"; -%constant xmlChar *lassoLibProtocolProfileSloSpSoap = "http://projectliberty.org/profiles/slo-sp-soap"; %constant xmlChar *lassoLibProtocolProfileSloIdpHttp = "http://projectliberty.org/profiles/slo-idp-http"; %constant xmlChar *lassoLibProtocolProfileSloIdpSoap = "http://projectliberty.org/profiles/slo-idp-soap"; +%constant xmlChar *lassoLibProtocolProfileSloSpHttp = "http://projectliberty.org/profiles/slo-sp-http"; +%constant xmlChar *lassoLibProtocolProfileSloSpSoap = "http://projectliberty.org/profiles/slo-sp-soap"; +/* LoginProtocolProfile */ +%rename(loginProtocolProfileBrwsArt) lassoLoginProtocolProfileBrwsArt; +%rename(loginProtocolProfileBrwsPost) lassoLoginProtocolProfileBrwsPost; typedef enum { lassoLoginProtocolProfileBrwsArt = 1, lassoLoginProtocolProfileBrwsPost, } lassoLoginProtocolProfile; +/* MessageType */ +%rename(messageTypeNone) lassoMessageTypeNone; +%rename(messageTypeAuthnRequest) lassoMessageTypeAuthnRequest; +%rename(messageTypeAuthnResponse) lassoMessageTypeAuthnResponse; +%rename(messageTypeRequest) lassoMessageTypeRequest; +%rename(messageTypeResponse) lassoMessageTypeResponse; +%rename(messageTypeArtifact) lassoMessageTypeArtifact; typedef enum { lassoMessageTypeNone = 0, lassoMessageTypeAuthnRequest, @@ -196,13 +236,24 @@ typedef enum { lassoMessageTypeArtifact } lassoMessageType; +/* ProviderType */ +%rename(providerTypeNone) lassoProviderTypeNone; +%rename(providerTypeSp) lassoProviderTypeSp; +%rename(providerTypeIdp) lassoProviderTypeIdp; typedef enum { lassoProviderTypeNone = 0, lassoProviderTypeSp, lassoProviderTypeIdp } lassoProviderType; -/* Request types (used by SOAP endpoint) */ +/* RequestType */ +%rename(requestTypeInvalid) lassoRequestTypeInvalid; +%rename(requestTypeLogin) lassoRequestTypeLogin; +%rename(requestTypeLogout) lassoRequestTypeLogout; +%rename(requestTypeDefederation) lassoRequestTypeDefederation; +%rename(requestTypeRegisterNameIdentifier) lassoRequestTypeRegisterNameIdentifier; +%rename(requestTypeNameIdentifierMapping) lassoRequestTypeNameIdentifierMapping; +%rename(requestTypeLecp) lassoRequestTypeLecp; typedef enum { lassoRequestTypeInvalid = 0, lassoRequestTypeLogin, @@ -213,7 +264,18 @@ typedef enum { lassoRequestTypeLecp } lassoRequestType; -/* AuthenticationMethods */ +/* SamelAuthenticationMethod */ +%rename(samlAuthenticationMethodPassword) lassoSamlAuthenticationMethodPassword; +%rename(samlAuthenticationMethodKerberos) lassoSamlAuthenticationMethodKerberos; +%rename(samlAuthenticationMethodSecureRemotePassword) lassoSamlAuthenticationMethodSecureRemotePassword; +%rename(samlAuthenticationMethodHardwareToken) lassoSamlAuthenticationMethodHardwareToken; +%rename(samlAuthenticationMethodSmartcardPki) lassoSamlAuthenticationMethodSmartcardPki; +%rename(samlAuthenticationMethodSoftwarePki) lassoSamlAuthenticationMethodSoftwarePki; +%rename(samlAuthenticationMethodPgp) lassoSamlAuthenticationMethodPgp; +%rename(samlAuthenticationMethodSPki) lassoSamlAuthenticationMethodSPki; +%rename(samlAuthenticationMethodXkms) lassoSamlAuthenticationMethodXkms; +%rename(samlAuthenticationMethodXmlDSig) lassoSamlAuthenticationMethodXmlDSig; +%rename(samlAuthenticationMethodUnspecified) lassoSamlAuthenticationMethodUnspecified; %constant xmlChar *lassoSamlAuthenticationMethodPassword = "urn:oasis:names:tc:SAML:1.0:am:password"; %constant xmlChar *lassoSamlAuthenticationMethodKerberos = "urn:ietf:rfc:1510"; %constant xmlChar *lassoSamlAuthenticationMethodSecureRemotePassword = "urn:ietf:rfc:2945"; @@ -226,6 +288,9 @@ typedef enum { %constant xmlChar *lassoSamlAuthenticationMethodXmlDSig = "urn:ietf:rfc:3075"; %constant xmlChar *lassoSamlAuthenticationMethodUnspecified = "urn:oasis:names:tc:SAML:1.0:am:unspecified"; +/* SignatureMethod */ +%rename(signatureMethodRsaSha1) lassoSignatureMethodRsaSha1; +%rename(signatureMethodDsaSha1) lassoSignatureMethodDsaSha1; typedef enum { lassoSignatureMethodRsaSha1 = 1, lassoSignatureMethodDsaSha1 @@ -233,87 +298,58 @@ typedef enum { /* Errors */ -#define LASSO_XML_ERROR_NODE_NOTFOUND -10 -#define LASSO_XML_ERROR_NODE_CONTENT_NOTFOUND -11 -#define LASSO_XML_ERROR_ATTR_NOTFOUND -12 -#define LASSO_XML_ERROR_ATTR_VALUE_NOTFOUND -13 - +%rename(XML_ERROR_NODE_NOT_FOUND) LASSO_XML_ERROR_NODE_NOT_FOUND; +#define LASSO_XML_ERROR_NODE_NOT_FOUND -10 +%rename(XML_ERROR_NODE_CONTENT_NOT_FOUND) LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND; +#define LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND -11 +%rename(XML_ERROR_ATTR_NOT_FOUND) LASSO_XML_ERROR_ATTR_NOT_FOUND; +#define LASSO_XML_ERROR_ATTR_NOT_FOUND -12 +%rename(XML_ERROR_ATTR_VALUE_NOT_FOUND) LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND; +#define LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND -13 + +%rename(DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED) LASSO_DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED; #define LASSO_DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED -101 -#define LASSO_DS_ERROR_CONTEXT_CREATION_FAILED -102 -#define LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED -103 -#define LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED -104 -#define LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED -105 -#define LASSO_DS_ERROR_SIGNATURE_FAILED -106 -#define LASSO_DS_ERROR_SIGNATURE_NOTFOUND -107 -#define LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED -108 -#define LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED -109 -#define LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED -110 -#define LASSO_DS_ERROR_INVALID_SIGNATURE -111 - -#define LASSO_SERVER_ERROR_PROVIDER_NOTFOUND -201 +%rename(DS_ERROR_CONTEXT_CREATION_FAILED) LASSO_DS_ERROR_CONTEXT_CREATION_FAILED; +#define LASSO_DS_ERROR_CONTEXT_CREATION_FAILED -102 +%rename(DS_ERROR_PUBLIC_KEY_LOAD_FAILED) LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED; +#define LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED -103 +%rename(DS_ERROR_PRIVATE_KEY_LOAD_FAILED) LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED; +#define LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED -104 +%rename(DS_ERROR_CERTIFICATE_LOAD_FAILED) LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED; +#define LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED -105 +%rename(DS_ERROR_SIGNATURE_FAILED) LASSO_DS_ERROR_SIGNATURE_FAILED; +#define LASSO_DS_ERROR_SIGNATURE_FAILED -106 +%rename(DS_ERROR_SIGNATURE_NOT_FOUND) LASSO_DS_ERROR_SIGNATURE_NOT_FOUND; +#define LASSO_DS_ERROR_SIGNATURE_NOT_FOUND -107 +%rename(DS_ERROR_KEYS_MNGR_CREATION_FAILED) LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED; +#define LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED -108 +%rename(DS_ERROR_KEYS_MNGR_INIT_FAILED) LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED; +#define LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED -109 +%rename(DS_ERROR_SIGNATURE_VERIFICATION_FAILED) LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED; +#define LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED -110 +%rename(DS_ERROR_INVALID_SIGNATURE) LASSO_DS_ERROR_INVALID_SIGNATURE; +#define LASSO_DS_ERROR_INVALID_SIGNATURE -111 + +%rename(SERVER_ERROR_PROVIDER_NOT_FOUND) LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND; +#define LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND -201 +%rename(SERVER_ERROR_ADD_PROVIDER_FAILED) LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED; #define LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED -202 +%rename(LOGOUT_ERROR_UNSUPPORTED_PROFILE) LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE; #define LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE -301 -#define LASSO_PROFILE_ERROR_INVALID_QUERY -401 +%rename(PROFILE_ERROR_INVALID_QUERY) LASSO_PROFILE_ERROR_INVALID_QUERY; +#define LASSO_PROFILE_ERROR_INVALID_QUERY -401 +%rename(PARAM_ERROR_BADTYPE_OR_NULL_OBJ) LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ; #define LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ -501 -#define LASSO_PARAM_ERROR_INVALID_VALUE -502 -#define LASSO_PARAM_ERROR_ERR_CHECK_FAILED -503 - -#define LASSO_ERROR_UNDEFINED -999 - - -/*********************************************************************** - *********************************************************************** - * XML - *********************************************************************** - ***********************************************************************/ - - -/*********************************************************************** - * SamlpRequest - ***********************************************************************/ - - -%nodefault _LassoSamlpRequest; -typedef struct _LassoSamlpRequest { - LassoSamlpRequestAbstract parent; -} LassoSamlpRequest; - - -/*********************************************************************** - * SamlpResponse - ***********************************************************************/ - - -%nodefault _LassoSamlpResponse; -typedef struct _LassoSamlpResponse { - LassoSamlpResponseAbstract parent; -} LassoSamlpResponse; - +%rename(PARAM_ERROR_INVALID_VALUE) LASSO_PARAM_ERROR_INVALID_VALUE; +#define LASSO_PARAM_ERROR_INVALID_VALUE -502 +%rename(PARAM_ERROR_ERR_CHECK_FAILED) LASSO_PARAM_ERROR_ERR_CHECK_FAILED; +#define LASSO_PARAM_ERROR_ERR_CHECK_FAILED -503 - -/*********************************************************************** - * LibAuthnRequest - ***********************************************************************/ - - -%nodefault _LassoLibAuthnRequest; -typedef struct _LassoLibAuthnRequest { - LassoSamlpRequestAbstract parent; -} LassoLibAuthnRequest; - - -/*********************************************************************** - * LibAuthnResponse - ***********************************************************************/ - - -%nodefault _LassoLibAuthnResponse; -typedef struct _LassoLibAuthnResponse { - LassoSamlpResponse parent; -} LassoLibAuthnResponse; +%rename(ERROR_UNDEFINED) LASSO_ERROR_UNDEFINED; +#define LASSO_ERROR_UNDEFINED -999 /*********************************************************************** @@ -328,10 +364,9 @@ typedef struct _LassoLibAuthnResponse { ***********************************************************************/ +%rename(AuthnRequest) LassoAuthnRequest; %nodefault _LassoAuthnRequest; typedef struct _LassoAuthnRequest { - LassoLibAuthnRequest parent; - %extend { /* Attributes inherited from LassoLibAuthnRequest */ @@ -347,10 +382,10 @@ typedef struct _LassoAuthnRequest { } } LassoAuthnRequest; -/* Attributes Implementations */ - %{ +/* Attributes Implementations */ + /* affiliationID */ xmlChar *LassoAuthnRequest_affiliationID_get(LassoAuthnRequest *self) { return NULL; /* FIXME */ @@ -434,9 +469,9 @@ void LassoAuthnRequest_relayState_set(LassoAuthnRequest *self, xmlChar *relaySta ***********************************************************************/ +%rename(AuthnResponse) LassoAuthnResponse; %nodefault _LassoAuthnResponse; typedef struct _LassoAuthnResponse { - LassoLibAuthnResponse parent; } LassoAuthnResponse; /* Methods */ @@ -450,9 +485,9 @@ xmlChar *lasso_authn_response_get_status(LassoAuthnResponse *response); ***********************************************************************/ +%rename(Request) LassoRequest; %nodefault _LassoRequest; typedef struct _LassoRequest { - LassoSamlpRequest parent; } LassoRequest; @@ -461,9 +496,9 @@ typedef struct _LassoRequest { ***********************************************************************/ +%rename(Response) LassoResponse; %nodefault _LassoResponse; typedef struct _LassoResponse { - LassoSamlpResponse parent; } LassoResponse; @@ -479,8 +514,8 @@ typedef struct _LassoResponse { ***********************************************************************/ +%rename(Server) LassoServer; typedef struct { - LassoProvider parent; GPtrArray *providers; gchar *providerID; gchar *private_key; @@ -488,7 +523,7 @@ typedef struct { guint signature_method; %extend { - /* Constructor, Destructor & Static Methods */ + /* Constructor, destructor & static methods */ LassoServer(gchar *metadata = NULL, gchar *public_key = NULL, gchar *private_key = NULL, gchar *certificate = NULL, @@ -515,7 +550,7 @@ typedef struct { #define new_LassoServer lasso_server_new #define delete_LassoServer lasso_server_destroy -#define LassoServer_new_from_dump lasso_server_new_from_dump +#define Server_new_from_dump lasso_server_new_from_dump #define LassoServer_add_provider lasso_server_add_provider #define LassoServer_dump lasso_server_dump @@ -549,8 +584,8 @@ gchar *lasso_server_dump(LassoServer *server); ***********************************************************************/ +%rename(Identity) LassoIdentity; typedef struct { - GObject parent; GPtrArray *providerIDs; /* list of the remote provider ids for federations hash table */ GHashTable *federations; /* hash for federations with remote ProviderID as key */ gboolean is_dirty; @@ -576,7 +611,7 @@ typedef struct { #define new_LassoIdentity lasso_identity_new #define delete_LassoIdentity lasso_identity_destroy -#define LassoIdentity_new_from_dump lasso_identity_new_from_dump +#define Identity_new_from_dump lasso_identity_new_from_dump #define LassoIdentity_add_provider lasso_identity_add_provider #define LassoIdentity_dump lasso_identity_dump @@ -605,14 +640,14 @@ gchar *lasso_identity_dump(LassoIdentity *identity); ***********************************************************************/ +%rename(Session) LassoSession; typedef struct { - GObject parent; GPtrArray *providerIDs; /* list of the remote provider ids for federations hash table */ GHashTable *assertions; /* hash for assertions with remote providerID as key */ gboolean is_dirty; %extend { - /* Constructor, Destructor & Static Methods */ + /* Constructor, destructor & static methods */ LassoSession(); @@ -633,9 +668,14 @@ typedef struct { %{ +/* Constructors, destructors & static methods implementations */ + #define new_LassoSession lasso_session_new #define delete_LassoSession lasso_session_destroy -#define LassoSession_new_from_dump lasso_session_new_from_dump +#define Session_new_from_dump lasso_session_new_from_dump + +/* Methods implementations */ + #define LassoSession_add_provider lasso_session_add_provider #define LassoSession_dump lasso_session_dump #define LassoSession_get_authentication_method lasso_session_get_authentication_method @@ -668,46 +708,12 @@ gchar *lasso_session_get_authentication_method(LassoSession *session, gchar *rem ***********************************************************************/ -%inline %{ - /* Dirty hack because otherwise SWIG doesn't recognize attributes defined in extend */ - /* below as read-only arguments. */ - typedef LassoAuthnRequest *LassoAuthnRequestPtr; - typedef LassoAuthnResponse *LassoAuthnResponsePtr; - typedef LassoRequest *LassoRequestPtr; - typedef LassoResponse *LassoResponsePtr; -%} - -%nodefault _LassoProfile; -typedef struct _LassoProfile { - GObject parent; - LassoServer *server; - /* Attributes "request" & "response" are define in extend below. */ - /* LassoNode *request; */ - /* LassoNode *response; */ - gchar *nameIdentifier; - gchar *remote_providerID; - gchar *msg_url; - gchar *msg_body; - gchar *msg_relayState; - lassoMessageType request_type; - lassoMessageType response_type; - - %extend { - /* Read-only access to the "request" attribute */ - const LassoAuthnRequestPtr authn_request; - const LassoAuthnResponsePtr authn_response; - /* Read-only access to the "response" attribute */ - const LassoRequestPtr request; - const LassoResponsePtr response; - } -} LassoProfile; +%{ /* Attributes Implementations */ -%{ - /* authn_request */ -LassoAuthnRequestPtr LassoProfile_authn_request_get(LassoProfile *profile) { +LassoAuthnRequest *LassoProfile_authn_request_get(LassoProfile *profile) { if (profile->request_type == lassoMessageTypeAuthnRequest) return LASSO_AUTHN_REQUEST(profile->request); else @@ -715,7 +721,7 @@ LassoAuthnRequestPtr LassoProfile_authn_request_get(LassoProfile *profile) { } /* authn_response */ -LassoAuthnResponsePtr LassoProfile_authn_response_get(LassoProfile *profile) { +LassoAuthnResponse *LassoProfile_authn_response_get(LassoProfile *profile) { if (profile->response_type == lassoMessageTypeAuthnResponse) return LASSO_AUTHN_RESPONSE(profile->response); else @@ -723,7 +729,7 @@ LassoAuthnResponsePtr LassoProfile_authn_response_get(LassoProfile *profile) { } /* request */ -LassoRequestPtr LassoProfile_request_get(LassoProfile *profile) { +LassoRequest *LassoProfile_request_get(LassoProfile *profile) { if (profile->request_type == lassoMessageTypeRequest) return LASSO_REQUEST(profile->request); else @@ -731,7 +737,7 @@ LassoRequestPtr LassoProfile_request_get(LassoProfile *profile) { } /* response */ -LassoResponsePtr LassoProfile_response_get(LassoProfile *profile) { +LassoResponse *LassoProfile_response_get(LassoProfile *profile) { if (profile->response_type == lassoMessageTypeResponse) return LASSO_RESPONSE(profile->response); else @@ -740,54 +746,210 @@ LassoResponsePtr LassoProfile_response_get(LassoProfile *profile) { %} -/* Methods */ +/* Functions */ -%newobject lasso_profile_get_identity; -LassoIdentity *lasso_profile_get_identity(LassoProfile *profile); +%rename(get_request_type_from_soap_msg) lasso_profile_get_request_type_from_soap_msg; +lassoRequestType lasso_profile_get_request_type_from_soap_msg(gchar *soap); -%newobject lasso_profile_get_session; -LassoSession *lasso_profile_get_session(LassoProfile *profile); -gboolean lasso_profile_is_identity_dirty(LassoProfile *profile); +/*********************************************************************** + * Defederation + ***********************************************************************/ -gboolean lasso_profile_is_session_dirty(LassoProfile *profile); -gint lasso_profile_set_remote_providerID(LassoProfile *profile, gchar *providerID); +%rename(Defederation) LassoDefederation; +typedef struct { + %extend { + /* Attributes inherited from LassoProfile */ -void lasso_profile_set_response_status(LassoProfile *profile, const gchar *statusCodeValue); + %immutable authn_request; + LassoAuthnRequest *authn_request; -gint lasso_profile_set_identity(LassoProfile *profile, LassoIdentity *identity); + %immutable authn_response; + LassoAuthnResponse *authn_response; -gint lasso_profile_set_identity_from_dump(LassoProfile *profile, const gchar *dump); + %newobject identity_get; + LassoIdentity *identity; -gint lasso_profile_set_session(LassoProfile *profile, LassoSession *session); + %immutable is_identity_dirty; + gboolean is_identity_dirty; -gint lasso_profile_set_session_from_dump(LassoProfile *profile, const gchar *dump); + %immutable is_session_dirty; + gboolean is_session_dirty; -/* Functions */ + %immutable msg_body; + gchar *msg_body; -lassoRequestType lasso_profile_get_request_type_from_soap_msg(gchar *soap); + %immutable msg_relayState; + gchar *msg_relayState; + %immutable msg_url; + gchar *msg_url; -/*********************************************************************** - * Defederation - ***********************************************************************/ + %immutable nameIdentifier; + gchar *nameIdentifier; + gchar *remote_providerID; -typedef struct { - LassoProfile parent; + %immutable request; + LassoRequest *request; - %extend { - LassoDefederation(LassoServer *server, lassoProviderType provider_type) { - return lasso_defederation_new(server, provider_type); - } + %immutable response; + LassoResponse *response; + + gchar *response_status; + + %newobject session_get; + LassoSession *session; + + /* Constructor, Destructor & Static Methods */ + + LassoDefederation(LassoServer *server, lassoProviderType provider_type); + + ~LassoDefederation(); + + /* Methods inherited from LassoProfile */ + + THROW_ERROR + void set_identity_from_dump(gchar *dump); + END_THROW_ERROR + + THROW_ERROR + void set_session_from_dump(gchar *dump); + END_THROW_ERROR - ~LassoDefederation() { - lasso_defederation_destroy(self); - } + /* Methods */ + + THROW_ERROR + void build_notification_msg(); + END_THROW_ERROR + + THROW_ERROR + void init_notification(gchar *remote_providerID, + lassoHttpMethod notification_method = lassoHttpMethodAny); + END_THROW_ERROR + + THROW_ERROR + void process_notification_msg(gchar *notification_msg, + lassoHttpMethod notification_method); + END_THROW_ERROR + + THROW_ERROR + void validate_notification(); + END_THROW_ERROR } } LassoDefederation; +%{ + +/* Attributes inherited from LassoProfile implementations */ + +/* authn_request */ +LassoAuthnRequest *LassoDefederation_authn_request_get(LassoDefederation *self) { + return LassoProfile_authn_request_get(LASSO_PROFILE(self)); +} + +/* authn_response */ +LassoAuthnResponse *LassoDefederation_authn_response_get(LassoDefederation *self) { + return LassoProfile_authn_response_get(LASSO_PROFILE(self)); +} + +/* identity */ +LassoIdentity *LassoDefederation_identity_get(LassoDefederation *self) { + return lasso_profile_get_identity(LASSO_PROFILE(self)); +} +gint LassoDefederation_identity_set(LassoDefederation *self, LassoIdentity *identity) { + return lasso_profile_set_identity(LASSO_PROFILE(self), identity); +} + +/* is_identity_dirty */ +gboolean LassoDefederation_is_identity_dirty_get(LassoDefederation *self) { + return lasso_profile_is_identity_dirty(LASSO_PROFILE(self)); +} + +/* is_session_dirty */ +gboolean LassoDefederation_is_session_dirty_get(LassoDefederation *self) { + return lasso_profile_is_session_dirty(LASSO_PROFILE(self)); +} + +/* msg_body */ +gchar *LassoDefederation_msg_body_get(LassoDefederation *self) { + return LASSO_PROFILE(self)->msg_body; +} + +/* msg_relayState */ +gchar *LassoDefederation_msg_relayState_get(LassoDefederation *self) { + return LASSO_PROFILE(self)->msg_relayState; +} + +/* msg_url */ +gchar *LassoDefederation_msg_url_get(LassoDefederation *self) { + return LASSO_PROFILE(self)->msg_url; +} + +/* nameIdentifier */ +gchar *LassoDefederation_nameIdentifier_get(LassoDefederation *self) { + return LASSO_PROFILE(self)->nameIdentifier; +} + +/* remote_providerID */ +gchar *LassoDefederation_remote_providerID_get(LassoDefederation *self) { + return NULL; /* FIXME */ +} +void LassoDefederation_remote_providerID_set(LassoDefederation *self, gchar *remote_providerID) { + lasso_profile_set_remote_providerID(LASSO_PROFILE(self), remote_providerID); +} + +/* request */ +LassoRequest *LassoDefederation_request_get(LassoDefederation *self) { + return LassoProfile_request_get(LASSO_PROFILE(self)); +} + +/* response */ +LassoResponse *LassoDefederation_response_get(LassoDefederation *self) { + return LassoProfile_response_get(LASSO_PROFILE(self)); +} + +/* response_status */ +gchar *LassoDefederation_response_status_get(LassoDefederation *self) { + return NULL; /* FIXME */ +} +void LassoDefederation_response_status_set(LassoDefederation *self, gchar *response_status) { + lasso_profile_set_response_status(LASSO_PROFILE(self), response_status); +} + +/* session */ +LassoSession *LassoDefederation_session_get(LassoDefederation *self) { + return lasso_profile_get_session(LASSO_PROFILE(self)); +} +gint LassoDefederation_session_set(LassoDefederation *self, LassoSession *session) { + return lasso_profile_set_session(LASSO_PROFILE(self), session); +} + +/* Constructors, destructors & static methods implementations */ + +#define new_LassoDefederation lasso_defederation_new +#define delete_LassoDefederation lasso_defederation_destroy + +/* Methods inherited from LassoProfile implementations */ + +gint LassoDefederation_set_identity_from_dump(LassoDefederation *self, gchar *dump) { + return lasso_profile_set_identity_from_dump(LASSO_PROFILE(self), dump); +} + +gint LassoDefederation_set_session_from_dump(LassoDefederation *self, gchar *dump) { + return lasso_profile_set_session_from_dump(LASSO_PROFILE(self), dump); +} + +/* Methods implementations */ + +#define LassoDefederation_build_notification_msg lasso_defederation_build_notification_msg +#define LassoDefederation_init_notification lasso_defederation_init_notification +#define LassoDefederation_process_notification_msg lasso_defederation_process_notification_msg +#define LassoDefederation_validate_notification lasso_defederation_validate_notification + +%} + /* Constructors */ %newobject lasso_defederation_new; @@ -817,23 +979,258 @@ gint lasso_defederation_validate_notification(LassoDefederation *defederation); ***********************************************************************/ +%rename(Login) LassoLogin; typedef struct { - LassoProfile parent; - lassoLoginProtocolProfile protocolProfile; + %immutable assertionArtifact; gchar *assertionArtifact; + + %immutable protocolProfile; + lassoLoginProtocolProfile protocolProfile; + + %immutable response_dump; gchar *response_dump; %extend { - LassoLogin(LassoServer *server) { - return lasso_login_new(server); - } + /* Attributes inherited from LassoProfile */ + + %immutable authn_request; + LassoAuthnRequest *authn_request; + + %immutable authn_response; + LassoAuthnResponse *authn_response; + + %newobject identity_get; + LassoIdentity *identity; + + %immutable is_identity_dirty; + gboolean is_identity_dirty; + + %immutable is_session_dirty; + gboolean is_session_dirty; + + %immutable msg_body; + gchar *msg_body; + + %immutable msg_relayState; + gchar *msg_relayState; + + %immutable msg_url; + gchar *msg_url; + + %immutable nameIdentifier; + gchar *nameIdentifier; + + gchar *remote_providerID; + + %immutable request; + LassoRequest *request; + + %immutable response; + LassoResponse *response; + + gchar *response_status; + + %newobject session_get; + LassoSession *session; + + /* Constructor, Destructor & Static Methods */ + + LassoLogin(LassoServer *server); + + ~LassoLogin(); + + %newobject new_from_dump; + static LassoLogin *new_from_dump(LassoServer *server, gchar *dump); + + /* Methods inherited from LassoProfile */ + + THROW_ERROR + void set_identity_from_dump(gchar *dump); + END_THROW_ERROR + + THROW_ERROR + void set_session_from_dump(gchar *dump); + END_THROW_ERROR + + /* Methods */ + + THROW_ERROR + void accept_sso(); + END_THROW_ERROR + + THROW_ERROR + void build_artifact_msg(gint authentication_result, gchar *authenticationMethod, + gchar *reauthenticateOnOrAfter, + lassoHttpMethod http_method); + END_THROW_ERROR + + THROW_ERROR + void build_authn_request_msg(gchar *remote_providerID); + END_THROW_ERROR + + THROW_ERROR + void build_authn_response_msg(gint authentication_result, + gchar *authenticationMethod, + gchar *reauthenticateOnOrAfter); + END_THROW_ERROR + + THROW_ERROR + void build_request_msg(); + END_THROW_ERROR + + %newobject dump; + gchar *dump(); + + THROW_ERROR + void init_authn_request(lassoHttpMethod http_method); + END_THROW_ERROR + + THROW_ERROR + void init_from_authn_request_msg(gchar *authn_request_msg, + lassoHttpMethod authn_request_http_method); + END_THROW_ERROR + + THROW_ERROR + void init_request(gchar *response_msg, + lassoHttpMethod response_http_method = lassoHttpMethodRedirect); + END_THROW_ERROR - ~LassoLogin() { - lasso_login_destroy(self); - } + gboolean must_authenticate(); + + THROW_ERROR + void process_authn_response_msg(gchar *authn_response_msg); + END_THROW_ERROR + + THROW_ERROR + void process_request_msg(gchar *request_msg); + END_THROW_ERROR + + THROW_ERROR + void process_response_msg(gchar *response_msg); + END_THROW_ERROR } } LassoLogin; +%{ + +/* Attributes inherited from LassoProfile implementations */ + +/* authn_request */ +LassoAuthnRequest *LassoLogin_authn_request_get(LassoLogin *self) { + return LassoProfile_authn_request_get(LASSO_PROFILE(self)); +} + +/* authn_response */ +LassoAuthnResponse *LassoLogin_authn_response_get(LassoLogin *self) { + return LassoProfile_authn_response_get(LASSO_PROFILE(self)); +} + +/* identity */ +LassoIdentity *LassoLogin_identity_get(LassoLogin *self) { + return lasso_profile_get_identity(LASSO_PROFILE(self)); +} +gint LassoLogin_identity_set(LassoLogin *self, LassoIdentity *identity) { + return lasso_profile_set_identity(LASSO_PROFILE(self), identity); +} + +/* is_identity_dirty */ +gboolean LassoLogin_is_identity_dirty_get(LassoLogin *self) { + return lasso_profile_is_identity_dirty(LASSO_PROFILE(self)); +} + +/* is_session_dirty */ +gboolean LassoLogin_is_session_dirty_get(LassoLogin *self) { + return lasso_profile_is_session_dirty(LASSO_PROFILE(self)); +} + +/* msg_body */ +gchar *LassoLogin_msg_body_get(LassoLogin *self) { + return LASSO_PROFILE(self)->msg_body; +} + +/* msg_relayState */ +gchar *LassoLogin_msg_relayState_get(LassoLogin *self) { + return LASSO_PROFILE(self)->msg_relayState; +} + +/* msg_url */ +gchar *LassoLogin_msg_url_get(LassoLogin *self) { + return LASSO_PROFILE(self)->msg_url; +} + +/* nameIdentifier */ +gchar *LassoLogin_nameIdentifier_get(LassoLogin *self) { + return LASSO_PROFILE(self)->nameIdentifier; +} + +/* remote_providerID */ +gchar *LassoLogin_remote_providerID_get(LassoLogin *self) { + return NULL; /* FIXME */ +} +void LassoLogin_remote_providerID_set(LassoLogin *self, gchar *remote_providerID) { + lasso_profile_set_remote_providerID(LASSO_PROFILE(self), remote_providerID); +} + +/* request */ +LassoRequest *LassoLogin_request_get(LassoLogin *self) { + return LassoProfile_request_get(LASSO_PROFILE(self)); +} + +/* response */ +LassoResponse *LassoLogin_response_get(LassoLogin *self) { + return LassoProfile_response_get(LASSO_PROFILE(self)); +} + +/* response_status */ +gchar *LassoLogin_response_status_get(LassoLogin *self) { + return NULL; /* FIXME */ +} +void LassoLogin_response_status_set(LassoLogin *self, gchar *response_status) { + lasso_profile_set_response_status(LASSO_PROFILE(self), response_status); +} + +/* session */ +LassoSession *LassoLogin_session_get(LassoLogin *self) { + return lasso_profile_get_session(LASSO_PROFILE(self)); +} +gint LassoLogin_session_set(LassoLogin *self, LassoSession *session) { + return lasso_profile_set_session(LASSO_PROFILE(self), session); +} + +/* Constructors, destructors & static methods implementations */ + +#define new_LassoLogin lasso_login_new +#define delete_LassoLogin lasso_login_destroy +#define Login_new_from_dump lasso_login_new_from_dump + +/* Methods inherited from LassoProfile implementations */ + +gint LassoLogin_set_identity_from_dump(LassoLogin *self, gchar *dump) { + return lasso_profile_set_identity_from_dump(LASSO_PROFILE(self), dump); +} + +gint LassoLogin_set_session_from_dump(LassoLogin *self, gchar *dump) { + return lasso_profile_set_session_from_dump(LASSO_PROFILE(self), dump); +} + +/* Methods implementations */ + +#define LassoLogin_accept_sso lasso_login_accept_sso +#define LassoLogin_build_artifact_msg lasso_login_build_artifact_msg +#define LassoLogin_build_authn_request_msg lasso_login_build_authn_request_msg +#define LassoLogin_build_authn_response_msg lasso_login_build_authn_response_msg +#define LassoLogin_build_request_msg lasso_login_build_request_msg +#define LassoLogin_dump lasso_login_dump +#define LassoLogin_init_authn_request lasso_login_init_authn_request +#define LassoLogin_init_from_authn_request_msg lasso_login_init_from_authn_request_msg +#define LassoLogin_init_request lasso_login_init_request +#define LassoLogin_must_authenticate lasso_login_must_authenticate +#define LassoLogin_process_authn_response_msg lasso_login_process_authn_response_msg +#define LassoLogin_process_request_msg lasso_login_process_request_msg +#define LassoLogin_process_response_msg lasso_login_process_response_msg + +%} + /* Constructors */ %newobject lasso_login_new; @@ -888,25 +1285,233 @@ gint lasso_login_process_response_msg(LassoLogin *login, gchar *response_msg); ***********************************************************************/ +%rename(Logout) LassoLogout; typedef struct { - LassoProfile parent; - %extend { - LassoLogout(LassoServer *server, lassoProviderType provider_type) { - return lasso_logout_new(server, provider_type); - } + /* Attributes inherited from LassoProfile */ + + %immutable authn_request; + LassoAuthnRequest *authn_request; + + %immutable authn_response; + LassoAuthnResponse *authn_response; + + %newobject identity_get; + LassoIdentity *identity; + + %immutable is_identity_dirty; + gboolean is_identity_dirty; + + %immutable is_session_dirty; + gboolean is_session_dirty; + + %immutable msg_body; + gchar *msg_body; + + %immutable msg_relayState; + gchar *msg_relayState; + + %immutable msg_url; + gchar *msg_url; + + %immutable nameIdentifier; + gchar *nameIdentifier; + + gchar *remote_providerID; + + %immutable request; + LassoRequest *request; + + %immutable response; + LassoResponse *response; + + gchar *response_status; + + %newobject session_get; + LassoSession *session; + + /* Constructor, Destructor & Static Methods */ + + LassoLogout(LassoServer *server, lassoProviderType provider_type); + + ~LassoLogout(); + + %newobject new_from_dump; + static LassoLogout *new_from_dump(LassoServer *server, gchar *dump); + + /* Methods inherited from LassoProfile */ + + THROW_ERROR + void set_identity_from_dump(gchar *dump); + END_THROW_ERROR + + THROW_ERROR + void set_session_from_dump(gchar *dump); + END_THROW_ERROR - ~LassoLogout() { - lasso_logout_destroy(self); - } + /* Methods */ + + THROW_ERROR + void build_request_msg(); + END_THROW_ERROR + + THROW_ERROR + void build_response_msg(); + END_THROW_ERROR + + %newobject dump; + gchar *dump(); + + %newobject get_next_providerID; + gchar *get_next_providerID(); + + THROW_ERROR + void init_request(gchar *remote_providerID = NULL, + lassoHttpMethod request_method = lassoHttpMethodAny); + END_THROW_ERROR + + THROW_ERROR + void process_request_msg(gchar *request_msg, lassoHttpMethod request_method); + END_THROW_ERROR + + THROW_ERROR + void process_response_msg(gchar *response_msg, lassoHttpMethod response_method); + END_THROW_ERROR + + THROW_ERROR + void reset_session_index(); + END_THROW_ERROR + + THROW_ERROR + void validate_request(); + END_THROW_ERROR } } LassoLogout; +%{ + +/* Attributes inherited from LassoProfile implementations */ + +/* authn_request */ +LassoAuthnRequest *LassoLogout_authn_request_get(LassoLogout *self) { + return LassoProfile_authn_request_get(LASSO_PROFILE(self)); +} + +/* authn_response */ +LassoAuthnResponse *LassoLogout_authn_response_get(LassoLogout *self) { + return LassoProfile_authn_response_get(LASSO_PROFILE(self)); +} + +/* identity */ +LassoIdentity *LassoLogout_identity_get(LassoLogout *self) { + return lasso_profile_get_identity(LASSO_PROFILE(self)); +} +gint LassoLogout_identity_set(LassoLogout *self, LassoIdentity *identity) { + return lasso_profile_set_identity(LASSO_PROFILE(self), identity); +} + +/* is_identity_dirty */ +gboolean LassoLogout_is_identity_dirty_get(LassoLogout *self) { + return lasso_profile_is_identity_dirty(LASSO_PROFILE(self)); +} + +/* is_session_dirty */ +gboolean LassoLogout_is_session_dirty_get(LassoLogout *self) { + return lasso_profile_is_session_dirty(LASSO_PROFILE(self)); +} + +/* msg_body */ +gchar *LassoLogout_msg_body_get(LassoLogout *self) { + return LASSO_PROFILE(self)->msg_body; +} + +/* msg_relayState */ +gchar *LassoLogout_msg_relayState_get(LassoLogout *self) { + return LASSO_PROFILE(self)->msg_relayState; +} + +/* msg_url */ +gchar *LassoLogout_msg_url_get(LassoLogout *self) { + return LASSO_PROFILE(self)->msg_url; +} + +/* nameIdentifier */ +gchar *LassoLogout_nameIdentifier_get(LassoLogout *self) { + return LASSO_PROFILE(self)->nameIdentifier; +} + +/* remote_providerID */ +gchar *LassoLogout_remote_providerID_get(LassoLogout *self) { + return NULL; /* FIXME */ +} +void LassoLogout_remote_providerID_set(LassoLogout *self, gchar *remote_providerID) { + lasso_profile_set_remote_providerID(LASSO_PROFILE(self), remote_providerID); +} + +/* request */ +LassoRequest *LassoLogout_request_get(LassoLogout *self) { + return LassoProfile_request_get(LASSO_PROFILE(self)); +} + +/* response */ +LassoResponse *LassoLogout_response_get(LassoLogout *self) { + return LassoProfile_response_get(LASSO_PROFILE(self)); +} + +/* response_status */ +gchar *LassoLogout_response_status_get(LassoLogout *self) { + return NULL; /* FIXME */ +} +void LassoLogout_response_status_set(LassoLogout *self, gchar *response_status) { + lasso_profile_set_response_status(LASSO_PROFILE(self), response_status); +} + +/* session */ +LassoSession *LassoLogout_session_get(LassoLogout *self) { + return lasso_profile_get_session(LASSO_PROFILE(self)); +} +gint LassoLogout_session_set(LassoLogout *self, LassoSession *session) { + return lasso_profile_set_session(LASSO_PROFILE(self), session); +} + +/* Constructors, destructors & static methods implementations */ + +#define new_LassoLogout lasso_logout_new +#define delete_LassoLogout lasso_logout_destroy +#define Logout_new_from_dump lasso_logout_new_from_dump + +/* Methods inherited from LassoProfile implementations */ + +gint LassoLogout_set_identity_from_dump(LassoLogout *self, gchar *dump) { + return lasso_profile_set_identity_from_dump(LASSO_PROFILE(self), dump); +} + +gint LassoLogout_set_session_from_dump(LassoLogout *self, gchar *dump) { + return lasso_profile_set_session_from_dump(LASSO_PROFILE(self), dump); +} + +/* Methods implementations */ + +#define LassoLogout_build_request_msg lasso_logout_build_request_msg +#define LassoLogout_build_response_msg lasso_logout_build_response_msg +#define LassoLogout_dump lasso_logout_dump +#define LassoLogout_get_next_providerID lasso_logout_get_next_providerID +#define LassoLogout_init_request lasso_logout_init_request +#define LassoLogout_process_request_msg lasso_logout_process_request_msg +#define LassoLogout_process_response_msg lasso_logout_process_response_msg +#define LassoLogout_reset_session_index lasso_logout_reset_session_index +#define LassoLogout_validate_request lasso_logout_validate_request + +%} + /* Constructors */ %newobject lasso_logout_new; LassoLogout *lasso_logout_new(LassoServer *server, lassoProviderType provider_type); +%newobject lasso_logout_new_from_dump; +LassoLogout *lasso_logout_new_from_dump(LassoServer *server, gchar *dump); + /* Destructor */ void lasso_logout_destroy(LassoLogout *logout); @@ -917,8 +1522,11 @@ gint lasso_logout_build_request_msg(LassoLogout *logout); gint lasso_logout_build_response_msg(LassoLogout *logout); +%newobject lasso_logout_dump; +gchar *lasso_logout_dump(LassoLogout *logout); + %newobject lasso_logout_get_next_providerID; -gchar *lasso_logout_get_next_providerID (LassoLogout *logout); +gchar *lasso_logout_get_next_providerID(LassoLogout *logout); gint lasso_logout_init_request(LassoLogout *logout, gchar *remote_providerID, lassoHttpMethod request_method); @@ -939,20 +1547,220 @@ gint lasso_logout_validate_request(LassoLogout *logout); ***********************************************************************/ +%rename(Lecp) LassoLecp; typedef struct { - LassoLogin parent; - %extend { - LassoLecp(LassoServer *server) { - return lasso_lecp_new(server); - } + /* Attributes inherited from LassoProfile */ + + %immutable authn_request; + LassoAuthnRequest *authn_request; + + %immutable authn_response; + LassoAuthnResponse *authn_response; + + %newobject identity_get; + LassoIdentity *identity; + + %immutable is_identity_dirty; + gboolean is_identity_dirty; + + %immutable is_session_dirty; + gboolean is_session_dirty; + + %immutable msg_body; + gchar *msg_body; + + %immutable msg_relayState; + gchar *msg_relayState; + + %immutable msg_url; + gchar *msg_url; + + %immutable nameIdentifier; + gchar *nameIdentifier; + + gchar *remote_providerID; + + %immutable request; + LassoRequest *request; + + %immutable response; + LassoResponse *response; + + gchar *response_status; + + %newobject session_get; + LassoSession *session; + + /* Constructor, Destructor & Static Methods */ + + LassoLecp(LassoServer *server); + + ~LassoLecp(); + + /* Methods inherited from LassoProfile */ + + THROW_ERROR + void set_identity_from_dump(gchar *dump); + END_THROW_ERROR + + THROW_ERROR + void set_session_from_dump(gchar *dump); + END_THROW_ERROR + + /* Methods */ + + THROW_ERROR + void build_authn_request_envelope_msg(); + END_THROW_ERROR + + THROW_ERROR + void build_authn_request_msg(gchar *remote_providerID); + END_THROW_ERROR + + THROW_ERROR + void build_authn_response_envelope_msg(gint authentication_result, + gchar *authenticationMethod, + gchar *reauthenticateOnOrAfter); + END_THROW_ERROR + + THROW_ERROR + void build_authn_response_msg(); + END_THROW_ERROR + + THROW_ERROR + void init_authn_request(); + END_THROW_ERROR + + THROW_ERROR + void init_from_authn_request_msg(gchar *authn_request_msg, + lassoHttpMethod authn_request_method); + END_THROW_ERROR - ~LassoLecp() { - lasso_lecp_destroy(self); - } + THROW_ERROR + void process_authn_request_envelope_msg(gchar *request_msg); + END_THROW_ERROR + + THROW_ERROR + void process_authn_response_envelope_msg(gchar *response_msg); + END_THROW_ERROR } } LassoLecp; +%{ + +/* Attributes inherited from LassoProfile implementations */ + +/* authn_request */ +LassoAuthnRequest *LassoLecp_authn_request_get(LassoLecp *self) { + return LassoProfile_authn_request_get(LASSO_PROFILE(self)); +} + +/* authn_response */ +LassoAuthnResponse *LassoLecp_authn_response_get(LassoLecp *self) { + return LassoProfile_authn_response_get(LASSO_PROFILE(self)); +} + +/* identity */ +LassoIdentity *LassoLecp_identity_get(LassoLecp *self) { + return lasso_profile_get_identity(LASSO_PROFILE(self)); +} +gint LassoLecp_identity_set(LassoLecp *self, LassoIdentity *identity) { + return lasso_profile_set_identity(LASSO_PROFILE(self), identity); +} + +/* is_identity_dirty */ +gboolean LassoLecp_is_identity_dirty_get(LassoLecp *self) { + return lasso_profile_is_identity_dirty(LASSO_PROFILE(self)); +} + +/* is_session_dirty */ +gboolean LassoLecp_is_session_dirty_get(LassoLecp *self) { + return lasso_profile_is_session_dirty(LASSO_PROFILE(self)); +} + +/* msg_body */ +gchar *LassoLecp_msg_body_get(LassoLecp *self) { + return LASSO_PROFILE(self)->msg_body; +} + +/* msg_relayState */ +gchar *LassoLecp_msg_relayState_get(LassoLecp *self) { + return LASSO_PROFILE(self)->msg_relayState; +} + +/* msg_url */ +gchar *LassoLecp_msg_url_get(LassoLecp *self) { + return LASSO_PROFILE(self)->msg_url; +} + +/* nameIdentifier */ +gchar *LassoLecp_nameIdentifier_get(LassoLecp *self) { + return LASSO_PROFILE(self)->nameIdentifier; +} + +/* remote_providerID */ +gchar *LassoLecp_remote_providerID_get(LassoLecp *self) { + return NULL; /* FIXME */ +} +void LassoLecp_remote_providerID_set(LassoLecp *self, gchar *remote_providerID) { + lasso_profile_set_remote_providerID(LASSO_PROFILE(self), remote_providerID); +} + +/* request */ +LassoRequest *LassoLecp_request_get(LassoLecp *self) { + return LassoProfile_request_get(LASSO_PROFILE(self)); +} + +/* response */ +LassoResponse *LassoLecp_response_get(LassoLecp *self) { + return LassoProfile_response_get(LASSO_PROFILE(self)); +} + +/* response_status */ +gchar *LassoLecp_response_status_get(LassoLecp *self) { + return NULL; /* FIXME */ +} +void LassoLecp_response_status_set(LassoLecp *self, gchar *response_status) { + lasso_profile_set_response_status(LASSO_PROFILE(self), response_status); +} + +/* session */ +LassoSession *LassoLecp_session_get(LassoLecp *self) { + return lasso_profile_get_session(LASSO_PROFILE(self)); +} +gint LassoLecp_session_set(LassoLecp *self, LassoSession *session) { + return lasso_profile_set_session(LASSO_PROFILE(self), session); +} + +/* Constructors, destructors & static methods implementations */ + +#define new_LassoLecp lasso_lecp_new +#define delete_LassoLecp lasso_lecp_destroy + +/* Methods inherited from LassoProfile implementations */ + +gint LassoLecp_set_identity_from_dump(LassoLecp *self, gchar *dump) { + return lasso_profile_set_identity_from_dump(LASSO_PROFILE(self), dump); +} + +gint LassoLecp_set_session_from_dump(LassoLecp *self, gchar *dump) { + return lasso_profile_set_session_from_dump(LASSO_PROFILE(self), dump); +} + +/* Methods implementations */ + +#define LassoLecp_build_authn_request_envelope_msg lasso_lecp_build_authn_request_envelope_msg +#define LassoLecp_build_authn_request_msg lasso_lecp_build_authn_request_msg +#define LassoLecp_build_authn_response_envelope_msg lasso_lecp_build_authn_response_envelope_msg +#define LassoLecp_build_authn_response_msg lasso_lecp_build_authn_response_msg +#define LassoLecp_init_authn_request lasso_lecp_init_authn_request +#define LassoLecp_init_from_authn_request_msg lasso_lecp_init_from_authn_request_msg +#define LassoLecp_process_authn_request_envelope_msg lasso_lecp_process_authn_request_envelope_msg +#define LassoLecp_process_authn_response_envelope_msg lasso_lecp_process_authn_response_envelope_msg + +%} + /* Constructors */ %newobject lasso_lecp_new; |