From 7df9d8d01dadcb05396d278aba11afc2ab4a2328 Mon Sep 17 00:00:00 2001 From: Ophestra Umiker Date: Sun, 27 Oct 2024 12:08:17 +0900 Subject: system: move sd_booted implementation to os abstraction This implements lazy loading of the systemd marker (they are not accessed in init and shim) and ensures consistent behaviour when running with a stub. Signed-off-by: Ophestra Umiker --- internal/early.go | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 internal/early.go (limited to 'internal/early.go') diff --git a/internal/early.go b/internal/early.go deleted file mode 100644 index 81ca49cd..00000000 --- a/internal/early.go +++ /dev/null @@ -1,35 +0,0 @@ -package internal - -import ( - "errors" - "io/fs" - "os" - - "git.ophivana.moe/security/fortify/internal/fmsg" -) - -const ( - systemdCheckPath = "/run/systemd/system" -) - -var SdBootedV = func() bool { - if v, err := SdBooted(); err != nil { - fmsg.Println("cannot read systemd marker:", err) - return false - } else { - return v - } -}() - -// SdBooted implements https://www.freedesktop.org/software/systemd/man/sd_booted.html -func SdBooted() (bool, error) { - _, err := os.Stat(systemdCheckPath) - if err != nil { - if errors.Is(err, fs.ErrNotExist) { - err = nil - } - return false, err - } - - return true, nil -} -- cgit v1.3.1