summaryrefslogtreecommitdiffstats
path: root/lasso/xml
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-12-01 18:37:30 +0100
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-12-05 12:03:12 +0100
commit5a9a447bad701dbb711c95481175cbd7ab3127f6 (patch)
tree1d6aeb535730e629f65990a3730b80d0a5e37627 /lasso/xml
parent4ba067b828df150b0bf4e89298d997b00057f36f (diff)
downloadlasso-5a9a447bad701dbb711c95481175cbd7ab3127f6.tar.gz
lasso-5a9a447bad701dbb711c95481175cbd7ab3127f6.tar.xz
lasso-5a9a447bad701dbb711c95481175cbd7ab3127f6.zip
[xml] add an inline function to validate LassoSignatureMethod values
- add also a LASSO_SIGNATURE_METHOD_NONE value
Diffstat (limited to 'lasso/xml')
-rw-r--r--lasso/xml/tools.c2
-rw-r--r--lasso/xml/xml.h9
2 files changed, 10 insertions, 1 deletions
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index b4afba91..e5de3b78 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -519,6 +519,7 @@ lasso_query_sign(char *query, LassoSignatureMethod sign_method, const char *priv
new_query = g_strdup_printf("%s&SigAlg=%s", query, t);
xmlFree(t);
break;
+ case LASSO_SIGNATURE_METHOD_NONE:
case LASSO_SIGNATURE_METHOD_LAST:
g_assert_not_reached();
}
@@ -571,6 +572,7 @@ lasso_query_sign(char *query, LassoSignatureMethod sign_method, const char *priv
case LASSO_SIGNATURE_METHOD_DSA_SHA1:
s_new_query = g_strdup_printf("%s&Signature=%s", new_query, e_b64_sigret);
break;
+ case LASSO_SIGNATURE_METHOD_NONE:
case LASSO_SIGNATURE_METHOD_LAST:
g_assert_not_reached();
}
diff --git a/lasso/xml/xml.h b/lasso/xml/xml.h
index d4283956..cf735e7b 100644
--- a/lasso/xml/xml.h
+++ b/lasso/xml/xml.h
@@ -97,11 +97,18 @@ typedef enum {
* Signature method.
**/
typedef enum {
- LASSO_SIGNATURE_METHOD_RSA_SHA1 = 1,
+ LASSO_SIGNATURE_METHOD_NONE = 0,
+ LASSO_SIGNATURE_METHOD_RSA_SHA1,
LASSO_SIGNATURE_METHOD_DSA_SHA1,
LASSO_SIGNATURE_METHOD_LAST
} LassoSignatureMethod;
+static inline gboolean
+lasso_validate_signature_method(LassoSignatureMethod signature_method)
+{
+ return signature_method > (LassoSignatureMethod)LASSO_SIGNATURE_TYPE_NONE \
+ && signature_method < (LassoSignatureMethod)LASSO_SIGNATURE_METHOD_LAST;
+}
typedef struct _LassoNode LassoNode;
typedef struct _LassoNodeClass LassoNodeClass;