1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

mit-kdb: Add more ks_is_kadmin* functions.

Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Pair-Programmed-With: Guenther Deschner <gd@samba.org>
Reviewed-by: Sumit Bose <sbose@redhat.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andreas Schneider 2014-08-06 15:27:16 +02:00 committed by Andrew Bartlett
parent d787d35d97
commit e13e9c54f5
2 changed files with 43 additions and 0 deletions

View File

@ -55,6 +55,18 @@ bool ks_data_eq_string(krb5_data d, const char *s);
krb5_data ks_make_data(void *data, unsigned int len);
krb5_boolean ks_is_kadmin(krb5_context context,
krb5_const_principal princ);
krb5_boolean ks_is_kadmin_history(krb5_context context,
krb5_const_principal princ);
krb5_boolean ks_is_kadmin_changepw(krb5_context context,
krb5_const_principal princ);
krb5_boolean ks_is_kadmin_admin(krb5_context context,
krb5_const_principal princ);
/* from kdb_samba_principals.c */
krb5_error_code kdb_samba_db_get_principal(krb5_context context,

View File

@ -117,3 +117,34 @@ krb5_data ks_make_data(void *data, unsigned int len)
return d;
}
krb5_boolean ks_is_kadmin(krb5_context context,
krb5_const_principal princ)
{
return krb5_princ_size(context, princ) >= 1 &&
ks_data_eq_string(princ->data[0], "kadmin");
}
krb5_boolean ks_is_kadmin_history(krb5_context context,
krb5_const_principal princ)
{
return krb5_princ_size(context, princ) == 2 &&
ks_data_eq_string(princ->data[0], "kadmin") &&
ks_data_eq_string(princ->data[1], "history");
}
krb5_boolean ks_is_kadmin_changepw(krb5_context context,
krb5_const_principal princ)
{
return krb5_princ_size(context, princ) == 2 &&
ks_data_eq_string(princ->data[0], "kadmin") &&
ks_data_eq_string(princ->data[1], "changepw");
}
krb5_boolean ks_is_kadmin_admin(krb5_context context,
krb5_const_principal princ)
{
return krb5_princ_size(context, princ) == 2 &&
ks_data_eq_string(princ->data[0], "kadmin") &&
ks_data_eq_string(princ->data[1], "admin");
}