aboutsummaryrefslogtreecommitdiff
path: root/pam
diff options
context:
space:
mode:
authorJoe Richey joerichey@google.com <joerichey@google.com>2017-08-15 18:11:29 -0700
committerJoe Richey joerichey@google.com <joerichey@google.com>2017-08-17 22:49:44 -0700
commit151e8965fa3a9c8f65e316430f9df0fa763fb02d (patch)
tree5be6cb1e1d617e60ba7624abc3c940c65715ba5e /pam
parentb4d51e0f4d34dbfd78e23662f3dfd90e86ae5e48 (diff)
cmd/fscrypt: purge command now clears cache
Diffstat (limited to 'pam')
-rw-r--r--pam/pam.go16
1 files changed, 8 insertions, 8 deletions
diff --git a/pam/pam.go b/pam/pam.go
index e928883..9188b6e 100644
--- a/pam/pam.go
+++ b/pam/pam.go
@@ -140,19 +140,19 @@ func (h *Handle) GetItem(i Item) (unsafe.Pointer, error) {
return data, h.err()
}
-// GetUID retrieves the UID of the corresponding PAM_USER.
-func (h *Handle) GetUID() (int64, error) {
+// GetIDs retrieves the UID and GID of the corresponding PAM_USER.
+func (h *Handle) GetIDs() (uid int, gid int, err error) {
var pamUsername *C.char
h.status = C.pam_get_user(h.handle, &pamUsername, nil)
- if err := h.err(); err != nil {
- return 0, err
+ if err = h.err(); err != nil {
+ return 0, 0, err
}
- pwd := C.getpwnam(pamUsername)
- if pwd == nil {
- return 0, fmt.Errorf("unknown user %q", C.GoString(pamUsername))
+ pwnam := C.getpwnam(pamUsername)
+ if pwnam == nil {
+ return 0, 0, fmt.Errorf("unknown user %q", C.GoString(pamUsername))
}
- return int64(pwd.pw_uid), nil
+ return int(pwnam.pw_uid), int(pwnam.pw_gid), nil
}
func (h *Handle) err() error {