1 |
commit: 8f3ac480c34bff1c605ba8f4a71bc484dccd8b9d |
2 |
Author: Jason Zaman <jason <AT> perfinion <DOT> com> |
3 |
AuthorDate: Mon May 19 20:44:44 2014 +0000 |
4 |
Commit: Sven Vermeulen <swift <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu May 22 16:52:42 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-refpolicy.git;a=commit;h=8f3ac480 |
7 |
|
8 |
Gnome Keyring policies |
9 |
|
10 |
Gnome keyring communicates with other programs via a socket in |
11 |
~/.cache/. This patch creates gnome_xdg_*_home_t labels and lets |
12 |
gnome keyring manage them |
13 |
|
14 |
Signed-off-by: Jason Zaman <jason <AT> perfinion.com> |
15 |
|
16 |
--- |
17 |
policy/modules/contrib/gnome.fc | 5 +++++ |
18 |
policy/modules/contrib/gnome.te | 24 ++++++++++++++++++++++++ |
19 |
2 files changed, 29 insertions(+) |
20 |
|
21 |
diff --git a/policy/modules/contrib/gnome.fc b/policy/modules/contrib/gnome.fc |
22 |
index 209314b..9bc2c50 100644 |
23 |
--- a/policy/modules/contrib/gnome.fc |
24 |
+++ b/policy/modules/contrib/gnome.fc |
25 |
@@ -15,3 +15,8 @@ HOME_DIR/\.gnome2_private(/.*)? gen_context(system_u:object_r:gnome_home_t,s0) |
26 |
/usr/bin/mate-keyring-daemon -- gen_context(system_u:object_r:gkeyringd_exec_t,s0) |
27 |
/usr/lib/[^/]*/gconf/gconfd-2 -- gen_context(system_u:object_r:gconfd_exec_t,s0) |
28 |
/usr/libexec/gconfd-2 -- gen_context(system_u:object_r:gconfd_exec_t,s0) |
29 |
+ |
30 |
+ |
31 |
+ifdef(`distro_gentoo',` |
32 |
+HOME_DIR/\.cache/keyring-.* gen_context(system_u:object_r:gnome_xdg_cache_home_t,s0) |
33 |
+') |
34 |
|
35 |
diff --git a/policy/modules/contrib/gnome.te b/policy/modules/contrib/gnome.te |
36 |
index 5dd3498..98cd996 100644 |
37 |
--- a/policy/modules/contrib/gnome.te |
38 |
+++ b/policy/modules/contrib/gnome.te |
39 |
@@ -141,9 +141,33 @@ optional_policy(` |
40 |
') |
41 |
|
42 |
ifdef(`distro_gentoo',` |
43 |
+ type gnome_xdg_cache_home_t; |
44 |
type gnome_xdg_config_t; # Fase out |
45 |
type gnome_xdg_config_home_t; |
46 |
+ type gnome_xdg_data_home_t; |
47 |
|
48 |
+ xdg_cache_home_content(gnome_xdg_cache_home_t) |
49 |
xdg_config_home_content(gnome_xdg_config_t) |
50 |
xdg_config_home_content(gnome_xdg_config_home_t) |
51 |
+ xdg_data_home_content(gnome_xdg_data_home_t) |
52 |
+ |
53 |
+ ## |
54 |
+ ## Keyring |
55 |
+ ## |
56 |
+ |
57 |
+ # When gnome-keyring creates a .cache/keyring-.... make sure it is gnome_xdg_cache_home_t |
58 |
+ xdg_cache_home_filetrans(gkeyringd_domain, gnome_xdg_cache_home_t, dir) |
59 |
+ # Same for ~/.config and ~/.local stuff |
60 |
+ xdg_config_home_filetrans(gkeyringd_domain, gnome_xdg_config_home_t, dir) |
61 |
+ xdg_data_home_filetrans(gkeyringd_domain, gnome_xdg_data_home_t, dir) |
62 |
+ |
63 |
+ allow gkeyringd_domain gnome_xdg_cache_home_t:file manage_file_perms; |
64 |
+ allow gkeyringd_domain gnome_xdg_cache_home_t:sock_file manage_sock_file_perms; |
65 |
+ manage_dirs_pattern(gkeyringd_domain, gnome_xdg_cache_home_t, gnome_xdg_cache_home_t) |
66 |
+ |
67 |
+ allow gkeyringd_domain gnome_xdg_config_home_t:file manage_file_perms; |
68 |
+ manage_dirs_pattern(gkeyringd_domain, gnome_xdg_config_home_t, gnome_xdg_config_home_t) |
69 |
+ |
70 |
+ allow gkeyringd_domain gnome_xdg_data_home_t:file manage_file_perms; |
71 |
+ manage_dirs_pattern(gkeyringd_domain, gnome_xdg_data_home_t, gnome_xdg_data_home_t) |
72 |
') |