# selinux policy needed to run the qpidd service with clustering
# enabled and selinux in enforcing mode.
#
# To build the qpid.pp module in this directory do:
#   sudo make -f /usr/share/selinux/devel/Makefile
# To install the compiled qpidd.pp
#   sudo semodule -i qpidd.pp

policy_module(qpidd, 1.2)

gen_require(`
        type initrc_t;
        type ccs_t;
	class sem { write unix_read unix_write associate read destroy };
	class shm { unix_read write unix_write associate read destroy };
')

fs_rw_tmpfs_files(ccs_t)
allow ccs_t initrc_t:sem { read write unix_read unix_write associate destroy };
allow ccs_t initrc_t:shm { read write unix_read unix_write associate destroy };
allow ccs_t self:capability { ipc_owner dac_override };

optional_policy(`
	gen_require(`
		type aisexec_t;
	')
	allow aisexec_t initrc_t:sem { read write unix_read unix_write associate destroy };
	allow aisexec_t initrc_t:shm { read write unix_read unix_write associate destroy };
	allow aisexec_t self:capability { sys_admin ipc_owner dac_override };
')
