diff options
author | John Turner <jturner.usa@gmail.com> | 2025-08-20 18:15:24 -0400 |
---|---|---|
committer | John Turner <jturner.usa@gmail.com> | 2025-08-21 17:47:14 -0400 |
commit | ebf8a5222434ed15b16b3fb8015ebedac795bb65 (patch) | |
tree | eb7bfabb72adce39bcc558857211acccdbb3cf3f /src/file/userfile.cil | |
parent | d423f2bca3f9161c3c9abd58898e8cc3744a0832 (diff) | |
download | selinux-policy-ebf8a5222434ed15b16b3fb8015ebedac795bb65.tar.gz |
rework how user files work
Instead of assuming all user files exist under $HOME, we create a
.file.user module and typeattribute. This allows user files to exist
in places outside of $HOME. Also we changed filecon so that $HOME
itself is user.home.file rather than home.file.
Diffstat (limited to 'src/file/userfile.cil')
-rw-r--r-- | src/file/userfile.cil | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/file/userfile.cil b/src/file/userfile.cil new file mode 100644 index 0000000..c771e0d --- /dev/null +++ b/src/file/userfile.cil @@ -0,0 +1,35 @@ +;; Copyright (C) 2025 John Turner + +;; This program is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +(in file + (block user + (macro type ((type ARG1)) + (typeattributeset typeattr ARG1)) + + (typeattribute typeattr) + + (call file.type (typeattr)) + + (block base_template + (blockabstract base_template) + (blockinherit .file.base_template) + (call .file.user.type (file))) + + (block template + (blockabstract template) + (blockinherit .file.user.base_template) + (blockinherit .file.macro_template_dirs) + (blockinherit .file.macro_template_files) + (blockinherit .file.macro_template_lnk_files)))) |