From 86dc60492aa0c4c42b7506aa6ac6f4ac5e27c9f6 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 28 Aug 2005 09:19:10 +0000 Subject: r9709: Fix two bugs found by Brian Moran: Any request sent to winbind while the child in question is still initializing overwrites domain->dcname. Only overwrite if the parent actually has sent a dcname and thus really knows it. Second, ntlm_auth needs the error code, not just the fact it failed. Jerry, the 3_0 part might qualify as a "recommended patch". Thanks, Volker (This used to be commit d79b179b7f9d2efa4f8ee47bfe386e90d8b58322) --- source3/nsswitch/winbindd_dual.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'source3/nsswitch/winbindd_dual.c') diff --git a/source3/nsswitch/winbindd_dual.c b/source3/nsswitch/winbindd_dual.c index 940cd12ba5..ec0b7a36e2 100644 --- a/source3/nsswitch/winbindd_dual.c +++ b/source3/nsswitch/winbindd_dual.c @@ -158,9 +158,8 @@ static void async_reply_recv(void *private_data, BOOL success) return; } - if (state->response->result == WINBINDD_OK) - SMB_ASSERT(cache_retrieve_response(child->pid, - state->response)); + SMB_ASSERT(cache_retrieve_response(child->pid, + state->response)); DLIST_REMOVE(child->requests, state); @@ -479,12 +478,11 @@ static BOOL fork_domain_child(struct winbindd_child *child) DEBUG(4,("child daemon request %d\n", (int)state.request.cmd)); + ZERO_STRUCT(state.response); state.request.null_term = '\0'; child_process_request(child->domain, &state); - if (state.response.result == WINBINDD_OK) - cache_store_response(sys_getpid(), - &state.response); + cache_store_response(sys_getpid(), &state.response); SAFE_FREE(state.response.extra_data); -- cgit