Refactor dsgetdcname to be called via a wrapper function.
authorJeremy Allison <jra@samba.org>
Tue, 3 Sep 2013 19:04:37 +0000 (12:04 -0700)
committerKarolin Seeger <kseeger@samba.org>
Fri, 6 Sep 2013 08:54:03 +0000 (10:54 +0200)
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>
(cherry picked from commit 66006be7ef703b2935334633d27641050cee5f58)

source3/libsmb/dsgetdcname.c

index 305baca44d7a2ece2f22d8f8251815675151526a..6e0d935c960149694564adccec73abc9345c2e00 100644 (file)
@@ -1082,12 +1082,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,
@@ -1101,7 +1099,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)",
@@ -1163,3 +1161,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);
+}