Properly initialise with content of pw.conf(5) that was mistakenly ignored.

Also, respect "defaultgroup" if specified there.

PR:		217934
Reported by:	Victor Sudakov <vas@mpeks.tomsk.su>
Reviewed by:	bapt
Approved by:	bapt, vsevolod (mentor)
MFC after:	1 week
This commit is contained in:
Eugene Grosbein 2017-03-24 16:18:57 +00:00
parent cb8f312598
commit 92bb425e4e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=315912

View File

@ -1177,7 +1177,7 @@ pw_user_add(int argc, char **argv, char *arg1)
char line[_PASSWORD_LEN+1], path[MAXPATHLEN];
char *gecos, *homedir, *skel, *walk, *userid, *groupid, *grname;
char *default_passwd, *name, *p;
const char *cfg;
const char *cfg = NULL;
login_cap_t *lc;
FILE *pfp, *fp;
intmax_t id = -1;
@ -1356,6 +1356,9 @@ pw_user_add(int argc, char **argv, char *arg1)
if (GETPWNAM(name) != NULL)
errx(EX_DATAERR, "login name `%s' already exists", name);
if (!grname)
grname = cmdcnf->default_group;
pwd = &fakeuser;
pwd->pw_name = name;
pwd->pw_class = cmdcnf->default_class ? cmdcnf->default_class : "";
@ -1485,7 +1488,7 @@ pw_user_mod(int argc, char **argv, char *arg1)
struct group *grp;
StringList *groups = NULL;
char args[] = "C:qn:u:c:d:e:p:g:G:mM:l:k:s:w:L:h:H:NPYy:";
const char *cfg;
const char *cfg = NULL;
char *gecos, *homedir, *grname, *name, *newname, *walk, *skel, *shell;
char *passwd, *class, *nispasswd;
login_cap_t *lc;