1ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman#include "perm.h" 2ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman 3ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashmanvoid permissive_usage() { 4ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman fprintf(stderr, "\tpermissive\n"); 5ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman} 6ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman 7ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashmanstatic int list_permissive(policydb_t * policydb) 8ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman{ 9ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman struct ebitmap_node *n; 10ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman unsigned int bit; 11ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman 12ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman /* 13ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman * iterate over all domains and check if domain is in permissive 14ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman */ 15ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman ebitmap_for_each_bit(&policydb->permissive_map, n, bit) 16ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman { 17ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman if (ebitmap_node_get_bit(n, bit)) { 18ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman printf("%s\n", policydb->p_type_val_to_name[bit -1]); 19ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman } 20ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman } 21ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman return 0; 22ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman} 23ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman 24ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashmanint permissive_func (int argc, __attribute__ ((unused)) char **argv, policydb_t *policydb) { 25ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman if (argc != 1) { 26ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman USAGE_ERROR = true; 27ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman return -1; 28ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman } 29ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman return list_permissive(policydb); 30ef4fd30672ebfeac1a0ad04f65deb7b38050b818dcashman} 31