diff --git a/refpolicy/Changelog b/refpolicy/Changelog index 7566bba..5f21f0f 100644 --- a/refpolicy/Changelog +++ b/refpolicy/Changelog @@ -1,3 +1,4 @@ +- Additional MLS interfaces from Chad Hanson. - Move some rules out of domain_type() and domain_base_type() to the TE file, to use the domain attribute to take advantage of space savings from attribute use. diff --git a/refpolicy/policy/modules/kernel/mls.if b/refpolicy/policy/modules/kernel/mls.if index 850ae8e..3b38c83 100644 --- a/refpolicy/policy/modules/kernel/mls.if +++ b/refpolicy/policy/modules/kernel/mls.if @@ -18,7 +18,7 @@ ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -37,7 +37,7 @@ interface(`mls_file_read_up',` ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -56,7 +56,7 @@ interface(`mls_file_write_down',` ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -75,7 +75,7 @@ interface(`mls_file_upgrade',` ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -89,13 +89,131 @@ interface(`mls_file_downgrade',` ######################################## ## +## Make specified domain MLS trusted +## for reading from sockets at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_socket_read_all_levels',` + gen_require(` + attribute mlsnetread; + ') + + typeattribute $1 mlsnetread; +') + +######################################## +## +## Make specified domain MLS trusted +## for reading from sockets at any level +## that is dominated by the process clearance. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_socket_read_to_clearance',` + gen_require(` + attribute mlsnetreadtoclr; + ') + + typeattribute $1 mlsnetreadtoclr; +') + +######################################## +## +## Make specified domain MLS trusted +## for writing to sockets at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_socket_write_all_levels',` + gen_require(` + attribute mlsnetwrite; + ') + + typeattribute $1 mlsnetwrite; +') + +######################################## +## +## Make specified domain MLS trusted +## for receiving network data from +## network interfaces or hosts at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_net_receive_all_levels',` + gen_require(` + attribute mlsnetrecvall; + ') + + typeattribute $1 mlsnetrecvall; +') + +######################################## +## +## Make specified domain MLS trusted +## for reading from System V IPC objects +## at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_sysvipc_read_all_levels',` + gen_require(` + attribute mlsipcread; + ') + + typeattribute $1 mlsipcread; +') + +######################################## +## +## Make specified domain MLS trusted +## for writing to System V IPC objects +## at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_sysvipc_write_all_levels',` + gen_require(` + attribute mlsipcwrite; + ') + + typeattribute $1 mlsipcwrite; +') + +######################################## +## ## Allow the specified domain to do a MLS ## range transition that changes ## the current level. ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -115,7 +233,7 @@ interface(`mls_rangetrans_source',` ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -134,7 +252,7 @@ interface(`mls_rangetrans_target',` ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -153,7 +271,7 @@ interface(`mls_process_read_up',` ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -173,7 +291,7 @@ interface(`mls_process_write_down',` ## ## ## -## The type of the process performing this action. +## Domain allowed access. ## ## # @@ -185,6 +303,81 @@ interface(`mls_process_set_level',` typeattribute $1 mlsprocsetsl; ') +######################################## +## +## Make specified domain MLS trusted +## for reading from X objects at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_xwin_read_all_levels',` + gen_require(` + attribute mlsxwinread; + ') + + typeattribute $1 mlsxwinread; +') + +######################################## +## +## Make specified domain MLS trusted +## for writing to X objects at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_xwin_write_all_levels',` + gen_require(` + attribute mlsxwinwrite; + ') + + typeattribute $1 mlsxwinwrite; +') + +######################################## +## +## Make specified domain MLS trusted +## for reading from X colormaps at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_colormap_read_all_levels',` + gen_require(` + attribute mlsxwinreadcolormap; + ') + + typeattribute $1 mlsxwinreadcolormap; +') + +######################################## +## +## Make specified domain MLS trusted +## for writing to X colormaps at any level. +## +## +## +## Domain allowed access. +## +## +# +interface(`mls_colormap_write_all_levels',` + gen_require(` + attribute mlsxwinwritecolormap; + ') + + typeattribute $1 mlsxwinwritecolormap; +') ######################################## ##