From f9c157cf6892e02e765a64601c4a286d8dadece4 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 3 Sep 2013 14:07:43 -0700 Subject: [PATCH] Optimization. Don't do the retry logic if sitename_fetch() returned NULL, we already did a NULL query. Bug 5917 - Samba does not work on site with Read Only Domain Controller Signed-off-by: Jeremy Allison Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Wed Sep 4 01:19:05 CEST 2013 on sn-devel-104 (cherry picked from commit bdab6f9431715fbfd28f8cc0dfb4dde2966f22f3) Autobuild-User(v4-0-test): Karolin Seeger Autobuild-Date(v4-0-test): Fri Sep 6 12:51:06 CEST 2013 on sn-devel-104 --- source3/libsmb/dsgetdcname.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c index bdaa250aafd..6818b01d114 100644 --- a/source3/libsmb/dsgetdcname.c +++ b/source3/libsmb/dsgetdcname.c @@ -1181,9 +1181,13 @@ NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx, NTSTATUS status; const char *query_site = NULL; char *ptr_to_free = NULL; + bool retry_query_with_null = false; if ((site_name == NULL) || (site_name[0] == '\0')) { ptr_to_free = sitename_fetch(domain_name); + if (ptr_to_free != NULL) { + retry_query_with_null = true; + } query_site = ptr_to_free; } else { query_site = site_name; @@ -1204,7 +1208,7 @@ NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx, } /* Should we try again with site_name == NULL ? */ - if ((site_name == NULL) || (site_name[0] == '\0')) { + if (retry_query_with_null) { status = dsgetdcname_internal(mem_ctx, msg_ctx, domain_name, -- 2.11.4.GIT