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:
@@ -41,16 +41,35 @@
|
|||||||
RCSID("$Id$");
|
RCSID("$Id$");
|
||||||
|
|
||||||
static struct units acl_units[] = {
|
static struct units acl_units[] = {
|
||||||
{ "all", KADM5_PRIV_ALL },
|
{ "all", KADM5_PRIV_ALL },
|
||||||
{ "cpw", KADM5_PRIV_CPW },
|
{ "change-password",KADM5_PRIV_CPW },
|
||||||
{ "list", KADM5_PRIV_LIST },
|
{ "cpw", KADM5_PRIV_CPW },
|
||||||
{ "delete", KADM5_PRIV_DELETE },
|
{ "list", KADM5_PRIV_LIST },
|
||||||
{ "modify", KADM5_PRIV_MODIFY },
|
{ "delete", KADM5_PRIV_DELETE },
|
||||||
{ "add", KADM5_PRIV_ADD },
|
{ "modify", KADM5_PRIV_MODIFY },
|
||||||
{ "get", KADM5_PRIV_GET },
|
{ "add", KADM5_PRIV_ADD },
|
||||||
|
{ "get", KADM5_PRIV_GET },
|
||||||
{ NULL }
|
{ 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_ret_t
|
||||||
_kadm5_acl_init(kadm5_server_context *context)
|
_kadm5_acl_init(kadm5_server_context *context)
|
||||||
{
|
{
|
||||||
@@ -88,7 +107,7 @@ _kadm5_acl_init(kadm5_server_context *context)
|
|||||||
p = strtok_r(NULL, "\n", &foo);
|
p = strtok_r(NULL, "\n", &foo);
|
||||||
if(p == NULL)
|
if(p == NULL)
|
||||||
continue;
|
continue;
|
||||||
flags = parse_flags(p, acl_units, 0);
|
ret = _kadm5_string_to_privs(p, &flags);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
Reference in New Issue
Block a user