aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/app/share.runtime.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2024-12-28 11:12:35 +0900
committerOphestra <cat@gensokyo.uk>2024-12-28 11:12:35 +0900
commit0107620d8c174dcf9237c16d4b4b7b2f6955a214 (patch)
tree3b082eafad73eaa971a59baf762260c89917831b /internal/app/share.runtime.go
parentfc26659ea11fea8f41fc2551d6d39d30fe3a49e7 (diff)
app: merge share methods
This significantly increases readability and makes order of ops more obvious. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/app/share.runtime.go')
-rw-r--r--internal/app/share.runtime.go39
1 files changed, 0 insertions, 39 deletions
diff --git a/internal/app/share.runtime.go b/internal/app/share.runtime.go
deleted file mode 100644
index 720c47fc..00000000
--- a/internal/app/share.runtime.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package app
-
-import (
- "path"
-
- "git.gensokyo.uk/security/fortify/acl"
- "git.gensokyo.uk/security/fortify/internal/system"
-)
-
-const (
- xdgRuntimeDir = "XDG_RUNTIME_DIR"
- xdgSessionClass = "XDG_SESSION_CLASS"
- xdgSessionType = "XDG_SESSION_TYPE"
-)
-
-// shareRuntime queues actions for sharing/ensuring the runtime and share directories
-func (seal *appSeal) shareRuntime() {
- // mount tmpfs on inner runtime (e.g. `/run/user/%d`)
- seal.sys.bwrap.Tmpfs("/run/user", 1*1024*1024)
- seal.sys.bwrap.Tmpfs(seal.sys.runtime, 8*1024*1024)
-
- // point to inner runtime path `/run/user/%d`
- seal.sys.bwrap.SetEnv[xdgRuntimeDir] = seal.sys.runtime
- seal.sys.bwrap.SetEnv[xdgSessionClass] = "user"
- seal.sys.bwrap.SetEnv[xdgSessionType] = "tty"
-
- // ensure RunDir (e.g. `/run/user/%d/fortify`)
- seal.sys.Ensure(seal.RunDirPath, 0700)
- seal.sys.UpdatePermType(system.User, seal.RunDirPath, acl.Execute)
-
- // ensure runtime directory ACL (e.g. `/run/user/%d`)
- seal.sys.Ensure(seal.RuntimePath, 0700) // ensure this dir in case XDG_RUNTIME_DIR is unset
- seal.sys.UpdatePermType(system.User, seal.RuntimePath, acl.Execute)
-
- // ensure process-specific share local to XDG_RUNTIME_DIR (e.g. `/run/user/%d/fortify/%s`)
- seal.shareLocal = path.Join(seal.RunDirPath, seal.id)
- seal.sys.Ephemeral(system.Process, seal.shareLocal, 0700)
- seal.sys.UpdatePerm(seal.shareLocal, acl.Execute)
-}