aboutsummaryrefslogtreecommitdiffhomepage
path: root/print.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2024-12-28 13:23:27 +0900
committerOphestra <cat@gensokyo.uk>2024-12-28 13:23:27 +0900
commit847b667489e661d0e59240d64614a33392d94e0d (patch)
tree88f7f068d762b3cf9f6198de03b4f3e3277dfea3 /print.go
parentc70f0612ad32f9ba5dc4ecf793aa4553929372d4 (diff)
app: extra acl entries from configuration
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'print.go')
-rw-r--r--print.go60
1 files changed, 37 insertions, 23 deletions
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) {