diff --git a/policy/modules/services/dovecot.if b/policy/modules/services/dovecot.if index 1aa28f47e..ec66a8934 100644 --- a/policy/modules/services/dovecot.if +++ b/policy/modules/services/dovecot.if @@ -61,6 +61,28 @@ interface(`dovecot_domtrans_deliver',` domtrans_pattern($1, dovecot_deliver_exec_t, dovecot_deliver_t) ') +######################################## +## +## Read dovecot configuration content. +## +## +## +## Domain allowed access. +## +## +## +# +interface(`dovecot_read_config',` + gen_require(` + type dovecot_etc_t; + ') + + files_search_etc($1) + allow $1 dovecot_etc_t:dir list_dir_perms; + allow $1 dovecot_etc_t:file read_file_perms; + allow $1 dovecot_etc_t:lnk_file read_lnk_file_perms; +') + ######################################## ## ## Create, read, write, and delete diff --git a/policy/modules/services/postfix.te b/policy/modules/services/postfix.te index 12a5fbacb..fb21571c0 100644 --- a/policy/modules/services/postfix.te +++ b/policy/modules/services/postfix.te @@ -596,6 +596,8 @@ corecmd_exec_bin(postfix_pipe_t) optional_policy(` dovecot_domtrans_deliver(postfix_pipe_t) + dovecot_read_config(postfix_pipe_t) + dovecot_stream_connect(postfix_pipe_t) ') optional_policy(`