summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2008-08-01 14:09:33 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2008-08-01 14:09:33 +0000
commita4daec5c74ed5f9fc2f5af5c8cfbcc1c035d0a90 (patch)
tree91b8128a61699defc4cd2e1b3696b9459d61dbe0
parent1311929c0a67ec3f853d04ccde3de590fa31417d (diff)
downloadlasso-a4daec5c74ed5f9fc2f5af5c8cfbcc1c035d0a90.tar.gz
lasso-a4daec5c74ed5f9fc2f5af5c8cfbcc1c035d0a90.tar.xz
lasso-a4daec5c74ed5f9fc2f5af5c8cfbcc1c035d0a90.zip
add matching of Bearer authentication, support ID-WSF 1.1 security mechanisms URNs
-rw-r--r--lasso/id-wsf/utils.c53
1 files changed, 40 insertions, 13 deletions
diff --git a/lasso/id-wsf/utils.c b/lasso/id-wsf/utils.c
index 5bfe9c28..21b5a01a 100644
--- a/lasso/id-wsf/utils.c
+++ b/lasso/id-wsf/utils.c
@@ -44,7 +44,9 @@ lasso_security_mech_id_is_saml_authentication(const gchar *security_mech_id)
if (strcmp(security_mech_id, LASSO_SECURITY_MECH_SAML) == 0 ||
strcmp(security_mech_id, LASSO_SECURITY_MECH_TLS_SAML) == 0 ||
- strcmp(security_mech_id, LASSO_SECURITY_MECH_CLIENT_TLS_SAML) == 0)
+ strcmp(security_mech_id, LASSO_SECURITY_MECH_CLIENT_TLS_SAML) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY11_MECH_SAML) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY11_MECH_TLS_SAML) == 0)
return TRUE;
return FALSE;
@@ -62,12 +64,11 @@ lasso_security_mech_id_is_saml_authentication(const gchar *security_mech_id)
gboolean
lasso_security_mech_id_is_x509_authentication(const char *security_mech_id)
{
- if (strcmp(security_mech_id,
- LASSO_SECURITY_MECH_CLIENT_TLS_X509) == 0 ||
- strcmp(security_mech_id,
- LASSO_SECURITY_MECH_TLS_X509) == 0 ||
- strcmp(security_mech_id,
- LASSO_SECURITY_MECH_X509) == 0) {
+ if (strcmp(security_mech_id, LASSO_SECURITY_MECH_CLIENT_TLS_X509) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY_MECH_TLS_X509) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY_MECH_X509) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY11_MECH_TLS_X509) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY11_MECH_X509) == 0) {
return TRUE;
}
return FALSE;
@@ -85,13 +86,39 @@ lasso_security_mech_id_is_x509_authentication(const char *security_mech_id)
gboolean
lasso_security_mech_id_is_null_authentication(const char *security_mech_id)
{
- if (strcmp(security_mech_id,
- LASSO_SECURITY_MECH_CLIENT_TLS) == 0 ||
- strcmp(security_mech_id,
- LASSO_SECURITY_MECH_TLS) == 0 ||
- strcmp(security_mech_id,
- LASSO_SECURITY_MECH_NULL) == 0) {
+ if (strcmp(security_mech_id, LASSO_SECURITY_MECH_CLIENT_TLS) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY_MECH_TLS) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY_MECH_NULL) == 0) {
return TRUE;
}
return FALSE;
}
+
+/**
+ * lasso_security_mech_is_null_authentication:
+ * @security_mech_id: the URI of an authentication mechanism
+ *
+ * Return value: %TRUE if @security_mech_id is one of
+ * urn:liberty:security:2003-08:NULL:Bearer,
+ * urn:liberty:security:2003-08:TLS:Bearer or
+ * urn:liberty:security:2003-08:ClientTLS:Bearer,
+ * urn:liberty:security:2005-02:NULL:Bearer,
+ * urn:liberty:security:2005-02:TLS:Bearer or
+ * urn:liberty:security:2005-02:ClientTLS:Bearer,
+ * FALSE otherwise.
+ */
+gboolean
+lasso_security_mech_id_is_bearer_authentication(const gchar *security_mech_id)
+{
+ if (!security_mech_id)
+ return FALSE;
+
+ if (strcmp(security_mech_id, LASSO_SECURITY_MECH_BEARER) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY_MECH_TLS_BEARER) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY_MECH_CLIENT_TLS_BEARER) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY11_MECH_BEARER) == 0 ||
+ strcmp(security_mech_id, LASSO_SECURITY11_MECH_TLS_BEARER) == 0)
+ return TRUE;
+
+ return FALSE;
+}