Move the reading of values from /etc/selinux/config to an own function,
so it can be easily reused.
This is a simple refactoring.
---
mlcustomize/SELinux_relabel.ml | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/mlcustomize/SELinux_relabel.ml b/mlcustomize/SELinux_relabel.ml
index 5df1f08..647aeda 100644
--- a/mlcustomize/SELinux_relabel.ml
+++ b/mlcustomize/SELinux_relabel.ml
@@ -62,14 +62,7 @@ and use_setfiles g =
(* Get the SELinux policy name, eg. "targeted", "minimum".
* Use "targeted" if not specified, just like libselinux does.
*)
- let policy =
- let config_path = "/files/etc/selinux/config" in
- let selinuxtype_path = config_path ^ "/SELINUXTYPE" in
- let keys = g#aug_ls config_path in
- if array_find selinuxtype_path keys then
- g#aug_get selinuxtype_path
- else
- "targeted" in
+ let policy = read_selinux_config_key g "SELINUXTYPE" "targeted" in
g#aug_close ();
@@ -99,3 +92,12 @@ and use_setfiles g =
(* Relabel everything. *)
g#selinux_relabel ~force:true specfile "/"
+
+and read_selinux_config_key g key defval =
+ let config_path = "/files/etc/selinux/config" in
+ let key_path = config_path ^ "/" ^ key in
+ let keys = g#aug_ls config_path in
+ if array_find key_path keys then
+ g#aug_get key_path
+ else
+ defval
--
2.26.2