diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-01-01 19:28:58 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-01-01 19:35:50 +0900 |
| commit | 35b714231768d11b82e575701ca5c7a081e2c542 (patch) | |
| tree | 2cb3550269f130c1643a5f07707ecf20d9c5ff5c /print.go | |
| parent | c4d6651cae0fb1869ee65da0b66baae3828d73a2 (diff) | |
fortify: show system info when instance is not specified
This contains useful information not obtainable by external tools.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'print.go')
| -rw-r--r-- | print.go | 33 |
1 files changed, 28 insertions, 5 deletions
@@ -16,14 +16,37 @@ import ( "git.gensokyo.uk/security/fortify/internal/state" ) -func printShow(instance *state.State, config *fst.Config, short bool) { +func printShowSystem(short bool) { + info := new(fst.Info) + + // get fid by querying uid of aid 0 + if uid, err := os.Uid(0); err != nil { + fmsg.Fatalf("cannot obtain uid from fsu: %v", err) + } else { + info.User = (uid / 10000) - 100 + } + + if flagJSON { + printJSON(info) + return + } + + w := tabwriter.NewWriter(direct.Stdout, 0, 1, 4, ' ', 0) + + fmt.Fprintf(w, "User:\t%d\n", info.User) + + if err := w.Flush(); err != nil { + fmsg.Fatalf("cannot flush tabwriter: %v", err) + } +} + +func printShowInstance(instance *state.State, config *fst.Config, short bool) { if flagJSON { - v := any(config) if instance != nil { - v = instance + printJSON(instance) + } else { + printJSON(config) } - - printJSON(v) return } |
