Lines Matching refs:limits
371 nvlist_t *limits, *nvl; in cap_grp_limit_cmds() local
374 if (cap_limit_get(chan, &limits) < 0) in cap_grp_limit_cmds()
376 if (limits == NULL) { in cap_grp_limit_cmds()
377 limits = nvlist_create(0); in cap_grp_limit_cmds()
379 if (nvlist_exists_nvlist(limits, "cmds")) in cap_grp_limit_cmds()
380 nvlist_free_nvlist(limits, "cmds"); in cap_grp_limit_cmds()
385 nvlist_move_nvlist(limits, "cmds", nvl); in cap_grp_limit_cmds()
386 return (cap_limit_set(chan, limits)); in cap_grp_limit_cmds()
393 nvlist_t *limits, *nvl; in cap_grp_limit_fields() local
396 if (cap_limit_get(chan, &limits) < 0) in cap_grp_limit_fields()
398 if (limits == NULL) { in cap_grp_limit_fields()
399 limits = nvlist_create(0); in cap_grp_limit_fields()
401 if (nvlist_exists_nvlist(limits, "fields")) in cap_grp_limit_fields()
402 nvlist_free_nvlist(limits, "fields"); in cap_grp_limit_fields()
407 nvlist_move_nvlist(limits, "fields", nvl); in cap_grp_limit_fields()
408 return (cap_limit_set(chan, limits)); in cap_grp_limit_fields()
415 nvlist_t *limits, *groups; in cap_grp_limit_groups() local
420 if (cap_limit_get(chan, &limits) < 0) in cap_grp_limit_groups()
422 if (limits == NULL) { in cap_grp_limit_groups()
423 limits = nvlist_create(0); in cap_grp_limit_groups()
425 if (nvlist_exists_nvlist(limits, "groups")) in cap_grp_limit_groups()
426 nvlist_free_nvlist(limits, "groups"); in cap_grp_limit_groups()
439 nvlist_move_nvlist(limits, "groups", groups); in cap_grp_limit_groups()
440 return (cap_limit_set(chan, limits)); in cap_grp_limit_groups()
447 grp_allowed_cmd(const nvlist_t *limits, const char *cmd) in grp_allowed_cmd() argument
450 if (limits == NULL) in grp_allowed_cmd()
457 if (!nvlist_exists_nvlist(limits, "cmds")) in grp_allowed_cmd()
460 limits = nvlist_get_nvlist(limits, "cmds"); in grp_allowed_cmd()
461 return (nvlist_exists_null(limits, cmd)); in grp_allowed_cmd()
483 grp_allowed_group(const nvlist_t *limits, const char *gname, gid_t gid) in grp_allowed_group() argument
489 if (limits == NULL) in grp_allowed_group()
495 if (!nvlist_exists_nvlist(limits, "groups")) in grp_allowed_group()
498 limits = nvlist_get_nvlist(limits, "groups"); in grp_allowed_group()
500 while ((name = nvlist_next(limits, &type, &cookie)) != NULL) { in grp_allowed_group()
504 nvlist_get_number(limits, name) == (uint64_t)gid) { in grp_allowed_group()
510 strcmp(nvlist_get_string(limits, name), in grp_allowed_group()
553 grp_allowed_field(const nvlist_t *limits, const char *field) in grp_allowed_field() argument
556 if (limits == NULL) in grp_allowed_field()
562 if (!nvlist_exists_nvlist(limits, "fields")) in grp_allowed_field()
565 limits = nvlist_get_nvlist(limits, "fields"); in grp_allowed_field()
566 return (nvlist_exists_null(limits, field)); in grp_allowed_field()
588 grp_pack(const nvlist_t *limits, const struct group *grp, nvlist_t *nvl) in grp_pack() argument
599 if (!grp_allowed_group(limits, grp->gr_name, grp->gr_gid)) in grp_pack()
602 if (grp_allowed_field(limits, "gr_name")) in grp_pack()
606 if (grp_allowed_field(limits, "gr_passwd")) in grp_pack()
610 if (grp_allowed_field(limits, "gr_gid")) in grp_pack()
614 if (grp_allowed_field(limits, "gr_mem") && grp->gr_mem[0] != NULL) { in grp_pack()
630 grp_getgrent(const nvlist_t *limits, const nvlist_t *nvlin __unused, in grp_getgrent() argument
640 if (grp_pack(limits, grp, nvlout)) in grp_getgrent()
648 grp_getgrnam(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) in grp_getgrnam() argument
663 (void)grp_pack(limits, grp, nvlout); in grp_getgrnam()
669 grp_getgrgid(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) in grp_getgrgid() argument
684 (void)grp_pack(limits, grp, nvlout); in grp_getgrgid()
690 grp_setgroupent(const nvlist_t *limits __unused, const nvlist_t *nvlin, in grp_setgroupent()
704 grp_setgrent(const nvlist_t *limits __unused, const nvlist_t *nvlin __unused, in grp_setgrent()
714 grp_endgrent(const nvlist_t *limits __unused, const nvlist_t *nvlin __unused, in grp_endgrent()
726 const nvlist_t *limits; in grp_limit() local
748 limits = nvlist_get_nvlist(newlimits, name); in grp_limit()
750 error = grp_allowed_cmds(oldlimits, limits); in grp_limit()
752 error = grp_allowed_fields(oldlimits, limits); in grp_limit()
754 error = grp_allowed_groups(oldlimits, limits); in grp_limit()
765 grp_command(const char *cmd, const nvlist_t *limits, nvlist_t *nvlin, in grp_command() argument
770 if (!grp_allowed_cmd(limits, cmd)) in grp_command()
774 error = grp_getgrent(limits, nvlin, nvlout); in grp_command()
776 error = grp_getgrnam(limits, nvlin, nvlout); in grp_command()
778 error = grp_getgrgid(limits, nvlin, nvlout); in grp_command()
780 error = grp_setgroupent(limits, nvlin, nvlout); in grp_command()
782 error = grp_setgrent(limits, nvlin, nvlout); in grp_command()
784 error = grp_endgrent(limits, nvlin, nvlout); in grp_command()