From 4aa8cbff320b669fc07f356409b05d6b1795c342 Mon Sep 17 00:00:00 2001 From: zak Date: Thu, 22 Dec 2022 00:17:33 +1000 Subject: unveil: initial commit --- unveil.go | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'unveil.go') diff --git a/unveil.go b/unveil.go index 242ce14..99b6629 100644 --- a/unveil.go +++ b/unveil.go @@ -1,30 +1,26 @@ //go:build openbsd // +build openbsd -// Doesn't do anything yet. - package main -/* -#include -#include -*/ -import "C" - import ( - "fmt" - "unsafe" + "golang.org/x/sys/unix" ) func Unveil(path string, perms string) error { - cpath := C.CString(path) - defer C.free(unsafe.Pointer(cpath)) - cperms := C.CString(perms) - defer C.free(unsafe.Pointer(cperms)) + return unix.Unveil(path, perms) +} + +func UnveilBlock() error { + return unix.UnveilBlock() +} - rv, err := C.unveil(cpath, cperms) - if rv != 0 { - return fmt.Errorf("unveil(%s, %s) failure (%d)", path, perms, err) +func UnveilPaths(paths []string, perms string) error { + for _, path := range paths { + err := Unveil(path, perms) + if err != nil { + return err + } } - return nil + return UnveilBlock() } -- cgit