[SCM] Samba Shared Repository - branch v3-6-test updated

Jeremy Allison jra at samba.org
Thu Jan 13 18:29:54 MST 2011


The branch, v3-6-test has been updated
       via  8b821f3 s3-build: remove RPCCLI_WINREG subsystem.
       via  a0af428 s3-waf: remove RPCCLI_WINREG subsystem.
       via  6843e28 s3-net_registry: prefer dcerpc_winreg_X functions.
       via  05038766 s3-net: prefer dcerpc_winreg_X functions.
       via  fa76080 s3-spoolss: no need to include cli_winreg header anymore.
       via  4bf214b s3-rpcclient: prefer dcerpc_winreg_X functions.
       via  c762b26 s3-build: remove RPCCLI_SRVSVC subsystem.
       via  b937ac1 s3-waf: remove RPCCLI_SRVSVC subsystem.
       via  5bb3410 s3-rpcclient: prefer dcerpc_srvsvc_X functions.
       via  d13af6c s3-net: prefer dcerpc_srvsvc_X functions.
       via  94694e3 s3-smbtree: prefer dcerpc_srvsvc_X functions.
       via  a17b8ec s3-lanman: prefer dcerpc_srvsvc_X functions.
       via  7b9ce6f s3-libsmbclient: prefer dcerpc_srvsvc_X functions.
       via  16dfb65 s3-smbclient: prefer dcerpc_srvsvc_X functions.
       via  52b0f1c s3-libnetapi: prefer dcerpc_srvsvc_X functions.
       via  f26c759 s3-build: remove RPCCLI_NETLOGON subsystem.
       via  116bd99 s3-waf: remove RPCCLI_NETLOGON subsystem.
       via  24d92c5 s3-rpcclient: prefer dcerpc_netr_X functions.
       via  9e34167 s3-winbind: prefer dcerpc_netr_X functions.
       via  cd6e7f1 s3-rpc_client: prefer dcerpc_netr_X functions.
       via  1376fba s3-net: prefer dcerpc_netr_X functions.
       via  662ba30 s3-libnet: prefer dcerpc_netr_X functions.
       via  27e7f92 s3-libnetapi: prefer dcerpc_netr_X functions.
       via  34d1e21 s3-net: remove some pointless fstrings in "net rpc service".
       via  c64837e s3-net: restructure "net rpc service" and add open_scm().
       via  d510583 s3-net: restructure "net rpc service" and add open_service().
       via  102a81e s3-build: remove RPCCLI_SVCCTL subsystem.
       via  6f27c46 s3-waf: remove RPCCLI_SVCCTL subsystem.
       via  88a04a6 s3-svcctl: prefer dcerpc_svcctl_X functions.
      from  10faf6c Fix bug #7909 - map SYNCHRONIZE acl permission statically in zfs_acl vfs module. (cherry picked from commit 75132a58c77257da5c90b92f08941dadb6aab00c)

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


- Log -----------------------------------------------------------------
commit 8b821f3dceb68b429ff3c32a1323596c1cb3ed14
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
    (cherry picked from commit a556896d1e2c79c39e95f0903fb365fe3a308a2c)

commit a0af4286a24d2a293c5aac6e17e700f82148dca6
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>
    (cherry picked from commit 2e54b01bde9af9df1a00a7b3df5cf6270b3fe56a)

commit 6843e286c3477714a6ddc18b4d1738289d924d75
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>
    (cherry picked from commit 166504adb711e0bf582d71c38f5b08beb2806978)

commit 0503876636c7ec9bcd0e5c5b0e8668dfd93d71dd
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>
    (cherry picked from commit da433458e5ba82e9cf94aed04ecfcda89b287331)

commit fa760803580cd74c556bde0af6b4119d0262f0c2
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>
    (cherry picked from commit a451c54b3db9da5f0cfda0b72c7af1eae3ada6f8)

commit 4bf214b4dad4566a2c056a7f6cc055031642a3b1
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>
    (cherry picked from commit d97eb89c2a0f7ab4543922a417f1fb9fcd8fbaec)

commit c762b26fd94c24718e7e0115be5b99c670eaad8b
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>
    (cherry picked from commit 7e959004d790536cc932285c2d38a566ea130b5d)

commit b937ac133ec8fa6f54a1a1719de20642b29f3d86
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>
    (cherry picked from commit 9204e04f274b69b34dd3da8bf63e4eeb7050cb50)

commit 5bb34107a7ece6293184849cb98e4f9f149ecf49
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>
    (cherry picked from commit bded49f5d637c30ae33564d0642d1e58adddaaec)

commit d13af6c247c3a962d8254fe2127f9835cb35dbbf
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>
    (cherry picked from commit 8aa5b067b9dfa1897dc12316987686d1e1c5946d)

commit 94694e3692f87b384939aeb2a84586d60045c860
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>
    (cherry picked from commit 1ea6dd35f4ebca968e23602ba009f45e4f914161)

commit a17b8ec89efe79967d7f5c64b239bb8ce8a6e8ce
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>
    (cherry picked from commit 4189c00caeaa9cdd71d9e5cbb35e2efdd9ad3ac6)

commit 7b9ce6fa65b002fd1f593e722f819ff82e70f905
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>
    (cherry picked from commit 44e048f7a89a2fd26cca680cb9e53c02103d7750)

commit 16dfb6551f60a3a42401393a71c9365f81b51703
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>
    (cherry picked from commit fccfd29283154d9ec252fcb4c26f21301150dc5f)

commit 52b0f1cadae996375245c66049d1e2b03c15d943
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>
    (cherry picked from commit 1ef94dffe6e0b86e0ff30f7d37dc81fc251f6d95)

commit f26c759326eb47db638ec3be87dcfb4821a0b966
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>
    (cherry picked from commit aa4efa154f9f7b2d152a99f822c3970f3b736705)

commit 116bd99611d10ea770b5039aae44387996243a99
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>
    (cherry picked from commit 9a9ee03ae8331e81281c12b159df1dd66b5cc851)

commit 24d92c5e240011f034b3db4379a869c31e6a015d
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>
    (cherry picked from commit 5e4b327c4f1a9a09cb46514e7ed5c213031f1218)

commit 9e34167824df5cc88220658c2cfeb4b3e78a28af
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>
    (cherry picked from commit c9b3404c68b0b5b1f2f3008736d77c476cc0e398)

commit cd6e7f13cc3a239d4a9ad9ab5b61999ecb8b6627
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>
    (cherry picked from commit 232378c6e5b1db9facd3c74b7fa82ed9a3b4ef67)

commit 1376fbab84ec4c85b5deb58f102cdcdbc1e6ad8f
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>
    (cherry picked from commit 1259e93ac07fa86eacf0870744b7c6a056a30c57)

commit 662ba308dc3c84c116748486109ba7baaada8106
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>
    (cherry picked from commit f3eb5c234e3c4e07c9839c940c4558a169087dbf)

commit 27e7f92e5f0042a78447ed0cc6a24c29ad58a801
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>
    (cherry picked from commit 425753ebe3e85e1e7ea939937269c10bc5f7fd73)

commit 34d1e21b90fe7dbd1bd1319e5f67ea380b8ae5ca
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>
    (cherry picked from commit f9ca6904a474e8c33532708977878940ad5696e0)

commit c64837e5f7ddd75ea9caed062df8e03ea9da4eed
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>
    (cherry picked from commit d0c05ab2ec5af5090048091d65a48736dcc2ba6b)

commit d510583b03e99c06a3f31d8aa4f68a7cce1e2980
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>
    (cherry picked from commit 3e2821acda1dd2197b82048e80ef190f46068832)

commit 102a81e2ccebcfede391a32d324e23ade00b7f5b
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>
    (cherry picked from commit 5ad7d6aaa8f0067e23ce5ef892026a0898fc1068)

commit 6f27c46d04185c6a5a250e0e0d3bf8da64317cd9
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>
    (cherry picked from commit 067e54881846baf35a456fcc546a7cc9e3180ac4)

commit 88a04a6e281840963c62456d5f065f0838887ee9
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>
    (cherry picked from commit 8e588550b9c373b0be50c27978782a4574b92728)

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

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