commit:     0bd77a1d1e383ea906b88a8cd206554ccb4256d0
Author:     Jason Zaman <jason <AT> perfinion <DOT> com>
AuthorDate: Sun Jun 24 09:56:07 2018 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Mon Jun 25 05:31:59 2018 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=0bd77a1d

xdg: Add map perms, also make lnk_file, dirs consistent

 policy/modules/system/xdg.if | 47 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

diff --git a/policy/modules/system/xdg.if b/policy/modules/system/xdg.if
index 2fd2e34d..45d73f15 100644
--- a/policy/modules/system/xdg.if
+++ b/policy/modules/system/xdg.if
@@ -63,7 +63,6 @@ interface(`xdg_data_content',`
        userdom_user_home_content($1)
 ')
 
-
 ########################################
 ## <summary>
 ##     Read the xdg cache home files
@@ -80,7 +79,9 @@ interface(`xdg_read_cache_files',`
        ')
 
        read_files_pattern($1, xdg_cache_t, xdg_cache_t)
+       allow $1 xdg_cache_t:file map;
        list_dirs_pattern($1, xdg_cache_t, xdg_cache_t)
+       read_lnk_files_pattern($1, xdg_cache_t, xdg_cache_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -101,6 +102,9 @@ interface(`xdg_read_all_cache_files',`
        ')
 
        read_files_pattern($1, xdg_cache_type, xdg_cache_type)
+       allow $1 xdg_cache_type:file map;
+       list_dirs_pattern($1, xdg_cache_type, xdg_cache_type)
+       read_lnk_files_pattern($1, xdg_cache_type, xdg_cache_type)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -209,6 +213,7 @@ interface(`xdg_manage_cache',`
 
        manage_dirs_pattern($1, xdg_cache_t, xdg_cache_t)
        manage_files_pattern($1, xdg_cache_t, xdg_cache_t)
+       allow $1 xdg_cache_t:file map;
        manage_lnk_files_pattern($1, xdg_cache_t, xdg_cache_t)
        manage_fifo_files_pattern($1, xdg_cache_t, xdg_cache_t)
        manage_sock_files_pattern($1, xdg_cache_t, xdg_cache_t)
@@ -233,6 +238,7 @@ interface(`xdg_manage_all_cache',`
 
        manage_dirs_pattern($1, xdg_cache_type, xdg_cache_type)
        manage_files_pattern($1, xdg_cache_type, xdg_cache_type)
+       allow $1 xdg_cache_type:file map;
        manage_lnk_files_pattern($1, xdg_cache_type, xdg_cache_type)
        manage_fifo_files_pattern($1, xdg_cache_type, xdg_cache_type)
        manage_sock_files_pattern($1, xdg_cache_type, xdg_cache_type)
@@ -324,7 +330,9 @@ interface(`xdg_read_config_files',`
        ')
 
        read_files_pattern($1, xdg_config_t, xdg_config_t)
+       allow $1 xdg_config_t:file map;
        list_dirs_pattern($1, xdg_config_t, xdg_config_t)
+       read_lnk_files_pattern($1, xdg_config_t, xdg_config_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -345,6 +353,9 @@ interface(`xdg_read_all_config_files',`
        ')
 
        read_files_pattern($1, xdg_config_type, xdg_config_type)
+       allow $1 xdg_config_type:file map;
+       list_dirs_pattern($1, xdg_config_type, xdg_config_type)
+       read_lnk_files_pattern($1, xdg_config_type, xdg_config_type)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -454,6 +465,7 @@ interface(`xdg_manage_config',`
 
        manage_dirs_pattern($1, xdg_config_t, xdg_config_t)
        manage_files_pattern($1, xdg_config_t, xdg_config_t)
+       allow $1 xdg_config_t:file map;
        manage_lnk_files_pattern($1, xdg_config_t, xdg_config_t)
        manage_fifo_files_pattern($1, xdg_config_t, xdg_config_t)
        manage_sock_files_pattern($1, xdg_config_t, xdg_config_t)
@@ -478,6 +490,7 @@ interface(`xdg_manage_all_config',`
 
        manage_dirs_pattern($1, xdg_config_type, xdg_config_type)
        manage_files_pattern($1, xdg_config_type, xdg_config_type)
+       allow $1 xdg_config_type:file map;
        manage_lnk_files_pattern($1, xdg_config_type, xdg_config_type)
        manage_fifo_files_pattern($1, xdg_config_type, xdg_config_type)
        manage_sock_files_pattern($1, xdg_config_type, xdg_config_type)
@@ -549,7 +562,9 @@ interface(`xdg_read_data_files',`
        ')
 
        read_files_pattern($1, xdg_data_t, xdg_data_t)
+       allow $1 xdg_data_t:file map;
        list_dirs_pattern($1, xdg_data_t, xdg_data_t)
+       read_lnk_files_pattern($1, xdg_data_t, xdg_data_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -570,6 +585,9 @@ interface(`xdg_read_all_data_files',`
        ')
 
        read_files_pattern($1, xdg_data_type, xdg_data_type)
+       allow $1 xdg_data_type:file map;
+       list_dirs_pattern($1, xdg_data_type, xdg_data_type)
+       read_lnk_files_pattern($1, xdg_data_type, xdg_data_type)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -678,6 +696,7 @@ interface(`xdg_manage_data',`
 
        manage_dirs_pattern($1, xdg_data_t, xdg_data_t)
        manage_files_pattern($1, xdg_data_t, xdg_data_t)
+       allow $1 xdg_data_t:file map;
        manage_lnk_files_pattern($1, xdg_data_t, xdg_data_t)
        manage_fifo_files_pattern($1, xdg_data_t, xdg_data_t)
        manage_sock_files_pattern($1, xdg_data_t, xdg_data_t)
@@ -702,6 +721,7 @@ interface(`xdg_manage_all_data',`
 
        manage_dirs_pattern($1, xdg_data_type, xdg_data_type)
        manage_files_pattern($1, xdg_data_type, xdg_data_type)
+       allow $1 xdg_data_type:file map;
        manage_lnk_files_pattern($1, xdg_data_type, xdg_data_type)
        manage_fifo_files_pattern($1, xdg_data_type, xdg_data_type)
        manage_sock_files_pattern($1, xdg_data_type, xdg_data_type)
@@ -803,6 +823,8 @@ interface(`xdg_manage_documents',`
 
        manage_dirs_pattern($1, xdg_documents_t, xdg_documents_t)
        manage_files_pattern($1, xdg_documents_t, xdg_documents_t)
+       allow $1 xdg_documents_t:file map;
+       manage_lnk_files_pattern($1, xdg_documents_t, xdg_documents_t)
 ')
 
 ########################################
@@ -843,6 +865,9 @@ interface(`xdg_read_downloads',`
        ')
 
        read_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
+       allow $1 xdg_downloads_t:file map;
+       list_dirs_pattern($1, xdg_downloads_t, xdg_downloads_t)
+       read_lnk_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -863,6 +888,9 @@ interface(`xdg_create_downloads',`
        ')
 
        create_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
+       allow $1 xdg_downloads_t:file map;
+       create_dirs_pattern($1, xdg_downloads_t, xdg_downloads_t)
+       create_lnk_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -883,6 +911,9 @@ interface(`xdg_write_downloads',`
        ')
 
        write_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
+       allow $1 xdg_downloads_t:file map;
+       list_dirs_pattern($1, xdg_downloads_t, xdg_downloads_t)
+       read_lnk_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -933,6 +964,8 @@ interface(`xdg_manage_downloads',`
 
        manage_dirs_pattern($1, xdg_downloads_t, xdg_downloads_t)
        manage_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
+       allow $1 xdg_downloads_t:file map;
+       manage_lnk_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
 ')
 
 ########################################
@@ -973,7 +1006,9 @@ interface(`xdg_read_pictures',`
        ')
 
        read_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
+       allow $1 xdg_pictures_t:file map;
        list_dirs_pattern($1, xdg_pictures_t, xdg_pictures_t)
+       read_lnk_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -1024,6 +1059,8 @@ interface(`xdg_manage_pictures',`
 
        manage_dirs_pattern($1, xdg_pictures_t, xdg_pictures_t)
        manage_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
+       allow $1 xdg_pictures_t:file map;
+       manage_lnk_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
 ')
 
 ########################################
@@ -1064,7 +1101,9 @@ interface(`xdg_read_music',`
        ')
 
        read_files_pattern($1, xdg_music_t, xdg_music_t)
+       allow $1 xdg_music_t:file map;
        list_dirs_pattern($1, xdg_music_t, xdg_music_t)
+       read_lnk_files_pattern($1, xdg_music_t, xdg_music_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -1115,6 +1154,8 @@ interface(`xdg_manage_music',`
 
        manage_dirs_pattern($1, xdg_music_t, xdg_music_t)
        manage_files_pattern($1, xdg_music_t, xdg_music_t)
+       allow $1 xdg_music_t:file map;
+       manage_lnk_files_pattern($1, xdg_music_t, xdg_music_t)
 ')
 
 ########################################
@@ -1155,7 +1196,9 @@ interface(`xdg_read_videos',`
        ')
 
        read_files_pattern($1, xdg_videos_t, xdg_videos_t)
+       allow $1 xdg_videos_t:file map;
        list_dirs_pattern($1, xdg_videos_t, xdg_videos_t)
+       read_lnk_files_pattern($1, xdg_videos_t, xdg_videos_t)
 
        userdom_search_user_home_dirs($1)
 ')
@@ -1206,6 +1249,8 @@ interface(`xdg_manage_videos',`
 
        manage_dirs_pattern($1, xdg_videos_t, xdg_videos_t)
        manage_files_pattern($1, xdg_videos_t, xdg_videos_t)
+       allow $1 xdg_videos_t:file map;
+       manage_lnk_files_pattern($1, xdg_videos_t, xdg_videos_t)
 ')
 
 ########################################

Reply via email to