Lines Matching full:pdb
30 static char *cond_expr_to_str(struct policydb *pdb, struct cond_expr *expr) in cond_expr_to_str() argument
45 char *val1 = pdb->p_bool_val_to_name[curr->bool - 1]; in cond_expr_to_str()
119 static char *constraint_expr_to_str(struct policydb *pdb, struct constraint_expr *expr, int *use_ml… in constraint_expr_to_str() argument
182 names = ebitmap_to_str(&ts->types, pdb->p_type_val_to_name, 1); in constraint_expr_to_str()
184 names = ebitmap_to_str(&curr->names, pdb->p_user_val_to_name, 1); in constraint_expr_to_str()
186 names = ebitmap_to_str(&curr->names, pdb->p_role_val_to_name, 1); in constraint_expr_to_str()
262 static int class_constraint_rules_to_strs(struct policydb *pdb, char *classkey, in class_constraint_rules_to_strs() argument
276 expr = constraint_expr_to_str(pdb, curr->expr, &is_mls); in class_constraint_rules_to_strs()
282 perms = sepol_av_to_string(pdb, class->s.value, curr->permissions); in class_constraint_rules_to_strs()
310 static int class_validatetrans_rules_to_strs(struct policydb *pdb, char *classkey, in class_validatetrans_rules_to_strs() argument
323 expr = constraint_expr_to_str(pdb, curr->expr, &is_mls); in class_validatetrans_rules_to_strs()
348 static int constraint_rules_to_strs(struct policydb *pdb, struct strs *mls_strs, struct strs *non_m… in constraint_rules_to_strs() argument
355 for (i=0; i < pdb->p_classes.nprim; i++) { in constraint_rules_to_strs()
356 class = pdb->class_val_to_struct[i]; in constraint_rules_to_strs()
358 name = pdb->p_class_val_to_name[i]; in constraint_rules_to_strs()
359 … rc = class_constraint_rules_to_strs(pdb, name, class, class->constraints, mls_strs, non_mls_strs); in constraint_rules_to_strs()
373 static int validatetrans_rules_to_strs(struct policydb *pdb, struct strs *mls_strs, struct strs *no… in validatetrans_rules_to_strs() argument
380 for (i=0; i < pdb->p_classes.nprim; i++) { in validatetrans_rules_to_strs()
381 class = pdb->class_val_to_struct[i]; in validatetrans_rules_to_strs()
383 name = pdb->p_class_val_to_name[i]; in validatetrans_rules_to_strs()
384 rc = class_validatetrans_rules_to_strs(pdb, name, class->validatetrans, mls_strs, non_mls_strs); in validatetrans_rules_to_strs()
398 static int write_handle_unknown_to_conf(FILE *out, struct policydb *pdb) in write_handle_unknown_to_conf() argument
402 switch (pdb->handle_unknown) { in write_handle_unknown_to_conf()
413 sepol_log_err("Unknown value for handle-unknown: %i", pdb->handle_unknown); in write_handle_unknown_to_conf()
422 static int write_class_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_class_decl_rules_to_conf() argument
427 for (i=0; i < pdb->p_classes.nprim; i++) { in write_class_decl_rules_to_conf()
428 name = pdb->p_class_val_to_name[i]; in write_class_decl_rules_to_conf()
489 static int write_sid_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_sid_decl_rules_to_conf() argument
493 if (pdb->target_platform == SEPOL_TARGET_SELINUX) { in write_sid_decl_rules_to_conf()
495 pdb->ocontexts[0]); in write_sid_decl_rules_to_conf()
496 } else if (pdb->target_platform == SEPOL_TARGET_XEN) { in write_sid_decl_rules_to_conf()
498 pdb->ocontexts[0]); in write_sid_decl_rules_to_conf()
500 sepol_log_err("Unknown target platform: %i", pdb->target_platform); in write_sid_decl_rules_to_conf()
532 static int write_class_and_common_rules_to_conf(FILE *out, struct policydb *pdb) in write_class_and_common_rules_to_conf() argument
542 used = calloc(pdb->p_commons.nprim, sizeof(*used)); in write_class_and_common_rules_to_conf()
548 for (i=0; i < pdb->p_classes.nprim; i++) { in write_class_and_common_rules_to_conf()
549 class = pdb->class_val_to_struct[i]; in write_class_and_common_rules_to_conf()
552 common = hashtab_search(pdb->p_commons.table, name); in write_class_and_common_rules_to_conf()
574 for (i=0; i < pdb->p_classes.nprim; i++) { in write_class_and_common_rules_to_conf()
575 class = pdb->class_val_to_struct[i]; in write_class_and_common_rules_to_conf()
576 name = pdb->p_class_val_to_name[i]; in write_class_and_common_rules_to_conf()
692 static int write_default_rules_to_conf(FILE *out, struct policydb *pdb) in write_default_rules_to_conf() argument
699 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
700 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
702 rc = write_default_user_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
710 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
711 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
713 rc = write_default_role_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
721 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
722 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
724 rc = write_default_type_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
731 if (!pdb->mls) { in write_default_rules_to_conf()
736 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
737 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
739 rc = write_default_range_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
767 static int write_sensitivity_rules_to_conf(FILE *out, struct policydb *pdb) in write_sensitivity_rules_to_conf() argument
776 rc = strs_init(&strs, pdb->p_levels.nprim); in write_sensitivity_rules_to_conf()
781 rc = hashtab_map(pdb->p_levels.table, map_sensitivity_aliases_to_strs, strs); in write_sensitivity_rules_to_conf()
789 sens_alias_map = calloc(sizeof(*sens_alias_map), pdb->p_levels.nprim); in write_sensitivity_rules_to_conf()
798 level = hashtab_search(pdb->p_levels.table, name); in write_sensitivity_rules_to_conf()
823 for (i=0; i < pdb->p_levels.nprim; i++) { in write_sensitivity_rules_to_conf()
824 name = pdb->p_sens_val_to_name[i]; in write_sensitivity_rules_to_conf()
826 level = hashtab_search(pdb->p_levels.table, name); in write_sensitivity_rules_to_conf()
848 for (i=0; i < pdb->p_levels.nprim; i++) { in write_sensitivity_rules_to_conf()
849 name = pdb->p_sens_val_to_name[i]; in write_sensitivity_rules_to_conf()
851 level = hashtab_search(pdb->p_levels.table, name); in write_sensitivity_rules_to_conf()
870 for (i=0; i < pdb->p_levels.nprim; i++) { in write_sensitivity_rules_to_conf()
898 static int write_category_rules_to_conf(FILE *out, struct policydb *pdb) in write_category_rules_to_conf() argument
907 rc = strs_init(&strs, pdb->p_levels.nprim); in write_category_rules_to_conf()
912 rc = hashtab_map(pdb->p_cats.table, map_category_aliases_to_strs, strs); in write_category_rules_to_conf()
920 cat_alias_map = calloc(sizeof(*cat_alias_map), pdb->p_cats.nprim); in write_category_rules_to_conf()
929 cat = hashtab_search(pdb->p_cats.table, name); in write_category_rules_to_conf()
954 for (i=0; i < pdb->p_cats.nprim; i++) { in write_category_rules_to_conf()
955 name = pdb->p_cat_val_to_name[i]; in write_category_rules_to_conf()
957 cat = hashtab_search(pdb->p_cats.table, name); in write_category_rules_to_conf()
978 for (i=0; i < pdb->p_cats.nprim; i++) { in write_category_rules_to_conf()
1076 static int write_level_rules_to_conf(FILE *out, struct policydb *pdb) in write_level_rules_to_conf() argument
1083 for (i=0; i < pdb->p_levels.nprim; i++) { in write_level_rules_to_conf()
1084 name = pdb->p_sens_val_to_name[i]; in write_level_rules_to_conf()
1086 level = hashtab_search(pdb->p_levels.table, name); in write_level_rules_to_conf()
1094 cats = cats_ebitmap_to_str(&level->level->cat, pdb->p_cat_val_to_name); in write_level_rules_to_conf()
1110 static int write_mls_rules_to_conf(FILE *out, struct policydb *pdb) in write_mls_rules_to_conf() argument
1114 if (!pdb->mls) { in write_mls_rules_to_conf()
1118 rc = write_sensitivity_rules_to_conf(out, pdb); in write_mls_rules_to_conf()
1123 rc = write_category_rules_to_conf(out, pdb); in write_mls_rules_to_conf()
1128 rc = write_level_rules_to_conf(out, pdb); in write_mls_rules_to_conf()
1141 static int write_polcap_rules_to_conf(FILE *out, struct policydb *pdb) in write_polcap_rules_to_conf() argument
1154 ebitmap_for_each_positive_bit(&pdb->policycaps, node, i) { in write_polcap_rules_to_conf()
1182 static int write_type_attributes_to_conf(FILE *out, struct policydb *pdb) in write_type_attributes_to_conf() argument
1190 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_attributes_to_conf()
1195 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_attributes_to_conf()
1196 type = pdb->type_val_to_struct[i]; in write_type_attributes_to_conf()
1198 rc = strs_add(strs, pdb->p_type_val_to_name[i]); in write_type_attributes_to_conf()
1227 static int write_role_attributes_to_conf(FILE *out, struct policydb *pdb) in write_role_attributes_to_conf() argument
1235 rc = strs_init(&strs, pdb->p_roles.nprim); in write_role_attributes_to_conf()
1240 for (i=0; i < pdb->p_roles.nprim; i++) { in write_role_attributes_to_conf()
1241 role = pdb->role_val_to_struct[i]; in write_role_attributes_to_conf()
1243 rc = strs_add(strs, pdb->p_role_val_to_name[i]); in write_role_attributes_to_conf()
1283 static int write_boolean_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_boolean_decl_rules_to_conf() argument
1293 rc = hashtab_map(pdb->p_bools.table, map_boolean_to_strs, strs); in write_boolean_decl_rules_to_conf()
1312 static int write_type_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_decl_rules_to_conf() argument
1320 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_decl_rules_to_conf()
1325 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_decl_rules_to_conf()
1326 type = pdb->type_val_to_struct[i]; in write_type_decl_rules_to_conf()
1328 rc = strs_add(strs, pdb->p_type_val_to_name[i]); in write_type_decl_rules_to_conf()
1357 static int write_type_alias_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_alias_rules_to_conf() argument
1366 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_alias_rules_to_conf()
1371 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_alias_rules_to_conf()
1372 alias = pdb->type_val_to_struct[i]; in write_type_alias_rules_to_conf()
1374 rc = strs_add(strs, pdb->p_type_val_to_name[i]); in write_type_alias_rules_to_conf()
1391 alias = hashtab_search(pdb->p_types.table, name); in write_type_alias_rules_to_conf()
1396 type = pdb->p_type_val_to_name[alias->s.value - 1]; in write_type_alias_rules_to_conf()
1410 static int write_type_bounds_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_bounds_rules_to_conf() argument
1419 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_bounds_rules_to_conf()
1424 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_bounds_rules_to_conf()
1425 type = pdb->type_val_to_struct[i]; in write_type_bounds_rules_to_conf()
1428 rc = strs_add(strs, pdb->p_type_val_to_name[i]); in write_type_bounds_rules_to_conf()
1445 type = hashtab_search(pdb->p_types.table, child); in write_type_bounds_rules_to_conf()
1450 parent = pdb->p_type_val_to_name[type->bounds - 1]; in write_type_bounds_rules_to_conf()
1533 static int write_type_attribute_sets_to_conf(FILE *out, struct policydb *pdb) in write_type_attribute_sets_to_conf() argument
1542 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_attribute_sets_to_conf()
1547 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_attribute_sets_to_conf()
1548 type = pdb->type_val_to_struct[i]; in write_type_attribute_sets_to_conf()
1550 if (ebitmap_cardinality(&pdb->type_attr_map[i]) == 1) continue; in write_type_attribute_sets_to_conf()
1552 rc = ebitmap_cpy(&attrmap, &pdb->type_attr_map[i]); in write_type_attribute_sets_to_conf()
1561 name = pdb->p_type_val_to_name[i]; in write_type_attribute_sets_to_conf()
1562 attrs = attrmap_to_str(&attrmap, pdb->p_type_val_to_name); in write_type_attribute_sets_to_conf()
1591 static int write_type_permissive_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_permissive_rules_to_conf() argument
1599 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_permissive_rules_to_conf()
1604 ebitmap_for_each_positive_bit(&pdb->permissive_map, node, i) { in write_type_permissive_rules_to_conf()
1605 rc = strs_add(strs, pdb->p_type_val_to_name[i-1]); in write_type_permissive_rules_to_conf()
1633 static char *avtab_node_to_str(struct policydb *pdb, avtab_key_t *key, avtab_datum_t *datum) in avtab_node_to_str() argument
1674 src = pdb->p_type_val_to_name[key->source_type - 1]; in avtab_node_to_str()
1675 tgt = pdb->p_type_val_to_name[key->target_type - 1]; in avtab_node_to_str()
1677 type = pdb->type_val_to_struct[key->source_type - 1]; in avtab_node_to_str()
1682 class = pdb->p_class_val_to_name[key->target_class - 1]; in avtab_node_to_str()
1685 perms = sepol_av_to_string(pdb, key->target_class, data); in avtab_node_to_str()
1701 new = pdb->p_type_val_to_name[data - 1]; in avtab_node_to_str()
1717 struct policydb *pdb; member
1726 struct policydb *pdb = map_args->pdb; in map_avtab_write_helper() local
1732 rule = avtab_node_to_str(pdb, key, datum); in map_avtab_write_helper()
1748 static int write_avtab_flavor_to_conf(FILE *out, struct policydb *pdb, uint32_t flavor, int indent) in write_avtab_flavor_to_conf() argument
1759 args.pdb = pdb; in write_avtab_flavor_to_conf()
1763 rc = avtab_map(&pdb->te_avtab, map_avtab_write_helper, &args); in write_avtab_flavor_to_conf()
1778 static int write_avtab_to_conf(FILE *out, struct policydb *pdb, int indent) in write_avtab_to_conf() argument
1784 rc = write_avtab_flavor_to_conf(out, pdb, avtab_flavors[i], indent); in write_avtab_to_conf()
1799 struct policydb *pdb; member
1808 struct policydb *pdb = map_args->pdb; in map_filename_trans_to_str() local
1812 src = pdb->p_type_val_to_name[ft->stype - 1]; in map_filename_trans_to_str()
1813 tgt = pdb->p_type_val_to_name[ft->ttype - 1]; in map_filename_trans_to_str()
1814 class = pdb->p_class_val_to_name[ft->tclass - 1]; in map_filename_trans_to_str()
1816 new = pdb->p_type_val_to_name[datum->otype - 1]; in map_filename_trans_to_str()
1822 static int write_filename_trans_rules_to_conf(FILE *out, struct policydb *pdb) in write_filename_trans_rules_to_conf() argument
1833 args.pdb = pdb; in write_filename_trans_rules_to_conf()
1836 rc = hashtab_map(pdb->filename_trans, map_filename_trans_to_str, &args); in write_filename_trans_rules_to_conf()
1855 static char *level_to_str(struct policydb *pdb, struct mls_level *level) in level_to_str() argument
1859 char *sens_str = pdb->p_sens_val_to_name[level->sens - 1]; in level_to_str()
1863 cats_str = cats_ebitmap_to_str(cats, pdb->p_cat_val_to_name); in level_to_str()
1873 static char *range_to_str(struct policydb *pdb, mls_range_t *range) in range_to_str() argument
1879 low = level_to_str(pdb, &range->level[0]); in range_to_str()
1884 high = level_to_str(pdb, &range->level[1]); in range_to_str()
1899 struct policydb *pdb; member
1908 struct policydb *pdb = map_args->pdb; in map_range_trans_to_str() local
1913 src = pdb->p_type_val_to_name[rt->source_type - 1]; in map_range_trans_to_str()
1914 tgt = pdb->p_type_val_to_name[rt->target_type - 1]; in map_range_trans_to_str()
1915 class = pdb->p_class_val_to_name[rt->target_class - 1]; in map_range_trans_to_str()
1916 range = range_to_str(pdb, mls_range); in map_range_trans_to_str()
1933 static int write_range_trans_rules_to_conf(FILE *out, struct policydb *pdb) in write_range_trans_rules_to_conf() argument
1944 args.pdb = pdb; in write_range_trans_rules_to_conf()
1947 rc = hashtab_map(pdb->range_tr, map_range_trans_to_str, &args); in write_range_trans_rules_to_conf()
1966 static int write_cond_av_list_to_conf(FILE *out, struct policydb *pdb, cond_av_list_t *cond_list, i… in write_cond_av_list_to_conf() argument
1990 rule = avtab_node_to_str(pdb, key, datum); in write_cond_av_list_to_conf()
2029 static int write_cond_nodes_to_conf(FILE *out, struct policydb *pdb) in write_cond_nodes_to_conf() argument
2038 for (cond = pdb->cond_list; cond != NULL; cond = cond->next) { in write_cond_nodes_to_conf()
2053 for (cond = pdb->cond_list; cond != NULL; cond = cond->next) { in write_cond_nodes_to_conf()
2055 expr = cond_expr_to_str(pdb, cond->expr); in write_cond_nodes_to_conf()
2073 rc = write_cond_av_list_to_conf(out, pdb, cond->true_list, 1); in write_cond_nodes_to_conf()
2081 rc = write_cond_av_list_to_conf(out, pdb, cond->false_list, 1); in write_cond_nodes_to_conf()
2104 static int write_role_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_role_decl_rules_to_conf() argument
2112 rc = strs_init(&strs, pdb->p_roles.nprim); in write_role_decl_rules_to_conf()
2118 for (i=1; i < pdb->p_roles.nprim; i++) { in write_role_decl_rules_to_conf()
2119 role = pdb->role_val_to_struct[i]; in write_role_decl_rules_to_conf()
2121 rc = strs_add(strs, pdb->p_role_val_to_name[i]); in write_role_decl_rules_to_conf()
2143 role = hashtab_search(pdb->p_roles.table, name); in write_role_decl_rules_to_conf()
2149 types = ebitmap_to_str(&role->types.types, pdb->p_type_val_to_name, 1); in write_role_decl_rules_to_conf()
2186 static int write_role_transition_rules_to_conf(FILE *out, struct policydb *pdb) in write_role_transition_rules_to_conf() argument
2188 role_trans_t *curr = pdb->role_tr; in write_role_transition_rules_to_conf()
2199 role = pdb->p_role_val_to_name[curr->role - 1]; in write_role_transition_rules_to_conf()
2200 type = pdb->p_type_val_to_name[curr->type - 1]; in write_role_transition_rules_to_conf()
2201 class = pdb->p_class_val_to_name[curr->tclass - 1]; in write_role_transition_rules_to_conf()
2202 new = pdb->p_role_val_to_name[curr->new_role - 1]; in write_role_transition_rules_to_conf()
2227 static int write_role_allow_rules_to_conf(FILE *out, struct policydb *pdb) in write_role_allow_rules_to_conf() argument
2229 role_allow_t *curr = pdb->role_allow; in write_role_allow_rules_to_conf()
2240 role = pdb->p_role_val_to_name[curr->role - 1]; in write_role_allow_rules_to_conf()
2241 new = pdb->p_role_val_to_name[curr->new_role - 1]; in write_role_allow_rules_to_conf()
2265 static int write_user_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_user_decl_rules_to_conf() argument
2273 rc = strs_init(&strs, pdb->p_users.nprim); in write_user_decl_rules_to_conf()
2278 for (i=0; i < pdb->p_users.nprim; i++) { in write_user_decl_rules_to_conf()
2279 rc = strs_add(strs, pdb->p_user_val_to_name[i]); in write_user_decl_rules_to_conf()
2294 user = hashtab_search(pdb->p_users.table, name); in write_user_decl_rules_to_conf()
2303 pdb->p_role_val_to_name, 1); in write_user_decl_rules_to_conf()
2316 if (pdb->mls) { in write_user_decl_rules_to_conf()
2317 level = level_to_str(pdb, &user->exp_dfltlevel); in write_user_decl_rules_to_conf()
2325 range = range_to_str(pdb, &user->exp_range); in write_user_decl_rules_to_conf()
2346 static char *context_to_str(struct policydb *pdb, struct context_struct *con) in context_to_str() argument
2351 user = pdb->p_user_val_to_name[con->user - 1]; in context_to_str()
2352 role = pdb->p_role_val_to_name[con->role - 1]; in context_to_str()
2353 type = pdb->p_type_val_to_name[con->type - 1]; in context_to_str()
2355 if (pdb->mls) { in context_to_str()
2356 range = range_to_str(pdb, &con->range); in context_to_str()
2366 static int write_sid_context_rules_to_conf(FILE *out, struct policydb *pdb, const char *const *sid_… in write_sid_context_rules_to_conf() argument
2381 for (isid = pdb->ocontexts[0]; isid != NULL; isid = isid->next) { in write_sid_context_rules_to_conf()
2390 ctx = context_to_str(pdb, &isid->context[0]); in write_sid_context_rules_to_conf()
2423 static int write_selinux_isid_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_isid_rules_to_conf() argument
2425 return write_sid_context_rules_to_conf(out, pdb, selinux_sid_to_str, in write_selinux_isid_rules_to_conf()
2429 static int write_selinux_fsuse_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_fsuse_rules_to_conf() argument
2436 for (fsuse = pdb->ocontexts[5]; fsuse != NULL; fsuse = fsuse->next) { in write_selinux_fsuse_rules_to_conf()
2448 ctx = context_to_str(pdb, &fsuse->context[0]); in write_selinux_fsuse_rules_to_conf()
2467 static int write_genfscon_rules_to_conf(FILE *out, struct policydb *pdb) in write_genfscon_rules_to_conf() argument
2480 for (genfs = pdb->genfs; genfs != NULL; genfs = genfs->next) { in write_genfscon_rules_to_conf()
2485 ctx = context_to_str(pdb, &ocon->context[0]); in write_genfscon_rules_to_conf()
2514 static int write_selinux_port_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_port_rules_to_conf() argument
2524 for (portcon = pdb->ocontexts[2]; portcon != NULL; portcon = portcon->next) { in write_selinux_port_rules_to_conf()
2548 ctx = context_to_str(pdb, &portcon->context[0]); in write_selinux_port_rules_to_conf()
2569 static int write_selinux_netif_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_netif_rules_to_conf() argument
2575 for (netif = pdb->ocontexts[3]; netif != NULL; netif = netif->next) { in write_selinux_netif_rules_to_conf()
2577 ctx1 = context_to_str(pdb, &netif->context[0]); in write_selinux_netif_rules_to_conf()
2582 ctx2 = context_to_str(pdb, &netif->context[1]); in write_selinux_netif_rules_to_conf()
2603 static int write_selinux_node_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_node_rules_to_conf() argument
2611 for (node = pdb->ocontexts[4]; node != NULL; node = node->next) { in write_selinux_node_rules_to_conf()
2624 ctx = context_to_str(pdb, &node->context[0]); in write_selinux_node_rules_to_conf()
2644 static int write_selinux_node6_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_node6_rules_to_conf() argument
2652 for (node6 = pdb->ocontexts[6]; node6 != NULL; node6 = node6->next) { in write_selinux_node6_rules_to_conf()
2665 ctx = context_to_str(pdb, &node6->context[0]); in write_selinux_node6_rules_to_conf()
2684 static int write_selinux_ibpkey_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_ibpkey_rules_to_conf() argument
2695 for (ibpkeycon = pdb->ocontexts[OCON_IBPKEY]; ibpkeycon != NULL; in write_selinux_ibpkey_rules_to_conf()
2720 ctx = context_to_str(pdb, &ibpkeycon->context[0]); in write_selinux_ibpkey_rules_to_conf()
2742 static int write_selinux_ibendport_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_ibendport_rules_to_conf() argument
2749 for (ibendportcon = pdb->ocontexts[OCON_IBENDPORT]; in write_selinux_ibendport_rules_to_conf()
2757 ctx = context_to_str(pdb, &ibendportcon->context[0]); in write_selinux_ibendport_rules_to_conf()
2778 static int write_xen_isid_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_isid_rules_to_conf() argument
2780 return write_sid_context_rules_to_conf(out, pdb, xen_sid_to_str, XEN_SID_SZ); in write_xen_isid_rules_to_conf()
2784 static int write_xen_pirq_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_pirq_rules_to_conf() argument
2791 for (pirq = pdb->ocontexts[1]; pirq != NULL; pirq = pirq->next) { in write_xen_pirq_rules_to_conf()
2799 ctx = context_to_str(pdb, &pirq->context[0]); in write_xen_pirq_rules_to_conf()
2821 static int write_xen_ioport_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_ioport_rules_to_conf() argument
2830 for (ioport = pdb->ocontexts[2]; ioport != NULL; ioport = ioport->next) { in write_xen_ioport_rules_to_conf()
2843 ctx = context_to_str(pdb, &ioport->context[0]); in write_xen_ioport_rules_to_conf()
2864 static int write_xen_iomem_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_iomem_rules_to_conf() argument
2873 for (iomem = pdb->ocontexts[3]; iomem != NULL; iomem = iomem->next) { in write_xen_iomem_rules_to_conf()
2886 ctx = context_to_str(pdb, &iomem->context[0]); in write_xen_iomem_rules_to_conf()
2907 static int write_xen_pcidevice_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_pcidevice_rules_to_conf() argument
2914 for (pcid = pdb->ocontexts[4]; pcid != NULL; pcid = pcid->next) { in write_xen_pcidevice_rules_to_conf()
2921 ctx = context_to_str(pdb, &pcid->context[0]); in write_xen_pcidevice_rules_to_conf()
2942 static int write_xen_devicetree_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_devicetree_rules_to_conf() argument
2948 for (dtree = pdb->ocontexts[5]; dtree != NULL; dtree = dtree->next) { in write_xen_devicetree_rules_to_conf()
2950 ctx = context_to_str(pdb, &dtree->context[0]); in write_xen_devicetree_rules_to_conf()
2969 int sepol_kernel_policydb_to_conf(FILE *out, struct policydb *pdb) in sepol_kernel_policydb_to_conf() argument
2997 if (pdb == NULL) { in sepol_kernel_policydb_to_conf()
3003 if (pdb->policy_type != SEPOL_POLICY_KERN) { in sepol_kernel_policydb_to_conf()
3009 rc = constraint_rules_to_strs(pdb, mls_constraints, non_mls_constraints); in sepol_kernel_policydb_to_conf()
3014 rc = validatetrans_rules_to_strs(pdb, mls_validatetrans, non_mls_validatetrans); in sepol_kernel_policydb_to_conf()
3019 rc = write_handle_unknown_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3024 rc = write_class_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3029 rc = write_sid_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3034 rc = write_class_and_common_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3039 rc = write_default_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3044 rc = write_mls_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3052 rc = write_polcap_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3057 rc = write_type_attributes_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3062 rc = write_role_attributes_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3067 rc = write_boolean_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3072 rc = write_type_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3077 rc = write_type_alias_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3082 rc = write_type_bounds_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3087 rc = write_type_attribute_sets_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3092 rc = write_type_permissive_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3097 rc = write_avtab_to_conf(out, pdb, 0); in sepol_kernel_policydb_to_conf()
3101 write_filename_trans_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3103 if (pdb->mls) { in sepol_kernel_policydb_to_conf()
3104 rc = write_range_trans_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3110 rc = write_cond_nodes_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3115 rc = write_role_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3120 rc = write_role_transition_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3125 rc = write_role_allow_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3130 rc = write_user_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3138 rc = sort_ocontexts(pdb); in sepol_kernel_policydb_to_conf()
3143 if (pdb->target_platform == SEPOL_TARGET_SELINUX) { in sepol_kernel_policydb_to_conf()
3144 rc = write_selinux_isid_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3149 rc = write_selinux_fsuse_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3154 rc = write_genfscon_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3159 rc = write_selinux_port_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3164 rc = write_selinux_netif_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3169 rc = write_selinux_node_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3174 rc = write_selinux_node6_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3179 rc = write_selinux_ibpkey_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3184 rc = write_selinux_ibendport_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3188 } else if (pdb->target_platform == SEPOL_TARGET_XEN) { in sepol_kernel_policydb_to_conf()
3189 rc = write_xen_isid_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3194 rc = write_genfscon_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3199 rc = write_xen_pirq_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3204 rc = write_xen_iomem_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3209 rc = write_xen_ioport_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3214 rc = write_xen_pcidevice_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3219 rc = write_xen_devicetree_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()