diff options
| author | Joseph Richey <joerichey@google.com> | 2017-08-22 11:46:39 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-22 11:46:39 -0700 |
| commit | 17794e94ebe140dc74f93abb8132f5295ee2004e (patch) | |
| tree | 3e79eee2f6e266ea7cd4eab7473bde7faa01e585 /pam/pam.go | |
| parent | b4d51e0f4d34dbfd78e23662f3dfd90e86ae5e48 (diff) | |
| parent | 50256fab010adfde1b349160460659fb03d8c8ac (diff) | |
Merge pull request #39 from google/purge
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 { |