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
- 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);
DLIST_REMOVE(child->requests, state);
DEBUG(4,("child daemon request %d\n",
(int)state.request.cmd));
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);
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);
SAFE_FREE(state.response.extra_data);
state->request.data.init_conn.dcname
[sizeof(state->request.data.init_conn.dcname)-1]='\0';
state->request.data.init_conn.dcname
[sizeof(state->request.data.init_conn.dcname)-1]='\0';
- fstrcpy(domain->dcname, state->request.data.init_conn.dcname);
+ if (strlen(state->request.data.init_conn.dcname) > 0) {
+ fstrcpy(domain->dcname, state->request.data.init_conn.dcname);
+ }
if (strlen(domain->dcname) > 0) {
if (!resolve_name(domain->dcname, &ipaddr, 0x20)) {
if (strlen(domain->dcname) > 0) {
if (!resolve_name(domain->dcname, &ipaddr, 0x20)) {