]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - policy/modules/services/courier.te
trunk: bump versions for release.
[people/stevee/selinux-policy.git] / policy / modules / services / courier.te
CommitLineData
6f8cda96 1
cfcf5004 2policy_module(courier, 1.5.0)
6f8cda96
CP
3
4########################################
5#
6# Declarations
7#
8
9courier_domain_template(authdaemon)
10
11type courier_etc_t;
12files_type(courier_etc_t)
13
14courier_domain_template(pcp)
15
16courier_domain_template(pop)
17
18courier_domain_template(tcpd)
19
20type courier_var_lib_t;
21files_type(courier_var_lib_t)
22
23type courier_var_run_t;
24files_pid_file(courier_var_run_t)
25
26type courier_exec_t;
27files_type(courier_exec_t)
28
29courier_domain_template(sqwebmail)
30typealias courier_sqwebmail_exec_t alias sqwebmail_cron_exec_t;
31
32########################################
33#
34# Authdaemon local policy
35#
36
37allow courier_authdaemon_t self:capability { setuid setgid sys_tty_config };
38allow courier_authdaemon_t self:unix_stream_socket connectto;
39
40can_exec(courier_authdaemon_t, courier_exec_t)
41
42allow courier_authdaemon_t courier_tcpd_t:fd use;
43allow courier_authdaemon_t courier_tcpd_t:tcp_socket rw_stream_socket_perms;
c0868a7a 44allow courier_authdaemon_t courier_tcpd_t:fifo_file rw_fifo_file_perms;
6f8cda96
CP
45
46allow courier_authdaemon_t courier_tcpd_t:tcp_socket rw_stream_socket_perms;
47allow courier_authdaemon_t courier_tcpd_t:unix_stream_socket rw_stream_socket_perms;
48allow courier_authdaemon_t courier_tcpd_t:process sigchld;
49allow courier_authdaemon_t courier_tcpd_t:fd use;
50allow courier_authdaemon_t courier_tcpd_t:tcp_socket rw_stream_socket_perms;
51allow courier_authdaemon_t courier_tcpd_t:fifo_file rw_file_perms;
52
8021cb4f 53corecmd_search_bin(courier_authdaemon_t)
6f8cda96
CP
54
55# for SSP
56dev_read_urand(courier_authdaemon_t)
57
58files_getattr_tmp_dirs(courier_authdaemon_t)
59
60auth_domtrans_chk_passwd(courier_authdaemon_t)
61
62libs_read_lib_files(courier_authdaemon_t)
63
64miscfiles_read_localization(courier_authdaemon_t)
65
66# should not be needed!
67userdom_search_unpriv_users_home_dirs(courier_authdaemon_t)
6f8cda96
CP
68
69courier_domtrans_pop(courier_authdaemon_t)
70
e9c6cda7
CP
71sysadm_dontaudit_search_home_dirs(courier_authdaemon_t)
72
6f8cda96
CP
73########################################
74#
75# Calendar (PCP) local policy
76#
77
78allow courier_pcp_t self:capability { setuid setgid };
79
80dev_read_rand(courier_pcp_t)
81
82########################################
83#
84# POP3/IMAP local policy
85#
86
87allow courier_pop_t courier_authdaemon_t:tcp_socket rw_stream_socket_perms;
88allow courier_pop_t courier_authdaemon_t:process sigchld;
89
90allow courier_pop_t courier_tcpd_t:{ unix_stream_socket tcp_socket } rw_stream_socket_perms;
91
92# inherits file handle - should it?
93allow courier_pop_t courier_var_lib_t:file { read write };
94
95miscfiles_read_localization(courier_pop_t)
96
97courier_domtrans_authdaemon(courier_pop_t)
98
99# do the actual work (read the Maildir)
100userdom_manage_unpriv_users_home_content_files(courier_pop_t)
101# cjp: the fact that this is different for pop vs imap means that
102# there should probably be a courier_pop_t and courier_imap_t
103# this should also probably be a separate type too instead of
104# the regular home dir
105userdom_manage_unpriv_users_home_content_dirs(courier_pop_t)
106
107########################################
108#
109# TCPd local policy
110#
111
112allow courier_tcpd_t self:capability kill;
113
114can_exec(courier_tcpd_t, courier_exec_t)
115
c0868a7a
CP
116manage_files_pattern(courier_tcpd_t,courier_var_lib_t,courier_var_lib_t)
117manage_lnk_files_pattern(courier_tcpd_t,courier_var_lib_t,courier_var_lib_t)
6f8cda96
CP
118files_search_var_lib(courier_tcpd_t)
119
8021cb4f 120corecmd_search_bin(courier_tcpd_t)
6f8cda96 121
141cffdd 122corenet_tcp_bind_all_nodes(courier_tcpd_t)
6f8cda96 123corenet_tcp_bind_pop_port(courier_tcpd_t)
141cffdd 124corenet_sendrecv_pop_server_packets(courier_tcpd_t)
6f8cda96
CP
125
126# for TLS
127dev_read_rand(courier_tcpd_t)
128dev_read_urand(courier_tcpd_t)
129
130miscfiles_read_localization(courier_tcpd_t)
131
132courier_domtrans_pop(courier_tcpd_t)
133
134########################################
135#
136# Webmail local policy
137#
138
139kernel_read_kernel_sysctls(courier_sqwebmail_t)
140
141optional_policy(`
142 cron_system_entry(courier_sqwebmail_t,courier_sqwebmail_exec_t)
143')