Eliminate remote tree of dsgetdcname (which will happen in libnetapi then).
authorGünther Deschner <gd@samba.org>
Sat, 26 Jan 2008 00:39:33 +0000 (01:39 +0100)
committerGünther Deschner <gd@samba.org>
Tue, 29 Jan 2008 14:09:56 +0000 (15:09 +0100)
Guenther
(This used to be commit fd490d236b1fb73a75c457b75128c9b98719418f)

source3/lib/netapi/joindomain.c
source3/libnet/libnet_join.c
source3/libsmb/dsgetdcname.c
source3/rpc_server/srv_wkssvc_nt.c
source3/utils/net_lookup.c
source3/winbindd/winbindd_locator.c

index 133aff3dd83fda612d9e46aa3fc3ee2037742f12..55f334b5e1cd4bd24adabfaa8b094c1b5218ae9f 100644 (file)
@@ -52,7 +52,7 @@ static WERROR NetJoinDomainLocal(struct libnetapi_ctx *mem_ctx,
                uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
                                 DS_WRITABLE_REQUIRED |
                                 DS_RETURN_DNS_NAME;
-               status = dsgetdcname(mem_ctx, NULL, domain_name,
+               status = dsgetdcname(mem_ctx, domain_name,
                                     NULL, NULL, flags, &info);
                if (!NT_STATUS_IS_OK(status)) {
                        libnetapi_set_error_string(mem_ctx,
@@ -261,7 +261,7 @@ static WERROR NetUnjoinDomainLocal(struct libnetapi_ctx *mem_ctx,
                } else {
                        domain = lp_workgroup();
                }
-               status = dsgetdcname(mem_ctx, NULL, domain,
+               status = dsgetdcname(mem_ctx, domain,
                                     NULL, NULL, flags, &info);
                if (!NT_STATUS_IS_OK(status)) {
                        libnetapi_set_error_string(mem_ctx,
@@ -566,7 +566,7 @@ static WERROR NetGetJoinableOUsLocal(struct libnetapi_ctx *ctx,
        uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
                         DS_RETURN_DNS_NAME;
 
-       status = dsgetdcname(ctx, NULL, domain,
+       status = dsgetdcname(ctx, domain,
                             NULL, NULL, flags, &info);
        if (!NT_STATUS_IS_OK(status)) {
                libnetapi_set_error_string(ctx, "%s",
index f83e0fbb6007ff8890187bc27259acc47003475a..3c6cea31bb3b96bb9eaf3a73913aef166d6b3cc4 100644 (file)
@@ -1173,7 +1173,6 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,
        if (!r->in.dc_name) {
                struct DS_DOMAIN_CONTROLLER_INFO *info;
                status = dsgetdcname(mem_ctx,
-                                    NULL,
                                     r->in.domain_name,
                                     NULL,
                                     NULL,
@@ -1301,7 +1300,6 @@ static WERROR libnet_DomainUnjoin(TALLOC_CTX *mem_ctx,
        if (!r->in.dc_name) {
                struct DS_DOMAIN_CONTROLLER_INFO *info;
                status = dsgetdcname(mem_ctx,
-                                    NULL,
                                     r->in.domain_name,
                                     NULL,
                                     NULL,
index 2a66d514005eeb18af8b7f6d9b99a8a2c75bea30..e0be76cc85205927f1276ce26879424995e0234e 100644 (file)
@@ -891,72 +891,27 @@ static NTSTATUS dsgetdcname_rediscover(TALLOC_CTX *mem_ctx,
 }
 
 /********************************************************************
-********************************************************************/
-
-NTSTATUS dsgetdcname_remote(TALLOC_CTX *mem_ctx,
-                           const char *computer_name,
-                           const char *domain_name,
-                           struct GUID *domain_guid,
-                           const char *site_name,
-                           uint32_t flags,
-                           struct DS_DOMAIN_CONTROLLER_INFO **info)
-{
-       WERROR werr;
-       NTSTATUS status = NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND;
-       struct cli_state *cli = NULL;
-       struct rpc_pipe_client *pipe_cli = NULL;
-
-       status = cli_full_connection(&cli, NULL, computer_name,
-                                    NULL, 0,
-                                    "IPC$", "IPC",
-                                    "",
-                                    "",
-                                    "",
-                                    0, Undefined, NULL);
-
-       if (!NT_STATUS_IS_OK(status)) {
-               goto done;
-       }
-
-       pipe_cli = cli_rpc_pipe_open_noauth(cli, PI_NETLOGON,
-                                           &status);
-       if (!pipe_cli) {
-               goto done;
-       }
-
-       werr = rpccli_netlogon_dsr_getdcname(pipe_cli,
-                                            mem_ctx,
-                                            computer_name,
-                                            domain_name,
-                                            domain_guid,
-                                            NULL,
-                                            flags,
-                                            info);
-       status = werror_to_ntstatus(werr);
-
- done:
-       cli_rpc_pipe_close(pipe_cli);
-       if (cli) {
-               cli_shutdown(cli);
-       }
-
-       return status;
-}
+ dsgetdcname.
 
-/********************************************************************
+ This will be the only public function here.
 ********************************************************************/
 
-NTSTATUS dsgetdcname_local(TALLOC_CTX *mem_ctx,
-                          const char *computer_name,
-                          const char *domain_name,
-                          struct GUID *domain_guid,
-                          const char *site_name,
-                          uint32_t flags,
-                          struct DS_DOMAIN_CONTROLLER_INFO **info)
+NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx,
+                    const char *domain_name,
+                    struct GUID *domain_guid,
+                    const char *site_name,
+                    uint32_t flags,
+                    struct DS_DOMAIN_CONTROLLER_INFO **info)
 {
        NTSTATUS status = NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND;
        struct DS_DOMAIN_CONTROLLER_INFO *myinfo = NULL;
 
+       DEBUG(10,("dsgetdcname: domain_name: %s, "
+                 "domain_guid: %s, site_name: %s, flags: 0x%08x\n",
+                 domain_name,
+                 domain_guid ? GUID_string(mem_ctx, domain_guid) : "(null)",
+                 site_name, flags));
+
        *info = NULL;
 
        if (!check_allowed_required_flags(flags)) {
@@ -991,44 +946,3 @@ NTSTATUS dsgetdcname_local(TALLOC_CTX *mem_ctx,
 
        return status;
 }
-
-/********************************************************************
- dsgetdcname.
-
- This will be the only public function here.
-********************************************************************/
-
-NTSTATUS dsgetdcname(TALLOC_CTX *mem_ctx,
-                    const char *computer_name,
-                    const char *domain_name,
-                    struct GUID *domain_guid,
-                    const char *site_name,
-                    uint32_t flags,
-                    struct DS_DOMAIN_CONTROLLER_INFO **info)
-{
-       DEBUG(10,("dsgetdcname: computer_name: %s, domain_name: %s, "
-                 "domain_guid: %s, site_name: %s, flags: 0x%08x\n",
-                 computer_name, domain_name,
-                 domain_guid ? GUID_string(mem_ctx, domain_guid) : "(null)",
-                 site_name, flags));
-
-       *info = NULL;
-
-       if (computer_name) {
-               return dsgetdcname_remote(mem_ctx,
-                                         computer_name,
-                                         domain_name,
-                                         domain_guid,
-                                         site_name,
-                                         flags,
-                                         info);
-       }
-
-       return dsgetdcname_local(mem_ctx,
-                                computer_name,
-                                domain_name,
-                                domain_guid,
-                                site_name,
-                                flags,
-                                info);
-}
index de2e33732ddc631c00a4060dc4e0b3abdb1f885d..e0103e6b586fcc2d296d4a50f3343214c1a107d6 100644 (file)
@@ -319,7 +319,6 @@ WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p, struct wkssvc_NetrJoinDomain2 *r
                          &admin_account);
 
        status = dsgetdcname(p->mem_ctx,
-                            NULL,
                             r->in.domain_name,
                             NULL,
                             NULL,
index 765971fba3836ab4cea08874b68ea0514b671cb3..8c01b5b4ba92796141f9ca6a7ebd7a9f00b6349e 100644 (file)
@@ -401,7 +401,7 @@ static int net_lookup_dsgetdcname(int argc, const char **argv)
                site_name = sitename_fetch(domain_name);
        }
 
-       status = dsgetdcname(mem_ctx, NULL, domain_name, NULL, site_name,
+       status = dsgetdcname(mem_ctx, domain_name, NULL, site_name,
                             flags, &info);
        if (!NT_STATUS_IS_OK(status)) {
                d_printf("failed with: %s\n", nt_errstr(status));
index 05bd74af25b31054fe74afe851be4d5bae28522e..6b1cff99e09fe34b52b8fed62a13bc2dce3c9247 100644 (file)
@@ -67,7 +67,7 @@ static enum winbindd_result dual_dsgetdcname(struct winbindd_domain *domain,
        DEBUG(3, ("[%5lu]: dsgetdcname for %s\n", (unsigned long)state->pid,
                  state->request.domain_name));
 
-       result = dsgetdcname(state->mem_ctx, NULL, state->request.domain_name,
+       result = dsgetdcname(state->mem_ctx, state->request.domain_name,
                             NULL, NULL, state->request.flags, &info);
 
        if (!NT_STATUS_IS_OK(result)) {