mirror of
https://github.com/golang/go
synced 2024-10-04 19:21:21 -06:00
42f07ff267
As part of local testing with a large group member list, I discovered that the lookup functions don't resize their buffer if they receive ERANGE. I fixed this as a side-effect of this CL. Thanks to @andrenth for the original CL. Fixes #2617 Change-Id: Ie6aae2fe0a89eae5cce85786869a8acaa665ffe9 Reviewed-on: https://go-review.googlesource.com/19235 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
// Copyright 2011 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package user
|
|
|
|
// Current returns the current user.
|
|
func Current() (*User, error) {
|
|
return current()
|
|
}
|
|
|
|
// Lookup looks up a user by username. If the user cannot be found, the
|
|
// returned error is of type UnknownUserError.
|
|
func Lookup(username string) (*User, error) {
|
|
return lookupUser(username)
|
|
}
|
|
|
|
// LookupId looks up a user by userid. If the user cannot be found, the
|
|
// returned error is of type UnknownUserIdError.
|
|
func LookupId(uid string) (*User, error) {
|
|
return lookupUserId(uid)
|
|
}
|
|
|
|
// LookupGroup looks up a group by name. If the group cannot be found, the
|
|
// returned error is of type UnknownGroupError.
|
|
func LookupGroup(name string) (*Group, error) {
|
|
return lookupGroup(name)
|
|
}
|
|
|
|
// LookupGroupId looks up a group by groupid. If the group cannot be found, the
|
|
// returned error is of type UnknownGroupIdError.
|
|
func LookupGroupId(gid string) (*Group, error) {
|
|
return lookupGroupId(gid)
|
|
}
|
|
|
|
// GroupIds returns the list of group IDs that the user is a member of.
|
|
func (u *User) GroupIds() ([]string, error) {
|
|
return listGroups(u)
|
|
}
|