From: pebenito@ieee.org (Chris PeBenito) Date: Mon, 11 Sep 2017 19:26:26 -0400 Subject: [refpolicy] [PATCH] fakehwclock: update In-Reply-To: <20170910153320.8127-1-cgzones@googlemail.com> References: <20170910153320.8127-1-cgzones@googlemail.com> Message-ID: <275e1fc3-721c-81e7-4809-01fa0950746e@ieee.org> To: refpolicy@oss.tresys.com List-Id: refpolicy.oss.tresys.com On 09/10/2017 11:33 AM, Christian G?ttsche via refpolicy wrote: > - add initrc filecontext > - drop domtrans/run interface in favor of new admin interface > --- > fakehwclock.fc | 2 ++ > fakehwclock.if | 37 +++++++++++-------------------------- > fakehwclock.te | 3 +++ > 3 files changed, 16 insertions(+), 26 deletions(-) > > diff --git a/fakehwclock.fc b/fakehwclock.fc > index 0ab3bd8..459bd5c 100644 > --- a/fakehwclock.fc > +++ b/fakehwclock.fc > @@ -1,5 +1,7 @@ > /etc/fake-hwclock\.data -- gen_context(system_u:object_r:fakehwclock_backup_t,s0) > > +/etc/rc\.d/init\.d/fake-hwclock -- gen_context(system_u:object_r:fakehwclock_initrc_exec_t,s0) > + > /usr/bin/fake-hwclock -- gen_context(system_u:object_r:fakehwclock_exec_t,s0) > > /usr/sbin/fake-hwclock -- gen_context(system_u:object_r:fakehwclock_exec_t,s0) No fc for the unit? > diff --git a/fakehwclock.if b/fakehwclock.if > index 24cc7d1..63afb52 100644 > --- a/fakehwclock.if > +++ b/fakehwclock.if > @@ -2,28 +2,8 @@ > > ######################################## > ## > -## Execute a domain transition to run fake-hwclock. > -## > -## > -## > -## Domain allowed to transition. > -## > -## > -# > -interface(`fakehwclock_domtrans',` Do not delete interfaces, deprecate them. > - gen_require(` > - type fakehwclock_t, fakehwclock_exec_t; > - ') > - > - corecmd_search_bin($1) > - domtrans_pattern($1, fakehwclock_exec_t, fakehwclock_t) > -') > - > -######################################## > -## > -## Execute fake-hwclock in the fake-hwclock domain, > -## and allow the specified role > -## the fake-hwclock domain. > +## All the rules required to > +## administrate an fake-hwclock environment. > ## > ## > ## > @@ -36,11 +16,16 @@ interface(`fakehwclock_domtrans',` > ## > ## > # > -interface(`fakehwclock_run',` > +interface(`fakehwclock_admin',` > gen_require(` > - attribute_role fakehwclock_roles; > + type fakehwclock_t, fakehwclock_exec_t, fakehwclock_backup_t; > + type fakehwclock_initrc_exec_t, fakehwclock_unit_t; > ') > > - fakehwclock_domtrans($1) > - roleattribute $2 fakehwclock_roles; > + admin_process_pattern($1, fakehwclock_t) > + > + init_startstop_service($1, $2, fakehwclock_t, fakehwclock_initrc_exec_t, fakehwclock_unit_t) > + > + files_search_etc($1) > + admin_pattern($1, fakehwclock_backup_t) > ') > diff --git a/fakehwclock.te b/fakehwclock.te > index 0a896a3..20bc5a0 100644 > --- a/fakehwclock.te > +++ b/fakehwclock.te > @@ -15,6 +15,9 @@ role fakehwclock_roles types fakehwclock_t; > type fakehwclock_backup_t; > files_type(fakehwclock_backup_t) > > +type fakehwclock_initrc_exec_t; > +init_script_file(fakehwclock_initrc_exec_t) > + > type fakehwclock_unit_t; > init_unit_file(fakehwclock_unit_t) > > -- Chris PeBenito