Chris PeBenito 9401ae1
## <summary>GIT revision control system.</summary>
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
########################################
Chris PeBenito 9401ae1
## <summary>
Chris PeBenito 9401ae1
##	Role access for Git session.
Chris PeBenito 9401ae1
## </summary>
Chris PeBenito 9401ae1
## <param name="role">
Chris PeBenito 9401ae1
##	<summary>
Chris PeBenito 9401ae1
##	Role allowed access.
Chris PeBenito 9401ae1
##	</summary>
Chris PeBenito 9401ae1
## </param>
Chris PeBenito 9401ae1
## <param name="domain">
Chris PeBenito 9401ae1
##	<summary>
Chris PeBenito 9401ae1
##	User domain for the role.
Chris PeBenito 9401ae1
##	</summary>
Chris PeBenito 9401ae1
## </param>
Chris PeBenito 9401ae1
#
Chris PeBenito 9401ae1
template(`git_role',`
Chris PeBenito 9401ae1
	gen_require(`
Dominick Grift 396297c
		attribute_role git_session_roles;
Chris PeBenito 9401ae1
		type git_session_t, gitd_exec_t, git_user_content_t;
Chris PeBenito 9401ae1
	')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	########################################
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
	# Declarations
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
Dominick Grift 396297c
	roleattribute $1 git_session_roles;
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	########################################
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
	# Policy
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
Dominick Grift d37b7aa
	allow $2 git_user_content_t:dir { manage_dir_perms relabel_dir_perms };
Dominick Grift d37b7aa
	allow $2 git_user_content_t:file { exec_file_perms manage_file_perms relabel_file_perms };
Dominick Grift d37b7aa
	userdom_user_home_dir_filetrans($2, git_user_content_t, dir, "public_git")
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	allow $2 git_session_t:process { ptrace signal_perms };
Chris PeBenito 9401ae1
	ps_process_pattern($2, git_session_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	tunable_policy(`git_session_users',`
Chris PeBenito 9401ae1
		domtrans_pattern($2, gitd_exec_t, git_session_t)
Chris PeBenito 9401ae1
	',`
Chris PeBenito 9401ae1
		can_exec($2, gitd_exec_t)
Chris PeBenito 9401ae1
	')
Chris PeBenito 9401ae1
')
Dominick Grift 8432795
Dominick Grift 8432795
########################################
Dominick Grift 8432795
## <summary>
Dominick Grift 8432795
##	Read generic system content files.
Dominick Grift 8432795
## </summary>
Dominick Grift 8432795
## <param name="domain">
Dominick Grift 8432795
##	<summary>
Dominick Grift 8432795
##	Domain allowed access.
Dominick Grift 8432795
##	</summary>
Dominick Grift 8432795
## </param>
Dominick Grift 8432795
#
Dominick Grift 8432795
interface(`git_read_generic_sys_content_files',`
Dominick Grift 8432795
	gen_require(`
Dominick Grift 8432795
		type git_sys_content_t;
Dominick Grift 8432795
	')
Dominick Grift 8432795
Dominick Grift 8432795
	list_dirs_pattern($1, git_sys_content_t, git_sys_content_t)
Dominick Grift 8432795
	read_files_pattern($1, git_sys_content_t, git_sys_content_t)
Dominick Grift 396297c
Dominick Grift 8432795
	files_search_var_lib($1)
Dominick Grift 8432795
Dominick Grift 8432795
	tunable_policy(`git_system_use_cifs',`
Dominick Grift 396297c
		fs_getattr_cifs($1)
Dominick Grift 8432795
		fs_list_cifs($1)
Dominick Grift 8432795
		fs_read_cifs_files($1)
Dominick Grift 8432795
	')
Dominick Grift 8432795
Dominick Grift 8432795
	tunable_policy(`git_system_use_nfs',`
Dominick Grift 396297c
		fs_getattr_nfs($1)
Dominick Grift 8432795
		fs_list_nfs($1)
Dominick Grift 8432795
		fs_read_nfs_files($1)
Dominick Grift 8432795
	')
Dominick Grift 8432795
')