aboutsummaryrefslogtreecommitdiffhomepage
path: root/helper/bwrap/config.bool.go
diff options
context:
space:
mode:
authorOphestra Umiker <cat@ophivana.moe>2024-10-07 14:40:35 +0900
committerOphestra Umiker <cat@ophivana.moe>2024-10-07 14:40:35 +0900
commit6a2802cf309fb9758756c56ef05c9354d9cb9003 (patch)
treed1efa27407aa3a2e1337fa4ffafa3df9fd677ec4 /helper/bwrap/config.bool.go
parent0fb9e401912f89d25ff96b0dd36aabf43b4fab8f (diff)
helper: move bwrap into helper
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'helper/bwrap/config.bool.go')
-rw-r--r--helper/bwrap/config.bool.go64
1 files changed, 64 insertions, 0 deletions
diff --git a/helper/bwrap/config.bool.go b/helper/bwrap/config.bool.go
new file mode 100644
index 00000000..81e6ab7b
--- /dev/null
+++ b/helper/bwrap/config.bool.go
@@ -0,0 +1,64 @@
+package bwrap
+
+const (
+ UnshareAll = iota
+ UnshareUser
+ UnshareIPC
+ UnsharePID
+ UnshareNet
+ UnshareUTS
+ UnshareCGroup
+ ShareNet
+
+ UserNS
+ Clearenv
+
+ NewSession
+ DieWithParent
+ AsInit
+
+ boolC
+)
+
+var boolArgs = func() (b [boolC][]string) {
+ b[UnshareAll] = []string{"--unshare-all"}
+ b[UnshareUser] = []string{"--unshare-user"}
+ b[UnshareIPC] = []string{"--unshare-ipc"}
+ b[UnsharePID] = []string{"--unshare-pid"}
+ b[UnshareNet] = []string{"--unshare-net"}
+ b[UnshareUTS] = []string{"--unshare-uts"}
+ b[UnshareCGroup] = []string{"--unshare-cgroup"}
+ b[ShareNet] = []string{"--share-net"}
+
+ b[UserNS] = []string{"--disable-userns", "--assert-userns-disabled"}
+ b[Clearenv] = []string{"--clearenv"}
+
+ b[NewSession] = []string{"--new-session"}
+ b[DieWithParent] = []string{"--die-with-parent"}
+ b[AsInit] = []string{"--as-pid-1"}
+
+ return
+}()
+
+func (c *Config) boolArgs() (b [boolC]bool) {
+ if c.Unshare == nil {
+ b[UnshareAll] = true
+ b[ShareNet] = c.Net
+ } else {
+ b[UnshareUser] = c.Unshare.User
+ b[UnshareIPC] = c.Unshare.IPC
+ b[UnsharePID] = c.Unshare.PID
+ b[UnshareNet] = c.Unshare.Net
+ b[UnshareUTS] = c.Unshare.UTS
+ b[UnshareCGroup] = c.Unshare.CGroup
+ }
+
+ b[UserNS] = !c.UserNS
+ b[Clearenv] = c.Clearenv
+
+ b[NewSession] = c.NewSession
+ b[DieWithParent] = c.DieWithParent
+ b[AsInit] = c.AsInit
+
+ return
+}