Skip to content

Commit 46e6533

Browse files
committed
xscreensaver: allow exec auth and systemd tools
Xscreensaver needs to be able to exec xscreensaver-auth to prompt for the password. xscreensaver-systemd locks during suspend and handles inhibiting through the dbus interface. Signed-off-by: Jason Zaman <perfinion@gentoo.org>
1 parent c23ac17 commit 46e6533

3 files changed

Lines changed: 17 additions & 3 deletions

File tree

policy/modules/apps/xscreensaver.fc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,10 @@ HOME_DIR/\.xscreensaver -- gen_context(system_u:object_r:xscreensaver_config_t,
44
/usr/bin/xscreensaver-getimage.* -- gen_context(system_u:object_r:xscreensaver_helper_exec_t,s0)
55
/usr/bin/xscreensaver-gl-helper -- gen_context(system_u:object_r:xscreensaver_helper_exec_t,s0)
66

7-
/usr/libexec/xscreensaver(/.*)? -- gen_context(system_u:object_r:xscreensaver_helper_exec_t,s0)
7+
/usr/lib/misc/xscreensaver/xscreensaver-auth -- gen_context(system_u:object_r:xscreensaver_exec_t,s0)
8+
/usr/lib/misc/xscreensaver/xscreensaver-systemd -- gen_context(system_u:object_r:xscreensaver_exec_t,s0)
9+
/usr/lib/misc/xscreensaver/.* -- gen_context(system_u:object_r:xscreensaver_helper_exec_t,s0)
10+
11+
/usr/libexec/xscreensaver/xscreensaver-auth -- gen_context(system_u:object_r:xscreensaver_exec_t,s0)
12+
/usr/libexec/xscreensaver/xscreensaver-systemd -- gen_context(system_u:object_r:xscreensaver_exec_t,s0)
13+
/usr/libexec/xscreensaver/.* -- gen_context(system_u:object_r:xscreensaver_helper_exec_t,s0)

policy/modules/apps/xscreensaver.if

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ template(`xscreensaver_role',`
4949
allow $2 xscreensaver_tmpfs_t:file { manage_file_perms relabel_file_perms };
5050

5151
allow xscreensaver_helper_t $3:fd use;
52+
allow xscreensaver_helper_t $3:fifo_file read_fifo_file_perms;
5253

5354
optional_policy(`
5455
systemd_user_app_status($1, xscreensaver_t)

policy/modules/apps/xscreensaver.te

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,15 @@ userdom_user_tmpfs_file(xscreensaver_tmpfs_t)
3737
#
3838

3939
allow xscreensaver_t self:capability { setgid setuid };
40-
allow xscreensaver_t self:process { setsched signal sigstop };
40+
allow xscreensaver_t self:process { sigstop signal setsched setpgid };
4141
allow xscreensaver_t self:fifo_file rw_fifo_file_perms;
4242

4343
allow xscreensaver_t xscreensaver_helper_t:process { signal sigstop };
4444

4545
allow xscreensaver_t xscreensaver_config_t:file manage_file_perms;
4646

47+
can_exec(xscreensaver_t, xscreensaver_exec_t)
48+
4749
kernel_read_system_state(xscreensaver_t)
4850

4951
files_read_usr_files(xscreensaver_t)
@@ -60,6 +62,7 @@ init_read_utmp(xscreensaver_t)
6062
logging_send_audit_msgs(xscreensaver_t)
6163
logging_send_syslog_msg(xscreensaver_t)
6264

65+
miscfiles_read_fonts(xscreensaver_t)
6366
miscfiles_read_localization(xscreensaver_t)
6467

6568
userdom_use_user_terminals(xscreensaver_t)
@@ -85,12 +88,16 @@ tunable_policy(`xscreensaver_read_generic_user_content',`
8588
userdom_dontaudit_read_user_tmp_files(xscreensaver_t)
8689
')
8790

91+
optional_policy(`
92+
dbus_all_session_bus_client(xscreensaver_t)
93+
')
94+
8895
########################################
8996
#
9097
# Helper local policy
9198
#
9299

93-
allow xscreensaver_helper_t self:process { execmem signal };
100+
allow xscreensaver_helper_t self:process { execmem signal setsched };
94101
allow xscreensaver_helper_t self:fifo_file rw_fifo_file_perms;
95102

96103
allow xscreensaver_helper_t xscreensaver_config_t:file manage_file_perms;

0 commit comments

Comments
 (0)