[SCM] Samba Shared Repository - branch master updated
Andreas Schneider
asn at samba.org
Thu Jan 13 07:07:02 MST 2011
The branch, master has been updated
via a556896 s3-build: remove RPCCLI_WINREG subsystem.
via 2e54b01 s3-waf: remove RPCCLI_WINREG subsystem.
via 166504a s3-net_registry: prefer dcerpc_winreg_X functions.
via da43345 s3-net: prefer dcerpc_winreg_X functions.
via a451c54 s3-spoolss: no need to include cli_winreg header anymore.
via d97eb89 s3-rpcclient: prefer dcerpc_winreg_X functions.
via 7e95900 s3-build: remove RPCCLI_SRVSVC subsystem.
via 9204e04 s3-waf: remove RPCCLI_SRVSVC subsystem.
via bded49f s3-rpcclient: prefer dcerpc_srvsvc_X functions.
via 8aa5b06 s3-net: prefer dcerpc_srvsvc_X functions.
via 1ea6dd3 s3-smbtree: prefer dcerpc_srvsvc_X functions.
via 4189c00 s3-lanman: prefer dcerpc_srvsvc_X functions.
via 44e048f s3-libsmbclient: prefer dcerpc_srvsvc_X functions.
via fccfd29 s3-smbclient: prefer dcerpc_srvsvc_X functions.
via 1ef94df s3-libnetapi: prefer dcerpc_srvsvc_X functions.
via aa4efa1 s3-build: remove RPCCLI_NETLOGON subsystem.
via 9a9ee03 s3-waf: remove RPCCLI_NETLOGON subsystem.
via 5e4b327 s3-rpcclient: prefer dcerpc_netr_X functions.
via c9b3404 s3-winbind: prefer dcerpc_netr_X functions.
via 232378c s3-rpc_client: prefer dcerpc_netr_X functions.
via 1259e93 s3-net: prefer dcerpc_netr_X functions.
via f3eb5c2 s3-libnet: prefer dcerpc_netr_X functions.
via 425753e s3-libnetapi: prefer dcerpc_netr_X functions.
via f9ca690 s3-net: remove some pointless fstrings in "net rpc service".
via d0c05ab s3-net: restructure "net rpc service" and add open_scm().
via 3e2821a s3-net: restructure "net rpc service" and add open_service().
via 5ad7d6a s3-build: remove RPCCLI_SVCCTL subsystem.
via 067e548 s3-waf: remove RPCCLI_SVCCTL subsystem.
via 8e58855 s3-svcctl: prefer dcerpc_svcctl_X functions.
from 3b78fcf s4:torture/nbench/nbench.c - initialise "n"
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit a556896d1e2c79c39e95f0903fb365fe3a308a2c
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 22:55:43 2011 +0100
s3-build: remove RPCCLI_WINREG subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
Autobuild-User: Andreas Schneider <asn at samba.org>
Autobuild-Date: Thu Jan 13 15:06:36 CET 2011 on sn-devel-104
commit 2e54b01bde9af9df1a00a7b3df5cf6270b3fe56a
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 22:55:34 2011 +0100
s3-waf: remove RPCCLI_WINREG subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 166504adb711e0bf582d71c38f5b08beb2806978
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 22:53:52 2011 +0100
s3-net_registry: prefer dcerpc_winreg_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit da433458e5ba82e9cf94aed04ecfcda89b287331
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 21:59:23 2011 +0100
s3-net: prefer dcerpc_winreg_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit a451c54b3db9da5f0cfda0b72c7af1eae3ada6f8
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 21:11:44 2011 +0100
s3-spoolss: no need to include cli_winreg header anymore.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit d97eb89c2a0f7ab4543922a417f1fb9fcd8fbaec
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 21:11:17 2011 +0100
s3-rpcclient: prefer dcerpc_winreg_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 7e959004d790536cc932285c2d38a566ea130b5d
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 13:25:51 2011 +0100
s3-build: remove RPCCLI_SRVSVC subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 9204e04f274b69b34dd3da8bf63e4eeb7050cb50
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 13:25:42 2011 +0100
s3-waf: remove RPCCLI_SRVSVC subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit bded49f5d637c30ae33564d0642d1e58adddaaec
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 13:22:08 2011 +0100
s3-rpcclient: prefer dcerpc_srvsvc_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 8aa5b067b9dfa1897dc12316987686d1e1c5946d
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 13:11:41 2011 +0100
s3-net: prefer dcerpc_srvsvc_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 1ea6dd35f4ebca968e23602ba009f45e4f914161
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 13:01:57 2011 +0100
s3-smbtree: prefer dcerpc_srvsvc_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 4189c00caeaa9cdd71d9e5cbb35e2efdd9ad3ac6
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 13:00:49 2011 +0100
s3-lanman: prefer dcerpc_srvsvc_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 44e048f7a89a2fd26cca680cb9e53c02103d7750
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 12:58:44 2011 +0100
s3-libsmbclient: prefer dcerpc_srvsvc_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit fccfd29283154d9ec252fcb4c26f21301150dc5f
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 12:56:55 2011 +0100
s3-smbclient: prefer dcerpc_srvsvc_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 1ef94dffe6e0b86e0ff30f7d37dc81fc251f6d95
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 12:51:07 2011 +0100
s3-libnetapi: prefer dcerpc_srvsvc_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit aa4efa154f9f7b2d152a99f822c3970f3b736705
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 12:12:32 2011 +0100
s3-build: remove RPCCLI_NETLOGON subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 9a9ee03ae8331e81281c12b159df1dd66b5cc851
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 12:12:22 2011 +0100
s3-waf: remove RPCCLI_NETLOGON subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 5e4b327c4f1a9a09cb46514e7ed5c213031f1218
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 12:08:42 2011 +0100
s3-rpcclient: prefer dcerpc_netr_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit c9b3404c68b0b5b1f2f3008736d77c476cc0e398
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 11:55:34 2011 +0100
s3-winbind: prefer dcerpc_netr_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 232378c6e5b1db9facd3c74b7fa82ed9a3b4ef67
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 11:36:06 2011 +0100
s3-rpc_client: prefer dcerpc_netr_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 1259e93ac07fa86eacf0870744b7c6a056a30c57
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 11:27:26 2011 +0100
s3-net: prefer dcerpc_netr_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit f3eb5c234e3c4e07c9839c940c4558a169087dbf
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 11:21:18 2011 +0100
s3-libnet: prefer dcerpc_netr_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 425753ebe3e85e1e7ea939937269c10bc5f7fd73
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 11:17:48 2011 +0100
s3-libnetapi: prefer dcerpc_netr_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit f9ca6904a474e8c33532708977878940ad5696e0
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 19:12:07 2011 +0100
s3-net: remove some pointless fstrings in "net rpc service".
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit d0c05ab2ec5af5090048091d65a48736dcc2ba6b
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 19:08:48 2011 +0100
s3-net: restructure "net rpc service" and add open_scm().
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 3e2821acda1dd2197b82048e80ef190f46068832
Author: Günther Deschner <gd at samba.org>
Date: Wed Jan 12 19:00:16 2011 +0100
s3-net: restructure "net rpc service" and add open_service().
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 5ad7d6aaa8f0067e23ce5ef892026a0898fc1068
Author: Günther Deschner <gd at samba.org>
Date: Tue Jan 11 23:22:18 2011 +0100
s3-build: remove RPCCLI_SVCCTL subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 067e54881846baf35a456fcc546a7cc9e3180ac4
Author: Günther Deschner <gd at samba.org>
Date: Tue Jan 11 23:22:07 2011 +0100
s3-waf: remove RPCCLI_SVCCTL subsystem.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 8e588550b9c373b0be50c27978782a4574b92728
Author: Günther Deschner <gd at samba.org>
Date: Tue Jan 11 23:21:41 2011 +0100
s3-svcctl: prefer dcerpc_svcctl_X functions.
Guenther
Signed-off-by: Andreas Schneider <asn at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/Makefile.in | 12 +-
source3/client/client.c | 7 +-
source3/lib/netapi/file.c | 29 ++-
source3/lib/netapi/getdc.c | 22 ++-
source3/lib/netapi/netlogon.c | 23 ++-
source3/lib/netapi/serverinfo.c | 25 ++-
source3/lib/netapi/share.c | 47 +++-
source3/libnet/libnet_join.c | 2 +-
source3/libnet/libnet_samsync.c | 28 ++-
source3/libsmb/libsmb_dir.c | 22 ++-
source3/rpc_client/cli_netlogon.c | 92 +++++--
source3/rpc_server/srv_spoolss_util.c | 2 +-
source3/rpcclient/cmd_netlogon.c | 109 ++++++--
source3/rpcclient/cmd_srvsvc.c | 118 +++++++--
source3/rpcclient/cmd_winreg.c | 21 +-
source3/smbd/lanman.c | 12 +-
source3/utils/net_rpc.c | 100 ++++++--
source3/utils/net_rpc_registry.c | 373 ++++++++++++++++++++--------
source3/utils/net_rpc_service.c | 451 ++++++++++++++++++++-------------
source3/utils/smbtree.c | 7 +-
source3/winbindd/winbindd_ads.c | 14 +-
source3/winbindd/winbindd_cm.c | 32 ++-
source3/winbindd/winbindd_dual_srv.c | 42 ++-
source3/winbindd/winbindd_misc.c | 1 -
source3/wscript_build | 36 +--
25 files changed, 1117 insertions(+), 510 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 5928973..dd719a1 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -349,8 +349,7 @@ LIBCLI_SPOOLSS_OBJ = librpc/gen_ndr/cli_spoolss.o \
LIBCLI_EVENTLOG_OBJ = librpc/gen_ndr/ndr_eventlog_c.o
-LIBCLI_WINREG_OBJ = librpc/gen_ndr/cli_winreg.o \
- librpc/gen_ndr/ndr_winreg_c.o
+LIBCLI_WINREG_OBJ = librpc/gen_ndr/ndr_winreg_c.o
LIBCLI_NTSVCS_OBJ = librpc/gen_ndr/ndr_ntsvcs_c.o
@@ -365,13 +364,11 @@ LIBCLI_INITSHUTDOWN_OBJ = librpc/gen_ndr/ndr_initshutdown_c.o
LIBCLI_DSSETUP_OBJ = librpc/gen_ndr/ndr_dssetup_c.o
-LIBCLI_SVCCTL_OBJ = librpc/gen_ndr/cli_svcctl.o \
- librpc/gen_ndr/ndr_svcctl_c.o
+LIBCLI_SVCCTL_OBJ = librpc/gen_ndr/ndr_svcctl_c.o
LIBCLI_WKSSVC_OBJ = librpc/gen_ndr/ndr_wkssvc_c.o
-LIBCLI_SRVSVC_OBJ = librpc/gen_ndr/cli_srvsvc.o \
- librpc/gen_ndr/ndr_srvsvc_c.o
+LIBCLI_SRVSVC_OBJ = librpc/gen_ndr/ndr_srvsvc_c.o
LIBCLI_LSA_OBJ = librpc/gen_ndr/cli_lsa.o \
librpc/gen_ndr/ndr_lsa_c.o \
@@ -382,8 +379,7 @@ LIBCLI_SAMR_OBJ = librpc/gen_ndr/cli_samr.o \
librpc/gen_ndr/ndr_samr_c.o \
rpc_client/cli_samr.o
-LIBCLI_NETLOGON_OBJ = librpc/gen_ndr/cli_netlogon.o \
- librpc/gen_ndr/ndr_netlogon_c.o \
+LIBCLI_NETLOGON_OBJ = librpc/gen_ndr/ndr_netlogon_c.o \
rpc_client/cli_netlogon.o
LIBCLI_EPMAPPER_OBJ = librpc/gen_ndr/ndr_epmapper_c.o
diff --git a/source3/client/client.c b/source3/client/client.c
index 8486bb2..33c1a24 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -24,7 +24,7 @@
#include "includes.h"
#include "popt_common.h"
#include "client/client_proto.h"
-#include "../librpc/gen_ndr/cli_srvsvc.h"
+#include "../librpc/gen_ndr/ndr_srvsvc_c.h"
#include "../lib/util/select.h"
#include "system/readline.h"
#include "../libcli/smbreadline/smbreadline.h"
@@ -3973,6 +3973,7 @@ static bool browse_host_rpc(bool sort)
uint32_t resume_handle = 0;
uint32_t total_entries = 0;
int i;
+ struct dcerpc_binding_handle *b;
status = cli_rpc_pipe_open_noauth(cli, &ndr_table_srvsvc.syntax_id,
&pipe_hnd);
@@ -3984,13 +3985,15 @@ static bool browse_host_rpc(bool sort)
return false;
}
+ b = pipe_hnd->binding_handle;
+
ZERO_STRUCT(info_ctr);
ZERO_STRUCT(ctr1);
info_ctr.level = 1;
info_ctr.ctr.ctr1 = &ctr1;
- status = rpccli_srvsvc_NetShareEnumAll(pipe_hnd, frame,
+ status = dcerpc_srvsvc_NetShareEnumAll(b, frame,
pipe_hnd->desthost,
&info_ctr,
0xffffffff,
diff --git a/source3/lib/netapi/file.c b/source3/lib/netapi/file.c
index 6d76be0..a8342ac 100644
--- a/source3/lib/netapi/file.c
+++ b/source3/lib/netapi/file.c
@@ -23,7 +23,7 @@
#include "lib/netapi/netapi.h"
#include "lib/netapi/netapi_private.h"
#include "lib/netapi/libnetapi.h"
-#include "../librpc/gen_ndr/cli_srvsvc.h"
+#include "../librpc/gen_ndr/ndr_srvsvc_c.h"
/****************************************************************
****************************************************************/
@@ -34,6 +34,7 @@ WERROR NetFileClose_r(struct libnetapi_ctx *ctx,
WERROR werr;
NTSTATUS status;
struct rpc_pipe_client *pipe_cli = NULL;
+ struct dcerpc_binding_handle *b;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_srvsvc.syntax_id,
@@ -42,7 +43,9 @@ WERROR NetFileClose_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_srvsvc_NetFileClose(pipe_cli, talloc_tos(),
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_srvsvc_NetFileClose(b, talloc_tos(),
r->in.server_name,
r->in.fileid,
&werr);
@@ -116,6 +119,7 @@ WERROR NetFileGetInfo_r(struct libnetapi_ctx *ctx,
struct rpc_pipe_client *pipe_cli = NULL;
union srvsvc_NetFileInfo info;
uint32_t num_entries = 0;
+ struct dcerpc_binding_handle *b;
if (!r->out.buffer) {
return WERR_INVALID_PARAM;
@@ -136,12 +140,19 @@ WERROR NetFileGetInfo_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_srvsvc_NetFileGetInfo(pipe_cli, talloc_tos(),
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_srvsvc_NetFileGetInfo(b, talloc_tos(),
r->in.server_name,
r->in.fileid,
r->in.level,
&info,
&werr);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
if (!W_ERROR_IS_OK(werr)) {
goto done;
}
@@ -182,6 +193,7 @@ WERROR NetFileEnum_r(struct libnetapi_ctx *ctx,
struct srvsvc_NetFileCtr3 ctr3;
uint32_t num_entries = 0;
uint32_t i;
+ struct dcerpc_binding_handle *b;
if (!r->out.buffer) {
return WERR_INVALID_PARAM;
@@ -202,6 +214,8 @@ WERROR NetFileEnum_r(struct libnetapi_ctx *ctx,
goto done;
}
+ b = pipe_cli->binding_handle;
+
ZERO_STRUCT(info_ctr);
info_ctr.level = r->in.level;
@@ -216,7 +230,7 @@ WERROR NetFileEnum_r(struct libnetapi_ctx *ctx,
break;
}
- status = rpccli_srvsvc_NetFileEnum(pipe_cli, talloc_tos(),
+ status = dcerpc_srvsvc_NetFileEnum(b, talloc_tos(),
r->in.server_name,
r->in.base_path,
r->in.user_name,
@@ -225,7 +239,12 @@ WERROR NetFileEnum_r(struct libnetapi_ctx *ctx,
r->out.total_entries,
r->out.resume_handle,
&werr);
- if (NT_STATUS_IS_ERR(status)) {
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
+ if (!W_ERROR_IS_OK(werr) && !W_ERROR_EQUAL(werr, WERR_MORE_DATA)) {
goto done;
}
diff --git a/source3/lib/netapi/getdc.c b/source3/lib/netapi/getdc.c
index faf2672..fd5cdc2 100644
--- a/source3/lib/netapi/getdc.c
+++ b/source3/lib/netapi/getdc.c
@@ -19,7 +19,7 @@
#include "includes.h"
-#include "../librpc/gen_ndr/cli_netlogon.h"
+#include "../librpc/gen_ndr/ndr_netlogon_c.h"
#include "librpc/gen_ndr/libnetapi.h"
#include "lib/netapi/netapi.h"
#include "lib/netapi/netapi_private.h"
@@ -43,6 +43,7 @@ WERROR NetGetDCName_r(struct libnetapi_ctx *ctx,
struct rpc_pipe_client *pipe_cli = NULL;
NTSTATUS status;
WERROR werr;
+ struct dcerpc_binding_handle *b;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_netlogon.syntax_id,
@@ -51,7 +52,9 @@ WERROR NetGetDCName_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_netr_GetDcName(pipe_cli, talloc_tos(),
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_netr_GetDcName(b, talloc_tos(),
r->in.server_name,
r->in.domain_name,
(const char **)r->out.buffer,
@@ -83,6 +86,7 @@ WERROR NetGetAnyDCName_r(struct libnetapi_ctx *ctx,
struct rpc_pipe_client *pipe_cli = NULL;
NTSTATUS status;
WERROR werr;
+ struct dcerpc_binding_handle *b;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_netlogon.syntax_id,
@@ -91,12 +95,15 @@ WERROR NetGetAnyDCName_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_netr_GetAnyDCName(pipe_cli, talloc_tos(),
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_netr_GetAnyDCName(b, talloc_tos(),
r->in.server_name,
r->in.domain_name,
(const char **)r->out.buffer,
&werr);
if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
goto done;
}
done:
@@ -142,6 +149,7 @@ WERROR DsGetDcName_r(struct libnetapi_ctx *ctx,
WERROR werr;
NTSTATUS status = NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND;
struct rpc_pipe_client *pipe_cli = NULL;
+ struct dcerpc_binding_handle *b;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_netlogon.syntax_id,
@@ -150,7 +158,9 @@ WERROR DsGetDcName_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_netr_DsRGetDCNameEx(pipe_cli,
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_netr_DsRGetDCNameEx(b,
ctx,
r->in.server_name,
r->in.domain_name,
@@ -159,11 +169,11 @@ WERROR DsGetDcName_r(struct libnetapi_ctx *ctx,
r->in.flags,
(struct netr_DsRGetDCNameInfo **)r->out.dc_info,
&werr);
- if (NT_STATUS_IS_OK(status)) {
+ if (NT_STATUS_IS_OK(status) && W_ERROR_IS_OK(werr)) {
goto done;
}
- status = rpccli_netr_DsRGetDCName(pipe_cli,
+ status = dcerpc_netr_DsRGetDCName(b,
ctx,
r->in.server_name,
r->in.domain_name,
diff --git a/source3/lib/netapi/netlogon.c b/source3/lib/netapi/netlogon.c
index 8c30d6c..0a15063 100644
--- a/source3/lib/netapi/netlogon.c
+++ b/source3/lib/netapi/netlogon.c
@@ -19,7 +19,7 @@
#include "includes.h"
-#include "../librpc/gen_ndr/cli_netlogon.h"
+#include "../librpc/gen_ndr/ndr_netlogon_c.h"
#include "librpc/gen_ndr/libnetapi.h"
#include "lib/netapi/netapi.h"
#include "lib/netapi/netapi_private.h"
@@ -131,6 +131,7 @@ WERROR I_NetLogonControl_r(struct libnetapi_ctx *ctx,
NTSTATUS status;
struct rpc_pipe_client *pipe_cli = NULL;
union netr_CONTROL_QUERY_INFORMATION query;
+ struct dcerpc_binding_handle *b;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_netlogon.syntax_id,
@@ -139,7 +140,9 @@ WERROR I_NetLogonControl_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_netr_LogonControl(pipe_cli, talloc_tos(),
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_netr_LogonControl(b, talloc_tos(),
r->in.server_name,
r->in.function_code,
r->in.query_level,
@@ -149,6 +152,9 @@ WERROR I_NetLogonControl_r(struct libnetapi_ctx *ctx,
werr = ntstatus_to_werror(status);
goto done;
}
+ if (!W_ERROR_IS_OK(werr)) {
+ goto done;
+ }
werr = construct_buffer(ctx, r->in.query_level, &query,
r->out.buffer);
@@ -180,6 +186,7 @@ WERROR I_NetLogonControl2_r(struct libnetapi_ctx *ctx,
struct rpc_pipe_client *pipe_cli = NULL;
union netr_CONTROL_DATA_INFORMATION data;
union netr_CONTROL_QUERY_INFORMATION query;
+ struct dcerpc_binding_handle *b;
werr = construct_data(r->in.function_code, r->in.data, &data);
if (!W_ERROR_IS_OK(werr)) {
@@ -193,11 +200,13 @@ WERROR I_NetLogonControl2_r(struct libnetapi_ctx *ctx,
goto done;
}
+ b = pipe_cli->binding_handle;
+
switch (r->in.function_code) {
case NETLOGON_CONTROL_TC_VERIFY:
case NETLOGON_CONTROL_SET_DBFLAG:
case NETLOGON_CONTROL_FORCE_DNS_REG:
- status = rpccli_netr_LogonControl2Ex(pipe_cli, talloc_tos(),
+ status = dcerpc_netr_LogonControl2Ex(b, talloc_tos(),
r->in.server_name,
r->in.function_code,
r->in.query_level,
@@ -206,7 +215,7 @@ WERROR I_NetLogonControl2_r(struct libnetapi_ctx *ctx,
&werr);
break;
default:
- status = rpccli_netr_LogonControl2(pipe_cli, talloc_tos(),
+ status = dcerpc_netr_LogonControl2(b, talloc_tos(),
r->in.server_name,
r->in.function_code,
r->in.query_level,
@@ -216,12 +225,12 @@ WERROR I_NetLogonControl2_r(struct libnetapi_ctx *ctx,
break;
}
- if (!W_ERROR_IS_OK(werr)) {
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
goto done;
}
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
diff --git a/source3/lib/netapi/serverinfo.c b/source3/lib/netapi/serverinfo.c
index 83b7498..6de97b9 100644
--- a/source3/lib/netapi/serverinfo.c
+++ b/source3/lib/netapi/serverinfo.c
@@ -23,7 +23,7 @@
#include "lib/netapi/netapi.h"
#include "lib/netapi/netapi_private.h"
#include "lib/netapi/libnetapi.h"
-#include "../librpc/gen_ndr/cli_srvsvc.h"
+#include "../librpc/gen_ndr/ndr_srvsvc_c.h"
#include "lib/smbconf/smbconf.h"
#include "lib/smbconf/smbconf_reg.h"
@@ -484,6 +484,7 @@ WERROR NetServerGetInfo_r(struct libnetapi_ctx *ctx,
NTSTATUS status;
WERROR werr;
union srvsvc_NetSrvInfo info;
+ struct dcerpc_binding_handle *b;
if (!r->out.buffer) {
return WERR_INVALID_PARAM;
@@ -509,7 +510,9 @@ WERROR NetServerGetInfo_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_srvsvc_NetSrvGetInfo(pipe_cli, talloc_tos(),
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_srvsvc_NetSrvGetInfo(b, talloc_tos(),
r->in.server_name,
r->in.level,
&info,
@@ -519,6 +522,10 @@ WERROR NetServerGetInfo_r(struct libnetapi_ctx *ctx,
goto done;
}
+ if (!W_ERROR_IS_OK(werr)) {
+ goto done;
+ }
+
status = map_server_info_to_SERVER_INFO_buffer(ctx, r->in.level, &info,
r->out.buffer);
if (!NT_STATUS_IS_OK(status)) {
@@ -598,6 +605,7 @@ WERROR NetServerSetInfo_r(struct libnetapi_ctx *ctx,
NTSTATUS status;
WERROR werr;
union srvsvc_NetSrvInfo info;
+ struct dcerpc_binding_handle *b;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_srvsvc.syntax_id,
@@ -606,6 +614,8 @@ WERROR NetServerSetInfo_r(struct libnetapi_ctx *ctx,
goto done;
}
+ b = pipe_cli->binding_handle;
+
switch (r->in.level) {
case 1005:
info.info1005 = (struct srvsvc_NetSrvInfo1005 *)r->in.buffer;
@@ -615,7 +625,7 @@ WERROR NetServerSetInfo_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_srvsvc_NetSrvSetInfo(pipe_cli, talloc_tos(),
+ status = dcerpc_srvsvc_NetSrvSetInfo(b, talloc_tos(),
r->in.server_name,
r->in.level,
&info,
@@ -640,6 +650,7 @@ WERROR NetRemoteTOD_r(struct libnetapi_ctx *ctx,
NTSTATUS status;
WERROR werr;
struct srvsvc_NetRemoteTODInfo *info = NULL;
+ struct dcerpc_binding_handle *b;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_srvsvc.syntax_id,
@@ -648,7 +659,9 @@ WERROR NetRemoteTOD_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_srvsvc_NetRemoteTOD(pipe_cli, talloc_tos(),
+ b = pipe_cli->binding_handle;
+
+ status = dcerpc_srvsvc_NetRemoteTOD(b, talloc_tos(),
r->in.server_name,
&info,
&werr);
@@ -657,6 +670,10 @@ WERROR NetRemoteTOD_r(struct libnetapi_ctx *ctx,
goto done;
}
+ if (!W_ERROR_IS_OK(werr)) {
+ goto done;
+ }
+
*r->out.buffer = (uint8_t *)talloc_memdup(ctx, info,
sizeof(struct srvsvc_NetRemoteTODInfo));
W_ERROR_HAVE_NO_MEMORY(*r->out.buffer);
diff --git a/source3/lib/netapi/share.c b/source3/lib/netapi/share.c
index 4232a9e..c9c6d14 100644
--- a/source3/lib/netapi/share.c
+++ b/source3/lib/netapi/share.c
@@ -184,6 +184,7 @@ WERROR NetShareAdd_r(struct libnetapi_ctx *ctx,
NTSTATUS status;
struct rpc_pipe_client *pipe_cli = NULL;
union srvsvc_NetShareInfo info;
+ struct dcerpc_binding_handle *b;
if (!r->in.buffer) {
return WERR_INVALID_PARAM;
@@ -206,6 +207,8 @@ WERROR NetShareAdd_r(struct libnetapi_ctx *ctx,
goto done;
}
+ b = pipe_cli->binding_handle;
+
status = map_SHARE_INFO_buffer_to_srvsvc_share_info(ctx,
r->in.buffer,
r->in.level,
@@ -215,12 +218,17 @@ WERROR NetShareAdd_r(struct libnetapi_ctx *ctx,
goto done;
}
- status = rpccli_srvsvc_NetShareAdd(pipe_cli, talloc_tos(),
+ status = dcerpc_srvsvc_NetShareAdd(b, talloc_tos(),
r->in.server_name,
r->in.level,
&info,
r->out.parm_err,
&werr);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
if (!W_ERROR_IS_OK(werr)) {
goto done;
}
@@ -247,6 +255,7 @@ WERROR NetShareDel_r(struct libnetapi_ctx *ctx,
WERROR werr;
--
Samba Shared Repository
More information about the samba-cvs
mailing list