summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2013-09-03 14:07:43 -0700
committerKarolin Seeger <kseeger@samba.org>2013-09-06 10:54:03 +0200
commit66b9ebd961efe91b87156abf1bb5e1b8f2b87c38 (patch)
tree71ba7f104bd22570703abd563749faac35e8145b
parentf3d767ac0f6e3b07abf5672ae488ae57bc557677 (diff)
downloadsamba-66b9ebd961efe91b87156abf1bb5e1b8f2b87c38.tar.gz
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 <jra@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Wed Sep 4 01:19:05 CEST 2013 on sn-devel-104 (cherry picked from commit bdab6f9431715fbfd28f8cc0dfb4dde2966f22f3)
-rw-r--r--source3/libsmb/dsgetdcname.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c
index 43b3fd89807..841a1798829 100644
--- a/source3/libsmb/dsgetdcname.c
+++ b/source3/libsmb/dsgetdcname.c
@@ -1170,9 +1170,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;
@@ -1193,7 +1197,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,