diff options
-rw-r--r-- | main.go | 4 | ||||
-rw-r--r-- | static/style.css | 5 | ||||
-rw-r--r-- | unveil.go | 28 |
3 files changed, 37 insertions, 0 deletions
@@ -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) diff --git a/static/style.css b/static/style.css index 340635e..1a36ec7 100644 --- a/static/style.css +++ b/static/style.css @@ -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 { diff --git a/unveil.go b/unveil.go new file mode 100644 index 0000000..389dfeb --- /dev/null +++ b/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 +} |