The branch, v3-5-test has been updated via 6849353 s3-winbind: Don't fail on users without a uid. from 4efc4fc s3/packaging: Fix rpm build issues on RHEL4.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log ----------------------------------------------------------------- commit 6849353175d6623c3508f0dd955c7aace6cfc677 Author: Andreas Schneider <a...@samba.org> Date: Mon Nov 14 10:01:31 2011 +0100 s3-winbind: Don't fail on users without a uid. This fixes bug #8608. If you join samba with idmap_ad backend to an AD. When you try to enumerate users with 'getent passwd' and the user doesn't have a uid set, then getent is aborted cause of NT_STATUS_NONE_MAPPED. If we can't map a user we should not stop but continue enumerating users. This normally happens with the default user 'krbtgt' with idmap_ad but could also happen with other backends. Autobuild-User: Andreas Schneider <a...@cryptomilk.org> Autobuild-Date: Tue Nov 15 16:52:04 CET 2011 on sn-devel-104 (backported from commit 10b285ccc29b106f164a6c18116e237634867717) Signed-off-by: Andreas Schneider <a...@samba.org> ----------------------------------------------------------------------- Summary of changes: source3/winbindd/wb_next_pwent.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/winbindd/wb_next_pwent.c b/source3/winbindd/wb_next_pwent.c index fbaaa48..e5b5e29 100644 --- a/source3/winbindd/wb_next_pwent.c +++ b/source3/winbindd/wb_next_pwent.c @@ -147,7 +147,24 @@ static void wb_next_pwent_fill_done(struct tevent_req *subreq) status = wb_fill_pwent_recv(subreq); TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { + /* + * When you try to enumerate users with 'getent passwd' and the user + * doesn't have a uid set we should just move on. + */ + if (NT_STATUS_EQUAL(status, NT_STATUS_NONE_MAPPED)) { + state->gstate->next_user += 1; + + subreq = wb_fill_pwent_send(state, + state->ev, + &state->gstate->users[state->gstate->next_user], + state->pw); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_next_pwent_fill_done, req); + + return; + } else if (!NT_STATUS_IS_OK(status)) { tevent_req_nterror(req, status); return; } -- Samba Shared Repository