Skip to contentSkip to conversation

Allow search within postgresql var directory for the stream connect interface

PATCH New Sven Vermeulen 2 participants 2 messages Oct 6, 2012 – Oct 9, 2012

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 Allow search within postgresql var directory for the stream connect interface

Domains that are granted postgresql_stream_connect() need to be able to search through the postgresql_var_run_t directory (in which the socket is located).

Update the interface to use the stream_connect_pattern definition to simplify the interface and make it more readable.

---
 policy/modules/services/postgresql.if |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
policy/modules/services/postgresql.if +3 -4
index ecef19f..9d2f311 100644
@@ -428,11 +428,10 @@ interface(`postgresql_stream_connect',`
 		type postgresql_t, postgresql_var_run_t, postgresql_tmp_t;
 	')
 
+	stream_connect_pattern($1, { postgresql_var_run_t postgresql_tmp_t }, { postgresql_var_run_t postgresql_tmp_t }, postgresql_t)
+
 	files_search_pids($1)
-	allow $1 postgresql_t:unix_stream_socket connectto;
-	allow $1 postgresql_var_run_t:sock_file write;
-	# Some versions of postgresql put the sock file in /tmp
-	allow $1 postgresql_tmp_t:sock_file write;
+	files_search_tmp($1)
 ')
 
 ########################################
Signature · 1 line
1.7.8.6
#1 lore raw

PATCH v2 1/1 Allow search within postgresql var directory for the stream connect interface

Quoted 20 lines · Sven Vermeulen

Domains that are granted postgresql_stream_connect() need to be able to search through the postgresql_var_run_t directory (in which the socket is located).

Update the interface to use the stream_connect_pattern definition to simplify the interface and make it more readable.

---
 policy/modules/services/postgresql.if |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
policy/modules/services/postgresql.if +1 -0
index ecef19f..9d2f311 100644
@@ -428,11 +428,10 @@ interface(`postgresql_stream_connect',`
 		type postgresql_t, postgresql_var_run_t, postgresql_tmp_t;
 	')
 
+	stream_connect_pattern($1, { postgresql_var_run_t postgresql_tmp_t }, { postgresql_var_run_t postgresql_tmp_t }, postgresql_t)

policy/modules/services/postgresql.if interface(`postgresql_stream_connect',` · line 437

Quoted 10 lines
policy/modules/services/postgresql.if +2 -4
+
 	files_search_pids($1)
-	allow $1 postgresql_t:unix_stream_socket connectto;
-	allow $1 postgresql_var_run_t:sock_file write;
-	# Some versions of postgresql put the sock file in /tmp
-	allow $1 postgresql_tmp_t:sock_file write;
+	files_search_tmp($1)
 ')
 
 ########################################

Merged.

Signature · 3 lines
Chris PeBenito
Tresys Technology, LLC
www.tresys.com | oss.tresys.com