aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorJoseph Richey <joerichey@google.com>2017-08-31 14:51:55 -0700
committerGitHub <noreply@github.com>2017-08-31 14:51:55 -0700
commitb04d7ef31dc2e21f055b1b656efb9511e72db6c6 (patch)
tree04daee42d94ddda55d956e72f44bafec0ef6dde1 /util
parent5285a8c451ef660f932e9f1823ad7da52ad25b74 (diff)
parentf1bd511fff8e411687001bd8e76e8a41c9f5ff41 (diff)
Merge pull request #52 from google/keyrings
Changes to the keyrings interface, corresponding UI changes, and misc changes
Diffstat (limited to 'util')
-rw-r--r--util/util.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/util/util.go b/util/util.go
index c02ea0e..3de4a1a 100644
--- a/util/util.go
+++ b/util/util.go
@@ -27,6 +27,8 @@ import (
"bufio"
"math"
"os"
+ "os/user"
+ "strconv"
"unsafe"
)
@@ -105,3 +107,23 @@ func ReadLine() (string, error) {
scanner.Scan()
return scanner.Text(), scanner.Err()
}
+
+// AtoiOrPanic converts a string to an int or it panics. Should only be used in
+// situations where the input MUST be a decimal number.
+func AtoiOrPanic(input string) int {
+ i, err := strconv.Atoi(input)
+ if err != nil {
+ panic(err)
+ }
+ 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
+}