From 53d4a70ed2d1db9e7ebb98ec734d414539a74fc8 Mon Sep 17 00:00:00 2001 From: Andinus Date: Fri, 24 Apr 2020 19:52:18 +0530 Subject: Move app func to main --- main.go | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 main.go (limited to 'main.go') diff --git a/main.go b/main.go new file mode 100644 index 0000000..dfe208c --- /dev/null +++ b/main.go @@ -0,0 +1,78 @@ +package main + +import ( + "log" + "os" + + "tildegit.org/andinus/cetus/cache" + "tildegit.org/andinus/lynx" +) + +var ( + version string = "v0.6.7" + dump bool + random bool + notify bool + print bool + + err error + body string + file string + reqInfo map[string]string + + apodDate string +) + +func main() { + initCetus() + + // Early Check: If command was not passed then print usage and + // exit. Later command & service both are checked, this check + // is for version command. If not checked then running cetus + // without any args will fail because os.Args[1] will panic + // the program & produce runtime error. + if len(os.Args) == 1 { + printUsage() + os.Exit(0) + } + + parseArgs() +} + +func initCetus() { + unveil() +} + +func unveil() { + paths := make(map[string]string) + + paths[cache.Dir()] = "rwc" + paths["/dev/null"] = "rw" // required by feh + paths["/etc/resolv.conf"] = "r" + + // ktrace output + paths["/usr/libexec/ld.so"] = "r" + paths["/var/run/ld.so.hints"] = "r" + paths["/usr/lib"] = "r" + paths["/dev/urandom"] = "r" + paths["/etc/hosts"] = "r" + paths["/etc/ssl"] = "r" + + err := lynx.UnveilPaths(paths) + if err != nil { + log.Fatal(err) + } + + commands := []string{"feh", "gsettings", "pcmanfm", "notify-send"} + + err = lynx.UnveilCommands(commands) + if err != nil { + log.Fatal(err) + } + + // Block further unveil calls + err = lynx.UnveilBlock() + if err != nil { + log.Fatal(err) + } +} -- cgit 1.4.1-2-gfad0