aboutsummaryrefslogtreecommitdiffhomepage
path: root/helper/bwrap/static.go
diff options
context:
space:
mode:
Diffstat (limited to 'helper/bwrap/static.go')
-rw-r--r--helper/bwrap/static.go249
1 files changed, 0 insertions, 249 deletions
diff --git a/helper/bwrap/static.go b/helper/bwrap/static.go
deleted file mode 100644
index 7a8535cc..00000000
--- a/helper/bwrap/static.go
+++ /dev/null
@@ -1,249 +0,0 @@
-package bwrap
-
-import (
- "slices"
- "strconv"
-)
-
-/*
- static boolean args
-*/
-
-type BoolArg int
-
-func (b BoolArg) Unwrap() []string {
- return boolArgs[b]
-}
-
-const (
- UnshareAll BoolArg = iota
- UnshareUser
- UnshareIPC
- UnsharePID
- UnshareNet
- UnshareUTS
- UnshareCGroup
- ShareNet
-
- UserNS
- Clearenv
-
- NewSession
- DieWithParent
- AsInit
-)
-
-var boolArgs = [...][]string{
- UnshareAll: {"--unshare-all", "--unshare-user"},
- UnshareUser: {"--unshare-user"},
- UnshareIPC: {"--unshare-ipc"},
- UnsharePID: {"--unshare-pid"},
- UnshareNet: {"--unshare-net"},
- UnshareUTS: {"--unshare-uts"},
- UnshareCGroup: {"--unshare-cgroup"},
- ShareNet: {"--share-net"},
-
- UserNS: {"--disable-userns", "--assert-userns-disabled"},
- Clearenv: {"--clearenv"},
-
- NewSession: {"--new-session"},
- DieWithParent: {"--die-with-parent"},
- AsInit: {"--as-pid-1"},
-}
-
-func (c *Config) boolArgs() Builder {
- b := boolArg{
- UserNS: !c.UserNS,
- Clearenv: c.Clearenv,
-
- NewSession: c.NewSession,
- DieWithParent: c.DieWithParent,
- AsInit: c.AsInit,
- }
-
- 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
- }
-
- return &b
-}
-
-type boolArg [len(boolArgs)]bool
-
-func (b *boolArg) Len() (l int) {
- for i, v := range b {
- if v {
- l += len(boolArgs[i])
- }
- }
- return
-}
-
-func (b *boolArg) Append(args *[]string) {
- for i, v := range b {
- if v {
- *args = append(*args, BoolArg(i).Unwrap()...)
- }
- }
-}
-
-/*
- static integer args
-*/
-
-type IntArg int
-
-func (i IntArg) Unwrap() string {
- return intArgs[i]
-}
-
-const (
- UID IntArg = iota
- GID
-)
-
-var intArgs = [...]string{
- UID: "--uid",
- GID: "--gid",
-}
-
-func (c *Config) intArgs() Builder {
- return &intArg{
- UID: c.UID,
- GID: c.GID,
- }
-}
-
-type intArg [len(intArgs)]*int
-
-func (n *intArg) Len() (l int) {
- for _, v := range n {
- if v != nil {
- l += 2
- }
- }
- return
-}
-
-func (n *intArg) Append(args *[]string) {
- for i, v := range n {
- if v != nil {
- *args = append(*args, IntArg(i).Unwrap(), strconv.Itoa(*v))
- }
- }
-}
-
-/*
- static string args
-*/
-
-type StringArg int
-
-func (s StringArg) Unwrap() string {
- return stringArgs[s]
-}
-
-const (
- Hostname StringArg = iota
- Chdir
- UnsetEnv
- LockFile
-)
-
-var stringArgs = [...]string{
- Hostname: "--hostname",
- Chdir: "--chdir",
- UnsetEnv: "--unsetenv",
- LockFile: "--lock-file",
-}
-
-func (c *Config) stringArgs() Builder {
- n := stringArg{
- UnsetEnv: c.UnsetEnv,
- LockFile: c.LockFile,
- }
-
- if c.Hostname != "" {
- n[Hostname] = []string{c.Hostname}
- }
- if c.Chdir != "" {
- n[Chdir] = []string{c.Chdir}
- }
-
- return &n
-}
-
-type stringArg [len(stringArgs)][]string
-
-func (s *stringArg) Len() (l int) {
- for _, arg := range s {
- l += len(arg) * 2
- }
- return
-}
-
-func (s *stringArg) Append(args *[]string) {
- for i, arg := range s {
- for _, v := range arg {
- *args = append(*args, StringArg(i).Unwrap(), v)
- }
- }
-}
-
-/*
- static pair args
-*/
-
-type PairArg int
-
-func (p PairArg) Unwrap() string {
- return pairArgs[p]
-}
-
-const (
- SetEnv PairArg = iota
-)
-
-var pairArgs = [...]string{
- SetEnv: "--setenv",
-}
-
-func (c *Config) pairArgs() Builder {
- var n pairArg
- n[SetEnv] = make([][2]string, len(c.SetEnv))
- keys := make([]string, 0, len(c.SetEnv))
- for k := range c.SetEnv {
- keys = append(keys, k)
- }
- slices.Sort(keys)
- for i, k := range keys {
- n[SetEnv][i] = [2]string{k, c.SetEnv[k]}
- }
-
- return &n
-}
-
-type pairArg [len(pairArgs)][][2]string
-
-func (p *pairArg) Len() (l int) {
- for _, v := range p {
- l += len(v) * 3
- }
- return
-}
-
-func (p *pairArg) Append(args *[]string) {
- for i, arg := range p {
- for _, v := range arg {
- *args = append(*args, PairArg(i).Unwrap(), v[0], v[1])
- }
- }
-}