aboutsummaryrefslogtreecommitdiffhomepage
path: root/helper/bwrap/arg.go
diff options
context:
space:
mode:
Diffstat (limited to 'helper/bwrap/arg.go')
-rw-r--r--helper/bwrap/arg.go72
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
-}