summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-15 10:37:42 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-15 10:37:42 +0000
commit7041018303beb78b570e4b920349a159d04af596 (patch)
tree0e888b957973d8b5fd1c13b91d9b8dd320346ff1
parent78df73e12884adb815529cdbcb7e35766de3651a (diff)
Core: in lasso_verify_signature, fix conditional about single reference
* lasso/xml/toosl.c: verify that reference is unique if NO_SINGLE_REFERENCE is disabled.
-rw-r--r--lasso/xml/tools.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index c345d47e..a7788c91 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -1322,7 +1322,7 @@ lasso_verify_signature(xmlNode *signed_node, xmlDoc *doc, const char *id_attr_na
LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED);
/* There should be only one reference */
- goto_cleanup_if_fail_with_rc(((signature_verification_option & NO_SINGLE_REFERENCE) == 0) &&
+ goto_cleanup_if_fail_with_rc(((signature_verification_option & NO_SINGLE_REFERENCE) == 0) ||
xmlSecPtrListGetSize(&(dsigCtx->signedInfoReferences)) == 1, LASSO_DS_ERROR_TOO_MUCH_REFERENCES);
/* The reference should be to the signed node */
reference_uri = g_strdup_printf("#%s", id);