summaryrefslogtreecommitdiff
path: root/source3/passdb/pdb_ldap.c
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2002-01-21 08:08:54 +0000
committerSimo Sorce <idra@samba.org>2002-01-21 08:08:54 +0000
commit2af4b8a500531f682765280b2af9cbcafb5036d9 (patch)
treebcd41013e5f6f848610202b0f6fd56331a90d440 /source3/passdb/pdb_ldap.c
parentd6b4327f11875c5634fa9452242ed2c5730d5934 (diff)
downloadsamba-2af4b8a500531f682765280b2af9cbcafb5036d9.tar.gz
samba-2af4b8a500531f682765280b2af9cbcafb5036d9.tar.bz2
samba-2af4b8a500531f682765280b2af9cbcafb5036d9.zip
getpwnam_alloc -> getpwnam
same reason as per pdb_tdb.c there isn't (and will never be probably) another call to any getpw* fn, let's use getpwnam_alloc only when needed. (This used to be commit f12361b1327306e6a3fcf8ff138413ad9a6c69a3)
Diffstat (limited to 'source3/passdb/pdb_ldap.c')
-rw-r--r--source3/passdb/pdb_ldap.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
index 4e602cae40..2de02d9b76 100644
--- a/source3/passdb/pdb_ldap.c
+++ b/source3/passdb/pdb_ldap.c
@@ -382,7 +382,7 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass,
acct_desc,
munged_dial,
workstations;
- struct passwd *sys_user;
+ struct passwd *pw;
uint32 user_rid,
group_rid;
uint8 smblmpwd[16],
@@ -392,6 +392,7 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass,
uint32 hours_len;
uint8 hours[MAX_HOURS_LEN];
pstring temp;
+ uid_t uid = -1;
gid_t gid = getegid();
@@ -499,12 +500,13 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass,
/* These values MAY be in LDAP, but they can also be retrieved through
* sys_getpw*() which is how we're doing it
*/
- sys_user = getpwnam_alloc(username);
- if (sys_user == NULL) {
+ pw = getpwnam(username);
+ if (pw == NULL) {
DEBUG (2,("init_sam_from_ldap: User [%s] does not ave a uid!\n", username));
return False;
}
-
+ uid = pw->pw_uid;
+ gid = pw->pw_gid;
/* FIXME: hours stuff should be cleaner */
@@ -524,12 +526,9 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass,
if (acct_ctrl == 0)
acct_ctrl |= ACB_NORMAL;
- pdb_set_uid(sampass, sys_user->pw_uid);
- pdb_set_gid(sampass, sys_user->pw_gid);
+ pdb_set_uid(sampass, uid);
+ pdb_set_gid(sampass, gid);
- /* We are done with this now */
- passwd_free(&sys_user);
-
pdb_set_acct_ctrl(sampass, acct_ctrl);
pdb_set_logon_time(sampass, logon_time);
pdb_set_logoff_time(sampass, logoff_time);