1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-25 10:04:04 +03:00

sysusers: do not set todo to create a user when we only need a group

This commit is contained in:
Kay Sievers 2014-06-13 03:26:41 +02:00
parent f268f57f63
commit c1b6b04f0e

View File

@ -53,7 +53,8 @@ typedef struct Item {
bool gid_set:1;
bool uid_set:1;
bool todo:1;
bool todo_user:1;
bool todo_group:1;
} Item;
static char *arg_root = NULL;
@ -279,7 +280,7 @@ static int write_files(void) {
* duplicate entries. */
i = hashmap_get(groups, gr->gr_name);
if (i && i->todo) {
if (i && i->todo_group) {
r = -EEXIST;
goto finish;
}
@ -345,7 +346,7 @@ static int write_files(void) {
while ((pw = fgetpwent(original))) {
i = hashmap_get(users, pw->pw_name);
if (i && i->todo) {
if (i && i->todo_user) {
r = -EEXIST;
goto finish;
}
@ -573,7 +574,7 @@ static int add_user(Item *i) {
z = hashmap_get(database_user, i->name);
if (z) {
log_debug("User %s already exists.", i->name);
i->uid = PTR_TO_GID(z);
i->uid = PTR_TO_UID(z);
i->uid_set = true;
return 0;
}
@ -691,7 +692,7 @@ static int add_user(Item *i) {
if (r < 0)
return log_oom();
i->todo = true;
i->todo_user = true;
log_info("Creating user %s (%s) with uid " UID_FMT " and gid " GID_FMT ".", i->name, strna(i->description), i->uid, i->gid);
return 0;
@ -844,7 +845,7 @@ static int add_group(Item *i) {
if (r < 0)
return log_oom();
i->todo = true;
i->todo_group = true;
log_info("Creating group %s with gid " GID_FMT ".", i->name, i->gid);
return 0;