Dan Walsh 3eaa99
## <summary>Unconfiend user role</summary>
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Change from the unconfineduser role.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <desc>
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	Change from the unconfineduser role to
Dan Walsh 3eaa99
##	the specified role.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	This is an interface to support third party modules
Dan Walsh 3eaa99
##	and its use is not allowed in upstream reference
Dan Walsh 3eaa99
##	policy.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
## </desc>
Dan Walsh 3eaa99
## <param name="role">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Role allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
## <rolecap/>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_role_change_to',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		role unconfined_r;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow unconfined_r $1;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Transition to the unconfined domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_domtrans',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t, unconfined_exec_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	domtrans_pattern($1,unconfined_exec_t,unconfined_t)
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Execute specified programs in the unconfined domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	The type of the process performing this action.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
## <param name="role">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	The role to allow the unconfined domain.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_run',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	unconfined_domtrans($1)
Dan Walsh 3eaa99
	role $2 types unconfined_t;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Transition to the unconfined domain by executing a shell.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_shell_domtrans',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		attribute unconfined_login_domain;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
	typeattribute $1 unconfined_login_domain;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Allow unconfined to execute the specified program in
Dan Walsh 3eaa99
##	the specified domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <desc>
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	Allow unconfined to execute the specified program in
Dan Walsh 3eaa99
##	the specified domain.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	This is a interface to support third party modules
Dan Walsh 3eaa99
##	and its use is not allowed in upstream reference
Dan Walsh 3eaa99
##	policy.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
## </desc>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain to execute in.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
## <param name="entry_file">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain entry point file.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_domtrans_to',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	domtrans_pattern(unconfined_t,$2,$1)
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Allow unconfined to execute the specified program in
Dan Walsh 3eaa99
##	the specified domain.  Allow the specified domain the
Dan Walsh 3eaa99
##	unconfined role and use of unconfined user terminals.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <desc>
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	Allow unconfined to execute the specified program in
Dan Walsh 3eaa99
##	the specified domain.  Allow the specified domain the
Dan Walsh 3eaa99
##	unconfined role and use of unconfined user terminals.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	This is a interface to support third party modules
Dan Walsh 3eaa99
##	and its use is not allowed in upstream reference
Dan Walsh 3eaa99
##	policy.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
## </desc>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain to execute in.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
## <param name="entry_file">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain entry point file.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_run_to',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
		role unconfined_r;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	domtrans_pattern(unconfined_t,$2,$1)
Dan Walsh 3eaa99
	role unconfined_r types $1;
Dan Walsh 3eaa99
	userdom_use_user_terminals($1)
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Inherit file descriptors from the unconfined domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_use_fds',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:fd use;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Send a SIGCHLD signal to the unconfined domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_sigchld',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:process sigchld;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Send a SIGNULL signal to the unconfined domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_signull',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:process signull;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Send a SIGNULL signal to the unconfined execmem domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_execmem_signull',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_execmem_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_execmem_t:process signull;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Send a signal to the unconfined execmem domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_execmem_signal',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_execmem_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_execmem_t:process signal;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Send generic signals to the unconfined domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_signal',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:process signal;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Read unconfined domain unnamed pipes.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_read_pipes',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:fifo_file read_fifo_file_perms;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Do not audit attempts to read unconfined domain unnamed pipes.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dontaudit_read_pipes',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	dontaudit $1 unconfined_t:fifo_file read;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Read and write unconfined domain unnamed pipes.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_rw_pipes',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:fifo_file rw_fifo_file_perms;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Do not audit attempts to read and write
Dan Walsh 3eaa99
##	unconfined domain unnamed pipes.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain to not audit.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dontaudit_rw_pipes',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	dontaudit $1 unconfined_t:fifo_file rw_file_perms;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Do not audit attempts to read and write
Dan Walsh 3eaa99
##	unconfined domain stream.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain to not audit.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dontaudit_rw_stream',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	dontaudit $1 unconfined_t:unix_stream_socket rw_socket_perms;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Connect to the unconfined domain using
Dan Walsh 3eaa99
##	a unix domain stream socket.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_stream_connect',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:unix_stream_socket connectto;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Do not audit attempts to read or write
Dan Walsh 3eaa99
##	unconfined domain tcp sockets.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <desc>
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	Do not audit attempts to read or write
Dan Walsh 3eaa99
##	unconfined domain tcp sockets.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	This interface was added due to a broken
Dan Walsh 3eaa99
##	symptom in ldconfig.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
## </desc>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain to not audit.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dontaudit_rw_tcp_sockets',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	dontaudit $1 unconfined_t:tcp_socket { read write };
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Do not audit attempts to read or write
Dan Walsh 3eaa99
##	unconfined domain packet sockets.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <desc>
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	Do not audit attempts to read or write
Dan Walsh 3eaa99
##	unconfined domain packet sockets.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
##	This interface was added due to a broken
Dan Walsh 3eaa99
##	symptom.
Dan Walsh 3eaa99
##	

Dan Walsh 3eaa99
## </desc>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain to not audit.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dontaudit_rw_packet_sockets',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	dontaudit $1 unconfined_t:packet_socket { read write };
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Create keys for the unconfined domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_create_keys',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:key create;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Send messages to the unconfined domain over dbus.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dbus_send',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
		class dbus send_msg;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:dbus send_msg;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Send and receive messages from
Dan Walsh 3eaa99
##	unconfined_t over dbus.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dbus_chat',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
		class dbus send_msg;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:dbus send_msg;
Dan Walsh 3eaa99
	allow unconfined_t $1:dbus send_msg;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Connect to the the unconfined DBUS
Dan Walsh 3eaa99
##	for service (acquire_svc).
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_dbus_connect',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
		class dbus acquire_svc;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:dbus acquire_svc;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Allow ptrace of unconfined domain
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_ptrace',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:process ptrace;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Read and write to unconfined shared memory.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	The type of the process performing this action.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_rw_shm',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:shm rw_shm_perms;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Read and write to unconfined execmem shared memory.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	The type of the process performing this action.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_execmem_rw_shm',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_execmem_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_execmem_t:shm rw_shm_perms;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Transition to the unconfined_execmem domain.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_execmem_domtrans',`
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_execmem_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	execmem_domtrans($1, unconfined_execmem_t)
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	execute the execmem applications
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_execmem_exec',`
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type execmem_exec_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	can_exec($1, execmem_exec_t)
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Allow apps to set rlimits on userdomain
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_set_rlimitnh',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:process rlimitinh;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Get the process group of unconfined.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_getpgid',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:process getpgid;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Change to the unconfined role.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="role">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Role allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
## <rolecap/>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_role_change',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		role unconfined_r;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_r;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
########################################
Dan Walsh 3eaa99
## <summary>
Dan Walsh 3eaa99
##	Allow domain to attach to TUN devices created by unconfined_t users.
Dan Walsh 3eaa99
## </summary>
Dan Walsh 3eaa99
## <param name="domain">
Dan Walsh 3eaa99
##	<summary>
Dan Walsh 3eaa99
##	Domain allowed access.
Dan Walsh 3eaa99
##	</summary>
Dan Walsh 3eaa99
## </param>
Dan Walsh 3eaa99
#
Dan Walsh 3eaa99
interface(`unconfined_attach_tun_iface',`
Dan Walsh 3eaa99
	gen_require(`
Dan Walsh 3eaa99
		type unconfined_t;
Dan Walsh 3eaa99
	')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
	allow $1 unconfined_t:tun_socket relabelfrom;
Dan Walsh 3eaa99
	allow $1 self:tun_socket relabelto;
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99