Add _kadm5_{string,privs}_to_{privs,string}

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3840 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-11-09 02:40:44 +00:00
parent 3e5cb18d86
commit e704317e09

View File

@@ -42,6 +42,7 @@ RCSID("$Id$");
static struct units acl_units[] = {
{ "all", KADM5_PRIV_ALL },
{ "change-password",KADM5_PRIV_CPW },
{ "cpw", KADM5_PRIV_CPW },
{ "list", KADM5_PRIV_LIST },
{ "delete", KADM5_PRIV_DELETE },
@@ -51,6 +52,24 @@ static struct units acl_units[] = {
{ NULL }
};
kadm5_ret_t
_kadm5_string_to_privs(const char *s, u_int32_t* privs)
{
int flags;
flags = parse_flags(s, acl_units, 0);
if(flags < 0)
return KADM5_FAILURE;
*privs = flags;
return 0;
}
kadm5_ret_t
_kadm5_privs_to_string(u_int32_t privs, char *string, size_t len)
{
unparse_flags(privs, acl_units + 1, string, len);
return 0;
}
kadm5_ret_t
_kadm5_acl_init(kadm5_server_context *context)
{
@@ -88,7 +107,7 @@ _kadm5_acl_init(kadm5_server_context *context)
p = strtok_r(NULL, "\n", &foo);
if(p == NULL)
continue;
flags = parse_flags(p, acl_units, 0);
ret = _kadm5_string_to_privs(p, &flags);
break;
}
fclose(f);