The branch, master has been updated
       via  11e2608... s3/s4:netrEnumerateTrustedDomains - this call returns a 
"NTSTATUS" result
      from  0eec334... s4:dcesrv_netr_DsrEnumerateDomainTrusts - fix an integer 
type

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 11e2608ba97018987b0143521248a83b2dab07e6
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Mon May 31 10:15:25 2010 +0200

    s3/s4:netrEnumerateTrustedDomains - this call returns a "NTSTATUS" result
    
    See MS-NRPC 3.5.5.6.3.

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

Summary of changes:
 librpc/idl/netlogon.idl                       |    2 +-
 source3/rpc_server/srv_netlog_nt.c            |   14 +++++++-------
 source3/rpcclient/cmd_netlogon.c              |   22 +++++++++-------------
 source4/rpc_server/netlogon/dcerpc_netlogon.c |    4 ++--
 source4/torture/rpc/netlogon.c                |    2 +-
 5 files changed, 20 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/netlogon.idl b/librpc/idl/netlogon.idl
index 4bebb83..7670d34 100644
--- a/librpc/idl/netlogon.idl
+++ b/librpc/idl/netlogon.idl
@@ -1080,7 +1080,7 @@ interface netlogon
                [size_is(length)] uint8 *data;
        } netr_Blob;
 
-       WERROR netr_NetrEnumerateTrustedDomains(
+       NTSTATUS netr_NetrEnumerateTrustedDomains(
                [in,unique] [string,charset(UTF16)] uint16 *server_name,
                [out,ref] netr_Blob *trusted_domains_blob
                );
diff --git a/source3/rpc_server/srv_netlog_nt.c 
b/source3/rpc_server/srv_netlog_nt.c
index ec6ade6..f0b9bab 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -384,8 +384,8 @@ WERROR _netr_LogonControl2Ex(pipes_struct *p,
  _netr_NetrEnumerateTrustedDomains
  *************************************************************************/
 
-WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p,
-                                        struct 
netr_NetrEnumerateTrustedDomains *r)
+NTSTATUS _netr_NetrEnumerateTrustedDomains(pipes_struct *p,
+                                          struct 
netr_NetrEnumerateTrustedDomains *r)
 {
        NTSTATUS status;
        DATA_BLOB blob;
@@ -403,25 +403,25 @@ WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p,
        unbecome_root();
 
        if (!NT_STATUS_IS_OK(status)) {
-               return ntstatus_to_werror(status);
+               return status;
        }
 
        trusted_domains = talloc_zero_array(p->mem_ctx, const char *, 
num_domains + 1);
        if (!trusted_domains) {
-               return WERR_NOMEM;
+               return NT_STATUS_NO_MEMORY;
        }
 
        for (i = 0; i < num_domains; i++) {
                trusted_domains[i] = talloc_strdup(trusted_domains, 
domains[i]->name);
                if (!trusted_domains[i]) {
                        TALLOC_FREE(trusted_domains);
-                       return WERR_NOMEM;
+                       return NT_STATUS_NO_MEMORY;
                }
        }
 
        if (!push_reg_multi_sz(trusted_domains, &blob, trusted_domains)) {
                TALLOC_FREE(trusted_domains);
-               return WERR_NOMEM;
+               return NT_STATUS_NO_MEMORY;
        }
 
        r->out.trusted_domains_blob->data = blob.data;
@@ -429,7 +429,7 @@ WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p,
 
        DEBUG(6,("_netr_NetrEnumerateTrustedDomains: %d\n", __LINE__));
 
-       return WERR_OK;
+       return NT_STATUS_OK;
 }
 
 /******************************************************************
diff --git a/source3/rpcclient/cmd_netlogon.c b/source3/rpcclient/cmd_netlogon.c
index 262975b..faa2bff 100644
--- a/source3/rpcclient/cmd_netlogon.c
+++ b/source3/rpcclient/cmd_netlogon.c
@@ -938,19 +938,18 @@ static WERROR cmd_netlogon_dsr_getforesttrustinfo(struct 
rpc_pipe_client *cli,
        return werr;
 }
 
-static WERROR cmd_netlogon_enumtrusteddomains(struct rpc_pipe_client *cli,
-                                             TALLOC_CTX *mem_ctx, int argc,
-                                             const char **argv)
+static NTSTATUS cmd_netlogon_enumtrusteddomains(struct rpc_pipe_client *cli,
+                                               TALLOC_CTX *mem_ctx, int argc,
+                                               const char **argv)
 {
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
-       WERROR werr = WERR_GENERAL_FAILURE;
        const char *server_name = cli->desthost;
        struct netr_Blob blob;
 
 
        if (argc < 1 || argc > 3) {
                fprintf(stderr, "Usage: %s <server_name>\n", argv[0]);
-               return WERR_OK;
+               return NT_STATUS_OK;
        }
 
        if (argc >= 2) {
@@ -959,18 +958,15 @@ static WERROR cmd_netlogon_enumtrusteddomains(struct 
rpc_pipe_client *cli,
 
        status = rpccli_netr_NetrEnumerateTrustedDomains(cli, mem_ctx,
                                                         server_name,
-                                                        &blob,
-                                                        &werr);
+                                                        &blob);
        if (!NT_STATUS_IS_OK(status)) {
                goto done;
        }
 
-       if (W_ERROR_IS_OK(werr)) {
-               printf("success\n");
-               dump_data(1, blob.data, blob.length);
-       }
+       printf("success\n");
+       dump_data(1, blob.data, blob.length);
  done:
-       return werr;
+       return status;
 }
 
 static WERROR cmd_netlogon_enumtrusteddomainsex(struct rpc_pipe_client *cli,
@@ -1175,7 +1171,7 @@ struct cmd_set netlogon_commands[] = {
        { "dsr_enumtrustdom", RPC_RTYPE_WERROR, NULL, 
cmd_netlogon_dsr_enumtrustdom, &ndr_table_netlogon.syntax_id, NULL, "Enumerate 
trusted domains",     "" },
        { "dsenumdomtrusts",  RPC_RTYPE_WERROR, NULL, 
cmd_netlogon_dsr_enumtrustdom, &ndr_table_netlogon.syntax_id, NULL, "Enumerate 
all trusted domains in an AD forest",     "" },
        { "deregisterdnsrecords", RPC_RTYPE_WERROR, NULL, 
cmd_netlogon_deregisterdnsrecords, &ndr_table_netlogon.syntax_id, NULL, 
"Deregister DNS records",     "" },
-       { "netrenumtrusteddomains", RPC_RTYPE_WERROR, NULL, 
cmd_netlogon_enumtrusteddomains, &ndr_table_netlogon.syntax_id, NULL, 
"Enumerate trusted domains",     "" },
+       { "netrenumtrusteddomains", RPC_RTYPE_NTSTATUS, 
cmd_netlogon_enumtrusteddomains, NULL, &ndr_table_netlogon.syntax_id, NULL, 
"Enumerate trusted domains",     "" },
        { "netrenumtrusteddomainsex", RPC_RTYPE_WERROR, NULL, 
cmd_netlogon_enumtrusteddomainsex, &ndr_table_netlogon.syntax_id, NULL, 
"Enumerate trusted domains",     "" },
        { "getdcsitecoverage", RPC_RTYPE_WERROR, NULL, 
cmd_netlogon_getdcsitecoverage, &ndr_table_netlogon.syntax_id, NULL, "Get the 
Site-Coverage from a DC",     "" },
        { "database_redo", RPC_RTYPE_NTSTATUS, cmd_netlogon_database_redo, 
NULL, &ndr_table_netlogon.syntax_id, NULL, "Replicate single object from a DC", 
    "" },
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c 
b/source4/rpc_server/netlogon/dcerpc_netlogon.c
index cfcb4f6..8bfa449 100644
--- a/source4/rpc_server/netlogon/dcerpc_netlogon.c
+++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c
@@ -1066,9 +1066,9 @@ static NTSTATUS dcesrv_netr_DatabaseRedo(struct 
dcesrv_call_state *dce_call, TAL
 
 
 /*
-  netr_NetrEnumerateTurstedDomains
+  netr_NetrEnumerateTrustedDomains
 */
-static WERROR dcesrv_netr_NetrEnumerateTrustedDomains(struct dcesrv_call_state 
*dce_call, TALLOC_CTX *mem_ctx,
+static NTSTATUS dcesrv_netr_NetrEnumerateTrustedDomains(struct 
dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
                       struct netr_NetrEnumerateTrustedDomains *r)
 {
        DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c
index b1d6d1b..03de3bd 100644
--- a/source4/torture/rpc/netlogon.c
+++ b/source4/torture/rpc/netlogon.c
@@ -2139,7 +2139,7 @@ static bool test_netr_NetrEnumerateTrustedDomains(struct 
torture_context *tctx,
 
        status = dcerpc_netr_NetrEnumerateTrustedDomains_r(b, tctx, &r);
        torture_assert_ntstatus_ok(tctx, status, 
"netr_NetrEnumerateTrustedDomains");
-       torture_assert_werr_ok(tctx, r.out.result, 
"NetrEnumerateTrustedDomains");
+       torture_assert_ntstatus_ok(tctx, r.out.result, 
"NetrEnumerateTrustedDomains");
 
        return true;
 }


-- 
Samba Shared Repository

Reply via email to