1- // Copyright (c) 2018-2019 , Sylabs Inc. All rights reserved.
1+ // Copyright (c) 2018-2021 , Sylabs Inc. All rights reserved.
22// This software is licensed under a 3-clause BSD license. Please consult the
33// LICENSE.md file distributed with the sources of this project regarding your
44// rights to use or distribute this software.
@@ -13,8 +13,9 @@ import (
1313 "os/user"
1414 "runtime"
1515 "strconv"
16- "syscall"
1716 "testing"
17+
18+ "golang.org/x/sys/unix"
1819)
1920
2021var origUID , origGID , unprivUID , unprivGID int
@@ -38,12 +39,12 @@ func DropPrivilege(t *testing.T) {
3839 runtime .LockOSThread ()
3940
4041 if os .Getgid () == 0 {
41- if err := syscall .Setresgid (unprivGID , unprivGID , origGID ); err != nil {
42+ if err := unix .Setresgid (unprivGID , unprivGID , origGID ); err != nil {
4243 t .Fatalf ("failed to set group identity: %v" , err )
4344 }
4445 }
4546 if os .Getuid () == 0 {
46- if err := syscall .Setresuid (unprivUID , unprivUID , origUID ); err != nil {
47+ if err := unix .Setresuid (unprivUID , unprivUID , origUID ); err != nil {
4748 t .Fatalf ("failed to set user identity: %v" , err )
4849 }
4950
@@ -55,10 +56,10 @@ func DropPrivilege(t *testing.T) {
5556
5657// ResetPrivilege returns effective privilege to the original user.
5758func ResetPrivilege (t * testing.T ) {
58- if err := syscall .Setresuid (origUID , origUID , unprivUID ); err != nil {
59+ if err := unix .Setresuid (origUID , origUID , unprivUID ); err != nil {
5960 t .Fatalf ("failed to reset user identity: %v" , err )
6061 }
61- if err := syscall .Setresgid (origGID , origGID , unprivGID ); err != nil {
62+ if err := unix .Setresgid (origGID , origGID , unprivGID ); err != nil {
6263 t .Fatalf ("failed to reset group identity: %v" , err )
6364 }
6465 if err := os .Setenv ("HOME" , origHome ); err != nil {
0 commit comments