diff options
| author | Joe Richey joerichey@google.com <joerichey@google.com> | 2017-08-15 18:11:29 -0700 |
|---|---|---|
| committer | Joe Richey joerichey@google.com <joerichey@google.com> | 2017-08-17 22:49:44 -0700 |
| commit | 151e8965fa3a9c8f65e316430f9df0fa763fb02d (patch) | |
| tree | 5be6cb1e1d617e60ba7624abc3c940c65715ba5e /pam/pam.go | |
| parent | b4d51e0f4d34dbfd78e23662f3dfd90e86ae5e48 (diff) | |
cmd/fscrypt: purge command now clears cache
Diffstat (limited to 'pam/pam.go')
| -rw-r--r-- | pam/pam.go | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -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 { |