Lines Matching refs:id
72 static int id_has_dot(char *id);
109 int insert_id(char *id, int push) in insert_id() argument
114 newid = (char *)malloc(strlen(id) + 1); in insert_id()
119 strcpy(newid, id); in insert_id()
135 static int id_has_dot(char *id) in id_has_dot() argument
137 if (strchr(id, '.') >= id + 1) { in id_has_dot()
145 char *id = 0; in define_class() local
151 id = queue_remove(id_queue); in define_class()
152 free(id); in define_class()
156 id = (char *)queue_remove(id_queue); in define_class()
157 if (!id) { in define_class()
167 ret = declare_symbol(SYM_CLASSES, id, datum, &value, &value); in define_class()
174 yyerror2("duplicate declaration of class %s", id); in define_class()
193 if (id) in define_class()
194 free(id); in define_class()
245 char *id = 0; in define_polcap() local
249 id = queue_remove(id_queue); in define_polcap()
250 free(id); in define_polcap()
254 id = (char *)queue_remove(id_queue); in define_polcap()
255 if (!id) { in define_polcap()
261 capnum = sepol_polcap_getnum(id); in define_polcap()
263 yyerror2("invalid policy capability name %s", id); in define_polcap()
273 free(id); in define_polcap()
277 free(id); in define_polcap()
283 char *id = 0; in define_initial_sid() local
287 id = queue_remove(id_queue); in define_initial_sid()
288 free(id); in define_initial_sid()
292 id = (char *)queue_remove(id_queue); in define_initial_sid()
293 if (!id) { in define_initial_sid()
303 newc->u.name = id; in define_initial_sid()
309 yyerror2("duplicate initial SID %s", id); in define_initial_sid()
325 if (id) in define_initial_sid()
326 free(id); in define_initial_sid()
334 char *id; in read_classes() local
337 while ((id = queue_remove(id_queue))) { in read_classes()
338 if (!is_id_in_scope(SYM_CLASSES, id)) { in read_classes()
339 yyerror2("class %s is not within scope", id); in read_classes()
342 cladatum = hashtab_search(policydbp->p_classes.table, id); in read_classes()
344 yyerror2("unknown class %s", id); in read_classes()
351 free(id); in read_classes()
358 char *id; in define_default_user() local
362 while ((id = queue_remove(id_queue))) in define_default_user()
363 free(id); in define_default_user()
367 while ((id = queue_remove(id_queue))) { in define_default_user()
368 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_user()
369 yyerror2("class %s is not within scope", id); in define_default_user()
372 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_user()
374 yyerror2("unknown class %s", id); in define_default_user()
378 yyerror2("conflicting default user information for class %s", id); in define_default_user()
382 free(id); in define_default_user()
390 char *id; in define_default_role() local
394 while ((id = queue_remove(id_queue))) in define_default_role()
395 free(id); in define_default_role()
399 while ((id = queue_remove(id_queue))) { in define_default_role()
400 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_role()
401 yyerror2("class %s is not within scope", id); in define_default_role()
404 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_role()
406 yyerror2("unknown class %s", id); in define_default_role()
410 yyerror2("conflicting default role information for class %s", id); in define_default_role()
414 free(id); in define_default_role()
422 char *id; in define_default_type() local
426 while ((id = queue_remove(id_queue))) in define_default_type()
427 free(id); in define_default_type()
431 while ((id = queue_remove(id_queue))) { in define_default_type()
432 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_type()
433 yyerror2("class %s is not within scope", id); in define_default_type()
436 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_type()
438 yyerror2("unknown class %s", id); in define_default_type()
442 yyerror2("conflicting default type information for class %s", id); in define_default_type()
446 free(id); in define_default_type()
454 char *id; in define_default_range() local
458 while ((id = queue_remove(id_queue))) in define_default_range()
459 free(id); in define_default_range()
463 while ((id = queue_remove(id_queue))) { in define_default_range()
464 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_range()
465 yyerror2("class %s is not within scope", id); in define_default_range()
468 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_range()
470 yyerror2("unknown class %s", id); in define_default_range()
474 yyerror2("conflicting default range information for class %s", id); in define_default_range()
478 free(id); in define_default_range()
486 char *id = 0, *perm = 0; in define_common_perms() local
492 while ((id = queue_remove(id_queue))) in define_common_perms()
493 free(id); in define_common_perms()
497 id = (char *)queue_remove(id_queue); in define_common_perms()
498 if (!id) { in define_common_perms()
502 comdatum = hashtab_search(policydbp->p_commons.table, id); in define_common_perms()
504 yyerror2("duplicate declaration for common %s\n", id); in define_common_perms()
514 (hashtab_key_t) id, (hashtab_datum_t) comdatum); in define_common_perms()
550 id); in define_common_perms()
563 if (id) in define_common_perms()
564 free(id); in define_common_perms()
579 char *id; in define_av_perms() local
586 while ((id = queue_remove(id_queue))) in define_av_perms()
587 free(id); in define_av_perms()
591 id = (char *)queue_remove(id_queue); in define_av_perms()
592 if (!id) { in define_av_perms()
597 (hashtab_key_t) id); in define_av_perms()
599 yyerror2("class %s is not defined", id); in define_av_perms()
602 free(id); in define_av_perms()
613 id = (char *)queue_remove(id_queue); in define_av_perms()
614 if (!id) { in define_av_perms()
622 (hashtab_key_t) id); in define_av_perms()
625 yyerror2("common %s is not defined", id); in define_av_perms()
628 cladatum->comkey = id; in define_av_perms()
637 while ((id = queue_remove(id_queue))) { in define_av_perms()
660 (hashtab_key_t) id); in define_av_perms()
663 "inherited permission", id); in define_av_perms()
668 (hashtab_key_t) id, in define_av_perms()
672 yyerror2("duplicate permission %s", id); in define_av_perms()
688 if (id) in define_av_perms()
689 free(id); in define_av_perms()
697 char *id; in define_sens() local
709 while ((id = queue_remove(id_queue))) in define_sens()
710 free(id); in define_sens()
714 id = (char *)queue_remove(id_queue); in define_sens()
715 if (!id) { in define_sens()
719 if (id_has_dot(id)) { in define_sens()
741 ret = declare_symbol(SYM_LEVELS, id, datum, &value, &value); in define_sens()
764 while ((id = queue_remove(id_queue))) { in define_sens()
765 if (id_has_dot(id)) { in define_sens()
778 ret = declare_symbol(SYM_LEVELS, id, aliasdatum, NULL, &value); in define_sens()
807 if (id) in define_sens()
808 free(id); in define_sens()
818 if (id) in define_sens()
819 free(id); in define_sens()
831 char *id; in define_dominance() local
839 while ((id = queue_remove(id_queue))) in define_dominance()
840 free(id); in define_dominance()
845 while ((id = (char *)queue_remove(id_queue))) { in define_dominance()
848 (hashtab_key_t) id); in define_dominance()
851 "definition", id); in define_dominance()
852 free(id); in define_dominance()
857 "definition", id); in define_dominance()
858 free(id); in define_dominance()
864 free(id); in define_dominance()
877 char *id; in define_category() local
888 while ((id = queue_remove(id_queue))) in define_category()
889 free(id); in define_category()
893 id = (char *)queue_remove(id_queue); in define_category()
894 if (!id) { in define_category()
898 if (id_has_dot(id)) { in define_category()
910 ret = declare_symbol(SYM_CATS, id, datum, &value, &value); in define_category()
934 while ((id = queue_remove(id_queue))) { in define_category()
935 if (id_has_dot(id)) { in define_category()
949 declare_symbol(SYM_CATS, id, aliasdatum, NULL, in define_category()
979 if (id) in define_category()
980 free(id); in define_category()
988 if (id) in define_category()
989 free(id); in define_category()
1020 char *id; in define_level() local
1029 while ((id = queue_remove(id_queue))) in define_level()
1030 free(id); in define_level()
1034 id = (char *)queue_remove(id_queue); in define_level()
1035 if (!id) { in define_level()
1040 (hashtab_key_t) id); in define_level()
1042 yyerror2("unknown sensitivity %s used in level definition", id); in define_level()
1043 free(id); in define_level()
1048 id); in define_level()
1049 free(id); in define_level()
1052 free(id); in define_level()
1056 while ((id = queue_remove(id_queue))) { in define_level()
1060 if (id_has_dot(id)) { in define_level()
1061 char *id_start = id; in define_level()
1062 char *id_end = strchr(id, '.'); in define_level()
1073 free(id); in define_level()
1084 free(id); in define_level()
1091 free(id); in define_level()
1098 (hashtab_key_t) id); in define_level()
1105 free(id); in define_level()
1110 free(id); in define_level()
1137 char *id; in add_aliases_to_type() local
1140 while ((id = queue_remove(id_queue))) { in add_aliases_to_type()
1141 if (id_has_dot(id)) { in add_aliases_to_type()
1142 free(id); in add_aliases_to_type()
1149 free(id); in add_aliases_to_type()
1156 ret = declare_symbol(SYM_TYPES, id, aliasdatum, in add_aliases_to_type()
1165 id); in add_aliases_to_type()
1179 aliasdatum = hashtab_search(policydbp->symtab[SYM_TYPES].table, id); in add_aliases_to_type()
1194 free(id); in add_aliases_to_type()
1202 char *id; in define_typealias() local
1206 while ((id = queue_remove(id_queue))) in define_typealias()
1207 free(id); in define_typealias()
1211 id = (char *)queue_remove(id_queue); in define_typealias()
1212 if (!id) { in define_typealias()
1217 if (!is_id_in_scope(SYM_TYPES, id)) { in define_typealias()
1218 yyerror2("type %s is not within scope", id); in define_typealias()
1219 free(id); in define_typealias()
1222 t = hashtab_search(policydbp->p_types.table, id); in define_typealias()
1225 "attribute", id); in define_typealias()
1226 free(id); in define_typealias()
1234 char *id; in define_typeattribute() local
1238 while ((id = queue_remove(id_queue))) in define_typeattribute()
1239 free(id); in define_typeattribute()
1243 id = (char *)queue_remove(id_queue); in define_typeattribute()
1244 if (!id) { in define_typeattribute()
1249 if (!is_id_in_scope(SYM_TYPES, id)) { in define_typeattribute()
1250 yyerror2("type %s is not within scope", id); in define_typeattribute()
1251 free(id); in define_typeattribute()
1254 t = hashtab_search(policydbp->p_types.table, id); in define_typeattribute()
1256 yyerror2("unknown type %s", id); in define_typeattribute()
1257 free(id); in define_typeattribute()
1261 while ((id = queue_remove(id_queue))) { in define_typeattribute()
1262 if (!is_id_in_scope(SYM_TYPES, id)) { in define_typeattribute()
1263 yyerror2("attribute %s is not within scope", id); in define_typeattribute()
1264 free(id); in define_typeattribute()
1267 attr = hashtab_search(policydbp->p_types.table, id); in define_typeattribute()
1270 yyerror2("attribute %s is not declared", id); in define_typeattribute()
1271 free(id); in define_typeattribute()
1276 yyerror2("%s is a type, not an attribute", id); in define_typeattribute()
1277 free(id); in define_typeattribute()
1281 if ((attr = get_local_type(id, attr->s.value, 1)) == NULL) { in define_typeattribute()
1342 char *bounds, *id; in define_typebounds() local
1345 while ((id = queue_remove(id_queue))) in define_typebounds()
1346 free(id); in define_typebounds()
1356 while ((id = queue_remove(id_queue))) { in define_typebounds()
1357 if (define_typebounds_helper(bounds, id)) in define_typebounds()
1359 free(id); in define_typebounds()
1368 char *id; in define_type() local
1377 if ((id = queue_remove(id_queue))) { in define_type()
1380 if ((delim = strrchr(id, '.')) in define_type()
1381 && (bounds = strdup(id))) { in define_type()
1382 bounds[(size_t)(delim - id)] = '\0'; in define_type()
1384 if (define_typebounds_helper(bounds, id)) in define_type()
1388 free(id); in define_type()
1392 while ((id = queue_remove(id_queue))) in define_type()
1393 free(id); in define_type()
1396 while ((id = queue_remove(id_queue))) in define_type()
1397 free(id); in define_type()
1411 while ((id = queue_remove(id_queue))) { in define_type()
1412 if (!is_id_in_scope(SYM_TYPES, id)) { in define_type()
1413 yyerror2("attribute %s is not within scope", id); in define_type()
1414 free(id); in define_type()
1417 attr = hashtab_search(policydbp->p_types.table, id); in define_type()
1420 yyerror2("attribute %s is not declared", id); in define_type()
1425 yyerror2("%s is a type, not an attribute", id); in define_type()
1429 if ((attr = get_local_type(id, attr->s.value, 1)) == NULL) { in define_type()
1451 static int set_types(type_set_t * set, char *id, int *add, char starallowed) in set_types() argument
1455 if (strcmp(id, "*") == 0) { in set_types()
1462 free(id); in set_types()
1467 if (strcmp(id, "~") == 0) { in set_types()
1474 free(id); in set_types()
1479 if (strcmp(id, "-") == 0) { in set_types()
1481 free(id); in set_types()
1485 if (!is_id_in_scope(SYM_TYPES, id)) { in set_types()
1486 yyerror2("type %s is not within scope", id); in set_types()
1487 free(id); in set_types()
1490 t = hashtab_search(policydbp->p_types.table, id); in set_types()
1492 yyerror2("unknown type %s", id); in set_types()
1493 free(id); in set_types()
1504 free(id); in set_types()
1509 free(id); in set_types()
1515 char *id; in define_compute_type_helper() local
1538 while ((id = queue_remove(id_queue))) { in define_compute_type_helper()
1539 if (set_types(&avrule->stypes, id, &add, 0)) in define_compute_type_helper()
1543 while ((id = queue_remove(id_queue))) { in define_compute_type_helper()
1544 if (set_types(&avrule->ttypes, id, &add, 0)) in define_compute_type_helper()
1552 id = (char *)queue_remove(id_queue); in define_compute_type_helper()
1553 if (!id) { in define_compute_type_helper()
1557 if (!is_id_in_scope(SYM_TYPES, id)) { in define_compute_type_helper()
1558 yyerror2("type %s is not within scope", id); in define_compute_type_helper()
1559 free(id); in define_compute_type_helper()
1563 (hashtab_key_t) id); in define_compute_type_helper()
1565 yyerror2("unknown type %s", id); in define_compute_type_helper()
1596 char *id; in define_compute_type() local
1600 while ((id = queue_remove(id_queue))) in define_compute_type()
1601 free(id); in define_compute_type()
1602 while ((id = queue_remove(id_queue))) in define_compute_type()
1603 free(id); in define_compute_type()
1604 while ((id = queue_remove(id_queue))) in define_compute_type()
1605 free(id); in define_compute_type()
1606 id = queue_remove(id_queue); in define_compute_type()
1607 free(id); in define_compute_type()
1620 char *id; in define_cond_compute_type() local
1624 while ((id = queue_remove(id_queue))) in define_cond_compute_type()
1625 free(id); in define_cond_compute_type()
1626 while ((id = queue_remove(id_queue))) in define_cond_compute_type()
1627 free(id); in define_cond_compute_type()
1628 while ((id = queue_remove(id_queue))) in define_cond_compute_type()
1629 free(id); in define_cond_compute_type()
1630 id = queue_remove(id_queue); in define_cond_compute_type()
1631 free(id); in define_cond_compute_type()
1643 char *id, *bool_value; in define_bool_tunable() local
1649 while ((id = queue_remove(id_queue))) in define_bool_tunable()
1650 free(id); in define_bool_tunable()
1654 id = (char *)queue_remove(id_queue); in define_bool_tunable()
1655 if (!id) { in define_bool_tunable()
1659 if (id_has_dot(id)) { in define_bool_tunable()
1660 free(id); in define_bool_tunable()
1667 free(id); in define_bool_tunable()
1673 ret = declare_symbol(SYM_BOOLS, id, datum, &value, &value); in define_bool_tunable()
1680 yyerror2("duplicate declaration of boolean %s", id); in define_bool_tunable()
1700 free(id); in define_bool_tunable()
1707 cond_destroy_bool(id, datum, NULL); in define_bool_tunable()
1730 char *id; in define_te_avtab_helper() local
1758 while ((id = queue_remove(id_queue))) { in define_te_avtab_helper()
1760 (&avrule->stypes, id, &add, in define_te_avtab_helper()
1767 while ((id = queue_remove(id_queue))) { in define_te_avtab_helper()
1768 if (strcmp(id, "self") == 0) { in define_te_avtab_helper()
1769 free(id); in define_te_avtab_helper()
1774 (&avrule->ttypes, id, &add, in define_te_avtab_helper()
1806 while ((id = queue_remove(id_queue))) { in define_te_avtab_helper()
1813 if (strcmp(id, "*") == 0) { in define_te_avtab_helper()
1819 if (strcmp(id, "~") == 0) { in define_te_avtab_helper()
1828 hashtab_search(cladatum->permissions.table, id); in define_te_avtab_helper()
1834 id); in define_te_avtab_helper()
1840 " for class %s", id, in define_te_avtab_helper()
1845 (id, policydbp->p_class_val_to_name[i])) { in define_te_avtab_helper()
1848 " not within scope", id, in define_te_avtab_helper()
1859 free(id); in define_te_avtab_helper()
1874 char *id; in define_cond_te_avtab() local
1880 while ((id = queue_remove(id_queue))) in define_cond_te_avtab()
1881 free(id); in define_cond_te_avtab()
1894 char *id; in define_te_avtab() local
1900 while ((id = queue_remove(id_queue))) in define_te_avtab()
1901 free(id); in define_te_avtab()
1920 char *id; in define_role_types() local
1924 while ((id = queue_remove(id_queue))) in define_role_types()
1925 free(id); in define_role_types()
1929 id = (char *)queue_remove(id_queue); in define_role_types()
1930 if (!id) { in define_role_types()
1935 if (!is_id_in_scope(SYM_ROLES, id)) { in define_role_types()
1936 yyerror2("role %s is not within scope", id); in define_role_types()
1937 free(id); in define_role_types()
1941 role = hashtab_search(policydbp->p_roles.table, id); in define_role_types()
1943 yyerror2("unknown role %s", id); in define_role_types()
1944 free(id); in define_role_types()
1948 while ((id = queue_remove(id_queue))) { in define_role_types()
1949 if (set_types(&role->types, id, &add, 0)) in define_role_types()
1972 char *id; in define_role_attr() local
1976 while ((id = queue_remove(id_queue))) in define_role_attr()
1977 free(id); in define_role_attr()
1985 while ((id = queue_remove(id_queue))) { in define_role_attr()
1986 if (!is_id_in_scope(SYM_ROLES, id)) { in define_role_attr()
1987 yyerror2("attribute %s is not within scope", id); in define_role_attr()
1988 free(id); in define_role_attr()
1991 attr = hashtab_search(policydbp->p_roles.table, id); in define_role_attr()
1994 yyerror2("role attribute %s is not declared", id); in define_role_attr()
1995 free(id); in define_role_attr()
2000 yyerror2("%s is a regular role, not an attribute", id); in define_role_attr()
2001 free(id); in define_role_attr()
2005 if ((attr = get_local_role(id, attr->s.value, 1)) == NULL) { in define_role_attr()
2021 char *id; in define_roleattribute() local
2025 while ((id = queue_remove(id_queue))) in define_roleattribute()
2026 free(id); in define_roleattribute()
2030 id = (char *)queue_remove(id_queue); in define_roleattribute()
2031 if (!id) { in define_roleattribute()
2036 if (!is_id_in_scope(SYM_ROLES, id)) { in define_roleattribute()
2037 yyerror2("role %s is not within scope", id); in define_roleattribute()
2038 free(id); in define_roleattribute()
2041 r = hashtab_search(policydbp->p_roles.table, id); in define_roleattribute()
2044 yyerror2("unknown role %s", id); in define_roleattribute()
2045 free(id); in define_roleattribute()
2049 while ((id = queue_remove(id_queue))) { in define_roleattribute()
2050 if (!is_id_in_scope(SYM_ROLES, id)) { in define_roleattribute()
2051 yyerror2("attribute %s is not within scope", id); in define_roleattribute()
2052 free(id); in define_roleattribute()
2055 attr = hashtab_search(policydbp->p_roles.table, id); in define_roleattribute()
2058 yyerror2("role attribute %s is not declared", id); in define_roleattribute()
2059 free(id); in define_roleattribute()
2064 yyerror2("%s is a regular role, not an attribute", id); in define_roleattribute()
2065 free(id); in define_roleattribute()
2069 if ((attr = get_local_role(id, attr->s.value, 1)) == NULL) { in define_roleattribute()
2302 static int set_roles(role_set_t * set, char *id) in set_roles() argument
2306 if (strcmp(id, "*") == 0) { in set_roles()
2307 free(id); in set_roles()
2312 if (strcmp(id, "~") == 0) { in set_roles()
2313 free(id); in set_roles()
2317 if (!is_id_in_scope(SYM_ROLES, id)) { in set_roles()
2318 yyerror2("role %s is not within scope", id); in set_roles()
2319 free(id); in set_roles()
2322 r = hashtab_search(policydbp->p_roles.table, id); in set_roles()
2324 yyerror2("unknown role %s", id); in set_roles()
2325 free(id); in set_roles()
2331 free(id); in set_roles()
2334 free(id); in set_roles()
2340 char *id; in define_role_trans() local
2353 while ((id = queue_remove(id_queue))) in define_role_trans()
2354 free(id); in define_role_trans()
2355 while ((id = queue_remove(id_queue))) in define_role_trans()
2356 free(id); in define_role_trans()
2358 while ((id = queue_remove(id_queue))) in define_role_trans()
2359 free(id); in define_role_trans()
2360 id = queue_remove(id_queue); in define_role_trans()
2361 free(id); in define_role_trans()
2371 while ((id = queue_remove(id_queue))) { in define_role_trans()
2372 if (set_roles(&roles, id)) in define_role_trans()
2376 while ((id = queue_remove(id_queue))) { in define_role_trans()
2377 if (set_types(&types, id, &add, 0)) in define_role_trans()
2399 id = (char *)queue_remove(id_queue); in define_role_trans()
2400 if (!id) { in define_role_trans()
2404 if (!is_id_in_scope(SYM_ROLES, id)) { in define_role_trans()
2405 yyerror2("role %s is not within scope", id); in define_role_trans()
2406 free(id); in define_role_trans()
2409 role = hashtab_search(policydbp->p_roles.table, id); in define_role_trans()
2411 yyerror2("unknown role %s used in transition definition", id); in define_role_trans()
2416 yyerror2("the new role %s must be a regular role", id); in define_role_trans()
2491 char *id; in define_role_allow() local
2495 while ((id = queue_remove(id_queue))) in define_role_allow()
2496 free(id); in define_role_allow()
2497 while ((id = queue_remove(id_queue))) in define_role_allow()
2498 free(id); in define_role_allow()
2509 while ((id = queue_remove(id_queue))) { in define_role_allow()
2510 if (set_roles(&ra->roles, id)) { in define_role_allow()
2516 while ((id = queue_remove(id_queue))) { in define_role_allow()
2517 if (set_roles(&ra->new_roles, id)) { in define_role_allow()
2536 char *id, *name = NULL; in define_filename_trans() local
2550 while ((id = queue_remove(id_queue))) in define_filename_trans()
2551 free(id); in define_filename_trans()
2553 while ((id = queue_remove(id_queue))) in define_filename_trans()
2554 free(id); in define_filename_trans()
2556 while ((id = queue_remove(id_queue))) in define_filename_trans()
2557 free(id); in define_filename_trans()
2559 id = queue_remove(id_queue); in define_filename_trans()
2560 free(id); in define_filename_trans()
2562 id = queue_remove(id_queue); in define_filename_trans()
2563 free(id); in define_filename_trans()
2570 while ((id = queue_remove(id_queue))) { in define_filename_trans()
2571 if (set_types(&stypes, id, &add, 0)) in define_filename_trans()
2577 while ((id = queue_remove(id_queue))) { in define_filename_trans()
2578 if (set_types(&ttypes, id, &add, 0)) in define_filename_trans()
2586 id = (char *)queue_remove(id_queue); in define_filename_trans()
2587 if (!id) { in define_filename_trans()
2591 if (!is_id_in_scope(SYM_TYPES, id)) { in define_filename_trans()
2592 yyerror2("type %s is not within scope", id); in define_filename_trans()
2593 free(id); in define_filename_trans()
2596 typdatum = hashtab_search(policydbp->p_types.table, id); in define_filename_trans()
2598 yyerror2("unknown type %s used in transition definition", id); in define_filename_trans()
2601 free(id); in define_filename_trans()
2740 char *id; in define_constraint() local
2751 while ((id = queue_remove(id_queue))) in define_constraint()
2752 free(id); in define_constraint()
2753 while ((id = queue_remove(id_queue))) in define_constraint()
2754 free(id); in define_constraint()
2798 while ((id = queue_remove(id_queue))) { in define_constraint()
2799 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_constraint()
2800 yyerror2("class %s is not within scope", id); in define_constraint()
2801 free(id); in define_constraint()
2806 (hashtab_key_t) id); in define_constraint()
2808 yyerror2("class %s is not defined", id); in define_constraint()
2810 free(id); in define_constraint()
2816 free(id); in define_constraint()
2842 free(id); in define_constraint()
2845 while ((id = queue_remove(id_queue))) { in define_constraint()
2856 id); in define_constraint()
2866 id); in define_constraint()
2870 " defined", id); in define_constraint()
2871 free(id); in define_constraint()
2880 free(id); in define_constraint()
2891 char *id; in define_validatetrans() local
2899 while ((id = queue_remove(id_queue))) in define_validatetrans()
2900 free(id); in define_validatetrans()
2940 while ((id = queue_remove(id_queue))) { in define_validatetrans()
2941 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_validatetrans()
2942 yyerror2("class %s is not within scope", id); in define_validatetrans()
2943 free(id); in define_validatetrans()
2948 (hashtab_key_t) id); in define_validatetrans()
2950 yyerror2("class %s is not defined", id); in define_validatetrans()
2952 free(id); in define_validatetrans()
2958 free(id); in define_validatetrans()
2979 free(id); in define_validatetrans()
2993 char *id; in define_cexpr() local
2999 while ((id = queue_remove(id_queue))) in define_cexpr()
3000 free(id); in define_cexpr()
3065 while ((id = (char *)queue_remove(id_queue))) { in define_cexpr()
3067 if (!is_id_in_scope(SYM_USERS, id)) { in define_cexpr()
3069 id); in define_cexpr()
3078 id); in define_cexpr()
3080 yyerror2("unknown user %s", id); in define_cexpr()
3086 if (!is_id_in_scope(SYM_ROLES, id)) { in define_cexpr()
3088 id); in define_cexpr()
3097 id); in define_cexpr()
3099 yyerror2("unknown role %s", id); in define_cexpr()
3105 if (set_types(expr->type_names, id, &add, 0)) { in define_cexpr()
3121 free(id); in define_cexpr()
3237 char *id; in define_cond_expr() local
3242 while ((id = queue_remove(id_queue))) { in define_cond_expr()
3243 free(id); in define_cond_expr()
3308 id = (char *)queue_remove(id_queue); in define_cond_expr()
3309 if (!id) { in define_cond_expr()
3311 free(id); in define_cond_expr()
3315 if (!is_id_in_scope(SYM_BOOLS, id)) { in define_cond_expr()
3316 yyerror2("boolean %s is not within scope", id); in define_cond_expr()
3317 free(id); in define_cond_expr()
3324 (hashtab_key_t) id); in define_cond_expr()
3327 id); in define_cond_expr()
3329 free(id); in define_cond_expr()
3333 free(id); in define_cond_expr()
3342 static int set_user_roles(role_set_t * set, char *id) in set_user_roles() argument
3348 if (strcmp(id, "*") == 0) { in set_user_roles()
3349 free(id); in set_user_roles()
3354 if (strcmp(id, "~") == 0) { in set_user_roles()
3355 free(id); in set_user_roles()
3360 if (!is_id_in_scope(SYM_ROLES, id)) { in set_user_roles()
3361 yyerror2("role %s is not within scope", id); in set_user_roles()
3362 free(id); in set_user_roles()
3365 r = hashtab_search(policydbp->p_roles.table, id); in set_user_roles()
3367 yyerror2("unknown role %s", id); in set_user_roles()
3368 free(id); in set_user_roles()
3378 free(id); in set_user_roles()
3385 static int parse_categories(char *id, level_datum_t * levdatum, ebitmap_t * cats) in parse_categories() argument
3390 if (id_has_dot(id)) { in parse_categories()
3391 char *id_start = id; in parse_categories()
3392 char *id_end = strchr(id, '.'); in parse_categories()
3418 (hashtab_key_t) id); in parse_categories()
3420 yyerror2("unknown category %s", id); in parse_categories()
3445 static int parse_semantic_categories(char *id, level_datum_t * levdatum, in parse_semantic_categories() argument
3452 if (id_has_dot(id)) { in parse_semantic_categories()
3453 char *id_start = id; in parse_semantic_categories()
3454 char *id_end = strchr(id, '.'); in parse_semantic_categories()
3476 (hashtab_key_t) id); in parse_semantic_categories()
3478 yyerror2("unknown category %s", id); in parse_semantic_categories()
3502 char *id; in define_user() local
3508 while ((id = queue_remove(id_queue))) in define_user()
3509 free(id); in define_user()
3511 while ((id = queue_remove(id_queue))) in define_user()
3512 free(id); in define_user()
3513 id = queue_remove(id_queue); in define_user()
3514 free(id); in define_user()
3516 while ((id = queue_remove(id_queue))) { in define_user()
3517 free(id); in define_user()
3519 id = queue_remove(id_queue); in define_user()
3520 if (!id) in define_user()
3522 free(id); in define_user()
3532 while ((id = queue_remove(id_queue))) { in define_user()
3533 if (set_user_roles(&usrdatum->roles, id)) in define_user()
3538 id = queue_remove(id_queue); in define_user()
3539 if (!id) { in define_user()
3546 (hashtab_key_t) id); in define_user()
3549 " level definition", id); in define_user()
3550 free(id); in define_user()
3553 free(id); in define_user()
3557 while ((id = queue_remove(id_queue))) { in define_user()
3558 if (parse_semantic_categories(id, levdatum, in define_user()
3560 free(id); in define_user()
3563 free(id); in define_user()
3566 id = queue_remove(id_queue); in define_user()
3571 (hashtab_key_t) id); in define_user()
3574 " range definition", id); in define_user()
3575 free(id); in define_user()
3578 free(id); in define_user()
3582 while ((id = queue_remove(id_queue))) { in define_user()
3583 if (parse_semantic_categories(id, levdatum, in define_user()
3585 free(id); in define_user()
3588 free(id); in define_user()
3591 id = queue_remove(id_queue); in define_user()
3592 if (!id) in define_user()
3609 char *id; in parse_security_context() local
3617 id = queue_remove(id_queue); in parse_security_context()
3618 free(id); /* user */ in parse_security_context()
3619 id = queue_remove(id_queue); in parse_security_context()
3620 free(id); /* role */ in parse_security_context()
3621 id = queue_remove(id_queue); in parse_security_context()
3622 free(id); /* type */ in parse_security_context()
3624 id = queue_remove(id_queue); in parse_security_context()
3625 free(id); in parse_security_context()
3627 while ((id = queue_remove(id_queue))) { in parse_security_context()
3628 free(id); in parse_security_context()
3630 id = queue_remove(id_queue); in parse_security_context()
3631 if (!id) in parse_security_context()
3633 free(id); in parse_security_context()
3648 id = queue_remove(id_queue); in parse_security_context()
3649 if (!id) { in parse_security_context()
3653 if (!is_id_in_scope(SYM_USERS, id)) { in parse_security_context()
3654 yyerror2("user %s is not within scope", id); in parse_security_context()
3655 free(id); in parse_security_context()
3659 (hashtab_key_t) id); in parse_security_context()
3661 yyerror2("user %s is not defined", id); in parse_security_context()
3662 free(id); in parse_security_context()
3668 free(id); in parse_security_context()
3671 id = (char *)queue_remove(id_queue); in parse_security_context()
3672 if (!id) { in parse_security_context()
3676 if (!is_id_in_scope(SYM_ROLES, id)) { in parse_security_context()
3677 yyerror2("role %s is not within scope", id); in parse_security_context()
3678 free(id); in parse_security_context()
3682 (hashtab_key_t) id); in parse_security_context()
3684 yyerror2("role %s is not defined", id); in parse_security_context()
3685 free(id); in parse_security_context()
3691 free(id); in parse_security_context()
3694 id = (char *)queue_remove(id_queue); in parse_security_context()
3695 if (!id) { in parse_security_context()
3699 if (!is_id_in_scope(SYM_TYPES, id)) { in parse_security_context()
3700 yyerror2("type %s is not within scope", id); in parse_security_context()
3701 free(id); in parse_security_context()
3705 (hashtab_key_t) id); in parse_security_context()
3707 yyerror2("type %s is not defined or is an attribute", id); in parse_security_context()
3708 free(id); in parse_security_context()
3714 free(id); in parse_security_context()
3718 id = (char *)queue_head(id_queue); in parse_security_context()
3719 if (!id) { in parse_security_context()
3725 id = (char *)queue_remove(id_queue); in parse_security_context()
3729 (hashtab_key_t) id); in parse_security_context()
3731 yyerror2("Sensitivity %s is not defined", id); in parse_security_context()
3732 free(id); in parse_security_context()
3735 free(id); in parse_security_context()
3739 while ((id = queue_remove(id_queue))) { in parse_security_context()
3740 if (parse_categories(id, levdatum, in parse_security_context()
3742 free(id); in parse_security_context()
3745 free(id); in parse_security_context()
3749 id = (char *)queue_remove(id_queue); in parse_security_context()
3750 if (!id) in parse_security_context()
3779 char *id; in define_initial_sid_context() local
3783 id = (char *)queue_remove(id_queue); in define_initial_sid_context()
3784 free(id); in define_initial_sid_context()
3789 id = (char *)queue_remove(id_queue); in define_initial_sid_context()
3790 if (!id) { in define_initial_sid_context()
3796 if (!strcmp(id, c->u.name)) in define_initial_sid_context()
3801 yyerror2("SID %s is not defined", id); in define_initial_sid_context()
3802 free(id); in define_initial_sid_context()
3806 yyerror2("The context for SID %s is multiply defined", id); in define_initial_sid_context()
3807 free(id); in define_initial_sid_context()
3811 free(id); in define_initial_sid_context()
3883 char *id; in define_pirq_context() local
3891 id = (char *) queue_remove(id_queue); in define_pirq_context()
3892 free(id); in define_pirq_context()
3937 char *id; in define_iomem_context() local
3945 id = (char *)queue_remove(id_queue); in define_iomem_context()
3946 free(id); in define_iomem_context()
4001 char *id; in define_ioport_context() local
4009 id = (char *)queue_remove(id_queue); in define_ioport_context()
4010 free(id); in define_ioport_context()
4065 char *id; in define_pcidevice_context() local
4073 id = (char *) queue_remove(id_queue); in define_pcidevice_context()
4074 free(id); in define_pcidevice_context()
4121 char *id; in define_port_context() local
4129 id = (char *)queue_remove(id_queue); in define_port_context()
4130 free(id); in define_port_context()
4142 id = (char *)queue_remove(id_queue); in define_port_context()
4143 if (!id) { in define_port_context()
4147 if ((strcmp(id, "tcp") == 0) || (strcmp(id, "TCP") == 0)) { in define_port_context()
4149 } else if ((strcmp(id, "udp") == 0) || (strcmp(id, "UDP") == 0)) { in define_port_context()
4152 yyerror2("unrecognized protocol %s", id); in define_port_context()
4183 yyerror2("duplicate portcon entry for %s %d-%d ", id, in define_port_context()
4189 "entry for %d-%d", id, low, high, low2, high2); in define_port_context()
4266 char *id; in define_ipv4_node_context() local
4283 id = queue_remove(id_queue); in define_ipv4_node_context()
4284 if (!id) { in define_ipv4_node_context()
4290 rc = inet_pton(AF_INET, id, &addr); in define_ipv4_node_context()
4291 free(id); in define_ipv4_node_context()
4299 id = queue_remove(id_queue); in define_ipv4_node_context()
4300 if (!id) { in define_ipv4_node_context()
4306 rc = inet_pton(AF_INET, id, &mask); in define_ipv4_node_context()
4307 free(id); in define_ipv4_node_context()
4352 char *id; in define_ipv6_node_context() local
4369 id = queue_remove(id_queue); in define_ipv6_node_context()
4370 if (!id) { in define_ipv6_node_context()
4376 rc = inet_pton(AF_INET6, id, &addr); in define_ipv6_node_context()
4377 free(id); in define_ipv6_node_context()
4385 id = queue_remove(id_queue); in define_ipv6_node_context()
4386 if (!id) { in define_ipv6_node_context()
4392 rc = inet_pton(AF_INET6, id, &mask); in define_ipv6_node_context()
4393 free(id); in define_ipv6_node_context()
4628 char *id; in define_range_trans() local
4640 while ((id = queue_remove(id_queue))) in define_range_trans()
4641 free(id); in define_range_trans()
4642 while ((id = queue_remove(id_queue))) in define_range_trans()
4643 free(id); in define_range_trans()
4645 while ((id = queue_remove(id_queue))) in define_range_trans()
4646 free(id); in define_range_trans()
4647 id = queue_remove(id_queue); in define_range_trans()
4648 free(id); in define_range_trans()
4650 while ((id = queue_remove(id_queue))) { in define_range_trans()
4651 free(id); in define_range_trans()
4653 id = queue_remove(id_queue); in define_range_trans()
4654 if (!id) in define_range_trans()
4656 free(id); in define_range_trans()
4668 while ((id = queue_remove(id_queue))) { in define_range_trans()
4669 if (set_types(&rule->stypes, id, &add, 0)) in define_range_trans()
4673 while ((id = queue_remove(id_queue))) { in define_range_trans()
4674 if (set_types(&rule->ttypes, id, &add, 0)) in define_range_trans()
4696 id = (char *)queue_remove(id_queue); in define_range_trans()
4697 if (!id) { in define_range_trans()
4702 levdatum = hashtab_search(policydbp->p_levels.table, id); in define_range_trans()
4705 "definition", id); in define_range_trans()
4706 free(id); in define_range_trans()
4709 free(id); in define_range_trans()
4713 while ((id = queue_remove(id_queue))) { in define_range_trans()
4714 if (parse_semantic_categories(id, levdatum, in define_range_trans()
4716 free(id); in define_range_trans()
4719 free(id); in define_range_trans()
4722 id = (char *)queue_remove(id_queue); in define_range_trans()
4723 if (!id) in define_range_trans()