
PR opencontainers/runc#1754 works around an issue in manager.Apply(-1) that makes Kubelet startup hang when using systemd cgroup driver (by adding a timeout) and further PR opencontainers/runc#1772 fixes that bug by checking the proper error status before waiting on the channel. PR opencontainers/runc#1776 checks whether Delegate works in slices, which keeps libcontainer systemd cgroup driver working on systemd v237+. PR opencontainers/runc#1781 makes the channel buffered, so if we time out waiting on the channel, the updater will not block trying to it since there are no longer any consumers.
42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package user
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
var (
|
|
// The current operating system does not provide the required data for user lookups.
|
|
ErrUnsupported = errors.New("user lookup: operating system does not provide passwd-formatted data")
|
|
// No matching entries found in file.
|
|
ErrNoPasswdEntries = errors.New("no matching entries in passwd file")
|
|
ErrNoGroupEntries = errors.New("no matching entries in group file")
|
|
)
|
|
|
|
// LookupUser looks up a user by their username in /etc/passwd. If the user
|
|
// cannot be found (or there is no /etc/passwd file on the filesystem), then
|
|
// LookupUser returns an error.
|
|
func LookupUser(username string) (User, error) {
|
|
return lookupUser(username)
|
|
}
|
|
|
|
// LookupUid looks up a user by their user id in /etc/passwd. If the user cannot
|
|
// be found (or there is no /etc/passwd file on the filesystem), then LookupId
|
|
// returns an error.
|
|
func LookupUid(uid int) (User, error) {
|
|
return lookupUid(uid)
|
|
}
|
|
|
|
// LookupGroup looks up a group by its name in /etc/group. If the group cannot
|
|
// be found (or there is no /etc/group file on the filesystem), then LookupGroup
|
|
// returns an error.
|
|
func LookupGroup(groupname string) (Group, error) {
|
|
return lookupGroup(groupname)
|
|
}
|
|
|
|
// LookupGid looks up a group by its group id in /etc/group. If the group cannot
|
|
// be found (or there is no /etc/group file on the filesystem), then LookupGid
|
|
// returns an error.
|
|
func LookupGid(gid int) (Group, error) {
|
|
return lookupGid(gid)
|
|
}
|