aboutsummaryrefslogtreecommitdiff
path: root/util/util.go
diff options
context:
space:
mode:
authorJoseph Richey <joerichey94@gmail.com>2017-10-19 03:15:28 -0700
committerJoseph Richey <joerichey94@gmail.com>2017-10-19 03:34:51 -0700
commitb7de8535f899f2b88d61f4f1264fe6a272196536 (patch)
tree4caf8a0e426caf45440b5115664baba12749a11f /util/util.go
parent7885d63f644bb49d8da1d8313d5f4870d586a9c1 (diff)
util: Add better user lookup functions
When looking up users in fscrypt, we often want to proceed even if the requested uid doesn't appear to be a valid user on the system. This mainly occurs when a user is deleted, but they still have a login protector on disk. Thus, GetUser() with a bad uid creates a fake user with a pretty placeholder name. The corresponding call sites of util.EffectiveUser are changed (often simplifying logic). Various documentation is updated and typos are fixed.
Diffstat (limited to 'util/util.go')
-rw-r--r--util/util.go13
1 files changed, 4 insertions, 9 deletions
diff --git a/util/util.go b/util/util.go
index 3de4a1a..ed78519 100644
--- a/util/util.go
+++ b/util/util.go
@@ -19,15 +19,15 @@
// Package util contains useful components for simplifying Go code.
//
-// The package contains common error types (errors.go) and functions for
-// converting arrays to pointers.
+// The package contains functions missing from the standard library, error
+// utility functions, functions for converting arrays to pointers, and functions
+// for dealing with users and uids.
package util
import (
"bufio"
"math"
"os"
- "os/user"
"strconv"
"unsafe"
)
@@ -118,12 +118,7 @@ func AtoiOrPanic(input string) int {
return i
}
-// EffectiveUser returns the user entry corresponding to the effective user.
-func EffectiveUser() (*user.User, error) {
- return user.LookupId(strconv.Itoa(os.Geteuid()))
-}
-
// IsUserRoot checks if the effective user is root.
func IsUserRoot() bool {
- return os.Geteuid() == 0
+ return CurrentUserID() == 0
}