diff options
Diffstat (limited to 'source3/nsswitch')
-rw-r--r-- | source3/nsswitch/winbindd_rpc.c | 2 | ||||
-rw-r--r-- | source3/nsswitch/winbindd_user.c | 8 |
2 files changed, 3 insertions, 7 deletions
diff --git a/source3/nsswitch/winbindd_rpc.c b/source3/nsswitch/winbindd_rpc.c index c3d7066098..11d9fe0dbb 100644 --- a/source3/nsswitch/winbindd_rpc.c +++ b/source3/nsswitch/winbindd_rpc.c @@ -416,6 +416,7 @@ static NTSTATUS query_user(struct winbindd_domain *domain, user_info->homedir = NULL; user_info->shell = NULL; + user_info->primary_gid = (gid_t)-1; SAFE_FREE(user); @@ -454,6 +455,7 @@ static NTSTATUS query_user(struct winbindd_domain *domain, &ctr->info.id21->uni_full_name); user_info->homedir = NULL; user_info->shell = NULL; + user_info->primary_gid = (gid_t)-1; return NT_STATUS_OK; } diff --git a/source3/nsswitch/winbindd_user.c b/source3/nsswitch/winbindd_user.c index aa9ece7d89..9df3a6a3bc 100644 --- a/source3/nsswitch/winbindd_user.c +++ b/source3/nsswitch/winbindd_user.c @@ -286,6 +286,7 @@ static void getpwsid_sid2gid_recv(void *private_data, BOOL success, gid_t gid) call worked or not. --jerry */ if ( s->gid == (gid_t)-1 ) { + if (!success) { DEBUG(5, ("Could not query user's %s\\%s\n gid", s->domain->name, s->username)); @@ -296,13 +297,6 @@ static void getpwsid_sid2gid_recv(void *private_data, BOOL success, gid_t gid) s->gid = gid; } - /* allow the nss backend to override the primary group ID. - If the gid has already been set, then keep it */ - - if ( s->gid == (gid_t)-1 ) { - s->gid = gid; - } - pw = &s->state->response.data.pw; pw->pw_uid = s->uid; pw->pw_gid = s->gid; |