git.samba.org
/
samba.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5e47b31
)
s3: libsmb/namequery: fallback to returning all dcs, when none is available in the...
author
Stefan Metzmacher
<metze@samba.org>
Mon, 27 Oct 2008 08:40:25 +0000
(09:40 +0100)
committer
Stefan Metzmacher
<metze@samba.org>
Sat, 13 Dec 2008 17:43:45 +0000
(18:43 +0100)
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 <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit
c127367b1dd622eeceb1f47de0a047c297dda222
)
(cherry picked from commit
0c43f96330f2935805ba4f0f8f858a027a90bc4c
)
(cherry picked from commit
caaf59383ceabdc555f7db098dae0455dea65023
)
source/libsmb/namequery.c
patch
|
blob
|
history
diff --git
a/source/libsmb/namequery.c
b/source/libsmb/namequery.c
index 5945683236cc977d117f7c8d8ada9bb04809c49e..3335f5a599b3063a0fc75f4fc6b509c47876fd32 100644
(file)
--- a/
source/libsmb/namequery.c
+++ b/
source/libsmb/namequery.c
@@
-2098,6
+2098,15
@@
NTSTATUS get_sorted_dc_list( const char *domain,
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)) {
SAFE_FREE(*ip_list);
*count = 0;