summaryrefslogtreecommitdiff
path: root/src/execute.c
diff options
context:
space:
mode:
authorMichal Vyskocil <mvyskocil@suse.cz>2011-07-01 23:49:56 +0200
committerLennart Poettering <lennart@poettering.net>2011-07-01 23:49:56 +0200
commit1cccf435694675ca1584811179784fc2292e351b (patch)
tree75941c680678c62226dc33104c44710e8b4412c2 /src/execute.c
parentbde7f9072109aaf298fe35de59a61b1eb026bf51 (diff)
nspawn: Move the get_user_creds from execute.c to utils.c for later usage in nspawn.c.
Diffstat (limited to 'src/execute.c')
-rw-r--r--src/execute.c46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/execute.c b/src/execute.c
index 9c390c0bce..92f4eafd35 100644
--- a/src/execute.c
+++ b/src/execute.c
@@ -579,52 +579,6 @@ static int get_group_creds(const char *groupname, gid_t *gid) {
return 0;
}
-static int get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **home) {
- struct passwd *p;
- unsigned long lu;
-
- assert(username);
- assert(*username);
- assert(uid);
- assert(gid);
- assert(home);
-
- /* We enforce some special rules for uid=0: in order to avoid
- * NSS lookups for root we hardcode its data. */
-
- if (streq(*username, "root") || streq(*username, "0")) {
- *username = "root";
- *uid = 0;
- *gid = 0;
- *home = "/root";
- return 0;
- }
-
- if (safe_atolu(*username, &lu) >= 0) {
- errno = 0;
- p = getpwuid((uid_t) lu);
-
- /* If there are multiple users with the same id, make
- * sure to leave $USER to the configured value instead
- * of the first occurrence in the database. However if
- * the uid was configured by a numeric uid, then let's
- * pick the real username from /etc/passwd. */
- if (*username && p)
- *username = p->pw_name;
- } else {
- errno = 0;
- p = getpwnam(*username);
- }
-
- if (!p)
- return errno != 0 ? -errno : -ESRCH;
-
- *uid = p->pw_uid;
- *gid = p->pw_gid;
- *home = p->pw_dir;
- return 0;
-}
-
static int enforce_groups(const ExecContext *context, const char *username, gid_t gid) {
bool keep_groups = false;
int r;