summaryrefslogtreecommitdiff
path: root/utils/isolate.go
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2021-12-01 17:36:42 +0300
committerValery Piashchynski <[email protected]>2021-12-01 17:36:42 +0300
commit3c9bd1c081ad7a96ab4f1c7c3308e367fee5f478 (patch)
tree2475246182900a7341c8b21e50d1da38faa1c928 /utils/isolate.go
parentc14e4fa638300ccd96bdedfb0200ed8378eebdf2 (diff)
remove unused code
Signed-off-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'utils/isolate.go')
-rwxr-xr-xutils/isolate.go60
1 files changed, 0 insertions, 60 deletions
diff --git a/utils/isolate.go b/utils/isolate.go
deleted file mode 100755
index 202f538c..00000000
--- a/utils/isolate.go
+++ /dev/null
@@ -1,60 +0,0 @@
-//go:build !windows
-// +build !windows
-
-package utils
-
-import (
- "fmt"
- "os"
- "os/exec"
- "os/user"
- "strconv"
- "syscall"
-
- "github.com/spiral/errors"
-)
-
-// IsolateProcess change gpid for the process to avoid bypassing signals to php processes.
-func IsolateProcess(cmd *exec.Cmd) {
- cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true, Pgid: 0}
-}
-
-// ExecuteFromUser may work only if run RR under root user
-func ExecuteFromUser(cmd *exec.Cmd, u string) error {
- const op = errors.Op("execute_from_user")
- usr, err := user.Lookup(u)
- if err != nil {
- return errors.E(op, err)
- }
-
- usrI32, err := strconv.ParseInt(usr.Uid, 10, 32)
- if err != nil {
- return errors.E(op, err)
- }
-
- grI32, err := strconv.ParseInt(usr.Gid, 10, 32)
- if err != nil {
- return errors.E(op, err)
- }
-
- // For more information:
- // https://www.man7.org/linux/man-pages/man7/user_namespaces.7.html
- // https://www.man7.org/linux/man-pages/man7/namespaces.7.html
- if _, err := os.Stat("/proc/self/ns/user"); err != nil {
- if os.IsNotExist(err) {
- return fmt.Errorf("kernel doesn't support user namespaces")
- }
- if os.IsPermission(err) {
- return fmt.Errorf("unable to test user namespaces due to permissions")
- }
-
- return errors.E(op, errors.Errorf("failed to stat /proc/self/ns/user: %v", err))
- }
-
- cmd.SysProcAttr.Credential = &syscall.Credential{
- Uid: uint32(usrI32),
- Gid: uint32(grI32),
- }
-
- return nil
-}