Lines Matching refs:id
74 static int id_has_dot(char *id);
112 int insert_id(const char *id, int push) in insert_id() argument
117 newid = (char *)malloc(strlen(id) + 1); in insert_id()
122 strcpy(newid, id); in insert_id()
138 static int id_has_dot(char *id) in id_has_dot() argument
140 if (strchr(id, '.') >= id + 1) { in id_has_dot()
148 char *id = 0; in define_class() local
154 id = queue_remove(id_queue); in define_class()
155 free(id); in define_class()
159 id = (char *)queue_remove(id_queue); in define_class()
160 if (!id) { in define_class()
170 ret = declare_symbol(SYM_CLASSES, id, datum, &value, &value); in define_class()
177 yyerror2("duplicate declaration of class %s", id); in define_class()
196 if (id) in define_class()
197 free(id); in define_class()
248 char *id = 0; in define_polcap() local
252 id = queue_remove(id_queue); in define_polcap()
253 free(id); in define_polcap()
257 id = (char *)queue_remove(id_queue); in define_polcap()
258 if (!id) { in define_polcap()
264 capnum = sepol_polcap_getnum(id); in define_polcap()
266 yyerror2("invalid policy capability name %s", id); in define_polcap()
276 free(id); in define_polcap()
280 free(id); in define_polcap()
286 char *id = 0; in define_initial_sid() local
290 id = queue_remove(id_queue); in define_initial_sid()
291 free(id); in define_initial_sid()
295 id = (char *)queue_remove(id_queue); in define_initial_sid()
296 if (!id) { in define_initial_sid()
306 newc->u.name = id; in define_initial_sid()
312 yyerror2("duplicate initial SID %s", id); in define_initial_sid()
328 if (id) in define_initial_sid()
329 free(id); in define_initial_sid()
337 char *id; in read_classes() local
340 while ((id = queue_remove(id_queue))) { in read_classes()
341 if (!is_id_in_scope(SYM_CLASSES, id)) { in read_classes()
342 yyerror2("class %s is not within scope", id); in read_classes()
345 cladatum = hashtab_search(policydbp->p_classes.table, id); in read_classes()
347 yyerror2("unknown class %s", id); in read_classes()
354 free(id); in read_classes()
361 char *id; in define_default_user() local
365 while ((id = queue_remove(id_queue))) in define_default_user()
366 free(id); in define_default_user()
370 while ((id = queue_remove(id_queue))) { in define_default_user()
371 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_user()
372 yyerror2("class %s is not within scope", id); in define_default_user()
375 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_user()
377 yyerror2("unknown class %s", id); in define_default_user()
381 yyerror2("conflicting default user information for class %s", id); in define_default_user()
385 free(id); in define_default_user()
393 char *id; in define_default_role() local
397 while ((id = queue_remove(id_queue))) in define_default_role()
398 free(id); in define_default_role()
402 while ((id = queue_remove(id_queue))) { in define_default_role()
403 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_role()
404 yyerror2("class %s is not within scope", id); in define_default_role()
407 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_role()
409 yyerror2("unknown class %s", id); in define_default_role()
413 yyerror2("conflicting default role information for class %s", id); in define_default_role()
417 free(id); in define_default_role()
425 char *id; in define_default_type() local
429 while ((id = queue_remove(id_queue))) in define_default_type()
430 free(id); in define_default_type()
434 while ((id = queue_remove(id_queue))) { in define_default_type()
435 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_type()
436 yyerror2("class %s is not within scope", id); in define_default_type()
439 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_type()
441 yyerror2("unknown class %s", id); in define_default_type()
445 yyerror2("conflicting default type information for class %s", id); in define_default_type()
449 free(id); in define_default_type()
457 char *id; in define_default_range() local
461 while ((id = queue_remove(id_queue))) in define_default_range()
462 free(id); in define_default_range()
466 while ((id = queue_remove(id_queue))) { in define_default_range()
467 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_default_range()
468 yyerror2("class %s is not within scope", id); in define_default_range()
471 cladatum = hashtab_search(policydbp->p_classes.table, id); in define_default_range()
473 yyerror2("unknown class %s", id); in define_default_range()
477 yyerror2("conflicting default range information for class %s", id); in define_default_range()
481 free(id); in define_default_range()
489 char *id = 0, *perm = 0; in define_common_perms() local
495 while ((id = queue_remove(id_queue))) in define_common_perms()
496 free(id); in define_common_perms()
500 id = (char *)queue_remove(id_queue); in define_common_perms()
501 if (!id) { in define_common_perms()
505 comdatum = hashtab_search(policydbp->p_commons.table, id); in define_common_perms()
507 yyerror2("duplicate declaration for common %s\n", id); in define_common_perms()
517 (hashtab_key_t) id, (hashtab_datum_t) comdatum); in define_common_perms()
553 id); in define_common_perms()
566 if (id) in define_common_perms()
567 free(id); in define_common_perms()
582 char *id; in define_av_perms() local
589 while ((id = queue_remove(id_queue))) in define_av_perms()
590 free(id); in define_av_perms()
594 id = (char *)queue_remove(id_queue); in define_av_perms()
595 if (!id) { in define_av_perms()
600 (hashtab_key_t) id); in define_av_perms()
602 yyerror2("class %s is not defined", id); in define_av_perms()
605 free(id); in define_av_perms()
616 id = (char *)queue_remove(id_queue); in define_av_perms()
617 if (!id) { in define_av_perms()
625 (hashtab_key_t) id); in define_av_perms()
628 yyerror2("common %s is not defined", id); in define_av_perms()
631 cladatum->comkey = id; in define_av_perms()
640 while ((id = queue_remove(id_queue))) { in define_av_perms()
663 (hashtab_key_t) id); in define_av_perms()
666 "inherited permission", id); in define_av_perms()
671 (hashtab_key_t) id, in define_av_perms()
675 yyerror2("duplicate permission %s", id); in define_av_perms()
691 if (id) in define_av_perms()
692 free(id); in define_av_perms()
700 char *id; in define_sens() local
712 while ((id = queue_remove(id_queue))) in define_sens()
713 free(id); in define_sens()
717 id = (char *)queue_remove(id_queue); in define_sens()
718 if (!id) { in define_sens()
722 if (id_has_dot(id)) { in define_sens()
744 ret = declare_symbol(SYM_LEVELS, id, datum, &value, &value); in define_sens()
767 while ((id = queue_remove(id_queue))) { in define_sens()
768 if (id_has_dot(id)) { in define_sens()
781 ret = declare_symbol(SYM_LEVELS, id, aliasdatum, NULL, &value); in define_sens()
810 if (id) in define_sens()
811 free(id); in define_sens()
821 if (id) in define_sens()
822 free(id); in define_sens()
834 char *id; in define_dominance() local
842 while ((id = queue_remove(id_queue))) in define_dominance()
843 free(id); in define_dominance()
848 while ((id = (char *)queue_remove(id_queue))) { in define_dominance()
851 (hashtab_key_t) id); in define_dominance()
854 "definition", id); in define_dominance()
855 free(id); in define_dominance()
860 "definition", id); in define_dominance()
861 free(id); in define_dominance()
867 free(id); in define_dominance()
880 char *id; in define_category() local
891 while ((id = queue_remove(id_queue))) in define_category()
892 free(id); in define_category()
896 id = (char *)queue_remove(id_queue); in define_category()
897 if (!id) { in define_category()
901 if (id_has_dot(id)) { in define_category()
913 ret = declare_symbol(SYM_CATS, id, datum, &value, &value); in define_category()
937 while ((id = queue_remove(id_queue))) { in define_category()
938 if (id_has_dot(id)) { in define_category()
952 declare_symbol(SYM_CATS, id, aliasdatum, NULL, in define_category()
982 if (id) in define_category()
983 free(id); in define_category()
991 if (id) in define_category()
992 free(id); in define_category()
1023 char *id; in define_level() local
1032 while ((id = queue_remove(id_queue))) in define_level()
1033 free(id); in define_level()
1037 id = (char *)queue_remove(id_queue); in define_level()
1038 if (!id) { in define_level()
1043 (hashtab_key_t) id); in define_level()
1045 yyerror2("unknown sensitivity %s used in level definition", id); in define_level()
1046 free(id); in define_level()
1051 id); in define_level()
1052 free(id); in define_level()
1055 free(id); in define_level()
1059 while ((id = queue_remove(id_queue))) { in define_level()
1063 if (id_has_dot(id)) { in define_level()
1064 char *id_start = id; in define_level()
1065 char *id_end = strchr(id, '.'); in define_level()
1076 free(id); in define_level()
1087 free(id); in define_level()
1094 free(id); in define_level()
1101 (hashtab_key_t) id); in define_level()
1108 free(id); in define_level()
1113 free(id); in define_level()
1140 char *id; in add_aliases_to_type() local
1143 while ((id = queue_remove(id_queue))) { in add_aliases_to_type()
1144 if (id_has_dot(id)) { in add_aliases_to_type()
1145 free(id); in add_aliases_to_type()
1152 free(id); in add_aliases_to_type()
1159 ret = declare_symbol(SYM_TYPES, id, aliasdatum, in add_aliases_to_type()
1168 id); in add_aliases_to_type()
1182 aliasdatum = hashtab_search(policydbp->symtab[SYM_TYPES].table, id); in add_aliases_to_type()
1197 free(id); in add_aliases_to_type()
1205 char *id; in define_typealias() local
1209 while ((id = queue_remove(id_queue))) in define_typealias()
1210 free(id); in define_typealias()
1214 id = (char *)queue_remove(id_queue); in define_typealias()
1215 if (!id) { in define_typealias()
1220 if (!is_id_in_scope(SYM_TYPES, id)) { in define_typealias()
1221 yyerror2("type %s is not within scope", id); in define_typealias()
1222 free(id); in define_typealias()
1225 t = hashtab_search(policydbp->p_types.table, id); in define_typealias()
1228 "attribute", id); in define_typealias()
1229 free(id); in define_typealias()
1237 char *id; in define_typeattribute() local
1241 while ((id = queue_remove(id_queue))) in define_typeattribute()
1242 free(id); in define_typeattribute()
1246 id = (char *)queue_remove(id_queue); in define_typeattribute()
1247 if (!id) { in define_typeattribute()
1252 if (!is_id_in_scope(SYM_TYPES, id)) { in define_typeattribute()
1253 yyerror2("type %s is not within scope", id); in define_typeattribute()
1254 free(id); in define_typeattribute()
1257 t = hashtab_search(policydbp->p_types.table, id); in define_typeattribute()
1259 yyerror2("unknown type %s", id); in define_typeattribute()
1260 free(id); in define_typeattribute()
1264 while ((id = queue_remove(id_queue))) { in define_typeattribute()
1265 if (!is_id_in_scope(SYM_TYPES, id)) { in define_typeattribute()
1266 yyerror2("attribute %s is not within scope", id); in define_typeattribute()
1267 free(id); in define_typeattribute()
1270 attr = hashtab_search(policydbp->p_types.table, id); in define_typeattribute()
1273 yyerror2("attribute %s is not declared", id); in define_typeattribute()
1274 free(id); in define_typeattribute()
1279 yyerror2("%s is a type, not an attribute", id); in define_typeattribute()
1280 free(id); in define_typeattribute()
1284 if ((attr = get_local_type(id, attr->s.value, 1)) == NULL) { in define_typeattribute()
1345 char *bounds, *id; in define_typebounds() local
1348 while ((id = queue_remove(id_queue))) in define_typebounds()
1349 free(id); in define_typebounds()
1359 while ((id = queue_remove(id_queue))) { in define_typebounds()
1360 if (define_typebounds_helper(bounds, id)) in define_typebounds()
1362 free(id); in define_typebounds()
1371 char *id; in define_type() local
1380 if ((id = queue_remove(id_queue))) { in define_type()
1383 if ((delim = strrchr(id, '.')) in define_type()
1384 && (bounds = strdup(id))) { in define_type()
1385 bounds[(size_t)(delim - id)] = '\0'; in define_type()
1387 if (define_typebounds_helper(bounds, id)) in define_type()
1391 free(id); in define_type()
1395 while ((id = queue_remove(id_queue))) in define_type()
1396 free(id); in define_type()
1399 while ((id = queue_remove(id_queue))) in define_type()
1400 free(id); in define_type()
1414 while ((id = queue_remove(id_queue))) { in define_type()
1415 if (!is_id_in_scope(SYM_TYPES, id)) { in define_type()
1416 yyerror2("attribute %s is not within scope", id); in define_type()
1417 free(id); in define_type()
1420 attr = hashtab_search(policydbp->p_types.table, id); in define_type()
1423 yyerror2("attribute %s is not declared", id); in define_type()
1428 yyerror2("%s is a type, not an attribute", id); in define_type()
1432 if ((attr = get_local_type(id, attr->s.value, 1)) == NULL) { in define_type()
1454 static int set_types(type_set_t * set, char *id, int *add, char starallowed) in set_types() argument
1458 if (strcmp(id, "*") == 0) { in set_types()
1465 free(id); in set_types()
1470 if (strcmp(id, "~") == 0) { in set_types()
1477 free(id); in set_types()
1482 if (strcmp(id, "-") == 0) { in set_types()
1484 free(id); in set_types()
1488 if (!is_id_in_scope(SYM_TYPES, id)) { in set_types()
1489 yyerror2("type %s is not within scope", id); in set_types()
1490 free(id); in set_types()
1493 t = hashtab_search(policydbp->p_types.table, id); in set_types()
1495 yyerror2("unknown type %s", id); in set_types()
1496 free(id); in set_types()
1507 free(id); in set_types()
1512 free(id); in set_types()
1518 char *id; in define_compute_type_helper() local
1542 while ((id = queue_remove(id_queue))) { in define_compute_type_helper()
1543 if (set_types(&avrule->stypes, id, &add, 0)) in define_compute_type_helper()
1547 while ((id = queue_remove(id_queue))) { in define_compute_type_helper()
1548 if (set_types(&avrule->ttypes, id, &add, 0)) in define_compute_type_helper()
1556 id = (char *)queue_remove(id_queue); in define_compute_type_helper()
1557 if (!id) { in define_compute_type_helper()
1561 if (!is_id_in_scope(SYM_TYPES, id)) { in define_compute_type_helper()
1562 yyerror2("type %s is not within scope", id); in define_compute_type_helper()
1563 free(id); in define_compute_type_helper()
1567 (hashtab_key_t) id); in define_compute_type_helper()
1569 yyerror2("unknown type %s", id); in define_compute_type_helper()
1600 char *id; in define_compute_type() local
1604 while ((id = queue_remove(id_queue))) in define_compute_type()
1605 free(id); in define_compute_type()
1606 while ((id = queue_remove(id_queue))) in define_compute_type()
1607 free(id); in define_compute_type()
1608 while ((id = queue_remove(id_queue))) in define_compute_type()
1609 free(id); in define_compute_type()
1610 id = queue_remove(id_queue); in define_compute_type()
1611 free(id); in define_compute_type()
1624 char *id; in define_cond_compute_type() local
1628 while ((id = queue_remove(id_queue))) in define_cond_compute_type()
1629 free(id); in define_cond_compute_type()
1630 while ((id = queue_remove(id_queue))) in define_cond_compute_type()
1631 free(id); in define_cond_compute_type()
1632 while ((id = queue_remove(id_queue))) in define_cond_compute_type()
1633 free(id); in define_cond_compute_type()
1634 id = queue_remove(id_queue); in define_cond_compute_type()
1635 free(id); in define_cond_compute_type()
1647 char *id, *bool_value; in define_bool_tunable() local
1653 while ((id = queue_remove(id_queue))) in define_bool_tunable()
1654 free(id); in define_bool_tunable()
1658 id = (char *)queue_remove(id_queue); in define_bool_tunable()
1659 if (!id) { in define_bool_tunable()
1663 if (id_has_dot(id)) { in define_bool_tunable()
1664 free(id); in define_bool_tunable()
1671 free(id); in define_bool_tunable()
1677 ret = declare_symbol(SYM_BOOLS, id, datum, &value, &value); in define_bool_tunable()
1684 yyerror2("duplicate declaration of boolean %s", id); in define_bool_tunable()
1704 free(id); in define_bool_tunable()
1711 cond_destroy_bool(id, datum, NULL); in define_bool_tunable()
1813 char *id; in avrule_read_ioctls() local
1819 while ((id = queue_remove(id_queue))) { in avrule_read_ioctls()
1820 if (strcmp(id,"~") == 0) { in avrule_read_ioctls()
1822 free(id); in avrule_read_ioctls()
1824 } else if (strcmp(id,"-") == 0) { in avrule_read_ioctls()
1826 free(id); in avrule_read_ioctls()
1827 id = queue_remove(id_queue); in avrule_read_ioctls()
1828 r->range.high = (uint16_t) strtoul(id,NULL,0); in avrule_read_ioctls()
1833 free(id); in avrule_read_ioctls()
1847 rnew->range.low = (uint16_t) strtoul(id,NULL,0); in avrule_read_ioctls()
1849 free(id); in avrule_read_ioctls()
1939 char *id; in define_te_avtab_xperms_helper() local
1966 while ((id = queue_remove(id_queue))) { in define_te_avtab_xperms_helper()
1968 (&avrule->stypes, id, &add, in define_te_avtab_xperms_helper()
1975 while ((id = queue_remove(id_queue))) { in define_te_avtab_xperms_helper()
1976 if (strcmp(id, "self") == 0) { in define_te_avtab_xperms_helper()
1977 free(id); in define_te_avtab_xperms_helper()
1982 (&avrule->ttypes, id, &add, in define_te_avtab_xperms_helper()
1995 id = queue_head(id_queue); in define_te_avtab_xperms_helper()
2015 perdatum = hashtab_search(cladatum->permissions.table, id); in define_te_avtab_xperms_helper()
2020 id); in define_te_avtab_xperms_helper()
2025 " for class %s", id, in define_te_avtab_xperms_helper()
2028 } else if (!is_perm_in_scope (id, policydbp->p_class_val_to_name[i])) { in define_te_avtab_xperms_helper()
2030 " not within scope", id, in define_te_avtab_xperms_helper()
2366 char *id; in define_te_avtab_extended_perms() local
2372 while ((id = queue_remove(id_queue))) in define_te_avtab_extended_perms()
2373 free(id); in define_te_avtab_extended_perms()
2382 id = queue_remove(id_queue); in define_te_avtab_extended_perms()
2383 if (strcmp(id,"ioctl") == 0) { in define_te_avtab_extended_perms()
2386 free(id); in define_te_avtab_extended_perms()
2396 char *id; in define_te_avtab_helper() local
2425 while ((id = queue_remove(id_queue))) { in define_te_avtab_helper()
2427 (&avrule->stypes, id, &add, in define_te_avtab_helper()
2434 while ((id = queue_remove(id_queue))) { in define_te_avtab_helper()
2435 if (strcmp(id, "self") == 0) { in define_te_avtab_helper()
2436 free(id); in define_te_avtab_helper()
2441 (&avrule->ttypes, id, &add, in define_te_avtab_helper()
2473 while ((id = queue_remove(id_queue))) { in define_te_avtab_helper()
2480 if (strcmp(id, "*") == 0) { in define_te_avtab_helper()
2486 if (strcmp(id, "~") == 0) { in define_te_avtab_helper()
2495 hashtab_search(cladatum->permissions.table, id); in define_te_avtab_helper()
2501 id); in define_te_avtab_helper()
2507 " for class %s", id, in define_te_avtab_helper()
2512 (id, policydbp->p_class_val_to_name[i])) { in define_te_avtab_helper()
2515 " not within scope", id, in define_te_avtab_helper()
2526 free(id); in define_te_avtab_helper()
2541 char *id; in define_cond_te_avtab() local
2547 while ((id = queue_remove(id_queue))) in define_cond_te_avtab()
2548 free(id); in define_cond_te_avtab()
2561 char *id; in define_te_avtab() local
2567 while ((id = queue_remove(id_queue))) in define_te_avtab()
2568 free(id); in define_te_avtab()
2587 char *id; in define_role_types() local
2591 while ((id = queue_remove(id_queue))) in define_role_types()
2592 free(id); in define_role_types()
2596 id = (char *)queue_remove(id_queue); in define_role_types()
2597 if (!id) { in define_role_types()
2602 if (!is_id_in_scope(SYM_ROLES, id)) { in define_role_types()
2603 yyerror2("role %s is not within scope", id); in define_role_types()
2604 free(id); in define_role_types()
2608 role = hashtab_search(policydbp->p_roles.table, id); in define_role_types()
2610 yyerror2("unknown role %s", id); in define_role_types()
2611 free(id); in define_role_types()
2615 while ((id = queue_remove(id_queue))) { in define_role_types()
2616 if (set_types(&role->types, id, &add, 0)) in define_role_types()
2639 char *id; in define_role_attr() local
2643 while ((id = queue_remove(id_queue))) in define_role_attr()
2644 free(id); in define_role_attr()
2652 while ((id = queue_remove(id_queue))) { in define_role_attr()
2653 if (!is_id_in_scope(SYM_ROLES, id)) { in define_role_attr()
2654 yyerror2("attribute %s is not within scope", id); in define_role_attr()
2655 free(id); in define_role_attr()
2658 attr = hashtab_search(policydbp->p_roles.table, id); in define_role_attr()
2661 yyerror2("role attribute %s is not declared", id); in define_role_attr()
2662 free(id); in define_role_attr()
2667 yyerror2("%s is a regular role, not an attribute", id); in define_role_attr()
2668 free(id); in define_role_attr()
2672 if ((attr = get_local_role(id, attr->s.value, 1)) == NULL) { in define_role_attr()
2688 char *id; in define_roleattribute() local
2692 while ((id = queue_remove(id_queue))) in define_roleattribute()
2693 free(id); in define_roleattribute()
2697 id = (char *)queue_remove(id_queue); in define_roleattribute()
2698 if (!id) { in define_roleattribute()
2703 if (!is_id_in_scope(SYM_ROLES, id)) { in define_roleattribute()
2704 yyerror2("role %s is not within scope", id); in define_roleattribute()
2705 free(id); in define_roleattribute()
2708 r = hashtab_search(policydbp->p_roles.table, id); in define_roleattribute()
2711 yyerror2("unknown role %s", id); in define_roleattribute()
2712 free(id); in define_roleattribute()
2716 while ((id = queue_remove(id_queue))) { in define_roleattribute()
2717 if (!is_id_in_scope(SYM_ROLES, id)) { in define_roleattribute()
2718 yyerror2("attribute %s is not within scope", id); in define_roleattribute()
2719 free(id); in define_roleattribute()
2722 attr = hashtab_search(policydbp->p_roles.table, id); in define_roleattribute()
2725 yyerror2("role attribute %s is not declared", id); in define_roleattribute()
2726 free(id); in define_roleattribute()
2731 yyerror2("%s is a regular role, not an attribute", id); in define_roleattribute()
2732 free(id); in define_roleattribute()
2736 if ((attr = get_local_role(id, attr->s.value, 1)) == NULL) { in define_roleattribute()
2969 static int set_roles(role_set_t * set, char *id) in set_roles() argument
2973 if (strcmp(id, "*") == 0) { in set_roles()
2974 free(id); in set_roles()
2979 if (strcmp(id, "~") == 0) { in set_roles()
2980 free(id); in set_roles()
2984 if (!is_id_in_scope(SYM_ROLES, id)) { in set_roles()
2985 yyerror2("role %s is not within scope", id); in set_roles()
2986 free(id); in set_roles()
2989 r = hashtab_search(policydbp->p_roles.table, id); in set_roles()
2991 yyerror2("unknown role %s", id); in set_roles()
2992 free(id); in set_roles()
2998 free(id); in set_roles()
3001 free(id); in set_roles()
3007 char *id; in define_role_trans() local
3020 while ((id = queue_remove(id_queue))) in define_role_trans()
3021 free(id); in define_role_trans()
3022 while ((id = queue_remove(id_queue))) in define_role_trans()
3023 free(id); in define_role_trans()
3025 while ((id = queue_remove(id_queue))) in define_role_trans()
3026 free(id); in define_role_trans()
3027 id = queue_remove(id_queue); in define_role_trans()
3028 free(id); in define_role_trans()
3038 while ((id = queue_remove(id_queue))) { in define_role_trans()
3039 if (set_roles(&roles, id)) in define_role_trans()
3043 while ((id = queue_remove(id_queue))) { in define_role_trans()
3044 if (set_types(&types, id, &add, 0)) in define_role_trans()
3066 id = (char *)queue_remove(id_queue); in define_role_trans()
3067 if (!id) { in define_role_trans()
3071 if (!is_id_in_scope(SYM_ROLES, id)) { in define_role_trans()
3072 yyerror2("role %s is not within scope", id); in define_role_trans()
3073 free(id); in define_role_trans()
3076 role = hashtab_search(policydbp->p_roles.table, id); in define_role_trans()
3078 yyerror2("unknown role %s used in transition definition", id); in define_role_trans()
3083 yyerror2("the new role %s must be a regular role", id); in define_role_trans()
3158 char *id; in define_role_allow() local
3162 while ((id = queue_remove(id_queue))) in define_role_allow()
3163 free(id); in define_role_allow()
3164 while ((id = queue_remove(id_queue))) in define_role_allow()
3165 free(id); in define_role_allow()
3176 while ((id = queue_remove(id_queue))) { in define_role_allow()
3177 if (set_roles(&ra->roles, id)) { in define_role_allow()
3183 while ((id = queue_remove(id_queue))) { in define_role_allow()
3184 if (set_roles(&ra->new_roles, id)) { in define_role_allow()
3203 char *id, *name = NULL; in define_filename_trans() local
3217 while ((id = queue_remove(id_queue))) in define_filename_trans()
3218 free(id); in define_filename_trans()
3220 while ((id = queue_remove(id_queue))) in define_filename_trans()
3221 free(id); in define_filename_trans()
3223 while ((id = queue_remove(id_queue))) in define_filename_trans()
3224 free(id); in define_filename_trans()
3226 id = queue_remove(id_queue); in define_filename_trans()
3227 free(id); in define_filename_trans()
3229 id = queue_remove(id_queue); in define_filename_trans()
3230 free(id); in define_filename_trans()
3237 while ((id = queue_remove(id_queue))) { in define_filename_trans()
3238 if (set_types(&stypes, id, &add, 0)) in define_filename_trans()
3244 while ((id = queue_remove(id_queue))) { in define_filename_trans()
3245 if (set_types(&ttypes, id, &add, 0)) in define_filename_trans()
3253 id = (char *)queue_remove(id_queue); in define_filename_trans()
3254 if (!id) { in define_filename_trans()
3258 if (!is_id_in_scope(SYM_TYPES, id)) { in define_filename_trans()
3259 yyerror2("type %s is not within scope", id); in define_filename_trans()
3260 free(id); in define_filename_trans()
3263 typdatum = hashtab_search(policydbp->p_types.table, id); in define_filename_trans()
3265 yyerror2("unknown type %s used in transition definition", id); in define_filename_trans()
3268 free(id); in define_filename_trans()
3413 char *id; in define_constraint() local
3424 while ((id = queue_remove(id_queue))) in define_constraint()
3425 free(id); in define_constraint()
3426 while ((id = queue_remove(id_queue))) in define_constraint()
3427 free(id); in define_constraint()
3471 while ((id = queue_remove(id_queue))) { in define_constraint()
3472 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_constraint()
3473 yyerror2("class %s is not within scope", id); in define_constraint()
3474 free(id); in define_constraint()
3479 (hashtab_key_t) id); in define_constraint()
3481 yyerror2("class %s is not defined", id); in define_constraint()
3483 free(id); in define_constraint()
3489 free(id); in define_constraint()
3515 free(id); in define_constraint()
3518 while ((id = queue_remove(id_queue))) { in define_constraint()
3529 id); in define_constraint()
3539 id); in define_constraint()
3543 " defined", id); in define_constraint()
3544 free(id); in define_constraint()
3553 free(id); in define_constraint()
3564 char *id; in define_validatetrans() local
3572 while ((id = queue_remove(id_queue))) in define_validatetrans()
3573 free(id); in define_validatetrans()
3613 while ((id = queue_remove(id_queue))) { in define_validatetrans()
3614 if (!is_id_in_scope(SYM_CLASSES, id)) { in define_validatetrans()
3615 yyerror2("class %s is not within scope", id); in define_validatetrans()
3616 free(id); in define_validatetrans()
3621 (hashtab_key_t) id); in define_validatetrans()
3623 yyerror2("class %s is not defined", id); in define_validatetrans()
3625 free(id); in define_validatetrans()
3631 free(id); in define_validatetrans()
3652 free(id); in define_validatetrans()
3666 char *id; in define_cexpr() local
3672 while ((id = queue_remove(id_queue))) in define_cexpr()
3673 free(id); in define_cexpr()
3738 while ((id = (char *)queue_remove(id_queue))) { in define_cexpr()
3740 if (!is_id_in_scope(SYM_USERS, id)) { in define_cexpr()
3742 id); in define_cexpr()
3751 id); in define_cexpr()
3753 yyerror2("unknown user %s", id); in define_cexpr()
3759 if (!is_id_in_scope(SYM_ROLES, id)) { in define_cexpr()
3761 id); in define_cexpr()
3770 id); in define_cexpr()
3772 yyerror2("unknown role %s", id); in define_cexpr()
3778 if (set_types(expr->type_names, id, &add, 0)) { in define_cexpr()
3794 free(id); in define_cexpr()
3910 char *id; in define_cond_expr() local
3915 while ((id = queue_remove(id_queue))) { in define_cond_expr()
3916 free(id); in define_cond_expr()
3981 id = (char *)queue_remove(id_queue); in define_cond_expr()
3982 if (!id) { in define_cond_expr()
3984 free(id); in define_cond_expr()
3988 if (!is_id_in_scope(SYM_BOOLS, id)) { in define_cond_expr()
3989 yyerror2("boolean %s is not within scope", id); in define_cond_expr()
3990 free(id); in define_cond_expr()
3997 (hashtab_key_t) id); in define_cond_expr()
4000 id); in define_cond_expr()
4002 free(id); in define_cond_expr()
4006 free(id); in define_cond_expr()
4015 static int set_user_roles(role_set_t * set, char *id) in set_user_roles() argument
4021 if (strcmp(id, "*") == 0) { in set_user_roles()
4022 free(id); in set_user_roles()
4027 if (strcmp(id, "~") == 0) { in set_user_roles()
4028 free(id); in set_user_roles()
4033 if (!is_id_in_scope(SYM_ROLES, id)) { in set_user_roles()
4034 yyerror2("role %s is not within scope", id); in set_user_roles()
4035 free(id); in set_user_roles()
4038 r = hashtab_search(policydbp->p_roles.table, id); in set_user_roles()
4040 yyerror2("unknown role %s", id); in set_user_roles()
4041 free(id); in set_user_roles()
4051 free(id); in set_user_roles()
4058 static int parse_categories(char *id, level_datum_t * levdatum, ebitmap_t * cats) in parse_categories() argument
4063 if (id_has_dot(id)) { in parse_categories()
4064 char *id_start = id; in parse_categories()
4065 char *id_end = strchr(id, '.'); in parse_categories()
4091 (hashtab_key_t) id); in parse_categories()
4093 yyerror2("unknown category %s", id); in parse_categories()
4118 static int parse_semantic_categories(char *id, level_datum_t * levdatum __attribute__ ((unused)), in parse_semantic_categories() argument
4125 if (id_has_dot(id)) { in parse_semantic_categories()
4126 char *id_start = id; in parse_semantic_categories()
4127 char *id_end = strchr(id, '.'); in parse_semantic_categories()
4149 (hashtab_key_t) id); in parse_semantic_categories()
4151 yyerror2("unknown category %s", id); in parse_semantic_categories()
4175 char *id; in define_user() local
4181 while ((id = queue_remove(id_queue))) in define_user()
4182 free(id); in define_user()
4184 while ((id = queue_remove(id_queue))) in define_user()
4185 free(id); in define_user()
4186 id = queue_remove(id_queue); in define_user()
4187 free(id); in define_user()
4189 while ((id = queue_remove(id_queue))) { in define_user()
4190 free(id); in define_user()
4192 id = queue_remove(id_queue); in define_user()
4193 if (!id) in define_user()
4195 free(id); in define_user()
4205 while ((id = queue_remove(id_queue))) { in define_user()
4206 if (set_user_roles(&usrdatum->roles, id)) in define_user()
4211 id = queue_remove(id_queue); in define_user()
4212 if (!id) { in define_user()
4219 (hashtab_key_t) id); in define_user()
4222 " level definition", id); in define_user()
4223 free(id); in define_user()
4226 free(id); in define_user()
4230 while ((id = queue_remove(id_queue))) { in define_user()
4231 if (parse_semantic_categories(id, levdatum, in define_user()
4233 free(id); in define_user()
4236 free(id); in define_user()
4239 id = queue_remove(id_queue); in define_user()
4244 (hashtab_key_t) id); in define_user()
4247 " range definition", id); in define_user()
4248 free(id); in define_user()
4251 free(id); in define_user()
4255 while ((id = queue_remove(id_queue))) { in define_user()
4256 if (parse_semantic_categories(id, levdatum, in define_user()
4258 free(id); in define_user()
4261 free(id); in define_user()
4264 id = queue_remove(id_queue); in define_user()
4265 if (!id) in define_user()
4282 char *id; in parse_security_context() local
4290 id = queue_remove(id_queue); in parse_security_context()
4291 free(id); /* user */ in parse_security_context()
4292 id = queue_remove(id_queue); in parse_security_context()
4293 free(id); /* role */ in parse_security_context()
4294 id = queue_remove(id_queue); in parse_security_context()
4295 free(id); /* type */ in parse_security_context()
4297 id = queue_remove(id_queue); in parse_security_context()
4298 free(id); in parse_security_context()
4300 while ((id = queue_remove(id_queue))) { in parse_security_context()
4301 free(id); in parse_security_context()
4303 id = queue_remove(id_queue); in parse_security_context()
4304 if (!id) in parse_security_context()
4306 free(id); in parse_security_context()
4321 id = queue_remove(id_queue); in parse_security_context()
4322 if (!id) { in parse_security_context()
4326 if (!is_id_in_scope(SYM_USERS, id)) { in parse_security_context()
4327 yyerror2("user %s is not within scope", id); in parse_security_context()
4328 free(id); in parse_security_context()
4332 (hashtab_key_t) id); in parse_security_context()
4334 yyerror2("user %s is not defined", id); in parse_security_context()
4335 free(id); in parse_security_context()
4341 free(id); in parse_security_context()
4344 id = (char *)queue_remove(id_queue); in parse_security_context()
4345 if (!id) { in parse_security_context()
4349 if (!is_id_in_scope(SYM_ROLES, id)) { in parse_security_context()
4350 yyerror2("role %s is not within scope", id); in parse_security_context()
4351 free(id); in parse_security_context()
4355 (hashtab_key_t) id); in parse_security_context()
4357 yyerror2("role %s is not defined", id); in parse_security_context()
4358 free(id); in parse_security_context()
4364 free(id); in parse_security_context()
4367 id = (char *)queue_remove(id_queue); in parse_security_context()
4368 if (!id) { in parse_security_context()
4372 if (!is_id_in_scope(SYM_TYPES, id)) { in parse_security_context()
4373 yyerror2("type %s is not within scope", id); in parse_security_context()
4374 free(id); in parse_security_context()
4378 (hashtab_key_t) id); in parse_security_context()
4380 yyerror2("type %s is not defined or is an attribute", id); in parse_security_context()
4381 free(id); in parse_security_context()
4387 free(id); in parse_security_context()
4391 id = (char *)queue_head(id_queue); in parse_security_context()
4392 if (!id) { in parse_security_context()
4398 id = (char *)queue_remove(id_queue); in parse_security_context()
4402 (hashtab_key_t) id); in parse_security_context()
4404 yyerror2("Sensitivity %s is not defined", id); in parse_security_context()
4405 free(id); in parse_security_context()
4408 free(id); in parse_security_context()
4412 while ((id = queue_remove(id_queue))) { in parse_security_context()
4413 if (parse_categories(id, levdatum, in parse_security_context()
4415 free(id); in parse_security_context()
4418 free(id); in parse_security_context()
4422 id = (char *)queue_remove(id_queue); in parse_security_context()
4423 if (!id) in parse_security_context()
4452 char *id; in define_initial_sid_context() local
4456 id = (char *)queue_remove(id_queue); in define_initial_sid_context()
4457 free(id); in define_initial_sid_context()
4462 id = (char *)queue_remove(id_queue); in define_initial_sid_context()
4463 if (!id) { in define_initial_sid_context()
4469 if (!strcmp(id, c->u.name)) in define_initial_sid_context()
4474 yyerror2("SID %s is not defined", id); in define_initial_sid_context()
4475 free(id); in define_initial_sid_context()
4479 yyerror2("The context for SID %s is multiply defined", id); in define_initial_sid_context()
4480 free(id); in define_initial_sid_context()
4484 free(id); in define_initial_sid_context()
4556 char *id; in define_pirq_context() local
4564 id = (char *) queue_remove(id_queue); in define_pirq_context()
4565 free(id); in define_pirq_context()
4610 char *id; in define_iomem_context() local
4618 id = (char *)queue_remove(id_queue); in define_iomem_context()
4619 free(id); in define_iomem_context()
4674 char *id; in define_ioport_context() local
4682 id = (char *)queue_remove(id_queue); in define_ioport_context()
4683 free(id); in define_ioport_context()
4738 char *id; in define_pcidevice_context() local
4746 id = (char *) queue_remove(id_queue); in define_pcidevice_context()
4747 free(id); in define_pcidevice_context()
4849 char *id; in define_port_context() local
4857 id = (char *)queue_remove(id_queue); in define_port_context()
4858 free(id); in define_port_context()
4870 id = (char *)queue_remove(id_queue); in define_port_context()
4871 if (!id) { in define_port_context()
4875 if ((strcmp(id, "tcp") == 0) || (strcmp(id, "TCP") == 0)) { in define_port_context()
4877 } else if ((strcmp(id, "udp") == 0) || (strcmp(id, "UDP") == 0)) { in define_port_context()
4880 yyerror2("unrecognized protocol %s", id); in define_port_context()
4911 yyerror2("duplicate portcon entry for %s %d-%d ", id, in define_port_context()
4917 "entry for %d-%d", id, low, high, low2, high2); in define_port_context()
4994 char *id; in define_ipv4_node_context() local
5011 id = queue_remove(id_queue); in define_ipv4_node_context()
5012 if (!id) { in define_ipv4_node_context()
5018 rc = inet_pton(AF_INET, id, &addr); in define_ipv4_node_context()
5019 free(id); in define_ipv4_node_context()
5027 id = queue_remove(id_queue); in define_ipv4_node_context()
5028 if (!id) { in define_ipv4_node_context()
5034 rc = inet_pton(AF_INET, id, &mask); in define_ipv4_node_context()
5035 free(id); in define_ipv4_node_context()
5080 char *id; in define_ipv6_node_context() local
5097 id = queue_remove(id_queue); in define_ipv6_node_context()
5098 if (!id) { in define_ipv6_node_context()
5104 rc = inet_pton(AF_INET6, id, &addr); in define_ipv6_node_context()
5105 free(id); in define_ipv6_node_context()
5113 id = queue_remove(id_queue); in define_ipv6_node_context()
5114 if (!id) { in define_ipv6_node_context()
5120 rc = inet_pton(AF_INET6, id, &mask); in define_ipv6_node_context()
5121 free(id); in define_ipv6_node_context()
5356 char *id; in define_range_trans() local
5368 while ((id = queue_remove(id_queue))) in define_range_trans()
5369 free(id); in define_range_trans()
5370 while ((id = queue_remove(id_queue))) in define_range_trans()
5371 free(id); in define_range_trans()
5373 while ((id = queue_remove(id_queue))) in define_range_trans()
5374 free(id); in define_range_trans()
5375 id = queue_remove(id_queue); in define_range_trans()
5376 free(id); in define_range_trans()
5378 while ((id = queue_remove(id_queue))) { in define_range_trans()
5379 free(id); in define_range_trans()
5381 id = queue_remove(id_queue); in define_range_trans()
5382 if (!id) in define_range_trans()
5384 free(id); in define_range_trans()
5396 while ((id = queue_remove(id_queue))) { in define_range_trans()
5397 if (set_types(&rule->stypes, id, &add, 0)) in define_range_trans()
5401 while ((id = queue_remove(id_queue))) { in define_range_trans()
5402 if (set_types(&rule->ttypes, id, &add, 0)) in define_range_trans()
5424 id = (char *)queue_remove(id_queue); in define_range_trans()
5425 if (!id) { in define_range_trans()
5430 levdatum = hashtab_search(policydbp->p_levels.table, id); in define_range_trans()
5433 "definition", id); in define_range_trans()
5434 free(id); in define_range_trans()
5437 free(id); in define_range_trans()
5441 while ((id = queue_remove(id_queue))) { in define_range_trans()
5442 if (parse_semantic_categories(id, levdatum, in define_range_trans()
5444 free(id); in define_range_trans()
5447 free(id); in define_range_trans()
5450 id = (char *)queue_remove(id_queue); in define_range_trans()
5451 if (!id) in define_range_trans()