From 847b667489e661d0e59240d64614a33392d94e0d Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 28 Dec 2024 13:23:27 +0900 Subject: app: extra acl entries from configuration Signed-off-by: Ophestra --- print.go | 60 +++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 37 insertions(+), 23 deletions(-) (limited to 'print.go') diff --git a/print.go b/print.go index c3126a40..702f35ea 100644 --- a/print.go +++ b/print.go @@ -90,33 +90,47 @@ func printShow(instance *state.State, config *fst.Config, short bool) { fmt.Fprintf(w, " Command:\t%s\n", strings.Join(config.Command, " ")) fmt.Fprintf(w, "\n") - if !short && config.Confinement.Sandbox != nil && len(config.Confinement.Sandbox.Filesystem) > 0 { - fmt.Fprintf(w, "Filesystem:\n") - for _, f := range config.Confinement.Sandbox.Filesystem { - if f == nil { - continue - } + if !short { + if config.Confinement.Sandbox != nil && len(config.Confinement.Sandbox.Filesystem) > 0 { + fmt.Fprintf(w, "Filesystem\n") + for _, f := range config.Confinement.Sandbox.Filesystem { + if f == nil { + continue + } - expr := new(strings.Builder) - if f.Device { - expr.WriteString(" d") - } else if f.Write { - expr.WriteString(" w") - } else { - expr.WriteString(" ") - } - if f.Must { - expr.WriteString("*") - } else { - expr.WriteString("+") + expr := new(strings.Builder) + expr.Grow(3 + len(f.Src) + 1 + len(f.Dst)) + + if f.Device { + expr.WriteString(" d") + } else if f.Write { + expr.WriteString(" w") + } else { + expr.WriteString(" ") + } + if f.Must { + expr.WriteString("*") + } else { + expr.WriteString("+") + } + expr.WriteString(f.Src) + if f.Dst != "" { + expr.WriteString(":" + f.Dst) + } + fmt.Fprintf(w, "%s\n", expr.String()) } - expr.WriteString(f.Src) - if f.Dst != "" { - expr.WriteString(":" + f.Dst) + fmt.Fprintf(w, "\n") + } + if len(config.Confinement.ExtraPerms) > 0 { + fmt.Fprintf(w, "Extra ACL\n") + for _, p := range config.Confinement.ExtraPerms { + if p == nil { + continue + } + fmt.Fprintf(w, " %s\n", p.String()) } - fmt.Fprintf(w, "%s\n", expr.String()) + fmt.Fprintf(w, "\n") } - fmt.Fprintf(w, "\n") } printDBus := func(c *dbus.Config) { -- cgit v1.3.1