From 663a1f599aa163ebb5c81c02988c07cb1f0e3e6c Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Fri, 27 Nov 2009 17:45:20 +0100 Subject: s4:winbind - Fix it another time up The first fix attempt did break some configurations (incl. "make test"). This now is the right fix with the right comment. --- source4/winbind/wb_setup_domains.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'source4/winbind') diff --git a/source4/winbind/wb_setup_domains.c b/source4/winbind/wb_setup_domains.c index 6b4fd891c5..5ce6500d4d 100644 --- a/source4/winbind/wb_setup_domains.c +++ b/source4/winbind/wb_setup_domains.c @@ -27,11 +27,23 @@ NTSTATUS wbsrv_setup_domains(struct wbsrv_service *service) { const struct dom_sid *primary_sid; + /* + * This is a bit more difficult here: when we are a domain controller + * or a joined domain member the first call will work. But if we are + * a standalone server or unjoined member then the second is the right + * one. + */ primary_sid = secrets_get_domain_sid(service, service->task->event_ctx, service->task->lp_ctx, - lp_sam_name(service->task->lp_ctx)); - if (!primary_sid) { + lp_workgroup(service->task->lp_ctx)); + if (primary_sid == NULL) { + primary_sid = secrets_get_domain_sid(service, + service->task->event_ctx, + service->task->lp_ctx, + lp_netbios_name(service->task->lp_ctx)); + } + if (primary_sid == NULL) { return NT_STATUS_CANT_ACCESS_DOMAIN_INFO; } -- cgit