diff options
author | Günther Deschner <gd@samba.org> | 2007-06-08 10:32:29 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:53:13 -0500 |
commit | eb9ae52981d0275d3830fb533a06472aef3508db (patch) | |
tree | e112491567769b78f1856c9fcdd9976e6cffd3ab | |
parent | 3cc5429b46c7a3c3902525af57899c0256284886 (diff) | |
download | samba-eb9ae52981d0275d3830fb533a06472aef3508db.tar.gz samba-eb9ae52981d0275d3830fb533a06472aef3508db.tar.bz2 samba-eb9ae52981d0275d3830fb533a06472aef3508db.zip |
r23381: Merge netr_GetDcName WERROR return and WERROR_DOMAIN_CONTROLLER_NOT_FOUND from
SAMBA_3_0.
Guenther
(This used to be commit 841ad140a34648ff52d5e44a6642f346ef9eee02)
-rw-r--r-- | source4/libcli/util/doserr.c | 1 | ||||
-rw-r--r-- | source4/libcli/util/doserr.h | 1 | ||||
-rw-r--r-- | source4/librpc/idl/netlogon.idl | 2 | ||||
-rw-r--r-- | source4/rpc_server/netlogon/dcerpc_netlogon.c | 2 | ||||
-rw-r--r-- | source4/torture/rpc/netlogon.c | 4 |
5 files changed, 6 insertions, 4 deletions
diff --git a/source4/libcli/util/doserr.c b/source4/libcli/util/doserr.c index 716ca438db..76c59570a9 100644 --- a/source4/libcli/util/doserr.c +++ b/source4/libcli/util/doserr.c @@ -63,6 +63,7 @@ static const struct werror_code_struct dos_errs[] = { "WERR_JOB_NOT_FOUND", WERR_JOB_NOT_FOUND }, { "WERR_DEST_NOT_FOUND", WERR_DEST_NOT_FOUND }, { "WERR_NOT_LOCAL_DOMAIN", WERR_NOT_LOCAL_DOMAIN }, + { "WERR_DOMAIN_CONTROLLER_NOT_FOUND", WERR_DOMAIN_CONTROLLER_NOT_FOUND }, { "WERR_DEVICE_NOT_AVAILABLE", WERR_DEVICE_NOT_AVAILABLE }, { "WERR_PRINTER_DRIVER_IN_USE", WERR_PRINTER_DRIVER_IN_USE }, { "WERR_STATUS_MORE_ENTRIES", WERR_STATUS_MORE_ENTRIES }, diff --git a/source4/libcli/util/doserr.h b/source4/libcli/util/doserr.h index ddcc060eb6..b091a290b9 100644 --- a/source4/libcli/util/doserr.h +++ b/source4/libcli/util/doserr.h @@ -214,6 +214,7 @@ #define WERR_SESSION_NOT_FOUND W_ERROR(2312) #define WERR_FID_NOT_FOUND W_ERROR(2314) #define WERR_NOT_LOCAL_DOMAIN W_ERROR(2320) +#define WERR_DOMAIN_CONTROLLER_NOT_FOUND W_ERROR(2453) #define WERR_DEVICE_NOT_AVAILABLE W_ERROR(4319) #define WERR_STATUS_MORE_ENTRIES W_ERROR(0x0105) diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl index b83454908e..eede7ed035 100644 --- a/source4/librpc/idl/netlogon.idl +++ b/source4/librpc/idl/netlogon.idl @@ -756,7 +756,7 @@ interface netlogon /*****************/ /* Function 0x0B */ - NTSTATUS netr_GetDcName( + WERROR netr_GetDcName( [in] [string,charset(UTF16)] uint16 logon_server[], [in] [string,charset(UTF16)] uint16 *domainname, [out] [string,charset(UTF16)] uint16 *dcname diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index 38356f7260..20f2959abc 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -692,7 +692,7 @@ static NTSTATUS dcesrv_netr_AccountSync(struct dcesrv_call_state *dce_call, TALL /* netr_GetDcName */ -static NTSTATUS dcesrv_netr_GetDcName(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, +static WERROR dcesrv_netr_GetDcName(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct netr_GetDcName *r) { DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c index 2c566d38ce..ec4ee5d18c 100644 --- a/source4/torture/rpc/netlogon.c +++ b/source4/torture/rpc/netlogon.c @@ -839,8 +839,8 @@ static BOOL test_GetDcName(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx) printf("Testing GetDcName\n"); status = dcerpc_netr_GetDcName(p, mem_ctx, &r); - if (!NT_STATUS_IS_OK(status)) { - printf("GetDcName - %s\n", nt_errstr(status)); + if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(r.out.result)) { + printf("GetDcName - %s/%s\n", nt_errstr(status), win_errstr(r.out.result)); return False; } |