Dominick Grift ba4f150
policy_module(wine, 1.10.1)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# Declarations
1ec3d1a
#
1ec3d1a
1ec3d1a
## <desc>
Dominick Grift ba4f150
##	

Dominick Grift ba4f150
##	Determine whether attempts by
Dominick Grift ba4f150
##	wine to mmap low regions should
Dominick Grift ba4f150
##	be silently blocked.
Dominick Grift ba4f150
##	

1ec3d1a
## </desc>
1ec3d1a
gen_tunable(wine_mmap_zero_ignore, false)
1ec3d1a
Dominick Grift ba4f150
attribute_role wine_roles;
Dominick Grift ba4f150
roleattribute system_r wine_roles;
Dominick Grift ba4f150
1ec3d1a
type wine_t;
1ec3d1a
type wine_exec_t;
Chris PeBenito 66b26ac
userdom_user_application_domain(wine_t, wine_exec_t)
Dominick Grift ba4f150
role wine_roles types wine_t;
Dominick Grift ba4f150
Dominick Grift ba4f150
type wine_home_t;
Dominick Grift ba4f150
userdom_user_home_content(wine_home_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
type wine_tmp_t;
Chris PeBenito 66b26ac
userdom_user_tmp_file(wine_tmp_t)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# Local policy
1ec3d1a
#
1ec3d1a
1ec3d1a
allow wine_t self:process { execstack execmem execheap };
1ec3d1a
allow wine_t self:fifo_file manage_fifo_file_perms;
1ec3d1a
1ec3d1a
can_exec(wine_t, wine_exec_t)
1ec3d1a
Dominick Grift ba4f150
userdom_user_home_dir_filetrans(wine_t, wine_home_t, dir, ".wine")
Dominick Grift ba4f150
1ec3d1a
manage_dirs_pattern(wine_t, wine_tmp_t, wine_tmp_t)
1ec3d1a
manage_files_pattern(wine_t, wine_tmp_t, wine_tmp_t)
1ec3d1a
files_tmp_filetrans(wine_t, wine_tmp_t, { file dir })
1ec3d1a
1ec3d1a
domain_mmap_low(wine_t)
1ec3d1a
1ec3d1a
files_execmod_all_files(wine_t)
1ec3d1a
1ec3d1a
userdom_use_inherited_user_terminals(wine_t)
1ec3d1a
1ec3d1a
tunable_policy(`wine_mmap_zero_ignore',`
1ec3d1a
	dontaudit wine_t self:memprotect mmap_zero;
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
Dominick Grift ba4f150
	dbus_system_bus_client(wine_t)
Dominick Grift ba4f150
Dominick Grift ba4f150
	optional_policy(`
Dominick Grift ba4f150
		hal_dbus_chat(wine_t)
Dominick Grift ba4f150
	')
Dominick Grift ba4f150
Dominick Grift ba4f150
	optional_policy(`
Dominick Grift ba4f150
		policykit_dbus_chat(wine_t)
Dominick Grift ba4f150
	')
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
Dominick Grift ba4f150
	rtkit_scheduled(wine_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	unconfined_domain(wine_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	xserver_read_xdm_pid(wine_t)
1ec3d1a
	xserver_rw_shm(wine_t)
1ec3d1a
')