policy_module(xscreensaver, 1.2.0)

########################################
#
# Declarations
#

attribute_role xscreensaver_roles;

type xscreensaver_t;
type xscreensaver_exec_t;
userdom_user_application_domain(xscreensaver_t, xscreensaver_exec_t)
role xscreensaver_roles types xscreensaver_t;

type xscreensaver_tmpfs_t;
userdom_user_tmpfs_file(xscreensaver_tmpfs_t)

########################################
#
# Local policy
#

allow xscreensaver_t self:process signal;
allow xscreensaver_t self:fifo_file rw_fifo_file_perms;

kernel_read_system_state(xscreensaver_t)


auth_use_nsswitch(xscreensaver_t)
auth_domtrans_chk_passwd(xscreensaver_t)

init_read_utmp(xscreensaver_t)

logging_send_audit_msgs(xscreensaver_t)
logging_send_syslog_msg(xscreensaver_t)

userdom_use_inherited_user_ptys(xscreensaver_t)
#access to .icons and ~/.xscreensaver
userdom_read_user_home_content_files(xscreensaver_t)

xserver_user_x_domain_template(xscreensaver, xscreensaver_t, xscreensaver_tmpfs_t)
