summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/sys/unix/openbsd_unveil.go
diff options
context:
space:
mode:
authorDuco van Amstel <duco.vanamstel@gmail.com>2018-11-18 16:32:26 +0000
committerGitHub <noreply@github.com>2018-11-18 16:32:26 +0000
commitd5bc7c434336ace9591447d65c043cdad1c686ff (patch)
tree5fcd41df548af27d1a1fd9b0c8643afeb91d31e2 /vendor/golang.org/x/sys/unix/openbsd_unveil.go
parent32f57b7c26bdd8701587faf5c8bb3bef133d34b1 (diff)
parent692bb8faa7c4000953b0622a77126193f8fd0383 (diff)
downloadmatterbridge-msglm-d5bc7c434336ace9591447d65c043cdad1c686ff.tar.gz
matterbridge-msglm-d5bc7c434336ace9591447d65c043cdad1c686ff.tar.bz2
matterbridge-msglm-d5bc7c434336ace9591447d65c043cdad1c686ff.zip
Merge pull request #598 from Helcaraxan/feature/update-deps
Upgrade logrus / testify to stable versions
Diffstat (limited to 'vendor/golang.org/x/sys/unix/openbsd_unveil.go')
-rw-r--r--vendor/golang.org/x/sys/unix/openbsd_unveil.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/golang.org/x/sys/unix/openbsd_unveil.go b/vendor/golang.org/x/sys/unix/openbsd_unveil.go
new file mode 100644
index 00000000..aebc2dc5
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/openbsd_unveil.go
@@ -0,0 +1,44 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build openbsd
+
+package unix
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+// Unveil implements the unveil syscall.
+// For more information see unveil(2).
+// Note that the special case of blocking further
+// unveil calls is handled by UnveilBlock.
+func Unveil(path string, flags string) error {
+ pathPtr, err := syscall.BytePtrFromString(path)
+ if err != nil {
+ return err
+ }
+ flagsPtr, err := syscall.BytePtrFromString(flags)
+ if err != nil {
+ return err
+ }
+ _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0)
+ if e != 0 {
+ return e
+ }
+ return nil
+}
+
+// UnveilBlock blocks future unveil calls.
+// For more information see unveil(2).
+func UnveilBlock() error {
+ // Both pointers must be nil.
+ var pathUnsafe, flagsUnsafe unsafe.Pointer
+ _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0)
+ if e != 0 {
+ return e
+ }
+ return nil
+}