Lines Matching defs:eval
616 kauth_acl_evaluate(kauth_cred_t cred, kauth_acl_eval_t eval)
625 if (eval->ae_requested == 0) {
626 eval->ae_result = KAUTH_RESULT_ALLOW;
630 eval->ae_residual = eval->ae_requested;
631 eval->ae_found_deny = FALSE;
644 KAUTH_DEBUG(" ACL - %d entries, initial residual %x", eval->ae_count, eval->ae_residual);
645 for (i = 0, ace = eval->ae_acl; i < eval->ae_count; i++, ace++) {
658 rights |= eval->ae_exp_gall;
660 rights |= eval->ae_exp_gread;
662 rights |= eval->ae_exp_gwrite;
664 rights |= eval->ae_exp_gexec;
673 if (!(eval->ae_residual & rights))
677 if (!(eval->ae_requested & rights))
679 eval->ae_found_deny = TRUE;
692 applies = eval->ae_options & KAUTH_AEVAL_IS_OWNER;
695 if (!gotguid || (eval->ae_options & KAUTH_AEVAL_IN_GROUP_UNKNOWN))
698 applies = eval->ae_options & KAUTH_AEVAL_IN_GROUP;
748 eval->ae_residual = eval->ae_residual & ~rights;
749 KAUTH_DEBUG(" ACL[%d] - rights %x leave residual %x", i, rights, eval->ae_residual);
751 if (eval->ae_residual == 0) {
752 eval->ae_result = KAUTH_RESULT_ALLOW;
758 if (eval->ae_requested & rights) {
760 eval->ae_result = KAUTH_RESULT_DENY;
770 eval->ae_result = KAUTH_RESULT_DEFER;