policy_module(ejabberd,0.0)
########################################
#
# Declarations
#
# Private type declarations
type ejabberd_t;
type ejabberd_exec_t;
init_daemon_domain(ejabberd_t, ejabberd_exec_t)
type ejabberd_unit_t;
systemd_unit_file(ejabberd_unit_t)
type ejabberd_var_lib_t;
files_type(ejabberd_var_lib_t)
type ejabberd_var_log_t;
logging_log_file(ejabberd_var_log_t)
# What will we allow
allow ejabberd_t self:tcp_socket { accept bind connect create getattr getopt listen name_bind read setopt write };
allow ejabberd_t self:udp_socket { bind connect create getattr getopt read setopt write };
allow ejabberd_t self:unix_dgram_socket { connect create getopt setopt write };
auth_use_nsswitch(ejabberd_t)
corecmd_exec_bin(ejabberd_t)
corecmd_exec_shell(ejabberd_t)
corenet_tcp_bind_epmd_port(ejabberd_t)
corenet_tcp_bind_generic_node(ejabberd_t)
corenet_tcp_bind_generic_port(ejabberd_t)
corenet_tcp_bind_jabber_client_port(ejabberd_t)
corenet_tcp_bind_jabber_interserver_port(ejabberd_t)
corenet_tcp_bind_prosody_port(ejabberd_t)
corenet_tcp_connect_epmd_port(ejabberd_t)
corenet_tcp_connect_generic_port(ejabberd_t)
corenet_tcp_connect_jabber_interserver_port(ejabberd_t)
corenet_tcp_connect_postgresql_port(ejabberd_t)
postgresql_stream_connect(ejabberd_t)
corenet_tcp_connect_mysqld_port(ejabberd_t)
mysql_stream_connect(ejabberd_t)
corenet_udp_bind_generic_node(ejabberd_t)
dev_read_rand(ejabberd_t)
dev_read_sysfs(ejabberd_t)
files_search_var_lib(ejabberd_t, ejabberd_var_lib_t, dir)
kernel_dgram_send(ejabberd_t)
logging_create_devlog_dev(ejabberd_t)
logging_log_filetrans(ejabberd_t, ejabberd_var_log_t, { dir file })
manage_dirs_pattern(ejabberd_t, ejabberd_var_lib_t, ejabberd_var_lib_t)
manage_dirs_pattern(ejabberd_t, ejabberd_var_log_t, ejabberd_var_log_t)
manage_files_pattern(ejabberd_t, ejabberd_var_lib_t, ejabberd_var_lib_t)
manage_files_pattern(ejabberd_t, ejabberd_var_log_t, ejabberd_var_log_t)
miscfiles_read_generic_certs(ejabberd_t)
sysnet_read_config(ejabberd_t)