|
@@ -39,7 +39,6 @@ import (
|
|
"github.com/opencontainers/runc/libcontainer/cgroups"
|
|
"github.com/opencontainers/runc/libcontainer/cgroups"
|
|
"github.com/opencontainers/runc/libcontainer/label"
|
|
"github.com/opencontainers/runc/libcontainer/label"
|
|
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
|
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
|
- "github.com/opencontainers/runc/libcontainer/user"
|
|
|
|
specs "github.com/opencontainers/runtime-spec/specs-go"
|
|
specs "github.com/opencontainers/runtime-spec/specs-go"
|
|
"github.com/vishvananda/netlink"
|
|
"github.com/vishvananda/netlink"
|
|
)
|
|
)
|
|
@@ -894,7 +893,7 @@ func parseRemappedRoot(usergrp string) (string, string, error) {
|
|
if uid, err := strconv.ParseInt(idparts[0], 10, 32); err == nil {
|
|
if uid, err := strconv.ParseInt(idparts[0], 10, 32); err == nil {
|
|
// must be a uid; take it as valid
|
|
// must be a uid; take it as valid
|
|
userID = int(uid)
|
|
userID = int(uid)
|
|
- luser, err := user.LookupUid(userID)
|
|
|
|
|
|
+ luser, err := idtools.LookupUID(userID)
|
|
if err != nil {
|
|
if err != nil {
|
|
return "", "", fmt.Errorf("Uid %d has no entry in /etc/passwd: %v", userID, err)
|
|
return "", "", fmt.Errorf("Uid %d has no entry in /etc/passwd: %v", userID, err)
|
|
}
|
|
}
|
|
@@ -902,7 +901,7 @@ func parseRemappedRoot(usergrp string) (string, string, error) {
|
|
if len(idparts) == 1 {
|
|
if len(idparts) == 1 {
|
|
// if the uid was numeric and no gid was specified, take the uid as the gid
|
|
// if the uid was numeric and no gid was specified, take the uid as the gid
|
|
groupID = userID
|
|
groupID = userID
|
|
- lgrp, err := user.LookupGid(groupID)
|
|
|
|
|
|
+ lgrp, err := idtools.LookupGID(groupID)
|
|
if err != nil {
|
|
if err != nil {
|
|
return "", "", fmt.Errorf("Gid %d has no entry in /etc/group: %v", groupID, err)
|
|
return "", "", fmt.Errorf("Gid %d has no entry in /etc/group: %v", groupID, err)
|
|
}
|
|
}
|
|
@@ -915,7 +914,7 @@ func parseRemappedRoot(usergrp string) (string, string, error) {
|
|
if lookupName == defaultIDSpecifier {
|
|
if lookupName == defaultIDSpecifier {
|
|
lookupName = defaultRemappedID
|
|
lookupName = defaultRemappedID
|
|
}
|
|
}
|
|
- luser, err := user.LookupUser(lookupName)
|
|
|
|
|
|
+ luser, err := idtools.LookupUser(lookupName)
|
|
if err != nil && idparts[0] != defaultIDSpecifier {
|
|
if err != nil && idparts[0] != defaultIDSpecifier {
|
|
// error if the name requested isn't the special "dockremap" ID
|
|
// error if the name requested isn't the special "dockremap" ID
|
|
return "", "", fmt.Errorf("Error during uid lookup for %q: %v", lookupName, err)
|
|
return "", "", fmt.Errorf("Error during uid lookup for %q: %v", lookupName, err)
|
|
@@ -932,7 +931,7 @@ func parseRemappedRoot(usergrp string) (string, string, error) {
|
|
username = luser.Name
|
|
username = luser.Name
|
|
if len(idparts) == 1 {
|
|
if len(idparts) == 1 {
|
|
// we only have a string username, and no group specified; look up gid from username as group
|
|
// we only have a string username, and no group specified; look up gid from username as group
|
|
- group, err := user.LookupGroup(lookupName)
|
|
|
|
|
|
+ group, err := idtools.LookupGroup(lookupName)
|
|
if err != nil {
|
|
if err != nil {
|
|
return "", "", fmt.Errorf("Error during gid lookup for %q: %v", lookupName, err)
|
|
return "", "", fmt.Errorf("Error during gid lookup for %q: %v", lookupName, err)
|
|
}
|
|
}
|
|
@@ -947,14 +946,14 @@ func parseRemappedRoot(usergrp string) (string, string, error) {
|
|
if gid, err := strconv.ParseInt(idparts[1], 10, 32); err == nil {
|
|
if gid, err := strconv.ParseInt(idparts[1], 10, 32); err == nil {
|
|
// must be a gid, take it as valid
|
|
// must be a gid, take it as valid
|
|
groupID = int(gid)
|
|
groupID = int(gid)
|
|
- lgrp, err := user.LookupGid(groupID)
|
|
|
|
|
|
+ lgrp, err := idtools.LookupGID(groupID)
|
|
if err != nil {
|
|
if err != nil {
|
|
return "", "", fmt.Errorf("Gid %d has no entry in /etc/passwd: %v", groupID, err)
|
|
return "", "", fmt.Errorf("Gid %d has no entry in /etc/passwd: %v", groupID, err)
|
|
}
|
|
}
|
|
groupname = lgrp.Name
|
|
groupname = lgrp.Name
|
|
} else {
|
|
} else {
|
|
// not a number; attempt a lookup
|
|
// not a number; attempt a lookup
|
|
- if _, err := user.LookupGroup(idparts[1]); err != nil {
|
|
|
|
|
|
+ if _, err := idtools.LookupGroup(idparts[1]); err != nil {
|
|
return "", "", fmt.Errorf("Error during groupname lookup for %q: %v", idparts[1], err)
|
|
return "", "", fmt.Errorf("Error during groupname lookup for %q: %v", idparts[1], err)
|
|
}
|
|
}
|
|
groupname = idparts[1]
|
|
groupname = idparts[1]
|