diff options
author | Andrew Bartlett <abartlet@samba.org> | 2001-11-04 01:10:21 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2001-11-04 01:10:21 +0000 |
commit | be04aad90da341fb1b4ef472f2279aefab972258 (patch) | |
tree | 41b00f8be0d23f3ed0c751eafe36fae10283ed1c | |
parent | 09d2e05d26f71b10ccabe4c6fa168a4923697bae (diff) | |
download | samba-be04aad90da341fb1b4ef472f2279aefab972258.tar.gz samba-be04aad90da341fb1b4ef472f2279aefab972258.tar.xz samba-be04aad90da341fb1b4ef472f2279aefab972258.zip |
Fixup for accounts without a local /etc/passwd entry.
- Now perfectly valid.
-rw-r--r-- | source/passdb/pdb_tdb.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/source/passdb/pdb_tdb.c b/source/passdb/pdb_tdb.c index a6c40eb9706..3153b473374 100644 --- a/source/passdb/pdb_tdb.c +++ b/source/passdb/pdb_tdb.c @@ -530,17 +530,13 @@ BOOL pdb_getsampwnam (SAM_ACCOUNT *user, const char *sname) /* validate the account and fill in UNIX uid and gid. sys_getpwnam() is used instaed of Get_Pwnam() as we do not need to try case permutations */ - if ((pw=sys_getpwnam(pdb_get_username(user))) == NULL) { - DEBUG(0,("pdb_getsampwent: getpwnam(%s) return NULL. User does not exist!\n", - pdb_get_username(user))); - return False; + if ((pw=sys_getpwnam(pdb_get_username(user)))) { + uid = pw->pw_uid; + gid = pw->pw_gid; + pdb_set_uid (user, &uid); + pdb_set_gid (user, &gid); } - uid = pw->pw_uid; - gid = pw->pw_gid; - pdb_set_uid (user, &uid); - pdb_set_gid (user, &gid); - /* cleanup */ tdb_close (pwd_tdb); |