all repos — legit @ 5ea7cae973e8329ae768c35bda41e656f974815d

web frontend for git, written in go

unveil: init

commit

5ea7cae973e8329ae768c35bda41e656f974815d

parent

60298a69538ccdda417613a09e5acbd917bfc53a

3 files changed, 37 insertions(+), 0 deletions(-)

jump to
M main.gomain.go
@@ -20,6 +20,10 @@ if err != nil {
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)
M static/style.cssstatic/style.css
@@ -210,6 +210,11 @@ }
.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 {
A unveil.go
@@ -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 +}