diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-08-01 14:09:33 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-08-01 14:09:33 +0000 |
| commit | a4daec5c74ed5f9fc2f5af5c8cfbcc1c035d0a90 (patch) | |
| tree | 91b8128a61699defc4cd2e1b3696b9459d61dbe0 | |
| parent | 1311929c0a67ec3f853d04ccde3de590fa31417d (diff) | |
| download | lasso-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.c | 53 |
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; +} |
