1 # Copyright (C) 2007-2012 Red Hat 2 # see file 'COPYING' for use and warranty information 3 # 4 # policygentool is a tool for the initial generation of SELinux policy 5 # 6 # This program is free software; you can redistribute it and/or 7 # modify it under the terms of the GNU General Public License as 8 # published by the Free Software Foundation; either version 2 of 9 # the License, or (at your option) any later version. 10 # 11 # This program is distributed in the hope that it will be useful, 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 # GNU General Public License for more details. 15 # 16 # You should have received a copy of the GNU General Public License 17 # along with this program; if not, write to the Free Software 18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 19 # 02111-1307 USA 20 # 21 # 22 23 24 #['domain', 'role', 'role_prefix', 'object_class', 'name', 'private_type', 'prefix', 'entrypoint', 'target_domain', 'terminal', 'range', 'domains', 'entry_point', 'entry_file', 'domain_prefix', 'private type', 'user_prefix', 'user_role', 'user_domain', 'object', 'type', 'source_domain', 'file_type', 'file', 'class', 'peer_domain', 'objectclass(es)', 'exception_types', 'home_type', 'object_type', 'directory_type', 'boolean', 'pty_type', 'userdomain', 'tty_type', 'tmpfs_type', 'script_file', 'filetype', 'filename', 'init_script_file', 'source_role', 'userdomain_prefix'] 25 26 dict_values={} 27 dict_values['domain'] = 'sepolicy_domain_t' 28 dict_values['domains'] = 'sepolicy_domain_t' 29 dict_values['target_domain'] = 'sepolicy_target_t' 30 dict_values['source_domain'] = 'sepolicy_source_t' 31 dict_values['peer_domain'] = 'sepolicy_peer_t' 32 dict_values['exception_types'] = 'sepolicy_exception_types_t' 33 dict_values['user_domain'] = 'sepolicy_userdomain_t' 34 dict_values['userdomain'] = 'sepolicy_userdomain_t' 35 dict_values['bool_domain'] = 'sepolicy_bool_domain_t' 36 37 dict_values['type'] = 'sepolicy_file_t' 38 dict_values['file_type'] = 'sepolicy_file_t' 39 dict_values['private type'] = 'sepolicy_private_file_t' 40 dict_values['private_type'] = 'sepolicy_private_file_t' 41 dict_values['pty_type'] = 'sepolicy_devpts_t' 42 dict_values['tmpfs_type'] = 'sepolicy_tmpfs_t' 43 dict_values['home_type'] = 'sepolicy_home_file_t' 44 dict_values['tty_type'] = 'sepolicy_t' 45 dict_values['directory_type'] = 'sepolicy_file_t' 46 dict_values['object_type'] = 'sepolicy_object_t' 47 48 dict_values['script_file'] = 'sepolicy_exec_t' 49 dict_values['entry_point'] = 'sepolicy_exec_t' 50 dict_values['file'] = 'sepolicy_file_t' 51 dict_values['entry_file'] = 'sepolicy_exec_t' 52 dict_values['init_script_file'] = 'sepolicy_exec_t' 53 dict_values['entrypoint'] = 'sepolicy_exec_t' 54 55 dict_values['role'] = 'sepolicy_r' 56 dict_values['role_prefix'] = 'sepolicy' 57 dict_values['user_role'] = 'sepolicy_r' 58 dict_values['source_role'] = 'sepolicy_source_r' 59 60 dict_values['prefix'] = 'sepolicy_domain' 61 dict_values['domain_prefix'] = 'sepolicy_domain' 62 dict_values['userdomain_prefix'] = 'sepolicy_userdomain' 63 dict_values['user_prefix'] = 'sepolicy_userdomain' 64 65 dict_values['object_class'] = 'file' 66 dict_values['object'] = 'file' 67 dict_values['class'] = 'file' 68 dict_values['objectclass(es)'] = 'file' 69 dict_values['object_name'] = 'sepolicy_object' 70 dict_values['name'] = '"sepolicy_name"' 71 72 dict_values['terminal'] = 'sepolicy_tty_t' 73 dict_values['boolean'] = 'sepolicy_bool_t' 74 dict_values['range'] = 's0 - mcs_systemhigh' 75 76 te_test_module="""\ 77 policy_module(TEMPLATETYPE, 1.0.0) 78 79 type sepolicy_t; 80 domain_type(sepolicy_t) 81 type sepolicy_domain_t; 82 domain_type(sepolicy_domain_t) 83 type sepolicy_target_t; 84 domain_type(sepolicy_target_t) 85 type sepolicy_source_t; 86 domain_type(sepolicy_source_t) 87 type sepolicy_peer_t; 88 domain_type(sepolicy_peer_t) 89 type sepolicy_exception_types_t; 90 domain_type(sepolicy_exception_types_t) 91 type sepolicy_userdomain_t; 92 domain_type(sepolicy_userdomain_t) 93 94 type sepolicy_file_t; 95 files_type(sepolicy_file_t) 96 type sepolicy_private_file_t; 97 files_type(sepolicy_private_file_t) 98 type sepolicy_home_file_t; 99 files_type(sepolicy_home_file_t) 100 type sepolicy_tty_t; 101 term_tty(sepolicy_tty_t) 102 type sepolicy_object_t; 103 type sepolicy_devpts_t; 104 term_pty(sepolicy_devpts_t) 105 type sepolicy_tmpfs_t; 106 files_type(sepolicy_tmpfs_t) 107 type sepolicy_exec_t; 108 files_type(sepolicy_exec_t) 109 110 role sepolicy_r; 111 role sepolicy_source_r; 112 role sepolicy_target_r; 113 114 ################################# 115 # 116 # Local policy 117 # 118 119 """ 120