From c127367b1dd622eeceb1f47de0a047c297dda222 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 27 Oct 2008 09:40:25 +0100 Subject: [PATCH] libsmb/namequery: fallback to returning all dcs, when none is available in the requested site MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It could happen that all dcs in a site are unavailable (some sites have only one dc) and then we need to fallback to get all dcs. metze Signed-off-by: Stefan Metzmacher Signed-off-by: Günther Deschner --- source/libsmb/namequery.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/libsmb/namequery.c b/source/libsmb/namequery.c index b2a4156530c..0eb34e90794 100644 --- a/source/libsmb/namequery.c +++ b/source/libsmb/namequery.c @@ -1648,6 +1648,14 @@ NTSTATUS get_sorted_dc_list( const char *domain, const char *sitename, struct ip } status = get_dc_list(domain, sitename, ip_list, count, lookup_type, &ordered); + if (NT_STATUS_EQUAL(status, NT_STATUS_NO_LOGON_SERVERS) && sitename) { + DEBUG(3,("get_sorted_dc_list: no server for name %s available" + " in site %s, fallback to all servers\n", + domain, sitename)); + status = get_dc_list(domain, NULL, ip_list, count, + lookup_type, &ordered); + } + if (!NT_STATUS_IS_OK(status)) { return status; } -- 2.11.4.GIT