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