--- nsaserefpolicy/policy/modules/services/bitlbee.fc 2008-08-07 11:15:11.000000000 -0400
+++ serefpolicy-3.5.5/policy/modules/services/bitlbee.fc 2008-08-14 13:53:54.000000000 -0400
@@ -1,3 +1,6 @@
/usr/sbin/bitlbee -- gen_context(system_u:object_r:bitlbee_exec_t,s0)
/etc/bitlbee(/.*)? gen_context(system_u:object_r:bitlbee_conf_t,s0)
/var/lib/bitlbee(/.*)? gen_context(system_u:object_r:bitlbee_var_t,s0)
+
+
+/etc/rc.d/init.d/bitlbee -- gen_context(system_u:object_r:bitlbee_script_exec_t,s0)
--- nsaserefpolicy/policy/modules/services/bitlbee.if 2008-08-07 11:15:11.000000000 -0400
+++ serefpolicy-3.5.5/policy/modules/services/bitlbee.if 2008-08-14 13:53:54.000000000 -0400
@@ -20,3 +20,70 @@
allow $1 bitlbee_conf_t:file { read getattr };
')
+
+########################################
+##
+## Execute bitlbee server in the bitlbee domain.
+##
+##
+##
+## The type of the process performing this action.
+##
+##
+#
+#
+interface(`bitlbee_script_domtrans',`
+ gen_require(`
+ type bitlbee_script_exec_t;
+ ')
+
+ init_script_domtrans_spec($1, bitlbee_script_exec_t)
+')
+
+########################################
+##
+## All of the rules required to administrate
+## an bitlbee environment
+##
+##
+##
+## Domain allowed access.
+##
+##
+##
+##
+## The role to be allowed to manage the bitlbee domain.
+##
+##
+##
+##
+## The type of the user terminal.
+##
+##
+##
+#
+interface(`bitlbee_admin',`
+ gen_require(`
+ type bitlbee_t;
+ type bitlbee_script_exec_t;
+ type bitlbee_conf_t;
+ type bitlbee_var_t;
+ ')
+
+ allow $1 bitlbee_t:process { ptrace signal_perms getattr };
+ read_files_pattern($1, bitlbee_t, bitlbee_t)
+
+ # Allow bitlbee_t to restart the apache service
+ bitlbee_script_domtrans($1)
+ domain_system_change_exemption($1)
+ role_transition $2 bitlbee_script_exec_t system_r;
+ allow $2 system_r;
+
+ files_list_etc($1)
+ admin_pattern($1, bitlbee_conf_t)
+
+ files_list_var($1)
+ admin_pattern($1, bitlbee_var_t)
+
+')
+
--- nsaserefpolicy/policy/modules/services/bitlbee.te 2008-08-07 11:15:11.000000000 -0400
+++ serefpolicy-3.5.5/policy/modules/services/bitlbee.te 2008-08-14 13:53:54.000000000 -0400
@@ -17,6 +17,12 @@
type bitlbee_var_t;
files_type(bitlbee_var_t)
+type bitlbee_tmp_t;
+files_tmp_file(bitlbee_tmp_t)
+
+type bitlbee_script_exec_t;
+init_script_type(bitlbee_script_exec_t)
+
########################################
#
# Local policy
@@ -26,9 +32,15 @@
allow bitlbee_t self:udp_socket create_socket_perms;
allow bitlbee_t self:tcp_socket { create_stream_socket_perms connected_stream_socket_perms };
allow bitlbee_t self:unix_stream_socket create_stream_socket_perms;
+allow bitlbee_t self:fifo_file rw_fifo_file_perms;
+allow bitlbee_t self:process signal;
bitlbee_read_config(bitlbee_t)
+# tmp files
+manage_files_pattern(bitlbee_t, bitlbee_tmp_t, bitlbee_tmp_t)
+files_tmp_filetrans(bitlbee_t, bitlbee_tmp_t, file)
+
# user account information is read and edited at runtime; give the usual
# r/w access to bitlbee_var_t
manage_files_pattern(bitlbee_t, bitlbee_var_t, bitlbee_var_t)
@@ -54,6 +66,12 @@
corenet_tcp_connect_msnp_port(bitlbee_t)
corenet_tcp_sendrecv_msnp_port(bitlbee_t)
+corenet_tcp_connect_http_port(bitlbee_t)
+corenet_tcp_sendrecv_http_port(bitlbee_t)
+
+dev_read_rand(bitlbee_t)
+dev_read_urand(bitlbee_t)
+
files_read_etc_files(bitlbee_t)
files_search_pids(bitlbee_t)
# grant read-only access to the user help files
@@ -62,6 +80,8 @@
libs_legacy_use_shared_libs(bitlbee_t)
libs_use_ld_so(bitlbee_t)
+miscfiles_read_localization(bitlbee_t)
+
sysnet_dns_name_resolve(bitlbee_t)
optional_policy(`