Changeset 2680

Show
Ignore:
Timestamp:
05/12/08 10:56:59 (7 months ago)
Author:
pebenito
Message:

rbacsep: basic copy and paste collapsing of most apps modules. does not build.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/rbacsep/policy/modules/apps/cdrecord.te

    r2553 r2680  
    1616gen_tunable(cdrecord_read_content,false) 
    1717 
     18type cdrecord_t; 
     19application_domain(cdrecord_t, cdrecord_exec_t) 
     20 
    1821type cdrecord_exec_t; 
    1922application_executable_file(cdrecord_exec_t) 
     23 
     24######################################## 
     25# 
     26# Local policy 
     27# 
     28 
     29allow cdrecord_t self:capability { ipc_lock sys_nice setuid dac_override sys_rawio }; 
     30allow cdrecord_t self:process { getsched setsched sigkill }; 
     31allow cdrecord_t self:unix_dgram_socket create_socket_perms; 
     32allow cdrecord_t self:unix_stream_socket create_stream_socket_perms; 
     33 
     34allow cdrecord_t $2:unix_stream_socket { getattr read write ioctl }; 
     35 
     36# allow ps to show cdrecord and allow the user to kill it  
     37ps_process_pattern($2, cdrecord_t) 
     38allow $2 cdrecord_t:process signal; 
     39 
     40# Transition from the user domain to the derived domain. 
     41domtrans_pattern($2, cdrecord_exec_t, cdrecord_t) 
     42 
     43# allow searching for cdrom-drive 
     44dev_list_all_dev_nodes(cdrecord_t)  
     45 
     46domain_interactive_fd(cdrecord_t) 
     47domain_use_interactive_fds(cdrecord_t) 
     48 
     49files_read_etc_files(cdrecord_t) 
     50 
     51term_use_controlling_term(cdrecord_t) 
     52term_list_ptys(cdrecord_t) 
     53 
     54# allow cdrecord to write the CD 
     55storage_raw_write_removable_device(cdrecord_t) 
     56storage_write_scsi_generic(cdrecord_t) 
     57 
     58libs_use_ld_so(cdrecord_t) 
     59libs_use_shared_libs(cdrecord_t) 
     60 
     61logging_send_syslog_msg(cdrecord_t) 
     62 
     63miscfiles_read_localization(cdrecord_t) 
     64 
     65# write to the user domain tty. 
     66userdom_use_user_terminals($1, cdrecord_t) 
     67userdom_use_user_terminals($1, $2) 
     68 
     69userdom_read_user_home_content_files($1, cdrecord_t) 
     70 
     71# Handle nfs home dirs 
     72tunable_policy(`cdrecord_read_content && use_nfs_home_dirs',` 
     73        fs_list_auto_mountpoints(cdrecord_t) 
     74        files_list_home(cdrecord_t) 
     75        fs_read_nfs_files(cdrecord_t) 
     76        fs_read_nfs_symlinks(cdrecord_t) 
     77 
     78',` 
     79        files_dontaudit_list_home(cdrecord_t) 
     80        fs_dontaudit_list_auto_mountpoints(cdrecord_t) 
     81        fs_dontaudit_read_nfs_files(cdrecord_t) 
     82        fs_dontaudit_list_nfs(cdrecord_t) 
     83') 
     84# Handle samba home dirs 
     85tunable_policy(`cdrecord_read_content && use_samba_home_dirs',` 
     86        fs_list_auto_mountpoints(cdrecord_t) 
     87        files_list_home(cdrecord_t) 
     88        fs_read_cifs_files(cdrecord_t) 
     89        fs_read_cifs_symlinks(cdrecord_t) 
     90',` 
     91        files_dontaudit_list_home(cdrecord_t) 
     92        fs_dontaudit_list_auto_mountpoints(cdrecord_t) 
     93        fs_dontaudit_read_cifs_files(cdrecord_t) 
     94        fs_dontaudit_list_cifs(cdrecord_t) 
     95') 
     96 
     97# Handle removable media, /tmp, and /home 
     98tunable_policy(`cdrecord_read_content',` 
     99        userdom_list_user_tmp($1, cdrecord_t) 
     100        userdom_read_user_tmp_files($1, drecord_t) 
     101        userdom_read_user_tmp_symlinks($1, cdrecord_t) 
     102        userdom_search_user_home_dirs($1, cdrecord_t) 
     103        userdom_read_user_home_content_files($1, cdrecord_t) 
     104        userdom_read_user_home_content_symlinks($1, cdrecord_t) 
     105         
     106        ifdef(`enable_mls',` 
     107        ',` 
     108                fs_search_removable(cdrecord_t) 
     109                fs_read_removable_files(cdrecord_t) 
     110                fs_read_removable_symlinks(cdrecord_t) 
     111        ') 
     112',` 
     113        files_dontaudit_list_tmp(cdrecord_t) 
     114        files_dontaudit_list_home(cdrecord_t) 
     115        fs_dontaudit_list_removable(cdrecord_t) 
     116        fs_dontaudit_read_removable_files(cdrecord_t) 
     117        userdom_dontaudit_list_user_tmp($1, cdrecord_t) 
     118        userdom_dontaudit_read_user_tmp_files($1, cdrecord_t) 
     119        userdom_dontaudit_list_user_home_dirs($1, cdrecord_t) 
     120        userdom_dontaudit_read_user_home_content_files($1, cdrecord_t) 
     121') 
     122 
     123# Handle default_t content 
     124tunable_policy(`cdrecord_read_content && read_default_t',` 
     125        files_list_default(cdrecord_t) 
     126        files_read_default_files(cdrecord_t) 
     127        files_read_default_symlinks(cdrecord_t) 
     128',` 
     129        files_dontaudit_read_default_files(cdrecord_t) 
     130        files_dontaudit_list_default(cdrecord_t) 
     131') 
     132 
     133# Handle untrusted content 
     134tunable_policy(`cdrecord_read_content && read_untrusted_content',` 
     135        files_list_tmp(cdrecord_t) 
     136        files_list_home(cdrecord_t) 
     137        userdom_search_user_home_dirs($1, cdrecord_t) 
     138 
     139        userdom_list_user_untrusted_content($1, cdrecord_t) 
     140        userdom_read_user_untrusted_content_files($1, cdrecord_t) 
     141        userdom_read_user_untrusted_content_symlinks($1, cdrecord_t) 
     142        userdom_list_user_tmp_untrusted_content($1, cdrecord_t) 
     143        userdom_read_user_tmp_untrusted_content_files($1, cdrecord_t) 
     144        userdom_read_user_tmp_untrusted_content_symlinks($1, cdrecord_t) 
     145',` 
     146        files_dontaudit_list_tmp(cdrecord_t) 
     147        files_dontaudit_list_home(cdrecord_t) 
     148        userdom_dontaudit_list_user_home_dirs($1, cdrecord_t) 
     149        userdom_dontaudit_list_user_untrusted_content($1, cdrecord_t) 
     150        userdom_dontaudit_read_user_untrusted_content_files($1, cdrecord_t) 
     151        userdom_dontaudit_list_user_tmp_untrusted_content($1, cdrecord_t) 
     152        userdom_dontaudit_read_user_tmp_untrusted_content_files($1, cdrecord_t) 
     153') 
     154 
     155tunable_policy(`use_nfs_home_dirs',` 
     156        files_search_mnt(cdrecord_t) 
     157        fs_read_nfs_files(cdrecord_t) 
     158        fs_read_nfs_symlinks(cdrecord_t) 
     159') 
     160 
     161optional_policy(` 
     162        resmgr_stream_connect(cdrecord_t) 
     163') 
  • branches/rbacsep/policy/modules/apps/ethereal.te

    r2675 r2680  
    77# 
    88 
     9type ethereal_t; 
    910type ethereal_exec_t; 
    10 application_executable_file(ethereal_exec_t) 
     11application_domain(ethereal_t, ethereal_exec_t) 
     12 
     13type ethereal_home_t; 
     14files_poly_member(ethereal_home_t) 
     15userdom_user_home_content($1, ethereal_home_t) 
     16 
     17type ethereal_tmp_t; 
     18files_tmp_file(ethereal_tmp_t) 
     19 
     20type ethereal_tmpfs_t; 
     21files_tmpfs_file(ethereal_tmpfs_t) 
    1122 
    1223type tethereal_t; 
    1324type tethereal_exec_t; 
    14 application_domain(tethereal_t,tethereal_exec_t) 
     25application_domain(tethereal_t, tethereal_exec_t) 
    1526 
    1627type tethereal_tmp_t; 
    1728files_tmp_file(tethereal_tmp_t) 
     29 
     30############################## 
     31# 
     32# Local Policy 
     33# 
     34 
     35allow ethereal_t self:capability { net_admin net_raw setgid }; 
     36allow ethereal_t self:process { signal getsched }; 
     37allow ethereal_t self:fifo_file { getattr read write }; 
     38allow ethereal_t self:shm destroy; 
     39allow ethereal_t self:shm create_shm_perms; 
     40allow ethereal_t self:netlink_route_socket { nlmsg_read create_socket_perms }; 
     41allow ethereal_t self:packet_socket { setopt bind ioctl getopt create read }; 
     42allow ethereal_t self:tcp_socket create_socket_perms; 
     43allow ethereal_t self:udp_socket create_socket_perms; 
     44 
     45# Re-execute itself (why?) 
     46can_exec(ethereal_t, ethereal_exec_t) 
     47corecmd_search_bin(ethereal_t) 
     48 
     49# /home/.ethereal 
     50manage_dirs_pattern(ethereal_t, ethereal_home_t, ethereal_home_t) 
     51manage_files_pattern(ethereal_t, ethereal_home_t, ethereal_home_t) 
     52manage_lnk_files_pattern(ethereal_t, ethereal_home_t, ethereal_home_t) 
     53userdom_user_home_dir_filetrans($1, ethereal_t, ethereal_home_t, dir) 
     54 
     55# Store temporary files 
     56manage_dirs_pattern(ethereal_t, ethereal_tmp_t, ethereal_tmp_t) 
     57manage_files_pattern(ethereal_t, ethereal_tmp_t, ethereal_tmp_t) 
     58files_tmp_filetrans(ethereal_t, ethereal_tmp_t, { dir file }) 
     59 
     60manage_dirs_pattern(ethereal_t, ethereal_tmpfs_t, ethereal_tmpfs_t) 
     61manage_files_pattern(ethereal_t, ethereal_tmpfs_t, ethereal_tmpfs_t) 
     62manage_lnk_files_pattern(ethereal_t, ethereal_tmpfs_t, ethereal_tmpfs_t) 
     63manage_sock_files_pattern(ethereal_t, ethereal_tmpfs_t, ethereal_tmpfs_t) 
     64manage_fifo_files_pattern(ethereal_t, ethereal_tmpfs_t, ethereal_tmpfs_t) 
     65fs_tmpfs_filetrans(ethereal_t, ethereal_tmpfs_t, { dir file lnk_file sock_file fifo_file }) 
     66 
     67domain_auto_trans($2, ethereal_exec_t, ethereal_t) 
     68allow ethereal_t $2:fd use; 
     69allow ethereal_t $2:process sigchld; 
     70 
     71manage_dirs_pattern($2, ethereal_home_t, ethereal_home_t) 
     72manage_files_pattern($2, ethereal_home_t, ethereal_home_t) 
     73manage_lnk_files_pattern($2, ethereal_home_t, ethereal_home_t) 
     74relabel_dirs_pattern($2, ethereal_home_t, ethereal_home_t) 
     75relabel_files_pattern($2, ethereal_home_t, ethereal_home_t) 
     76relabel_lnk_files_pattern($2, ethereal_home_t, ethereal_home_t) 
     77 
     78kernel_read_kernel_sysctls(ethereal_t) 
     79kernel_read_system_state(ethereal_t) 
     80kernel_read_sysctl(ethereal_t) 
     81 
     82corecmd_search_bin(ethereal_t) 
     83 
     84corenet_tcp_connect_generic_port(ethereal_t) 
     85corenet_tcp_sendrecv_generic_if(ethereal_t) 
     86 
     87dev_read_urand(ethereal_t) 
     88 
     89files_read_etc_files(ethereal_t) 
     90files_read_usr_files(ethereal_t) 
     91 
     92fs_list_inotifyfs(ethereal_t) 
     93fs_search_auto_mountpoints(ethereal_t) 
     94 
     95libs_read_lib_files(ethereal_t) 
     96libs_use_ld_so(ethereal_t) 
     97libs_use_shared_libs(ethereal_t) 
     98 
     99miscfiles_read_fonts(ethereal_t) 
     100miscfiles_read_localization(ethereal_t) 
     101 
     102seutil_use_newrole_fds(ethereal_t) 
     103 
     104sysnet_read_config(ethereal_t) 
     105 
     106userdom_manage_user_home_content_files($1, ethereal_t) 
     107 
     108tunable_policy(`use_nfs_home_dirs',` 
     109        fs_manage_nfs_dirs(ethereal_t) 
     110        fs_manage_nfs_files(ethereal_t) 
     111        fs_manage_nfs_symlinks(ethereal_t) 
     112') 
     113 
     114tunable_policy(`use_samba_home_dirs',` 
     115        fs_manage_cifs_dirs(ethereal_t) 
     116        fs_manage_cifs_files(ethereal_t) 
     117        fs_manage_cifs_symlinks(ethereal_t) 
     118') 
     119 
     120optional_policy(` 
     121        nscd_socket_use(ethereal_t) 
     122') 
     123 
     124# Manual transition from userhelper  
     125optional_policy(` 
     126        userhelper_use_user_fd($1, ethereal_t) 
     127        userhelper_sigchld_user($1, ethereal_t) 
     128') 
     129 
     130optional_policy(` 
     131        xserver_user_x_domain_template($1, ethereal, ethereal_t, ethereal_tmpfs_t) 
     132        xserver_create_xdm_tmp_sockets(ethereal_t) 
     133') 
    18134 
    19135######################################## 
  • branches/rbacsep/policy/modules/apps/evolution.te

    r2675 r2680  
    77# 
    88 
     9type evolution_t; 
    910type evolution_exec_t; 
    10 application_executable_file(evolution_exec_t) 
    11  
     11application_domain(evolution_t, evolution_exec_t) 
     12 
     13type evolution_alarm_t; 
    1214type evolution_alarm_exec_t; 
    13 application_executable_file(evolution_alarm_exec_t) 
    14  
     15application_domain(evolution_alarm_t, evolution_alarm_exec_t) 
     16 
     17type evolution_alarm_tmpfs_t; 
     18files_tmpfs_file(evolution_alarm_tmpfs_t) 
     19 
     20type evolution_alarm_orbit_tmp_t; 
     21files_tmp_file(evolution_alarm_orbit_tmp_t) 
     22 
     23type evolution_exchange_t; 
    1524type evolution_exchange_exec_t; 
    16 application_executable_file(evolution_exchange_exec_t) 
    17  
     25application_domain(evolution_exchange_t, evolution_exchange_exec_t) 
     26 
     27type evolution_exchange_tmpfs_t; 
     28files_tmpfs_file(evolution_exchange_tmpfs_t) 
     29 
     30type evolution_exchange_tmp_t; 
     31files_tmp_file(evolution_exchange_tmp_t) 
     32 
     33type evolution_exchange_orbit_tmp_t; 
     34files_tmp_file(evolution_exchange_orbit_tmp_t) 
     35 
     36type evolution_home_t; 
     37files_poly_member(evolution_home_t) 
     38userdom_user_home_content($1, evolution_home_t) 
     39 
     40type evolution_orbit_tmp_t; 
     41files_tmp_file(evolution_orbit_tmp_t) 
     42 
     43type evolution_server_t; 
    1844type evolution_server_exec_t; 
    19 application_executable_file(evolution_server_exec_t) 
    20  
     45application_domain(evolution_server_t, evolution_server_exec_t) 
     46 
     47type evolution_server_orbit_tmp_t; 
     48files_tmp_file(evolution_server_orbit_tmp_t) 
     49 
     50type evolution_tmpfs_t; 
     51files_tmpfs_file(evolution_tmpfs_t) 
     52 
     53type evolution_webcal_t; 
    2154type evolution_webcal_exec_t; 
    22 application_executable_file(evolution_webcal_exec_t) 
     55application_domain(evolution_webcal_t, evolution_webcal_exec_t) 
     56 
     57type evolution_webcal_tmpfs_t; 
     58files_tmpfs_file(evolution_webcal_tmpfs_t) 
     59 
     60######################################## 
     61
     62# Evolution local policy 
     63
     64 
     65allow evolution_t self:capability { setuid setgid sys_nice }; 
     66allow evolution_t self:process { signal getsched setsched }; 
     67allow evolution_t self:fifo_file rw_file_perms; 
     68allow evolution_t self:tcp_socket create_socket_perms; 
     69allow evolution_t self:udp_socket create_socket_perms; 
     70 
     71allow evolution_t evolution_alarm_t:dir search_dir_perms; 
     72allow evolution_t evolution_alarm_t:file read; 
     73 
     74allow evolution_t evolution_alarm_t:unix_stream_socket connectto; 
     75allow evolution_t evolution_alarm_orbit_tmp_t:sock_file write; 
     76 
     77can_exec(evolution_t, evolution_alarm_exec_t) 
     78 
     79allow evolution_t evolution_exchange_t:unix_stream_socket connectto; 
     80allow evolution_t evolution_exchange_orbit_tmp_t:sock_file write; 
     81 
     82allow evolution_t evolution_home_t:dir manage_dir_perms; 
     83allow evolution_t evolution_home_t:file manage_file_perms; 
     84allow evolution_t evolution_home_t:lnk_file manage_lnk_file_perms; 
     85 
     86allow evolution_t evolution_orbit_tmp_t:dir manage_dir_perms; 
     87allow evolution_t evolution_orbit_tmp_t:file manage_file_perms; 
     88files_tmp_filetrans(evolution_t, evolution_orbit_tmp_t, { dir file }) 
     89 
     90allow evolution_server_t evolution_orbit_tmp_t:dir manage_dir_perms; 
     91allow evolution_server_t evolution_orbit_tmp_t:file manage_file_perms; 
     92files_tmp_filetrans(evolution_server_t, evolution_orbit_tmp_t, { dir file }) 
     93 
     94allow evolution_t evolution_server_t:dir search_dir_perms; 
     95allow evolution_t evolution_server_t:file read; 
     96 
     97allow evolution_t evolution_server_t:unix_stream_socket connectto; 
     98allow evolution_t evolution_server_orbit_tmp_t:sock_file write; 
     99 
     100can_exec(evolution_t, evolution_server_exec_t) 
     101 
     102allow evolution_t evolution_tmpfs_t:dir rw_dir_perms; 
     103allow evolution_t evolution_tmpfs_t:file manage_file_perms; 
     104allow evolution_t evolution_tmpfs_t:lnk_file manage_lnk_file_perms; 
     105allow evolution_t evolution_tmpfs_t:sock_file manage_sock_file_perms; 
     106allow evolution_t evolution_tmpfs_t:fifo_file manage_fifo_file_perms; 
     107fs_tmpfs_filetrans(evolution_t, evolution_tmpfs_t, { dir file lnk_file sock_file fifo_file }) 
     108 
     109allow evolution_t $2:dir search; 
     110allow evolution_t $2:fd use; 
     111allow evolution_t $2:file read; 
     112allow evolution_t $2:lnk_file read; 
     113allow evolution_t $2:process sigchld; 
     114allow evolution_t $2:unix_stream_socket connectto; 
     115allow evolution_t $2:dir search; 
     116allow evolution_t $2:file read; 
     117 
     118domain_auto_trans($2, evolution_exec_t, evolution_t) 
     119 
     120allow $2 evolution_t:unix_stream_socket connectto; 
     121allow $2 evolution_t:process noatsecure; 
     122allow $2 evolution_t:process signal_perms; 
     123 
     124# Access .evolution 
     125allow $2 evolution_home_t:dir manage_dir_perms; 
     126allow $2 evolution_home_t:file manage_file_perms; 
     127allow $2 evolution_home_t:lnk_file manage_lnk_file_perms; 
     128allow $2 evolution_home_t:{ dir file lnk_file } { relabelfrom relabelto }; 
     129userdom_search_user_home_dirs($1, evolution_t) 
     130 
     131# Allow the user domain to signal/ps. 
     132allow $2 evolution_t:dir { search getattr read }; 
     133allow $2 evolution_t:{ file lnk_file } { read getattr }; 
     134allow $2 evolution_t:process getattr; 
     135 
     136domain_dontaudit_read_all_domains_state(evolution_t) 
     137 
     138#FIXME check to see if really needed 
     139kernel_read_kernel_sysctls(evolution_t) 
     140kernel_read_system_state(evolution_t) 
     141# Allow netstat 
     142kernel_read_network_state(evolution_t) 
     143kernel_read_net_sysctls(evolution_t) 
     144 
     145corecmd_exec_shell(evolution_t) 
     146# Run various programs 
     147corecmd_exec_bin(evolution_t) 
     148 
     149corenet_all_recvfrom_unlabeled(evolution_t) 
     150corenet_all_recvfrom_netlabel(evolution_t) 
     151corenet_tcp_sendrecv_generic_if(evolution_t) 
     152corenet_udp_sendrecv_generic_if(evolution_t) 
     153corenet_raw_sendrecv_generic_if(evolution_t) 
     154corenet_tcp_sendrecv_all_nodes(evolution_t) 
     155corenet_udp_sendrecv_all_nodes(evolution_t) 
     156corenet_tcp_sendrecv_pop_port(evolution_t) 
     157corenet_udp_sendrecv_pop_port(evolution_t) 
     158corenet_tcp_sendrecv_smtp_port(evolution_t) 
     159corenet_udp_sendrecv_smtp_port(evolution_t) 
     160corenet_tcp_sendrecv_innd_port(evolution_t) 
     161corenet_udp_sendrecv_innd_port(evolution_t) 
     162corenet_tcp_sendrecv_ldap_port(evolution_t) 
     163corenet_udp_sendrecv_ldap_port(evolution_t) 
     164corenet_tcp_sendrecv_ipp_port(evolution_t) 
     165corenet_udp_sendrecv_ipp_port(evolution_t) 
     166corenet_tcp_connect_pop_port(evolution_t) 
     167corenet_tcp_connect_smtp_port(evolution_t) 
     168corenet_tcp_connect_innd_port(evolution_t) 
     169corenet_tcp_connect_ldap_port(evolution_t) 
     170corenet_tcp_connect_ipp_port(evolution_t) 
     171corenet_sendrecv_pop_client_packets(evolution_t) 
     172corenet_sendrecv_smtp_client_packets(evolution_t) 
     173corenet_sendrecv_innd_client_packets(evolution_t) 
     174corenet_sendrecv_ldap_client_packets(evolution_t) 
     175corenet_sendrecv_ipp_client_packets(evolution_t) 
     176# not sure about this bind 
     177corenet_udp_bind_all_nodes(evolution_t) 
     178corenet_udp_bind_generic_port(evolution_t) 
     179 
     180dev_read_urand(evolution_t) 
     181 
     182files_read_etc_files(evolution_t) 
     183files_read_usr_files(evolution_t) 
     184files_read_usr_symlinks(evolution_t) 
     185files_read_var_files(evolution_t) 
     186 
     187fs_search_auto_mountpoints(evolution_t) 
     188 
     189libs_use_ld_so(evolution_t) 
     190libs_use_shared_libs(evolution_t) 
     191 
     192logging_send_syslog_msg(evolution_t) 
     193 
     194miscfiles_read_localization(evolution_t) 
     195 
     196sysnet_read_config(evolution_t) 
     197sysnet_dns_name_resolve(evolution_t) 
     198 
     199udev_read_state(evolution_t) 
     200 
     201userdom_rw_user_tmp_files($1, evolution_t) 
     202userdom_manage_user_tmp_dirs($1, evolution_t) 
     203userdom_manage_user_tmp_sockets($1, evolution_t) 
     204userdom_manage_user_tmp_files($1, evolution_t) 
     205userdom_use_user_terminals($1, evolution_t) 
     206# FIXME: suppress access to .local/.icons/.themes until properly implemented 
     207# FIXME: suppress access to .gaim/blist.xml (buddy list synchronization) 
     208# until properly implemented 
     209userdom_dontaudit_read_user_home_content_files($1, evolution_t) 
     210 
     211mta_read_config(evolution_t) 
     212 
     213xserver_user_x_domain_template($1, evolution,evolution_t, evolution_tmpfs_t) 
     214xserver_read_xdm_tmp_files(evolution_t) 
     215 
     216tunable_policy(`use_nfs_home_dirs',` 
     217        fs_manage_nfs_dirs(evolution_t) 
     218        fs_manage_nfs_files(evolution_t) 
     219        fs_manage_nfs_symlinks(evolution_t) 
     220') 
     221 
     222tunable_policy(`use_samba_home_dirs',` 
     223        fs_manage_cifs_dirs(evolution_t) 
     224        fs_manage_cifs_files(evolution_t) 
     225        fs_manage_cifs_symlinks(evolution_t) 
     226') 
     227 
     228tunable_policy(`mail_read_content && use_nfs_home_dirs',` 
     229        fs_list_auto_mountpoints(evolution_t) 
     230        files_list_home(evolution_t) 
     231        fs_read_nfs_files(evolution_t) 
     232        fs_read_nfs_symlinks(evolution_t) 
     233 
     234',` 
     235        files_dontaudit_list_home(evolution_t) 
     236        fs_dontaudit_list_auto_mountpoints(evolution_t) 
     237        fs_dontaudit_read_nfs_files(evolution_t) 
     238        fs_dontaudit_list_nfs(evolution_t) 
     239') 
     240 
     241tunable_policy(`mail_read_content && use_samba_home_dirs',` 
     242        fs_list_auto_mountpoints(evolution_t) 
     243        files_list_home(evolution_t) 
     244        fs_read_cifs_files(evolution_t) 
     245        fs_read_cifs_symlinks(evolution_t) 
     246',` 
     247        files_dontaudit_list_home(evolution_t) 
     248        fs_dontaudit_list_auto_mountpoints(evolution_t) 
     249        fs_dontaudit_read_cifs_files(evolution_t) 
     250        fs_dontaudit_list_cifs(evolution_t) 
     251') 
     252 
     253tunable_policy(`mail_read_content',` 
     254        userdom_list_user_tmp($1, evolution_t) 
     255        userdom_read_user_tmp_files($1, evolution_t) 
     256        userdom_read_user_tmp_symlinks($1, evolution_t) 
     257        userdom_search_user_home_dirs($1, evolution_t) 
     258        userdom_read_user_home_content_files($1, evolution_t) 
     259        userdom_read_user_home_content_symlinks($1, evolution_t) 
     260         
     261        ifndef(`enable_mls',` 
     262                fs_search_removable(evolution_t) 
     263                fs_read_removable_files(evolution_t) 
     264                fs_read_removable_symlinks(evolution_t) 
     265        ') 
     266',` 
     267        files_dontaudit_list_tmp(evolution_t) 
     268        files_dontaudit_list_home(evolution_t) 
     269        fs_dontaudit_list_removable(evolution_t) 
     270        fs_dontaudit_read_removable_files(evolution_t) 
     271        userdom_dontaudit_list_user_tmp($1, evolution_t) 
     272        userdom_dontaudit_read_user_tmp_files($1, evolution_t) 
     273        userdom_dontaudit_list_user_home_dirs($1, evolution_t) 
     274        userdom_dontaudit_read_user_home_content_files($1, evolution_t) 
     275') 
     276 
     277tunable_policy(`mail_read_content && read_default_t',` 
     278        files_list_default(evolution_t) 
     279        files_read_default_files(evolution_t) 
     280        files_read_default_symlinks(evolution_t) 
     281',` 
     282        files_dontaudit_read_default_files(evolution_t) 
     283        files_dontaudit_list_default(evolution_t) 
     284') 
     285 
     286tunable_policy(`mail_read_content && read_untrusted_content',` 
     287        files_list_tmp(evolution_t) 
     288        files_list_home(evolution_t) 
     289        userdom_search_user_home_dirs($1, evolution_t) 
     290 
     291        userdom_list_user_untrusted_content($1, evolution_t) 
     292        userdom_read_user_untrusted_content_files($1, evolution_t) 
     293        userdom_read_user_untrusted_content_symlinks($1, evolution_t) 
     294        userdom_list_user_tmp_untrusted_content($1, evolution_t) 
     295        userdom_read_user_tmp_untrusted_content_files($1, evolution_t) 
     296        userdom_read_user_tmp_untrusted_content_symlinks($1, evolution_t) 
     297',` 
     298        files_dontaudit_list_tmp(evolution_t) 
     299        files_dontaudit_list_home(evolution_t) 
     300        userdom_dontaudit_list_user_home_dirs($1, evolution_t) 
     301        userdom_dontaudit_list_user_untrusted_content($1, evolution_t) 
     302        userdom_dontaudit_read_user_untrusted_content_files($1, evolution_t) 
     303        userdom_dontaudit_list_user_tmp_untrusted_content($1, evolution_t) 
     304        userdom_dontaudit_read_user_tmp_untrusted_content_files($1, evolution_t) 
     305') 
     306 
     307tunable_policy(`write_untrusted_content && use_nfs_home_dirs',` 
     308        files_search_home(evolution_t) 
     309 
     310        fs_search_auto_mountpoints(evolution_t) 
     311        fs_manage_nfs_dirs(evolution_t) 
     312        fs_manage_nfs_files(evolution_t) 
     313        fs_manage_nfs_symlinks(evolution_t) 
     314',` 
     315        fs_dontaudit_list_auto_mountpoints(evolution_t) 
     316        fs_dontaudit_manage_nfs_dirs(evolution_t) 
     317        fs_dontaudit_manage_nfs_files(evolution_t) 
     318') 
     319 
     320tunable_policy(`write_untrusted_content && use_samba_home_dirs',` 
     321        files_search_home(evolution_t) 
     322 
     323        fs_search_auto_mountpoints(evolution_t) 
     324        fs_manage_cifs_dirs(evolution_t) 
     325        fs_manage_cifs_files(evolution_t) 
     326        fs_manage_cifs_symlinks(evolution_t) 
     327',` 
     328        fs_dontaudit_list_auto_mountpoints(evolution_t) 
     329        fs_dontaudit_manage_cifs_dirs(evolution_t) 
     330        fs_dontaudit_manage_cifs_files(evolution_t) 
     331') 
     332 
     333tunable_policy(`write_untrusted_content',` 
     334        files_search_home(evolution_t) 
     335 
     336        userdom_manage_user_untrusted_content_files($1, evolution_t) 
     337        userdom_user_home_dir_filetrans($1, evolution_t,untrusted_content_tmp_t, { file dir }) 
     338        userdom_user_home_content_filetrans($1, evolution_t,untrusted_content_tmp_t, { file dir }) 
     339 
     340',` 
     341        files_dontaudit_list_home(evolution_t) 
     342        files_dontaudit_list_tmp(evolution_t) 
     343 
     344        userdom_dontaudit_list_user_home_dirs($1, evolution_t) 
     345        #userdom_dontaudit_manage_user_tmp($1, evolution_t) 
     346        #userdom_dontaudit_manage_user_tmp_files($1, evolution_t) 
     347        #userdom_dontaudit_manage_user_home_subdirs($1, evolution_t) 
     348') 
     349 
     350optional_policy(` 
     351        automount_read_state(evolution_t) 
     352') 
     353 
     354# Allow printing the mail 
     355optional_policy(` 
     356        cups_read_rw_config(evolution_t) 
     357') 
     358 
     359optional_policy(` 
     360        dbus_system_bus_client_template(evolution,evolution_t) 
     361        dbus_user_bus_client_template($1, evolution,evolution_t) 
     362') 
     363 
     364optional_policy(` 
     365        gnome_stream_connect_gconf_template($1, evolution_t) 
     366') 
     367 
     368# Encrypt mail 
     369optional_policy(` 
     370        gpg_domtrans_user_gpg($1, evolution_t) 
     371        gpg_signal_user_gpg($1, evolution_t) 
     372') 
     373 
     374optional_policy(` 
     375        lpd_domtrans_user_lpr($1, evolution_t) 
     376') 
     377 
     378optional_policy(` 
     379        mozilla_read_user_home_files($1, evolution_t) 
     380        mozilla_domtrans_user_mozilla($1, evolution_t) 
     381') 
     382 
     383# Allow POP/IMAP/SMTP/NNTP/LDAP/IPP(printing) 
     384optional_policy(` 
     385        nis_use_ypbind(evolution_t) 
     386') 
     387 
     388optional_policy(` 
     389        nscd_socket_use(evolution_t) 
     390') 
     391 
     392### Junk mail filtering (start spamd) 
     393optional_policy(` 
     394        spamassassin_exec_spamd(evolution_t) 
     395        spamassassin_domtrans_user_client($1, evolution_t) 
     396        spamassassin_domtrans_user_local_client($1, evolution_t) 
     397        # Allow evolution to signal the daemon 
     398        # FIXME: Now evolution can read spamd temp files 
     399        spamassassin_read_spamd_tmp_files(evolution_t) 
     400        spamassassin_signal_spamd(evolution_t) 
     401        spamassassin_dontaudit_getattr_spamd_tmp_sockets(evolution_t) 
     402') 
     403 
     404######################################## 
     405
     406# Evolution alarm local policy 
     407
     408 
     409allow evolution_alarm_t self:process { signal getsched }; 
     410allow evolution_alarm_t self:fifo_file rw_fifo_file_perms; 
     411 
     412allow evolution_alarm_t evolution_t:unix_stream_socket connectto; 
     413allow evolution_alarm_t evolution_orbit_tmp_t:sock_file write; 
     414 
     415allow evolution_alarm_t evolution_alarm_tmpfs_t:dir rw_dir_perms; 
     416allow evolution_alarm_t evolution_alarm_tmpfs_t:file manage_file_perms; 
     417allow evolution_alarm_t evolution_alarm_tmpfs_t:lnk_file manage_lnk_file_perms; 
     418allow evolution_alarm_t evolution_alarm_tmpfs_t:sock_file manage_sock_file_perms; 
     419allow evolution_alarm_t evolution_alarm_tmpfs_t:fifo_file manage_fifo_file_perms; 
     420fs_tmpfs_filetrans(evolution_alarm_t, evolution_alarm_tmpfs_t, { dir file lnk_file sock_file fifo_file }) 
     421 
     422allow evolution_alarm_t evolution_exchange_t:unix_stream_socket connectto; 
     423allow evolution_alarm_t evolution_exchange_orbit_tmp_t:sock_file write; 
     424 
     425# Access evolution home 
     426allow evolution_alarm_t evolution_home_t:dir manage_dir_perms; 
     427allow evolution_alarm_t evolution_home_t:file manage_file_perms; 
     428allow evolution_alarm_t evolution_home_t:lnk_file manage_lnk_file_perms; 
     429 
     430allow evolution_alarm_t evolution_server_t:unix_stream_socket connectto; 
     431allow evolution_alarm_t evolution_server_orbit_tmp_t:sock_file write; 
     432 
     433domain_auto_trans($2, evolution_alarm_exec_t, evolution_alarm_t) 
     434allow evolution_alarm_t $2:fd use; 
     435 
     436dev_read_urand(evolution_alarm_t) 
     437 
     438files_read_etc_files(evolution_alarm_t) 
     439files_read_usr_files(evolution_alarm_t) 
     440 
     441fs_search_auto_mountpoints(evolution_alarm_t) 
     442 
     443libs_use_ld_so(evolution_alarm_t) 
     444libs_use_shared_libs(evolution_alarm_t) 
     445 
     446miscfiles_read_localization(evolution_alarm_t) 
     447 
     448# Access evolution home 
     449userdom_search_user_home_dirs($1, evolution_alarm_t) 
     450# FIXME: suppress access to .local/.icons/.themes until properly implemented 
     451# FIXME: suppress access to .gaim/blist.xml (buddy list synchronization) 
     452# until properly implemented 
     453userdom_dontaudit_read_user_home_content_files($1, evolution_alarm_t) 
     454 
     455xserver_user_x_domain_template($1, evolution_alarm,evolution_alarm_t, evolution_alarm_tmpfs_t) 
     456 
     457# Access evolution home 
     458tunable_policy(`use_nfs_home_dirs',` 
     459        fs_manage_nfs_files(evolution_alarm_t) 
     460') 
     461 
     462tunable_policy(`use_samba_home_dirs',` 
     463        fs_manage_cifs_files(evolution_alarm_t) 
     464') 
     465 
     466optional_policy(` 
     467        dbus_user_bus_client_template($1, evolution_alarm,evolution_alarm_t) 
     468') 
     469 
     470optional_policy(` 
     471        gnome_stream_connect_gconf_template($1, evolution_alarm_t) 
     472') 
     473 
     474optional_policy(` 
     475        nscd_socket_use(evolution_alarm_t) 
     476') 
     477 
     478######################################## 
     479
     480# Evolution exchange connector local policy 
     481
     482 
     483allow evolution_exchange_t self:process getsched; 
     484allow evolution_exchange_t self:fifo_file rw_fifo_file_perms; 
     485 
     486allow evolution_exchange_t self:tcp_socket create_socket_perms; 
     487allow evolution_exchange_t self:udp_socket create_socket_perms; 
     488 
     489allow evolution_exchange_t evolution_t:unix_stream_socket connectto; 
     490allow evolution_exchange_t evolution_orbit_tmp_t:sock_file write; 
     491 
     492allow evolution_exchange_t evolution_alarm_t:unix_stream_socket connectto; 
     493allow evolution_exchange_t evolution_alarm_orbit_tmp_t:sock_file write; 
     494 
     495# Access evolution home 
     496allow evolution_exchange_t evolution_home_t:dir manage_dir_perms; 
     497allow evolution_exchange_t evolution_home_t:file manage_file_perms; 
     498allow evolution_exchange_t evolution_home_t:lnk_file manage_lnk_file_perms; 
     499 
     500allow evolution_exchange_t evolution_server_t:unix_stream_socket connectto; 
     501allow evolution_exchange_t evolution_server_orbit_tmp_t:sock_file write; 
     502 
     503# /tmp/.exchange-$USER 
     504allow evolution_exchange_t evolution_exchange_tmp_t:dir manage_dir_perms; 
     505allow evolution_exchange_t evolution_exchange_tmp_t:file manage_file_perms; 
     506files_tmp_filetrans(evolution_exchange_t, evolution_exchange_tmp_t, { file dir }) 
     507 
     508allow evolution_exchange_t evolution_exchange_tmpfs_t:dir rw_dir_perms; 
     509allow evolution_exchange_t evolution_exchange_tmpfs_t:file manage_file_perms; 
     510allow evolution_exchange_t evolution_exchange_tmpfs_t:lnk_file manage_lnk_file_perms; 
     511allow evolution_exchange_t evolution_exchange_tmpfs_t:sock_file manage_sock_file_perms; 
     512allow evolution_exchange_t evolution_exchange_tmpfs_t:fifo_file manage_fifo_file_perms; 
     513fs_tmpfs_filetrans(evolution_exchange_t, evolution_exchange_tmpfs_t, { dir file lnk_file sock_file fifo_file }) 
     514 
     515allow evolution_exchange_t $2:unix_stream_socket connectto; 
     516allow evolution_exchange_t $1_tmp_t:sock_file write; 
     517 
     518# Clock applet talks to exchange (FIXME: Needs policy) 
     519allow $2 evolution_exchange_t:unix_stream_socket connectto; 
     520allow $2 evolution_exchange_orbit_tmp_t:sock_file write; 
     521 
     522# Transition from user domain 
     523domain_auto_trans($2, evolution_exchange_exec_t, evolution_exchange_t) 
     524 
     525kernel_read_network_state(evolution_exchange_t) 
     526kernel_read_net_sysctls(evolution_exchange_t) 
     527 
     528# Allow netstat 
     529corecmd_exec_bin(evolution_exchange_t) 
     530 
     531dev_read_urand(evolution_exchange_t) 
     532 
     533files_read_etc_files(evolution_exchange_t) 
     534files_read_usr_files(evolution_exchange_t) 
     535 
     536# Access evolution home 
     537fs_search_auto_mountpoints(evolution_exchange_t) 
     538 
     539libs_use_ld_so(evolution_exchange_t) 
     540libs_use_shared_libs(evolution_exchange_t) 
     541 
     542miscfiles_read_localization(evolution_exchange_t) 
     543  
     544# Access evolution home 
     545userdom_search_user_home_dirs($1, evolution_exchange_t) 
     546# FIXME: suppress access to .local/.icons/.themes until properly implemented 
     547# FIXME: suppress access to .gaim/blist.xml (buddy list synchronization) 
     548# until properly implemented 
     549userdom_dontaudit_read_user_home_content_files($1, evolution_exchange_t) 
     550 
     551xserver_user_x_domain_template($1, evolution_exchange,evolution_exchange_t, evolution_exchange_tmpfs_t) 
     552 
     553# Access evolution home 
     554tunable_policy(`use_nfs_home_dirs',` 
     555        fs_manage_nfs_files(evolution_exchange_t) 
     556') 
     557 
     558tunable_policy(`use_samba_home_dirs',` 
     559        fs_manage_cifs_files(evolution_exchange_t) 
     560') 
     561 
     562optional_policy(` 
     563        gnome_stream_connect_gconf_template($1, evolution_exchange_t) 
     564') 
     565 
     566optional_policy(` 
     567        nscd_socket_use(evolution_exchange_t) 
     568') 
     569 
     570######################################## 
     571
     572# Evolution data server local policy 
     573
     574 
     575allow evolution_server_t self:process { getsched signal }; 
     576 
     577allow evolution_server_t self:fifo_file { read write }; 
     578allow evolution_server_t self:unix_stream_socket { accept connectto }; 
     579# Talk to ldap (address book), 
     580# Obtain weather data via http (read server name from xml file in /usr) 
     581allow evolution_server_t self:tcp_socket create_socket_perms; 
     582 
     583allow evolution_server_t evolution_t:unix_stream_socket connectto; 
     584allow evolution_server_t evolution_orbit_tmp_t:sock_file write; 
     585 
     586allow evolution_server_t evolution_exchange_t:unix_stream_socket connectto; 
     587allow evolution_server_t evolution_exchange_orbit_tmp_t:sock_file write; 
     588 
     589# Access evolution home 
     590allow evolution_server_t evolution_home_t:dir manage_dir_perms; 
     591allow evolution_server_t evolution_home_t:file manage_file_perms; 
     592allow evolution_server_t evolution_home_t:lnk_file manage_lnk_file_perms; 
     593 
     594allow evolution_server_t evolution_alarm_t:unix_stream_socket connectto; 
     595allow evolution_server_t evolution_alarm_orbit_tmp_t:sock_file write; 
     596 
     597# Transition from user type 
     598domain_auto_trans($2, evolution_server_exec_t, evolution_server_t) 
     599 
     600kernel_read_system_state(evolution_server_t) 
     601 
     602corecmd_exec_shell(evolution_server_t) 
     603 
     604# Obtain weather data via http (read server name from xml file in /usr) 
     605corenet_all_recvfrom_unlabeled(evolution_server_t) 
     606corenet_all_recvfrom_netlabel(evolution_server_t) 
     607corenet_tcp_sendrecv_generic_if(evolution_server_t) 
     608corenet_tcp_sendrecv_all_nodes(evolution_server_t) 
     609corenet_tcp_sendrecv_http_port(evolution_server_t) 
     610corenet_tcp_sendrecv_http_cache_port(evolution_server_t) 
     611corenet_tcp_connect_http_cache_port(evolution_server_t) 
     612corenet_tcp_connect_http_port(evolution_server_t) 
     613corenet_sendrecv_http_client_packets(evolution_server_t) 
     614corenet_sendrecv_http_cache_client_packets(evolution_server_t) 
     615 
     616dev_read_urand(evolution_server_t) 
     617 
     618files_read_etc_files(evolution_server_t) 
     619# Obtain weather data via http (read server name from xml file in /usr) 
     620files_read_usr_files(evolution_server_t) 
     621 
     622fs_search_auto_mountpoints(evolution_server_t) 
     623 
     624libs_use_ld_so(evolution_server_t) 
     625libs_use_shared_libs(evolution_server_t) 
     626 
     627miscfiles_read_localization(evolution_server_t) 
     628# Look in /etc/pki 
     629miscfiles_read_certs(evolution_server_t) 
     630 
     631# Talk to ldap (address book) 
     632sysnet_read_config(evolution_server_t) 
     633sysnet_dns_name_resolve(evolution_server_t) 
     634sysnet_use_ldap(evolution_server_t) 
     635 
     636# Access evolution home 
     637userdom_search_user_home_dirs($1, evolution_server_t) 
     638# FIXME: suppress access to .local/.icons/.themes until properly implemented 
     639# FIXME: suppress access to .gaim/blist.xml (buddy list synchronization) 
     640# until properly implemented 
     641userdom_dontaudit_read_user_home_content_files($1, evolution_server_t) 
     642 
     643# Access evolution home 
     644tunable_policy(`use_nfs_home_dirs',` 
     645        fs_manage_nfs_files(evolution_server_t) 
     646') 
     647 
     648tunable_policy(`use_samba_home_dirs',` 
     649        fs_manage_cifs_files(evolution_server_t) 
     650') 
     651 
     652optional_policy(` 
     653        gnome_stream_connect_gconf_template($1, evolution_server_t) 
     654') 
     655 
     656optional_policy(` 
     657        nscd_socket_use(evolution_server_t) 
     658') 
     659 
     660######################################## 
     661
     662# Evolution webcal local policy 
     663
     664 
     665allow evolution_webcal_t self:tcp_socket create_socket_perms; 
     666 
     667# X/evolution common stuff 
     668allow evolution_webcal_t evolution_webcal_tmpfs_t:dir rw_dir_perms; 
     669allow evolution_webcal_t evolution_webcal_tmpfs_t:file manage_file_perms; 
     670allow evolution_webcal_t evolution_webcal_tmpfs_t:lnk_file manage_lnk_file_perms; 
     671allow evolution_webcal_t evolution_webcal_tmpfs_t:sock_file manage_sock_file_perms; 
     672allow evolution_webcal_t evolution_webcal_tmpfs_t:fifo_file manage_fifo_file_perms; 
     673fs_tmpfs_filetrans(evolution_webcal_t, evolution_webcal_tmpfs_t, { dir file lnk_file sock_file fifo_file }) 
     674 
     675# Transition from user type 
     676domain_auto_trans($2, evolution_webcal_exec_t, evolution_webcal_t) 
     677 
     678corenet_all_recvfrom_unlabeled(evolution_webcal_t) 
     679corenet_all_recvfrom_netlabel(evolution_webcal_t) 
     680corenet_tcp_sendrecv_generic_if(evolution_webcal_t) 
     681corenet_raw_sendrecv_generic_if(evolution_webcal_t) 
     682corenet_tcp_sendrecv_all_nodes(evolution_webcal_t) 
     683corenet_raw_sendrecv_all_nodes(evolution_webcal_t) 
     684corenet_tcp_sendrecv_http_port(evolution_webcal_t) 
     685corenet_tcp_sendrecv_http_cache_port(evolution_webcal_t) 
     686corenet_tcp_connect_http_cache_port(evolution_webcal_t) 
     687corenet_tcp_connect_http_port(evolution_webcal_t) 
     688corenet_sendrecv_http_client_packets(evolution_webcal_t) 
     689corenet_sendrecv_http_cache_client_packets(evolution_webcal_t) 
     690 
     691# Networking capability - connect to website and handle ics link 
     692sysnet_read_config(evolution_webcal_t) 
     693sysnet_dns_name_resolve(evolution_webcal_t) 
     694 
     695# Search home directory (?) 
     696userdom_search_user_home_dirs($1, evolution_webcal_t) 
     697# FIXME: suppress access to .local/.icons/.themes until properly implemented 
     698# FIXME: suppress access to .gaim/blist.xml (buddy list synchronization) 
     699# until properly implemented 
     700userdom_dontaudit_read_user_home_content_files($1, evolution_webcal_t) 
     701 
     702xserver_user_x_domain_template($1, evolution_webcal, evolution_webcal_t, evolution_webcal_tmpfs_t) 
     703 
     704optional_policy(` 
     705        nscd_socket_use(evolution_webcal_t) 
     706') 
  • branches/rbacsep/policy/modules/apps/gift.te

    r2675 r2680  
    77# 
    88 
     9type gift_t; 
    910type gift_exec_t; 
    10 application_executable_file(gift_exec_t) 
     11application_domain(gift_t, gift_exec_t) 
    1112 
     13type gift_home_t; 
     14files_poly_member(gift_home_t) 
     15userdom_user_home_content($1, gift_home_t) 
     16 
     17type gift_tmpfs_t; 
     18files_tmpfs_file(gift_tmpfs_t) 
     19 
     20type giftd_t; 
    1221type giftd_exec_t; 
    13 application_executable_file(giftd_exec_t) 
     22application_domain(giftd_t, giftd_exec_t) 
     23 
     24############################## 
     25
     26# giFT user interface local policy 
     27
     28 
     29allow gift_t self:tcp_socket create_socket_perms; 
     30 
     31manage_files_pattern(gift_t, gift_tmpfs_t, gift_tmpfs_t) 
     32manage_lnk_files_pattern(gift_t, gift_tmpfs_t, gift_tmpfs_t) 
     33manage_fifo_files_pattern(gift_t, gift_tmpfs_t, gift_tmpfs_t) 
     34manage_sock_files_pattern(gift_t, gift_tmpfs_t, gift_tmpfs_t) 
     35fs_tmpfs_filetrans(gift_t, gift_tmpfs_t, { dir file lnk_file sock_file fifo_file }) 
     36 
     37manage_dirs_pattern(gift_t, gift_home_t, gift_home_t) 
     38manage_files_pattern(gift_t, gift_home_t, gift_home_t) 
     39manage_lnk_files_pattern(gift_t, gift_home_t, gift_home_t) 
     40userdom_user_home_dir_filetrans($1, gift_t, gift_home_t,dir) 
     41 
     42# Launch gift daemon 
     43domtrans_pattern(gift_t, giftd_exec_t, giftd_t) 
     44 
     45# transition from user domain 
     46domtrans_pattern($2, gift_exec_t, gift_t) 
     47 
     48# user managed content 
     49manage_dirs_pattern($2,gift_home_t, gift_home_t) 
     50manage_files_pattern($2,gift_home_t, gift_home_t) 
     51manage_lnk_files_pattern($2,gift_home_t, gift_home_t) 
     52relabel_dirs_pattern($2,gift_home_t, gift_home_t) 
     53relabel_files_pattern($2,gift_home_t, gift_home_t) 
     54relabel_lnk_files_pattern($2,gift_home_t, gift_home_t) 
     55 
     56# Allow the user domain to signal/ps. 
     57ps_process_pattern($2,gift_t) 
     58allow $2 gift_t:process signal_perms; 
     59 
     60# Read /proc/meminfo 
     61kernel_read_system_state(giftd_t) 
     62 
     63# Connect to gift daemon 
     64corenet_all_recvfrom_unlabeled(gift_t) 
     65corenet_all_recvfrom_netlabel(gift_t) 
     66corenet_tcp_sendrecv_generic_if(gift_t) 
     67corenet_tcp_sendrecv_all_nodes(gift_t) 
     68corenet_tcp_sendrecv_giftd_port(gift_t) 
     69corenet_tcp_connect_giftd_port(gift_t) 
     70corenet_sendrecv_giftd_client_packets(gift_t) 
     71 
     72fs_search_auto_mountpoints(gift_t) 
     73 
     74sysnet_read_config(gift_t) 
     75 
     76# giftui looks in .icons, .themes. 
     77userdom_dontaudit_read_user_home_content_files($1, gift_t) 
     78 
     79tunable_policy(`use_nfs_home_dirs',` 
     80        fs_manage_nfs_dirs(gift_t) 
     81        fs_manage_nfs_files(gift_t) 
     82        fs_manage_nfs_symlinks(gift_t) 
     83') 
     84 
     85tunable_policy(`use_samba_home_dirs',` 
     86        fs_manage_cifs_dirs(gift_t) 
     87        fs_manage_cifs_files(gift_t) 
     88        fs_manage_cifs_symlinks(gift_t) 
     89') 
     90 
     91optional_policy(` 
     92        nscd_socket_use(gift_t) 
     93') 
     94 
     95optional_policy(` 
     96        xserver_user_x_domain_template($1, gift, gift_t, gift_tmpfs_t) 
     97') 
     98 
     99############################## 
     100
     101# giFT server local policy 
     102
     103 
     104allow giftd_t self:process { signal setsched }; 
     105allow giftd_t self:unix_stream_socket create_socket_perms; 
     106allow giftd_t self:tcp_socket create_stream_socket_perms; 
     107allow giftd_t self:udp_socket create_socket_perms; 
     108 
     109manage_dirs_pattern(giftd_t, gift_home_t, gift_home_t) 
     110manage_files_pattern(giftd_t, gift_home_t, gift_home_t) 
     111manage_lnk_files_pattern(giftd_t, gift_home_t, gift_home_t) 
     112userdom_user_home_dir_filetrans($1, giftd_t, gift_home_t, dir) 
     113 
     114domtrans_pattern($2, giftd_exec_t, giftd_t) 
     115 
     116kernel_read_system_state(giftd_t) 
     117kernel_read_kernel_sysctls(giftd_t) 
     118 
     119# Serve content on various p2p networks. Ports can be random. 
     120corenet_all_recvfrom_unlabeled(giftd_t) 
     121corenet_all_recvfrom_netlabel(giftd_t) 
     122corenet_tcp_sendrecv_generic_if(giftd_t) 
     123corenet_udp_sendrecv_generic_if(giftd_t) 
     124corenet_tcp_sendrecv_all_nodes(giftd_t) 
     125corenet_udp_sendrecv_all_nodes(giftd_t) 
     126corenet_tcp_sendrecv_all_ports(giftd_t) 
     127corenet_udp_sendrecv_all_ports(giftd_t) 
     128corenet_tcp_bind_all_nodes(giftd_t) 
     129corenet_udp_bind_all_nodes(giftd_t) 
     130corenet_tcp_bind_all_ports(giftd_t) 
     131corenet_udp_bind_all_ports(giftd_t) 
     132corenet_tcp_connect_all_ports(giftd_t) 
     133corenet_sendrecv_all_client_packets(giftd_t) 
     134 
     135files_read_usr_files(giftd_t) 
     136# Read /etc/mtab 
     137files_read_etc_runtime_files(giftd_t) 
     138 
     139libs_use_ld_so(giftd_t) 
     140libs_use_shared_libs(giftd_t) 
     141 
     142miscfiles_read_localization(giftd_t) 
     143 
     144sysnet_read_config(giftd_t) 
     145 
     146userdom_use_user_terminals($1, giftd_t) 
     147 
     148tunable_policy(`use_nfs_home_dirs',` 
     149        fs_manage_nfs_dirs(giftd_t) 
     150        fs_manage_nfs_files(giftd_t) 
     151        fs_manage_nfs_symlinks(giftd_t) 
     152') 
     153 
     154tunable_policy(`use_samba_home_dirs',` 
     155        fs_manage_cifs_dirs(giftd_t) 
     156        fs_manage_cifs_files(giftd_t) 
     157        fs_manage_cifs_symlinks(giftd_t) 
     158') 
  • branches/rbacsep/policy/modules