aboutsummaryrefslogtreecommitdiff
path: root/pam
diff options
context:
space:
mode:
authorJoseph Richey <joerichey@google.com>2017-08-22 11:46:39 -0700
committerGitHub <noreply@github.com>2017-08-22 11:46:39 -0700
commit17794e94ebe140dc74f93abb8132f5295ee2004e (patch)
tree3e79eee2f6e266ea7cd4eab7473bde7faa01e585 /pam
parentb4d51e0f4d34dbfd78e23662f3dfd90e86ae5e48 (diff)
parent50256fab010adfde1b349160460659fb03d8c8ac (diff)
Merge pull request #39 from google/purge
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 {