From: aranea@aixah.de (Luis Ressel) Date: Tue, 12 Sep 2017 04:41:57 +0200 Subject: [refpolicy] [PATCH] postfix: Some table drivers (notably cdb) need to mmap() their databases Message-ID: <20170912024157.23660-1-aranea@aixah.de> To: refpolicy@oss.tresys.com List-Id: refpolicy.oss.tresys.com --- mta.if | 18 ++++++++++++++++++ postfix.te | 8 ++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/mta.if b/mta.if index 2b99dd5..2bff433 100644 --- a/mta.if +++ b/mta.if @@ -589,6 +589,24 @@ interface(`mta_read_aliases',` allow $1 etc_aliases_t:file read_file_perms; ') +######################################## +## +## Read mail address alias files. +## +## +## +## Domain allowed access. +## +## +# +interface(`mta_map_aliases',` + gen_require(` + type etc_aliases_t; + ') + + allow $1 etc_aliases_t:file map; +') + ######################################## ## ## Create, read, write, and delete diff --git a/postfix.te b/postfix.te index 7c060c8..c7eb914 100644 --- a/postfix.te +++ b/postfix.te @@ -115,7 +115,7 @@ allow postfix_domain self:fifo_file rw_fifo_file_perms; allow postfix_domain self:unix_stream_socket { accept connectto listen }; allow postfix_domain postfix_etc_t:dir list_dir_perms; -allow postfix_domain postfix_etc_t:file read_file_perms; +allow postfix_domain postfix_etc_t:file { read_file_perms map }; allow postfix_domain postfix_etc_t:lnk_file read_lnk_file_perms; allow postfix_domain postfix_master_t:file read_file_perms; @@ -405,6 +405,7 @@ corenet_tcp_connect_kismet_port(postfix_cleanup_t) corenet_tcp_sendrecv_kismet_port(postfix_cleanup_t) mta_read_aliases(postfix_cleanup_t) +mta_map_aliases(postfix_cleanup_t) optional_policy(` dkim_stream_connect(postfix_cleanup_t) @@ -436,6 +437,7 @@ logging_dontaudit_search_logs(postfix_local_t) mta_delete_spool(postfix_local_t) mta_read_aliases(postfix_local_t) +mta_map_aliases(postfix_local_t) mta_read_config(postfix_local_t) mta_send_mail(postfix_local_t) @@ -489,7 +491,7 @@ allow postfix_map_t self:capability { dac_read_search dac_override setgid setuid allow postfix_map_t self:tcp_socket { accept listen }; allow postfix_map_t postfix_etc_t:dir manage_dir_perms; -allow postfix_map_t postfix_etc_t:file manage_file_perms; +allow postfix_map_t postfix_etc_t:file { manage_file_perms map }; allow postfix_map_t postfix_etc_t:lnk_file manage_lnk_file_perms; manage_dirs_pattern(postfix_map_t, postfix_map_tmp_t, postfix_map_tmp_t) @@ -776,6 +778,7 @@ fs_getattr_all_dirs(postfix_smtpd_t) fs_getattr_all_fs(postfix_smtpd_t) mta_read_aliases(postfix_smtpd_t) +mta_map_aliases(postfix_smtpd_t) optional_policy(` dovecot_stream_connect_auth(postfix_smtpd_t) @@ -817,6 +820,7 @@ stream_connect_pattern(postfix_virtual_t, { postfix_private_t postfix_public_t } corecmd_exec_bin(postfix_virtual_t) mta_read_aliases(postfix_virtual_t) +mta_map_aliases(postfix_virtual_t) mta_delete_spool(postfix_virtual_t) mta_read_config(postfix_virtual_t) mta_manage_spool(postfix_virtual_t) -- 2.14.1