diff options
Diffstat (limited to 'helper/bwrap/arg.go')
| -rw-r--r-- | helper/bwrap/arg.go | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/helper/bwrap/arg.go b/helper/bwrap/arg.go deleted file mode 100644 index 6d79a8b2..00000000 --- a/helper/bwrap/arg.go +++ /dev/null @@ -1,72 +0,0 @@ -package bwrap - -import ( - "os" - "slices" - - "git.gensokyo.uk/security/fortify/helper/proc" -) - -type Builder interface { - Len() int - Append(args *[]string) -} - -type FSBuilder interface { - Path() string - Builder -} - -type FDBuilder interface { - proc.File - Builder -} - -// Args returns a slice of bwrap args corresponding to c. -func (c *Config) Args(syncFd *os.File, extraFiles *proc.ExtraFilesPre, files *[]proc.File) (args []string) { - builders := []Builder{ - c.boolArgs(), - c.intArgs(), - c.stringArgs(), - c.pairArgs(), - c.seccompArgs(), - newFile(SyncFd.String(), syncFd), - } - - builders = slices.Grow(builders, len(c.Filesystem)+1) - for _, f := range c.Filesystem { - builders = append(builders, f) - } - builders = append(builders, c.Chmod) - - argc := 0 - fc := 0 - for _, b := range builders { - l := b.Len() - if l < 1 { - continue - } - argc += l - - if f, ok := b.(FDBuilder); ok { - fc++ - proc.InitFile(f, extraFiles) - } - } - fc++ // allocate extra slot for stat fd - - args = make([]string, 0, argc) - *files = slices.Grow(*files, fc) - for _, b := range builders { - if b.Len() < 1 { - continue - } - b.Append(&args) - - if f, ok := b.(FDBuilder); ok { - *files = append(*files, f) - } - } - - return -} |
