summaryrefslogtreecommitdiff
path: root/src/dev/termdev/serialtermdev
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/termdev/serialtermdev')
-rw-r--r--src/dev/termdev/serialtermdev/acmserialtermdev.cil8
-rw-r--r--src/dev/termdev/serialtermdev/consoleserialtermdev.cil8
-rw-r--r--src/dev/termdev/serialtermdev/loginserialtermdev.cil55
-rw-r--r--src/dev/termdev/serialtermdev/loginserialtermdev/ttyloginserialtermdev.cil8
-rw-r--r--src/dev/termdev/serialtermdev/msmserialtermdev.cil8
-rw-r--r--src/dev/termdev/serialtermdev/sysserialtermdev.cil22
-rw-r--r--src/dev/termdev/serialtermdev/usbserialtermdev.cil8
-rw-r--r--src/dev/termdev/serialtermdev/vcsserialtermdev.cil8
-rw-r--r--src/dev/termdev/serialtermdev/vportserialtermdev.cil8
9 files changed, 133 insertions, 0 deletions
diff --git a/src/dev/termdev/serialtermdev/acmserialtermdev.cil b/src/dev/termdev/serialtermdev/acmserialtermdev.cil
new file mode 100644
index 0000000..ca8a1cb
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/acmserialtermdev.cil
@@ -0,0 +1,8 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(block acm
+
+ (filecon "/dev/ttyACM[0-9]+" char serialtermdev_context)
+
+ (blockinherit .serialtermdev.template))
diff --git a/src/dev/termdev/serialtermdev/consoleserialtermdev.cil b/src/dev/termdev/serialtermdev/consoleserialtermdev.cil
new file mode 100644
index 0000000..08b2736
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/consoleserialtermdev.cil
@@ -0,0 +1,8 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(block console
+
+ (filecon "/dev/console" char serialtermdev_context)
+
+ (blockinherit .serialtermdev.template))
diff --git a/src/dev/termdev/serialtermdev/loginserialtermdev.cil b/src/dev/termdev/serialtermdev/loginserialtermdev.cil
new file mode 100644
index 0000000..2580dbe
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/loginserialtermdev.cil
@@ -0,0 +1,55 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(block loginserialtermdev
+
+ (macro all_type_change ((type ARG1)(type ARG2))
+ (typechange ARG1 typeattr chr_file ARG2))
+
+ (macro appendinherited_all_chr_files ((type ARG1))
+ (allow ARG1 typeattr appendinherited_chr_file)
+ (allowx ARG1 typeattr FIOCLEX_FIONCLEX_CHRFILE)
+ (allowx ARG1 typeattr IOCTLCONSOLE)
+ (allowx ARG1 typeattr IOCTLTTY_NOT_TIOCSTI)
+ (allowx ARG1 typeattr IOCTLVT))
+
+ (macro readwriteinherited_all_chr_files ((type ARG1))
+ (allow ARG1 typeattr readwriteinherited_chr_file)
+ (allowx ARG1 typeattr FIOCLEX_FIONCLEX_CHRFILE)
+ (allowx ARG1 typeattr IOCTLCONSOLE)
+ (allowx ARG1 typeattr IOCTLTTY_NOT_TIOCSTI)
+ (allowx ARG1 typeattr IOCTLVT))
+
+ (macro type ((type ARG1))
+ (typeattributeset typeattr ARG1))
+
+ (macro writeinherited_all_chr_files ((type ARG1))
+ (allow ARG1 typeattr writeinherited_chr_file)
+ (allowx ARG1 typeattr FIOCLEX_FIONCLEX_CHRFILE)
+ (allowx ARG1 typeattr IOCTLCONSOLE)
+ (allowx ARG1 typeattr IOCTLTTY_NOT_TIOCSTI)
+ (allowx ARG1 typeattr IOCTLVT))
+
+ (typeattribute typeattr)
+
+ (blockinherit .file.all_macro_template_chr_files)
+
+ (call .serialtermdev.type (typeattr))
+
+ (block base_template
+
+ (blockabstract base_template)
+
+ (blockinherit .serialtermdev.base_template)
+
+ (call .loginserialtermdev.type (serialtermdev)))
+
+ (block template
+
+ (blockabstract template)
+
+ (macro serialtermdev_type_change ((type ARG1)(type ARG2))
+ (typechange ARG1 serialtermdev chr_file ARG2))
+
+ (blockinherit .loginserialtermdev.base_template)
+ (blockinherit .serialtermdev.macro_template_chr_files)))
diff --git a/src/dev/termdev/serialtermdev/loginserialtermdev/ttyloginserialtermdev.cil b/src/dev/termdev/serialtermdev/loginserialtermdev/ttyloginserialtermdev.cil
new file mode 100644
index 0000000..5919dbe
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/loginserialtermdev/ttyloginserialtermdev.cil
@@ -0,0 +1,8 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(in tty
+
+ (filecon "/dev/tty.+" char serialtermdev_context)
+
+ (blockinherit .loginserialtermdev.template))
diff --git a/src/dev/termdev/serialtermdev/msmserialtermdev.cil b/src/dev/termdev/serialtermdev/msmserialtermdev.cil
new file mode 100644
index 0000000..1f97fbf
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/msmserialtermdev.cil
@@ -0,0 +1,8 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(block msm
+
+ (filecon "/dev/ttyMSM[0-9]+" char serialtermdev_context)
+
+ (blockinherit .serialtermdev.template))
diff --git a/src/dev/termdev/serialtermdev/sysserialtermdev.cil b/src/dev/termdev/serialtermdev/sysserialtermdev.cil
new file mode 100644
index 0000000..751f057
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/sysserialtermdev.cil
@@ -0,0 +1,22 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(in dev.unconfined
+
+ (call .sys.loginserialtermdev_all_type_change_serialtermdev (typeattr)))
+
+(in serialtermdev.unconfined
+
+ (call .sys.loginserialtermdev_all_type_change_serialtermdev (typeattr)))
+
+(in sys
+
+ (macro loginserialtermdev_all_type_change_serialtermdev ((type ARG1))
+ (call .loginserialtermdev.all_type_change
+ (ARG1 serialtermdev)))
+
+ (blockinherit .serialtermdev.template))
+
+(in termdev.unconfined
+
+ (call .sys.loginserialtermdev_all_type_change_serialtermdev (typeattr)))
diff --git a/src/dev/termdev/serialtermdev/usbserialtermdev.cil b/src/dev/termdev/serialtermdev/usbserialtermdev.cil
new file mode 100644
index 0000000..e11591e
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/usbserialtermdev.cil
@@ -0,0 +1,8 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(in usb
+
+ (filecon "/dev/ttyUSB[0-9]+" char serialtermdev_context)
+
+ (blockinherit .serialtermdev.template))
diff --git a/src/dev/termdev/serialtermdev/vcsserialtermdev.cil b/src/dev/termdev/serialtermdev/vcsserialtermdev.cil
new file mode 100644
index 0000000..5534907
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/vcsserialtermdev.cil
@@ -0,0 +1,8 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(block vcs
+
+ (filecon "/dev/vcs[^/]*" char serialtermdev_context)
+
+ (blockinherit .serialtermdev.template))
diff --git a/src/dev/termdev/serialtermdev/vportserialtermdev.cil b/src/dev/termdev/serialtermdev/vportserialtermdev.cil
new file mode 100644
index 0000000..c998b56
--- /dev/null
+++ b/src/dev/termdev/serialtermdev/vportserialtermdev.cil
@@ -0,0 +1,8 @@
+;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(block vport
+
+ (filecon "/dev/vport[0-9]p[0-9]+" char serialtermdev_context)
+
+ (blockinherit .serialtermdev.template))