diff --git a/installer/fs.go b/installer/fs.go index fbb7e6c..6aa6d31 100644 --- a/installer/fs.go +++ b/installer/fs.go @@ -43,7 +43,8 @@ func WritePath(dst service.FilePath, src string, wr FileWriter) error { } func WritePathPrivileged(dst service.FilePath, src string, wr PrivilegedFileWriter) error { - return privilege.Run(privilegedPathWriter{Dst: dst, Src: src, Wr: wr}) + var r privilege.Runner = privilegedPathWriter{Dst: dst, Src: src, Wr: wr} + return privilege.Run(&r) } func RegisterPrivilegedTypes() { diff --git a/privilege/privilege.go b/privilege/privilege.go index 0e16356..0a818a3 100644 --- a/privilege/privilege.go +++ b/privilege/privilege.go @@ -18,7 +18,7 @@ var ( elevationUtils = []string{"sudo", "doas"} ) -func Run(run Runner) (err error) { +func Run(run *Runner) (err error) { path, err := os.Executable() if err != nil { return err diff --git a/privilege/runner.go b/privilege/runner.go index 3ad33d6..8500c27 100644 --- a/privilege/runner.go +++ b/privilege/runner.go @@ -13,7 +13,7 @@ func RegisterInterfaceImpl(impl any) { gob.Register(impl) } -func SendRunner(dst io.Writer, r Runner) error { +func SendRunner(dst io.Writer, r *Runner) error { return gob.NewEncoder(dst).Encode(r) }