]> git.samba.org - vlendec/samba-autobuild/.git/commitdiff
r19143: getdcname on the NETLOGON pipe returns WERROR, not NTSTATUS.
authorGünther Deschner <gd@samba.org>
Fri, 6 Oct 2006 16:13:10 +0000 (16:13 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:15:16 +0000 (12:15 -0500)
Guenther
(This used to be commit 44e228ac796fca2db8509915067511ed705032bf)

source3/include/rpc_netlogon.h
source3/nsswitch/winbindd_cm.c
source3/nsswitch/winbindd_misc.c
source3/rpc_client/cli_netlogon.c
source3/rpc_parse/parse_net.c
source3/rpcclient/cmd_netlogon.c

index 0a515b74f37043a8323cf4e04f4ea927f685ea53..c72a35749fe63d0aa9c85ca424e6d9733cb759c3 100644 (file)
@@ -421,7 +421,7 @@ typedef struct net_q_getdcname {
 typedef struct net_r_getdcname {
        uint32  ptr_dcname;
        UNISTR2 uni_dcname;
-       NTSTATUS status;
+       WERROR status;
 } NET_R_GETDCNAME;
 
 /* NET_Q_TRUST_DOM_LIST - LSA Query Trusted Domains */
index 17663a7cfcd6f7f595c0ffff6be4f694b0a2be3c..8f82f97d88d2c7590602fcfdc8e8731db7f184aa 100644 (file)
@@ -289,6 +289,7 @@ static BOOL get_dc_name_via_netlogon(const struct winbindd_domain *domain,
        struct winbindd_domain *our_domain = NULL;
        struct rpc_pipe_client *netlogon_pipe = NULL;
        NTSTATUS result;
+       WERROR werr;
        TALLOC_CTX *mem_ctx;
 
        fstring tmp;
@@ -316,14 +317,14 @@ static BOOL get_dc_name_via_netlogon(const struct winbindd_domain *domain,
                return False;
        }
 
-       result = rpccli_netlogon_getdcname(netlogon_pipe, mem_ctx, our_domain->dcname,
+       werr = rpccli_netlogon_getdcname(netlogon_pipe, mem_ctx, our_domain->dcname,
                                           domain->name, tmp);
 
        talloc_destroy(mem_ctx);
 
-       if (!NT_STATUS_IS_OK(result)) {
+       if (!W_ERROR_IS_OK(werr)) {
                DEBUG(10, ("rpccli_netlogon_getdcname failed: %s\n",
-                          nt_errstr(result)));
+                          dos_errstr(werr)));
                return False;
        }
 
index 9fb05d9df6e251b00619c9640aee0b592530d81c..34ce468516119d66596e7fbefdfe4d45036e94d4 100644 (file)
@@ -195,6 +195,7 @@ enum winbindd_result winbindd_dual_getdcname(struct winbindd_domain *domain,
        char *p;
        struct rpc_pipe_client *netlogon_pipe;
        NTSTATUS result;
+       WERROR werr;
 
        state->request.domain_name
                [sizeof(state->request.domain_name)-1] = '\0';
@@ -209,12 +210,12 @@ enum winbindd_result winbindd_dual_getdcname(struct winbindd_domain *domain,
                return WINBINDD_ERROR;
        }
 
-       result = rpccli_netlogon_getdcname(netlogon_pipe, state->mem_ctx, domain->dcname,
+       werr = rpccli_netlogon_getdcname(netlogon_pipe, state->mem_ctx, domain->dcname,
                                           state->request.domain_name,
                                           dcname_slash);
 
-       if (!NT_STATUS_IS_OK(result)) {
-               DEBUG(5, ("Error requesting DCname: %s\n", nt_errstr(result)));
+       if (!W_ERROR_IS_OK(werr)) {
+               DEBUG(5, ("Error requesting DCname: %s\n", dos_errstr(werr)));
                return WINBINDD_ERROR;
        }
 
index faecf9f3fe81d4cd776bc1442d4025f5c1a1d0bf..5396de9bf078ba2d5e5b23cdb6b33eb754d50383 100644 (file)
@@ -382,14 +382,14 @@ NTSTATUS rpccli_netlogon_logon_ctrl2(struct rpc_pipe_client *cli, TALLOC_CTX *me
 
 /* GetDCName */
 
-NTSTATUS rpccli_netlogon_getdcname(struct rpc_pipe_client *cli,
-                                  TALLOC_CTX *mem_ctx, const char *mydcname,
-                                  const char *domainname, fstring newdcname)
+WERROR rpccli_netlogon_getdcname(struct rpc_pipe_client *cli,
+                                TALLOC_CTX *mem_ctx, const char *mydcname,
+                                const char *domainname, fstring newdcname)
 {
        prs_struct qbuf, rbuf;
        NET_Q_GETDCNAME q;
        NET_R_GETDCNAME r;
-       NTSTATUS result;
+       WERROR result;
        fstring mydcname_slash;
 
        ZERO_STRUCT(q);
@@ -402,16 +402,16 @@ NTSTATUS rpccli_netlogon_getdcname(struct rpc_pipe_client *cli,
 
        /* Marshall data and send request */
 
-       CLI_DO_RPC(cli, mem_ctx, PI_NETLOGON, NET_GETDCNAME,
+       CLI_DO_RPC_WERR(cli, mem_ctx, PI_NETLOGON, NET_GETDCNAME,
                q, r,
                qbuf, rbuf,
                net_io_q_getdcname,
                net_io_r_getdcname,
-               NT_STATUS_UNSUCCESSFUL);
+               WERR_GENERAL_FAILURE);
 
        result = r.status;
 
-       if (NT_STATUS_IS_OK(result)) {
+       if (W_ERROR_IS_OK(result)) {
                rpcstr_pull_unistr2_fstring(newdcname, &r.uni_dcname);
        }
 
index ac8921987a749430d04926011ee8755a8e63a5bf..6f7c453edf506ead9f42f84ae06576a913756086 100644 (file)
@@ -560,7 +560,7 @@ BOOL net_io_r_getdcname(const char *desc, NET_R_GETDCNAME *r_t, prs_struct *ps,
        if (!prs_align(ps))
                return False;
 
-       if (!prs_ntstatus("status", ps, depth, &r_t->status))
+       if (!prs_werror("status", ps, depth, &r_t->status))
                return False;
 
        return True;
index ee0fc2e14c2b0210a36ff9cc6b0f41e81e3f9304..1a145711cc7ac26b62c925c97716ea2590d532d0 100644 (file)
@@ -45,21 +45,21 @@ static NTSTATUS cmd_netlogon_logon_ctrl2(struct rpc_pipe_client *cli,
        return result;
 }
 
-static NTSTATUS cmd_netlogon_getdcname(struct rpc_pipe_client *cli, 
-                                      TALLOC_CTX *mem_ctx, int argc, 
-                                      const char **argv)
+static WERROR cmd_netlogon_getdcname(struct rpc_pipe_client *cli, 
+                                    TALLOC_CTX *mem_ctx, int argc, 
+                                    const char **argv)
 {
        fstring dcname;
-       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+       WERROR result = WERR_GENERAL_FAILURE;
 
        if (argc != 2) {
                fprintf(stderr, "Usage: %s domainname\n", argv[0]);
-               return NT_STATUS_OK;
+               return WERR_OK;
        }
 
        result = rpccli_netlogon_getdcname(cli, mem_ctx, cli->cli->desthost, argv[1], dcname);
 
-       if (!NT_STATUS_IS_OK(result))
+       if (!W_ERROR_IS_OK(result))
                goto done;
 
        /* Display results */
@@ -368,7 +368,7 @@ struct cmd_set netlogon_commands[] = {
        { "NETLOGON" },
 
        { "logonctrl2", RPC_RTYPE_NTSTATUS, cmd_netlogon_logon_ctrl2, NULL, PI_NETLOGON, NULL, "Logon Control 2",     "" },
-       { "getdcname", RPC_RTYPE_NTSTATUS, cmd_netlogon_getdcname, NULL, PI_NETLOGON, NULL, "Get trusted DC name",     "" },
+       { "getdcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_getdcname, PI_NETLOGON, NULL, "Get trusted DC name",     "" },
        { "dsr_getdcname", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getdcname, PI_NETLOGON, NULL, "Get trusted DC name",     "" },
        { "dsr_getsitename", RPC_RTYPE_WERROR, NULL, cmd_netlogon_dsr_getsitename, PI_NETLOGON, NULL, "Get sitename",     "" },
        { "logonctrl",  RPC_RTYPE_NTSTATUS, cmd_netlogon_logon_ctrl,  NULL, PI_NETLOGON, NULL, "Logon Control",       "" },