unveil: init

This commit is contained in:
Anirudh Oppiliappan 2022-12-18 11:04:11 +05:30
parent 60298a6953
commit 5ea7cae973
No known key found for this signature in database
GPG Key ID: 8A93F96F78C5D4C4
3 changed files with 37 additions and 0 deletions

View File

@ -20,6 +20,10 @@ func main() {
log.Fatal(err)
}
// for path := range []string{c.Dirs.Static, c.Repo.ScanPath, c.Dirs.Templates} {
// Unveil(path, "r")
// }
mux := routes.Handlers(c)
addr := fmt.Sprintf("%s:%d", c.Server.Host, c.Server.Port)
log.Println("starting server on", addr)

View File

@ -210,6 +210,11 @@ a:hover {
.line-numbers {
white-space: pre-line;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
user-select: none;
}
.file-wrapper {

28
unveil.go Normal file
View File

@ -0,0 +1,28 @@
//go:build openbsd
// +build openbsd
package main
/*
#include <stdlib.h>
#include <unistd.h>
*/
import "C"
import (
"fmt"
"unsafe"
)
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))
rv, err := C.unveil(cpath, cperms)
if rv != 0 {
return fmt.Errorf("unveil(%s, %s) failure (%d)", path, perms, err)
}
return nil
}