summaryrefslogtreecommitdiff
path: root/source3/nsswitch/winbindd_misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/nsswitch/winbindd_misc.c')
-rw-r--r--source3/nsswitch/winbindd_misc.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/source3/nsswitch/winbindd_misc.c b/source3/nsswitch/winbindd_misc.c
index 8f1e653619..c32f052e3c 100644
--- a/source3/nsswitch/winbindd_misc.c
+++ b/source3/nsswitch/winbindd_misc.c
@@ -270,6 +270,18 @@ enum winbindd_result winbindd_dual_getdcname(struct winbindd_domain *domain,
return WINBINDD_OK;
}
+static struct winbindd_child static_locator_child;
+
+void init_locator_child(void)
+{
+ setup_domain_child(NULL, &static_locator_child, "locator");
+}
+
+struct winbindd_child *locator_child(void)
+{
+ return &static_locator_child;
+}
+
void winbindd_dsgetdcname(struct winbindd_cli_state *state)
{
state->request.domain_name
@@ -278,7 +290,7 @@ void winbindd_dsgetdcname(struct winbindd_cli_state *state)
DEBUG(3, ("[%5lu]: DsGetDcName for %s\n", (unsigned long)state->pid,
state->request.domain_name));
- sendto_domain(state, find_our_domain());
+ sendto_child(state, locator_child());
}
enum winbindd_result winbindd_dual_dsgetdcname(struct winbindd_domain *domain,
@@ -603,3 +615,4 @@ void winbindd_priv_pipe_dir(struct winbindd_cli_state *state)
request_ok(state);
}
+