summaryrefslogtreecommitdiff
path: root/source3/passdb/passdb.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-08-06 19:16:17 +0000
committerGerald Carter <jerry@samba.org>2003-08-06 19:16:17 +0000
commit44e6c30f711fe227dad9e77aeb1c2b06d7ce5993 (patch)
tree2c36ab7d7b326e40045ee32de36d1978c43bdb42 /source3/passdb/passdb.c
parentdf2337692aea7d5ee9a6898434ad94a1ca646e8c (diff)
downloadsamba-44e6c30f711fe227dad9e77aeb1c2b06d7ce5993.tar.gz
samba-44e6c30f711fe227dad9e77aeb1c2b06d7ce5993.tar.bz2
samba-44e6c30f711fe227dad9e77aeb1c2b06d7ce5993.zip
fix bug #208; have to get the gid of the user's primary group for %G
(This used to be commit 575483a1efe18a90055490117ba6894512ae568a)
Diffstat (limited to 'source3/passdb/passdb.c')
-rw-r--r--source3/passdb/passdb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c
index 8871cd7832..e005913eb2 100644
--- a/source3/passdb/passdb.c
+++ b/source3/passdb/passdb.c
@@ -1300,6 +1300,7 @@ BOOL init_sam_from_buffer(SAM_ACCOUNT *sampass, uint8 *buf, uint32 buflen)
BOOL ret = True;
uid_t uid = -1;
gid_t gid = -1;
+ struct passwd *pw = NULL;
if(sampass == NULL || buf == NULL) {
DEBUG(0, ("init_sam_from_buffer: NULL parameters found!\n"));
@@ -1355,6 +1356,12 @@ BOOL init_sam_from_buffer(SAM_ACCOUNT *sampass, uint8 *buf, uint32 buflen)
pdb_set_nt_username(sampass, nt_username, PDB_SET);
pdb_set_fullname(sampass, fullname, PDB_SET);
+
+ if ( (pw=Get_Pwnam(username)) != NULL ) {
+ uid = pw->pw_uid;
+ gid = pw->pw_gid;
+ }
+
if (homedir) {
pdb_set_homedir(sampass, homedir, PDB_SET);
}