diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-05-17 13:42:44 +0200 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-05-19 17:54:16 +0200 |
| commit | e14652e7a41332f954b72dd2fbc6f9962970e8c3 (patch) | |
| tree | c493c80424b3d2c6e5bfdfe905228b5788b8f767 | |
| parent | 298e6a50e24ced200cb71707b7af423c50f961d0 (diff) | |
| download | lasso-e14652e7a41332f954b72dd2fbc6f9962970e8c3.tar.gz lasso-e14652e7a41332f954b72dd2fbc6f9962970e8c3.tar.xz lasso-e14652e7a41332f954b72dd2fbc6f9962970e8c3.zip | |
[utils] add macros to append to and release a list of xmlSecKey*
[core] make lasso_provider_verify_query_signature use lasso_provider_verify_signature
| -rw-r--r-- | lasso/id-ff/provider.c | 20 | ||||
| -rw-r--r-- | lasso/utils.h | 9 |
2 files changed, 10 insertions, 19 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index 28763a8c..163d73bc 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -1543,25 +1543,7 @@ lasso_provider_get_encryption_sym_key_type(const LassoProvider *provider) int lasso_provider_verify_query_signature(LassoProvider *provider, const char *message) { - xmlSecKey *provider_public_key; - int rc = 0; - - lasso_bad_param(PROVIDER, provider); - lasso_check_good_rc(lasso_provider_try_loading_public_key(provider, &provider_public_key, TRUE)); - g_return_val_if_fail(provider_public_key, LASSO_PROVIDER_ERROR_MISSING_PUBLIC_KEY); - - switch (lasso_provider_get_protocol_conformance(provider)) { - case LASSO_PROTOCOL_LIBERTY_1_0: - case LASSO_PROTOCOL_LIBERTY_1_1: - case LASSO_PROTOCOL_LIBERTY_1_2: - return lasso_query_verify_signature(message, provider_public_key); - case LASSO_PROTOCOL_SAML_2_0: - return lasso_saml2_query_verify_signature(message, provider_public_key); - default: - return LASSO_ERROR_UNIMPLEMENTED; - } -cleanup: - return rc; + return lasso_provider_verify_signature(provider, message, "", LASSO_MESSAGE_FORMAT_QUERY); } /** diff --git a/lasso/utils.h b/lasso/utils.h index 341a440e..17b4ba10 100644 --- a/lasso/utils.h +++ b/lasso/utils.h @@ -144,6 +144,9 @@ #define lasso_release_list_of_xml_node_list(dest) \ lasso_release_list_of_full(dest, xmlFreeNodeList) +#define lasso_release_list_of_sec_key(dest) \ + lasso_release_list_of_full(dest, xmlSecKeyDestroy) + #define lasso_release_xml_node(node) \ lasso_release_full2(node, xmlFreeNode, xmlNodePtr) @@ -426,6 +429,12 @@ } \ } +#define lasso_list_add_new_sec_key(dest, src) \ + { \ + xmlSecKey *__tmp_src = (src); \ + lasso_list_add_non_null(dest, __tmp_src); \ + } + /* List element removal */ #define lasso_list_remove_gobject(list, gobject) \ do { void *__tmp = gobject; GList **__tmp_list = &(list); \ |
