summaryrefslogtreecommitdiffstats
path: root/lasso
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-08-11 21:22:27 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-08-11 21:22:27 +0000
commitdf5394132c2f7809150925d0b13d0c753614a222 (patch)
treec0294eb233d23210e1d1a3e0db6368f33de75f26 /lasso
parentffd275e6c674bba9feccc7fae1eb6762db504789 (diff)
downloadlasso-df5394132c2f7809150925d0b13d0c753614a222.tar.gz
lasso-df5394132c2f7809150925d0b13d0c753614a222.tar.xz
lasso-df5394132c2f7809150925d0b13d0c753614a222.zip
Fixed GError* bugs
Diffstat (limited to 'lasso')
-rw-r--r--lasso/Attic/protocols/artifact.c77
-rw-r--r--lasso/xml/ds_signature.c33
-rw-r--r--lasso/xml/saml_assertion.c18
-rw-r--r--lasso/xml/samlp_request_abstract.c18
-rw-r--r--lasso/xml/samlp_response_abstract.c18
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);