Lines Matching full:acl

47 free_retv(struct acl_field *acl)  in free_retv()  argument
49 while(acl != NULL) { in free_retv()
50 if (acl->type == acl_retval) { in free_retv()
51 if (*acl->u.retv) in free_retv()
52 free(*acl->u.retv); in free_retv()
53 *acl->u.retv = NULL; in free_retv()
55 acl = acl->next; in free_retv()
60 acl_free_list(struct acl_field *acl, int retv) in acl_free_list() argument
64 free_retv(acl); in acl_free_list()
65 while(acl != NULL) { in acl_free_list()
66 next = acl->next; in acl_free_list()
67 free(acl); in acl_free_list()
68 acl = next; in acl_free_list()
79 struct acl_field *acl = NULL, *tmp; in acl_parse_format() local
86 acl_free_list(acl, 0); in acl_parse_format()
102 "parsing ACL", "specifier"), *p); in acl_parse_format()
103 acl_free_list(acl, 0); in acl_parse_format()
108 if(acl == NULL) in acl_parse_format()
109 acl = tmp; in acl_parse_format()
111 *acl->last = tmp; in acl_parse_format()
112 acl->last = &tmp->next; in acl_parse_format()
114 *acl_ret = acl; in acl_parse_format()
136 struct acl_field *acl, in acl_match_acl() argument
143 if (acl == NULL) in acl_match_acl()
145 if(!acl_match_field(context, buf, acl)) { in acl_match_acl()
148 acl = acl->next; in acl_match_acl()
150 if (acl) in acl_match_acl()
156 * krb5_acl_match_string matches ACL format against a string.
158 * The ACL format has three format specifiers: s, f, and r. Each
186 * krb5_errx(context, 1, "acl didn't match");
192 * krb5_errx(context, 1, "acl didn't match");
209 struct acl_field *acl; in krb5_acl_match_string() local
213 ret = acl_parse_format(context, &acl, format, ap); in krb5_acl_match_string()
218 found = acl_match_acl(context, acl, string); in krb5_acl_match_string()
219 acl_free_list(acl, !found); in krb5_acl_match_string()
223 krb5_set_error_message(context, EACCES, N_("ACL did not match", "")); in krb5_acl_match_string()
229 * krb5_acl_match_file matches ACL format against each line in a file
234 * @param file file with acl listed in the file.
251 struct acl_field *acl = NULL; in krb5_acl_match_file() local
269 ret = acl_parse_format(context, &acl, format, ap); in krb5_acl_match_file()
280 if(acl_match_acl(context, acl, buf)) { in krb5_acl_match_file()
284 free_retv(acl); in krb5_acl_match_file()
288 acl_free_list(acl, !found); in krb5_acl_match_file()
292 krb5_set_error_message(context, EACCES, N_("ACL did not match", "")); in krb5_acl_match_file()