Re: [PATCH] libselinux: add support for /contexts/postgresql_contexts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Christopher J. PeBenito wrote:
> On Mon, 2008-06-23 at 21:48 +0900, KaiGai Kohei wrote:
>> Christopher J. PeBenito wrote:
>>> On Fri, 2008-06-20 at 15:48 +0900, KaiGai Kohei wrote:
>>>> Christopher J. PeBenito wrote:
>>>>> On Wed, 2008-06-18 at 15:53 +0900, KaiGai Kohei wrote:
>>>>>> Christopher J. PeBenito wrote:
>>>>>>>>> 2. the stored procedure type names have been in the back of my mind for
>>>>>>>>> long time but I couldn't come up with a good naming scheme.  This
>>>>>>>>> especially bugged me for the sepgsql_trusted_domain_t and
>>>>>>>>> sepgsql_trusted_proc_t.  Why not just go with what we do with regular
>>>>>>>>> domains and executables: sepgsql_trusted_proc_t and
>>>>>>>>> sepgsql_trusted_proc_exec_t?
>>>>>>>> I don't have a clear reason for the naming of them.
>>>>>>>> sepgsql_trusted_proc_t and sepgsql_trusted_proc_exec_t are more suitable
>>>>>>>> for the purpose, I also think.
>>>>>>> It seems that we should also rename $1_sepgsql_proc_t for consistency.
>>>>>> Sorry for late reply.
>>>>>>
>>>>>> At first, $1_sepgsql_proc_t lost the term of "trusted", so its name
>>>>>> does not shows its purpose.
>>>>> No, I mean having a $1_sepgsql_proc_t and $1_sepgsql_proc_exec_t.
>>>> Do you intend the following domain transition?
>>>>   user_t + user_sepgsql_proc_exec_t -> user_sepgsql_proc_t
>>>>
>>>> Is there any reason why users should not invoke their functions
>>>> without domain transition?
>>> I don't think we need a transition.  Mainly I think the procedure should
>>> be $1_sepgsql_proc_exec_t so there is naming consistency for stored
>>> procedures.
>> I agree it.
>> Do you need a patch?
> 
> Well I didn't merge the trusted_proc patch yet, would you update that
> patch with $1_sepgsql_proc_exec_t too?

The attached patch replaces the following names:

  $1_sepgsql_proc_t         -> $1_sepgsql_proc_exec_t
  sepgsql_trusted_domain_t  -> sepgsql_trusted_proc_t
  sepgsql_trusted_proc_t    -> sepgsql_trusted_proc_exec_t

Please apply,
-- 
OSS Platform Development Division, NEC
KaiGai Kohei <kaigai@xxxxxxxxxxxxx>
Index: refpolicy/policy/modules/services/postgresql.if
===================================================================
--- refpolicy/policy/modules/services/postgresql.if	(revision 2727)
+++ refpolicy/policy/modules/services/postgresql.if	(working copy)
@@ -37,7 +37,7 @@
 		attribute sepgsql_client_type, sepgsql_database_type;
 		attribute sepgsql_sysobj_table_type;
 
-		type sepgsql_trusted_proc_t, sepgsql_trusted_domain_t;
+		type sepgsql_trusted_proc_exec_t, sepgsql_trusted_proc_t;
 	')
 
 	########################################
@@ -50,8 +50,8 @@
 	type $1_sepgsql_blob_t;
 	postgresql_blob_object($1_sepgsql_blob_t)
 
-	type $1_sepgsql_proc_t;
-	postgresql_procedure_object($1_sepgsql_proc_t)
+	type $1_sepgsql_proc_exec_t;
+	postgresql_procedure_object($1_sepgsql_proc_exec_t)
 
 	type $1_sepgsql_sysobj_t;
 	postgresql_system_table_object($1_sepgsql_sysobj_t)
@@ -59,7 +59,7 @@
 	type $1_sepgsql_table_t;
 	postgresql_table_object($1_sepgsql_table_t)
 
-	role $3 types sepgsql_trusted_domain_t;
+	role $3 types sepgsql_trusted_proc_t;
 
 	##############################
 	#
@@ -81,14 +81,14 @@
 	allow $2 $1_sepgsql_table_t  : db_tuple  { use select update insert delete };
 	allow $2 $1_sepgsql_sysobj_t : db_tuple  { use select };
 
-	allow $2 $1_sepgsql_proc_t : db_procedure { create drop getattr setattr execute };
-	type_transition $2 sepgsql_database_type:db_procedure $1_sepgsql_proc_t;
+	allow $2 $1_sepgsql_proc_exec_t : db_procedure { create drop getattr setattr execute };
+	type_transition $2 sepgsql_database_type:db_procedure $1_sepgsql_proc_exec_t;
 
 	allow $2 $1_sepgsql_blob_t : db_blob { create drop getattr setattr read write };
 	type_transition $2 sepgsql_database_type:db_blob $1_sepgsql_blob_t;
 
-	allow $2 sepgsql_trusted_domain_t:process transition;
-	type_transition $2 sepgsql_trusted_proc_t:process sepgsql_trusted_domain_t;
+	allow $2 sepgsql_trusted_proc_t:process transition;
+	type_transition $2 sepgsql_trusted_proc_exec_t:process sepgsql_trusted_proc_t;
 ')
 
 ########################################
@@ -343,7 +343,7 @@
 
 		type sepgsql_db_t, sepgsql_table_t, sepgsql_proc_t, sepgsql_blob_t;
 
-		type sepgsql_trusted_proc_t, sepgsql_trusted_domain_t;
+		type sepgsql_trusted_proc_t, sepgsql_trusted_proc_exec_t;
 	')
 
 	typeattribute $1 sepgsql_client_type;
@@ -352,8 +352,8 @@
 	type_transition $1 sepgsql_db_t:db_procedure sepgsql_proc_t;
 	type_transition $1 sepgsql_db_t:db_blob sepgsql_blob_t;
 
-	type_transition $1 sepgsql_trusted_proc_t:process sepgsql_trusted_domain_t;
-	allow $1 sepgsql_trusted_domain_t:process transition;
+	type_transition $1 sepgsql_trusted_proc_exec_t:process sepgsql_trusted_proc_t;
+	allow $1 sepgsql_trusted_proc_t:process transition;
 ')
 
 ########################################
Index: refpolicy/policy/modules/services/postgresql.te
===================================================================
--- refpolicy/policy/modules/services/postgresql.te	(revision 2727)
+++ refpolicy/policy/modules/services/postgresql.te	(working copy)
@@ -87,14 +87,14 @@
 type sepgsql_table_t;
 postgresql_table_object(sepgsql_table_t)
 
-type sepgsql_trusted_proc_t;
-postgresql_procedure_object(sepgsql_trusted_proc_t)
+type sepgsql_trusted_proc_exec_t;
+postgresql_procedure_object(sepgsql_trusted_proc_exec_t)
 
 # Trusted Procedure Domain
-type sepgsql_trusted_domain_t;
-domain_type(sepgsql_trusted_domain_t)
-postgresql_unconfined(sepgsql_trusted_domain_t)
-role system_r types sepgsql_trusted_domain_t;
+type sepgsql_trusted_proc_t;
+domain_type(sepgsql_trusted_proc_t)
+postgresql_unconfined(sepgsql_trusted_proc_t)
+role system_r types sepgsql_trusted_proc_t;
 
 ########################################
 #

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux