diff options
author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-08-11 21:22:27 +0000 |
---|---|---|
committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-08-11 21:22:27 +0000 |
commit | df5394132c2f7809150925d0b13d0c753614a222 (patch) | |
tree | c0294eb233d23210e1d1a3e0db6368f33de75f26 /lasso | |
parent | ffd275e6c674bba9feccc7fae1eb6762db504789 (diff) | |
download | lasso-df5394132c2f7809150925d0b13d0c753614a222.tar.gz lasso-df5394132c2f7809150925d0b13d0c753614a222.tar.xz lasso-df5394132c2f7809150925d0b13d0c753614a222.zip |
Fixed GError* bugs
Diffstat (limited to 'lasso')
-rw-r--r-- | lasso/Attic/protocols/artifact.c | 77 | ||||
-rw-r--r-- | lasso/xml/ds_signature.c | 33 | ||||
-rw-r--r-- | lasso/xml/saml_assertion.c | 18 | ||||
-rw-r--r-- | lasso/xml/samlp_request_abstract.c | 18 | ||||
-rw-r--r-- | lasso/xml/samlp_response_abstract.c | 18 |
5 files changed, 150 insertions, 14 deletions
diff --git a/lasso/Attic/protocols/artifact.c b/lasso/Attic/protocols/artifact.c index b14fcb74..6b8015ef 100644 --- a/lasso/Attic/protocols/artifact.c +++ b/lasso/Attic/protocols/artifact.c @@ -23,6 +23,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <lasso/xml/errors.h> #include <lasso/protocols/artifact.h> #include <xmlsec/base64.h> @@ -72,6 +73,19 @@ lasso_artifact_get_assertionHandle(LassoArtifact *artifact, xmlChar *assertionHandle; GError *tmp_err = NULL; + 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)); + 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)); + g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); + } + assertionHandle = lasso_node_get_child_content(LASSO_NODE(artifact), "AssertionHandle", NULL, &tmp_err); @@ -82,6 +96,15 @@ lasso_artifact_get_assertionHandle(LassoArtifact *artifact, return (assertionHandle); } +/** + * lasso_artifact_get_byteCode: + * @artifact: an LassoArtifact + * @err: return location for an allocated GError, or NULL to ignore errors + * + * Gets the ByteCode of the artifact + * + * Return value: the ByteCode or a negative integer if an error occurs. + **/ gint lasso_artifact_get_byteCode(LassoArtifact *artifact, GError **err) @@ -90,6 +113,21 @@ lasso_artifact_get_byteCode(LassoArtifact *artifact, gint ret; GError *tmp_err = NULL; + 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)); + g_return_val_if_fail (err == NULL || *err == NULL, + LASSO_PARAM_ERROR_ERR_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)); + g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), + LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + } + byteCode = lasso_node_get_child_content(LASSO_NODE(artifact), "ByteCode", NULL, &tmp_err); if (byteCode == NULL) { @@ -110,6 +148,19 @@ lasso_artifact_get_b64IdentityProviderSuccinctID(LassoArtifact *artifact, xmlChar *b64_identityProviderSuccinctID; GError *tmp_err = NULL; + 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)); + 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)); + g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); + } + b64_identityProviderSuccinctID = lasso_node_get_child_content(LASSO_NODE(artifact), "B64IdentityProviderSuccinctID", NULL, &tmp_err); @@ -127,6 +178,19 @@ lasso_artifact_get_relayState(LassoArtifact *artifact, xmlChar *relayState; GError *tmp_err = NULL; + 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)); + 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)); + g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); + } + relayState = lasso_node_get_child_content(LASSO_NODE(artifact), "RelayState", NULL, &tmp_err); if (relayState == NULL) { @@ -143,6 +207,19 @@ lasso_artifact_get_samlArt(LassoArtifact *artifact, xmlChar *samlArt; GError *tmp_err = NULL; + 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)); + 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)); + g_return_val_if_fail(LASSO_IS_ARTIFACT(artifact), NULL); + } + samlArt = lasso_node_get_child_content(LASSO_NODE(artifact), "SAMLart", NULL, &tmp_err); if (samlArt == NULL) { diff --git a/lasso/xml/ds_signature.c b/lasso/xml/ds_signature.c index e904ca10..63dc40fd 100644 --- a/lasso/xml/ds_signature.c +++ b/lasso/xml/ds_signature.c @@ -41,11 +41,40 @@ lasso_ds_signature_sign(LassoDsSignature *node, const xmlChar *certificate_file, GError **err) { - xmlNodePtr signature = LASSO_NODE_GET_CLASS(node)->get_xmlNode(LASSO_NODE(node)); + xmlNodePtr signature; xmlSecDSigCtxPtr dsig_ctx; gint ret = 0; - g_return_val_if_fail (err == NULL || *err == NULL, LASSO_ERR_ERROR_CHECK_FAILED); + 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)); + g_return_val_if_fail (err == NULL || *err == NULL, + LASSO_PARAM_ERROR_ERR_CHECK_FAILED); + } + if (LASSO_IS_DS_SIGNATURE(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)); + g_return_val_if_fail(LASSO_IS_DS_SIGNATURE(node), + LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + } + if (private_key_file == NULL) { + g_set_error(err, g_quark_from_string("Lasso"), + LASSO_PARAM_ERROR_INVALID_VALUE, + lasso_strerror(LASSO_PARAM_ERROR_INVALID_VALUE)); + g_return_val_if_fail(private_key_file != NULL, + LASSO_PARAM_ERROR_INVALID_VALUE); + } + if (certificate_file == NULL) { + g_set_error(err, g_quark_from_string("Lasso"), + LASSO_PARAM_ERROR_INVALID_VALUE, + lasso_strerror(LASSO_PARAM_ERROR_INVALID_VALUE)); + g_return_val_if_fail(certificate_file != NULL, + LASSO_PARAM_ERROR_INVALID_VALUE); + } + + signature = LASSO_NODE_GET_CLASS(node)->get_xmlNode(LASSO_NODE(node)); /* create signature context */ dsig_ctx = xmlSecDSigCtxCreate(NULL); diff --git a/lasso/xml/saml_assertion.c b/lasso/xml/saml_assertion.c index a39ed666..c2e5692e 100644 --- a/lasso/xml/saml_assertion.c +++ b/lasso/xml/saml_assertion.c @@ -256,10 +256,20 @@ lasso_saml_assertion_set_signature(LassoSamlAssertion *node, gint ret; GError *tmp_err = NULL; - g_assert(LASSO_IS_SAML_ASSERTION(node)); - g_assert(private_key_file != NULL); - g_assert(certificate_file != NULL); - g_return_val_if_fail (err == NULL || *err == NULL, LASSO_ERR_ERROR_CHECK_FAILED); + 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)); + g_return_val_if_fail (err == NULL || *err == NULL, + LASSO_PARAM_ERROR_ERR_CHECK_FAILED); + } + if (LASSO_IS_SAML_ASSERTION(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)); + g_return_val_if_fail(LASSO_IS_SAML_ASSERTION(node), + LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + } LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); diff --git a/lasso/xml/samlp_request_abstract.c b/lasso/xml/samlp_request_abstract.c index 7ab200d0..dbe238ce 100644 --- a/lasso/xml/samlp_request_abstract.c +++ b/lasso/xml/samlp_request_abstract.c @@ -123,10 +123,20 @@ lasso_samlp_request_abstract_set_signature(LassoSamlpRequestAbstract *node, gint ret; GError *tmp_err = NULL; - g_assert(LASSO_IS_SAMLP_REQUEST_ABSTRACT(node)); - g_assert(private_key_file != NULL); - g_assert(certificate_file != NULL); - g_return_val_if_fail (err == NULL || *err == NULL, LASSO_ERR_ERROR_CHECK_FAILED); + 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)); + g_return_val_if_fail (err == NULL || *err == NULL, + LASSO_PARAM_ERROR_ERR_CHECK_FAILED); + } + if (LASSO_IS_SAMLP_REQUEST_ABSTRACT(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)); + g_return_val_if_fail(LASSO_IS_SAMLP_REQUEST_ABSTRACT(node), + LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + } LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); diff --git a/lasso/xml/samlp_response_abstract.c b/lasso/xml/samlp_response_abstract.c index 8ca805a7..cbbb517c 100644 --- a/lasso/xml/samlp_response_abstract.c +++ b/lasso/xml/samlp_response_abstract.c @@ -138,10 +138,20 @@ lasso_samlp_response_abstract_set_signature(LassoSamlpResponseAbstract *node, gint ret; GError *tmp_err = NULL; - g_assert(LASSO_IS_SAMLP_RESPONSE_ABSTRACT(node)); - g_assert(private_key_file != NULL); - g_assert(certificate_file != NULL); - g_return_val_if_fail (err == NULL || *err == NULL, LASSO_ERR_ERROR_CHECK_FAILED); + 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)); + g_return_val_if_fail (err == NULL || *err == NULL, + LASSO_PARAM_ERROR_ERR_CHECK_FAILED); + } + if (LASSO_IS_SAMLP_RESPONSE_ABSTRACT(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)); + g_return_val_if_fail(LASSO_IS_SAMLP_RESPONSE_ABSTRACT(node), + LASSO_PARAM_ERROR_BADTYPE_OR_NULL_OBJ); + } LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); |