summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2013-09-03 12:04:37 -0700
committerAndrew Bartlett <abartlet@samba.org>2013-09-04 08:41:25 +1200
commit66006be7ef703b2935334633d27641050cee5f58 (patch)
tree7651cc55b4c1f7c41efe37a15244979c7012cde6
parentdd12bfbcbf359c1642cc2e968aec62ae904aad5d (diff)
downloadsamba-66006be7ef703b2935334633d27641050cee5f58.tar.gz
samba-66006be7ef703b2935334633d27641050cee5f58.tar.bz2
samba-66006be7ef703b2935334633d27641050cee5f58.zip
Refactor dsgetdcname to be called via a wrapper function.
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> Reviewed-by: Richard Sharpe <rsharpe@samba.org>
-rw-r--r--source3/libsmb/dsgetdcname.c31
1 files changed, 26 insertions, 5 deletions
diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c
index 326f6f77cc..819fa20c23 100644
--- a/source3/libsmb/dsgetdcname.c
+++ b/source3/libsmb/dsgetdcname.c
@@ -1093,12 +1093,10 @@ static bool is_closest_site(struct netr_DsRGetDCNameInfo *info)
}
/********************************************************************
- dsgetdcname.
-
- This will be the only public function here.
+ Internal dsgetdcname.
********************************************************************/
-NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx,
+static NTSTATUS dsgetdcname_internal(TALLOC_CTX *mem_ctx,
struct messaging_context *msg_ctx,
const char *domain_name,
const struct GUID *domain_guid,
@@ -1112,7 +1110,7 @@ NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx,
bool first = true;
struct netr_DsRGetDCNameInfo *first_info = NULL;
- DEBUG(10,("dsgetdcname: domain_name: %s, "
+ DEBUG(10,("dsgetdcname_internal: domain_name: %s, "
"domain_guid: %s, site_name: %s, flags: 0x%08x\n",
domain_name,
domain_guid ? GUID_string(mem_ctx, domain_guid) : "(null)",
@@ -1174,3 +1172,26 @@ NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx,
*info = myinfo;
return NT_STATUS_OK;
}
+
+/********************************************************************
+ dsgetdcname.
+
+ This will be the only public function here.
+********************************************************************/
+
+NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx,
+ struct messaging_context *msg_ctx,
+ const char *domain_name,
+ const struct GUID *domain_guid,
+ const char *site_name,
+ uint32_t flags,
+ struct netr_DsRGetDCNameInfo **info)
+{
+ return dsgetdcname_internal(mem_ctx,
+ msg_ctx,
+ domain_name,
+ domain_guid,
+ site_name,
+ flags,
+ info);
+}