aboutsummaryrefslogtreecommitdiffhomepage
path: root/bwrap/config.bool.go
diff options
context:
space:
mode:
Diffstat (limited to 'bwrap/config.bool.go')
-rw-r--r--bwrap/config.bool.go64
1 files changed, 64 insertions, 0 deletions
diff --git a/bwrap/config.bool.go b/bwrap/config.bool.go
new file mode 100644
index 00000000..81e6ab7b
--- /dev/null
+++ b/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
+}