The branch, v3-6-test has been updated
       via  3b49e62 s3-build: remove RPCCLI_DRSUAPI subsystem.
       via  7278a36 s3-waf: remove RPCCLI_DRSUAPI subsystem.
       via  48b4aa6 s3-drsuapi: prefer dcerpc_drsuapi_X functions.
      from  2127864 s3-build: remove RPCCLI_INITSHUTDOWN subsystem.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 3b49e625e12a83b4407bce6509d2f16370f623d8
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 11 18:04:19 2011 +0100

    s3-build: remove RPCCLI_DRSUAPI subsystem.
    
    Guenther
    
    Autobuild-User: Günther Deschner <g...@samba.org>
    Autobuild-Date: Tue Jan 11 23:01:24 CET 2011 on sn-devel-104
    (cherry picked from commit 6f39c3b52663ee9e4b1c1d1e4fd0377d4fdb17f7)

commit 7278a361e3553eb46c58b8bcccc1d317b61646a0
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 11 18:04:04 2011 +0100

    s3-waf: remove RPCCLI_DRSUAPI subsystem.
    
    Guenther
    (cherry picked from commit 9fe0cfef6ac408396e2415faa91f9ee8ae5e3774)

commit 48b4aa68f059d1c814becefadc18542423803ee8
Author: Günther Deschner <g...@samba.org>
Date:   Tue Jan 11 17:46:11 2011 +0100

    s3-drsuapi: prefer dcerpc_drsuapi_X functions.
    
    Guenther
    (cherry picked from commit 4f057230ca979021dfa0b279392ff820599e54a0)

-----------------------------------------------------------------------

Summary of changes:
 source3/Makefile.in             |    3 +--
 source3/libnet/libnet_dssync.c  |   20 +++++++++++++++-----
 source3/rpcclient/cmd_drsuapi.c |   31 +++++++++++++++++++++----------
 source3/wscript_build           |    8 ++------
 4 files changed, 39 insertions(+), 23 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/Makefile.in b/source3/Makefile.in
index c65d728..5928973 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -354,8 +354,7 @@ LIBCLI_WINREG_OBJ = librpc/gen_ndr/cli_winreg.o \
 
 LIBCLI_NTSVCS_OBJ = librpc/gen_ndr/ndr_ntsvcs_c.o
 
-LIBCLI_DRSUAPI_OBJ = librpc/gen_ndr/cli_drsuapi.o \
-                    librpc/gen_ndr/ndr_drsuapi_c.o
+LIBCLI_DRSUAPI_OBJ = librpc/gen_ndr/ndr_drsuapi_c.o
 
 LIBCLI_DFS_OBJ = librpc/gen_ndr/ndr_dfs_c.o
 
diff --git a/source3/libnet/libnet_dssync.c b/source3/libnet/libnet_dssync.c
index e9a788b..e239162 100644
--- a/source3/libnet/libnet_dssync.c
+++ b/source3/libnet/libnet_dssync.c
@@ -23,19 +23,23 @@
 #include "includes.h"
 #include "libnet/libnet_dssync.h"
 #include "../libcli/drsuapi/drsuapi.h"
-#include "../librpc/gen_ndr/cli_drsuapi.h"
+#include "../librpc/gen_ndr/ndr_drsuapi_c.h"
 
 /****************************************************************
 ****************************************************************/
 
 static int libnet_dssync_free_context(struct dssync_context *ctx)
 {
+       WERROR result;
+       struct dcerpc_binding_handle *b;
+
        if (!ctx) {
                return 0;
        }
 
        if (is_valid_policy_hnd(&ctx->bind_handle) && ctx->cli) {
-               rpccli_drsuapi_DsUnbind(ctx->cli, ctx, &ctx->bind_handle, NULL);
+               b = ctx->cli->binding_handle;
+               dcerpc_drsuapi_DsUnbind(b, ctx, &ctx->bind_handle, &result);
        }
 
        return 0;
@@ -124,6 +128,7 @@ static NTSTATUS libnet_dssync_bind(TALLOC_CTX *mem_ctx,
        struct GUID bind_guid;
        struct drsuapi_DsBindInfoCtr bind_info;
        struct drsuapi_DsBindInfo28 info28;
+       struct dcerpc_binding_handle *b = ctx->cli->binding_handle;
 
        ZERO_STRUCT(info28);
 
@@ -164,7 +169,7 @@ static NTSTATUS libnet_dssync_bind(TALLOC_CTX *mem_ctx,
        bind_info.length = 28;
        bind_info.info.info28 = info28;
 
-       status = rpccli_drsuapi_DsBind(ctx->cli, mem_ctx,
+       status = dcerpc_drsuapi_DsBind(b, mem_ctx,
                                       &bind_guid,
                                       &bind_info,
                                       &ctx->bind_handle,
@@ -223,6 +228,7 @@ static NTSTATUS libnet_dssync_lookup_nc(TALLOC_CTX *mem_ctx,
        uint32_t level_out;
        struct drsuapi_DsNameString names[1];
        union drsuapi_DsNameCtr ctr;
+       struct dcerpc_binding_handle *b = ctx->cli->binding_handle;
 
        names[0].str = talloc_asprintf(mem_ctx, "%s\\", ctx->domain_name);
        NT_STATUS_HAVE_NO_MEMORY(names[0].str);
@@ -235,7 +241,7 @@ static NTSTATUS libnet_dssync_lookup_nc(TALLOC_CTX *mem_ctx,
        req.req1.format_offered = DRSUAPI_DS_NAME_FORMAT_UNKNOWN;
        req.req1.format_desired = DRSUAPI_DS_NAME_FORMAT_FQDN_1779;
 
-       status = rpccli_drsuapi_DsCrackNames(ctx->cli, mem_ctx,
+       status = dcerpc_drsuapi_DsCrackNames(b, mem_ctx,
                                             &ctx->bind_handle,
                                             level,
                                             &req,
@@ -429,6 +435,7 @@ static NTSTATUS libnet_dssync_getncchanges(TALLOC_CTX 
*mem_ctx,
        uint32_t out_level = 0;
        int y;
        bool last_query;
+       struct dcerpc_binding_handle *b = ctx->cli->binding_handle;
 
        if (!ctx->single_object_replication) {
                new_utdv = TALLOC_ZERO_P(mem_ctx, struct 
replUpToDateVectorBlob);
@@ -452,7 +459,7 @@ static NTSTATUS libnet_dssync_getncchanges(TALLOC_CTX 
*mem_ctx,
                                (long 
long)req->req5.highwatermark.highest_usn));
                }
 
-               status = rpccli_drsuapi_DsGetNCChanges(ctx->cli, mem_ctx,
+               status = dcerpc_drsuapi_DsGetNCChanges(b, mem_ctx,
                                                       &ctx->bind_handle,
                                                       level,
                                                       req,
@@ -468,6 +475,9 @@ static NTSTATUS libnet_dssync_getncchanges(TALLOC_CTX 
*mem_ctx,
 
                if (!W_ERROR_IS_OK(werr)) {
                        status = werror_to_ntstatus(werr);
+                       ctx->error_message = talloc_asprintf(ctx,
+                               "Failed to get NC Changes: %s",
+                               get_friendly_werror_msg(werr));
                        goto out;
                }
 
diff --git a/source3/rpcclient/cmd_drsuapi.c b/source3/rpcclient/cmd_drsuapi.c
index 4f3a16c..b7ea226 100644
--- a/source3/rpcclient/cmd_drsuapi.c
+++ b/source3/rpcclient/cmd_drsuapi.c
@@ -20,7 +20,7 @@
 
 #include "includes.h"
 #include "rpcclient.h"
-#include "../librpc/gen_ndr/cli_drsuapi.h"
+#include "../librpc/gen_ndr/ndr_drsuapi_c.h"
 
 static WERROR cracknames(struct rpc_pipe_client *cli,
                         TALLOC_CTX *mem_ctx,
@@ -38,6 +38,7 @@ static WERROR cracknames(struct rpc_pipe_client *cli,
        union drsuapi_DsNameRequest req;
        uint32_t level_out;
        struct drsuapi_DsNameString *names;
+       struct dcerpc_binding_handle *b = cli->binding_handle;
 
        names = TALLOC_ZERO_ARRAY(mem_ctx, struct drsuapi_DsNameString, argc);
        W_ERROR_HAVE_NO_MEMORY(names);
@@ -54,7 +55,7 @@ static WERROR cracknames(struct rpc_pipe_client *cli,
        req.req1.format_offered = format_offered;
        req.req1.format_desired = format_desired;
 
-       status = rpccli_drsuapi_DsCrackNames(cli, mem_ctx,
+       status = dcerpc_drsuapi_DsCrackNames(b, mem_ctx,
                                             bind_handle,
                                             level,
                                             &req,
@@ -82,6 +83,7 @@ static WERROR cmd_drsuapi_cracknames(struct rpc_pipe_client 
*cli,
 
        struct GUID bind_guid;
        struct policy_handle bind_handle;
+       struct dcerpc_binding_handle *b = cli->binding_handle;
 
        union drsuapi_DsNameCtr ctr;
 
@@ -92,7 +94,7 @@ static WERROR cmd_drsuapi_cracknames(struct rpc_pipe_client 
*cli,
 
        GUID_from_string(DRSUAPI_DS_BIND_GUID, &bind_guid);
 
-       status = rpccli_drsuapi_DsBind(cli, mem_ctx,
+       status = dcerpc_drsuapi_DsBind(b, mem_ctx,
                                       &bind_guid,
                                       NULL,
                                       &bind_handle,
@@ -102,6 +104,10 @@ static WERROR cmd_drsuapi_cracknames(struct 
rpc_pipe_client *cli,
                return ntstatus_to_werror(status);
        }
 
+       if (!W_ERROR_IS_OK(werr)) {
+               return werr;
+       }
+
        werr = cracknames(cli, mem_ctx,
                          &bind_handle,
                          DRSUAPI_DS_NAME_FORMAT_UNKNOWN,
@@ -125,7 +131,7 @@ static WERROR cmd_drsuapi_cracknames(struct rpc_pipe_client 
*cli,
 
  out:
        if (is_valid_policy_hnd(&bind_handle)) {
-               rpccli_drsuapi_DsUnbind(cli, mem_ctx, &bind_handle, &werr);
+               dcerpc_drsuapi_DsUnbind(b, mem_ctx, &bind_handle, &werr);
        }
 
        return werr;
@@ -234,6 +240,7 @@ static WERROR cmd_drsuapi_getdcinfo(struct rpc_pipe_client 
*cli,
 
        struct GUID bind_guid;
        struct policy_handle bind_handle;
+       struct dcerpc_binding_handle *b = cli->binding_handle;
 
        const char *domain = NULL;
        int32_t level = 1;
@@ -253,7 +260,7 @@ static WERROR cmd_drsuapi_getdcinfo(struct rpc_pipe_client 
*cli,
 
        GUID_from_string(DRSUAPI_DS_BIND_GUID, &bind_guid);
 
-       status = rpccli_drsuapi_DsBind(cli, mem_ctx,
+       status = dcerpc_drsuapi_DsBind(b, mem_ctx,
                                       &bind_guid,
                                       NULL,
                                       &bind_handle,
@@ -263,10 +270,14 @@ static WERROR cmd_drsuapi_getdcinfo(struct 
rpc_pipe_client *cli,
                return ntstatus_to_werror(status);
        }
 
+       if (!W_ERROR_IS_OK(werr)) {
+               return werr;
+       }
+
        req.req1.domain_name = domain;
        req.req1.level = level;
 
-       status = rpccli_drsuapi_DsGetDomainControllerInfo(cli, mem_ctx,
+       status = dcerpc_drsuapi_DsGetDomainControllerInfo(b, mem_ctx,
                                                          &bind_handle,
                                                          1,
                                                          &req,
@@ -285,7 +296,7 @@ static WERROR cmd_drsuapi_getdcinfo(struct rpc_pipe_client 
*cli,
        display_domain_controller_info(level_out, &ctr);
  out:
        if (is_valid_policy_hnd(&bind_handle)) {
-               rpccli_drsuapi_DsUnbind(cli, mem_ctx, &bind_handle, &werr);
+               dcerpc_drsuapi_DsUnbind(b, mem_ctx, &bind_handle, &werr);
        }
 
        return werr;
@@ -299,6 +310,7 @@ static WERROR cmd_drsuapi_getncchanges(struct 
rpc_pipe_client *cli,
        WERROR werr;
 
        struct policy_handle bind_handle;
+       struct dcerpc_binding_handle *b = cli->binding_handle;
 
        struct GUID bind_guid;
        struct drsuapi_DsBindInfoCtr bind_info;
@@ -388,7 +400,7 @@ static WERROR cmd_drsuapi_getncchanges(struct 
rpc_pipe_client *cli,
        bind_info.length = 28;
        bind_info.info.info28 = info28;
 
-       status = rpccli_drsuapi_DsBind(cli, mem_ctx,
+       status = dcerpc_drsuapi_DsBind(b, mem_ctx,
                                       &bind_guid,
                                       &bind_info,
                                       &bind_handle,
@@ -475,7 +487,7 @@ static WERROR cmd_drsuapi_getncchanges(struct 
rpc_pipe_client *cli,
                                (long long)req.req8.highwatermark.highest_usn));
                }
 
-               status = rpccli_drsuapi_DsGetNCChanges(cli, mem_ctx,
+               status = dcerpc_drsuapi_DsGetNCChanges(b, mem_ctx,
                                                       &bind_handle,
                                                       level,
                                                       &req,
@@ -489,7 +501,6 @@ static WERROR cmd_drsuapi_getncchanges(struct 
rpc_pipe_client *cli,
                }
 
                if (!W_ERROR_IS_OK(werr)) {
-                       status = werror_to_ntstatus(werr);
                        goto out;
                }
 
diff --git a/source3/wscript_build b/source3/wscript_build
index 4d401f8..84acc93 100644
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -1107,10 +1107,6 @@ bld.SAMBA_SUBSYSTEM('RPCCLI_SVCCTL',
        source='../librpc/gen_ndr/cli_svcctl.c',
        public_deps='RPC_NDR_SVCCTL')
 
-bld.SAMBA_SUBSYSTEM('RPCCLI_DRSUAPI',
-       source='../librpc/gen_ndr/cli_drsuapi.c',
-       public_deps='RPC_NDR_DRSUAPI')
-
 bld.SAMBA_SUBSYSTEM('RPCCLI_SPOOLSS',
        source='../librpc/gen_ndr/cli_spoolss.c',
        public_deps='RPC_NDR_SPOOLSS')
@@ -1194,7 +1190,7 @@ bld.SAMBA_BINARY('rpcclient/rpcclient',
                  RPC_CLIENT_SCHANNEL
                  LIBCLI_SAMR LIBCLI_LSA LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS
                  RPCCLI_SRVSVC RPC_NDR_WKSSVC RPC_NDR_DSSETUP RPC_NDR_DFS
-                 RPCCLI_DRSUAPI RPC_NDR_NTSVCS RPC_NDR_EVENTLOG INIT_NETLOGON
+                 RPC_NDR_DRSUAPI RPC_NDR_NTSVCS RPC_NDR_EVENTLOG INIT_NETLOGON
                  INIT_SAMR
                  ''',
                  vars=locals())
@@ -1216,7 +1212,7 @@ bld.SAMBA_BINARY('net',
                  RPC_CLIENT_SCHANNEL TOKEN_UTIL
                  LIBCLI_SAMR LIBCLI_LSA LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS
                  RPCCLI_SRVSVC RPC_NDR_WKSSVC RPCCLI_SVCCTL RPC_NDR_DSSETUP
-                 RPC_NDR_INITSHUTDOWN RPCCLI_DRSUAPI INIT_NETLOGON INIT_SAMR
+                 RPC_NDR_INITSHUTDOWN RPC_NDR_DRSUAPI INIT_NETLOGON INIT_SAMR
                 ''',
                  vars=locals())
 


-- 
Samba Shared Repository

Reply via email to