The branch, v3-6-test has been updated via 2127864 s3-build: remove RPCCLI_INITSHUTDOWN subsystem. via de86ea6 s3-waf: remove RPCCLI_INITSHUTDOWN subsystem. via 419ed0e s3-initshutdown: prefer dcerpc_initshutdown_X functions. via e196838 s3-build: remove RPCCLI_EVENTLOG subsystem. via c1216c4 s3-waf: remove RPCCLI_EVENTLOG subsystem. via f80bc11 s3-eventlog: prefer dcerpc_eventlog_X functions. via 8e8ea13 s3-build: remove RPCCLI_WKSSVC subsystem. via de70e8c s3-waf: remove RPCCLI_WKSSVC subsystem. via 3579799 s3-wkssvc: prefer dcerpc_wkssvc_X functions. via 2a2e9ed s3:winbindd: use ndr_wbint_c.h instead of cli_wbint.h via a0818ae s3:winbindd: use ndr_dssetup_c.h instead of cli_dssetup.h via 3763b9e s3:net: use ndr_dssetup_c.h instead of cli_dssetup.h via 8f9be25 s3:rpcclient: use ndr_dssetup_c.h instead of cli_dssetup.h via 4801653 s3:rpcclient: use ndr_dfs_c.h instead of cli_dfs.h from 1b8e145 Fix "make test" - ensure nmbd runs with -S (log to stdout). Also ensure nmbd socket directory isn't created (nmbd will create it).
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test - Log ----------------------------------------------------------------- commit 2127864793fd98930aa1aa4cf6ba9b8bcc2a3253 Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:48:52 2011 +0100 s3-build: remove RPCCLI_INITSHUTDOWN subsystem. Guenther Autobuild-User: Günther Deschner <g...@samba.org> Autobuild-Date: Tue Jan 11 17:59:21 CET 2011 on sn-devel-104 (cherry picked from commit a76dde61bc88ee139d92f4e00f5f390a105e064b) commit de86ea682805dfb844a234197ab94e60bd1a056c Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:48:40 2011 +0100 s3-waf: remove RPCCLI_INITSHUTDOWN subsystem. Guenther (cherry picked from commit 5473d1b81c8b1374bef8a537091454a53128dfaa) commit 419ed0eb780cc23d4ba55562273481be812ff0d9 Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:47:34 2011 +0100 s3-initshutdown: prefer dcerpc_initshutdown_X functions. Guenther (cherry picked from commit d1954ce8e7bf80c19366dd8313ab616b583c9fe7) commit e196838fa5b87a1e7b1d8c1bd85537f969e14e36 Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:24:01 2011 +0100 s3-build: remove RPCCLI_EVENTLOG subsystem. Guenther (cherry picked from commit 2a05561e354dd8b6e96deca7243e49e1168a6951) commit c1216c4e9fb762971f6f0587675fc65e3e859da7 Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:23:49 2011 +0100 s3-waf: remove RPCCLI_EVENTLOG subsystem. Guenther (cherry picked from commit 6cbe4da599bd892b0ddcafe85de23a867c683453) commit f80bc11616d7bf62ec304d64fa94252649f76360 Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:22:55 2011 +0100 s3-eventlog: prefer dcerpc_eventlog_X functions. Guenther (cherry picked from commit fe2b89edee0ced4c4995a0db49128329c7d7f7f2) commit 8e8ea1384dd61fef3ce1fd4388bddd2c64abe64c Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 17:11:48 2011 +0100 s3-build: remove RPCCLI_WKSSVC subsystem. Guenther (cherry picked from commit e5c4f69d40d4a6161a83195253122594000bde70) commit de70e8cdffc696d0c31af85e98ba9e00d7bf848e Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:05:27 2011 +0100 s3-waf: remove RPCCLI_WKSSVC subsystem. Guenther (cherry picked from commit 7c14048f94ba3a26a9832326521f57e72a13446f) commit 35797993d8308f602d5d1e0d7c3f3d8689b7b514 Author: Günther Deschner <g...@samba.org> Date: Tue Jan 11 16:03:24 2011 +0100 s3-wkssvc: prefer dcerpc_wkssvc_X functions. Guenther (cherry picked from commit 4920390913f8b9eb8601a318be56fb272cc9a43b) commit 2a2e9edc21919cbb4b9ffeb84a203e69a9379cf6 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jan 11 13:38:16 2011 +0100 s3:winbindd: use ndr_wbint_c.h instead of cli_wbint.h metze Autobuild-User: Stefan Metzmacher <me...@samba.org> Autobuild-Date: Tue Jan 11 15:40:22 CET 2011 on sn-devel-104 (cherry picked from commit 4f305f438b69b24f803d1b4f27b90d2c81794471) commit a0818ae60b4df756a697bb034744a102c0303db8 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jan 11 13:35:23 2011 +0100 s3:winbindd: use ndr_dssetup_c.h instead of cli_dssetup.h metze (cherry picked from commit cbc7db99d07bfcf7c1e282eaf05567809ce72d96) commit 3763b9e84b4e3005e2043628140f7c84790a6ca5 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jan 11 13:35:08 2011 +0100 s3:net: use ndr_dssetup_c.h instead of cli_dssetup.h metze (cherry picked from commit a175473e342864ce8b43cb5ac64278ca191a200f) commit 8f9be253ccb28770cc6c39f333e24639d97b918a Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jan 11 13:34:41 2011 +0100 s3:rpcclient: use ndr_dssetup_c.h instead of cli_dssetup.h metze (cherry picked from commit f2044d0d116f84a2e737d2739cf83be6a83568f9) commit 48016535e9f1c3c1b936b16ac234cea5d52947c9 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Jan 11 11:24:41 2011 +0100 s3:rpcclient: use ndr_dfs_c.h instead of cli_dfs.h metze (cherry picked from commit f936cfe505b63b8b27089667fd057ff8dce1600b) ----------------------------------------------------------------------- Summary of changes: source3/Makefile.in | 9 +- source3/lib/netapi/joindomain.c | 27 +++- source3/lib/netapi/shutdown.c | 12 ++- source3/rpcclient/cmd_dfs.c | 2 +- source3/rpcclient/cmd_dssetup.c | 2 +- source3/rpcclient/cmd_eventlog.c | 153 ++++++++++++++++------- source3/rpcclient/cmd_wkssvc.c | 17 ++- source3/utils/net_rpc.c | 32 +++-- source3/utils/net_util.c | 2 +- source3/winbindd/wb_dsgetdcname.c | 2 +- source3/winbindd/wb_fill_pwent.c | 2 +- source3/winbindd/wb_getgrsid.c | 2 +- source3/winbindd/wb_getpwsid.c | 2 +- source3/winbindd/wb_gettoken.c | 2 +- source3/winbindd/wb_gid2sid.c | 2 +- source3/winbindd/wb_group_members.c | 2 +- source3/winbindd/wb_lookupname.c | 2 +- source3/winbindd/wb_lookupsid.c | 2 +- source3/winbindd/wb_lookupuseraliases.c | 2 +- source3/winbindd/wb_lookupusergroups.c | 2 +- source3/winbindd/wb_next_grent.c | 2 +- source3/winbindd/wb_next_pwent.c | 2 +- source3/winbindd/wb_query_user_list.c | 2 +- source3/winbindd/wb_queryuser.c | 2 +- source3/winbindd/wb_seqnum.c | 2 +- source3/winbindd/wb_seqnums.c | 2 +- source3/winbindd/wb_sid2gid.c | 2 +- source3/winbindd/wb_sid2uid.c | 2 +- source3/winbindd/wb_uid2sid.c | 2 +- source3/winbindd/winbindd_allocate_gid.c | 2 +- source3/winbindd/winbindd_allocate_uid.c | 2 +- source3/winbindd/winbindd_change_machine_acct.c | 2 +- source3/winbindd/winbindd_check_machine_acct.c | 2 +- source3/winbindd/winbindd_cm.c | 2 +- source3/winbindd/winbindd_dsgetdcname.c | 2 +- source3/winbindd/winbindd_getdcname.c | 2 +- source3/winbindd/winbindd_list_groups.c | 2 +- source3/winbindd/winbindd_list_users.c | 2 +- source3/winbindd/winbindd_lookuprids.c | 2 +- source3/winbindd/winbindd_ping_dc.c | 2 +- source3/wscript_build | 22 +--- 41 files changed, 210 insertions(+), 130 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/Makefile.in b/source3/Makefile.in index 56ae635..c65d728 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -347,8 +347,7 @@ LIBCLI_SPOOLSS_OBJ = librpc/gen_ndr/cli_spoolss.o \ rpc_client/cli_spoolss.o \ rpc_client/init_spoolss.o -LIBCLI_EVENTLOG_OBJ = librpc/gen_ndr/cli_eventlog.o \ - librpc/gen_ndr/ndr_eventlog_c.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 @@ -363,16 +362,14 @@ LIBCLI_DFS_OBJ = librpc/gen_ndr/ndr_dfs_c.o LIBCLI_ECHO_OBJ = librpc/gen_ndr/cli_echo.o \ librpc/gen_ndr/ndr_echo_c.o -LIBCLI_INITSHUTDOWN_OBJ = librpc/gen_ndr/cli_initshutdown.o \ - librpc/gen_ndr/ndr_initshutdown_c.o +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_WKSSVC_OBJ = librpc/gen_ndr/cli_wkssvc.o \ - librpc/gen_ndr/ndr_wkssvc_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 diff --git a/source3/lib/netapi/joindomain.c b/source3/lib/netapi/joindomain.c index 3905709..d17d2d8 100644 --- a/source3/lib/netapi/joindomain.c +++ b/source3/lib/netapi/joindomain.c @@ -26,7 +26,7 @@ #include "lib/netapi/libnetapi.h" #include "librpc/gen_ndr/libnet_join.h" #include "libnet/libnet_join.h" -#include "../librpc/gen_ndr/cli_wkssvc.h" +#include "../librpc/gen_ndr/ndr_wkssvc_c.h" #include "secrets.h" /**************************************************************** @@ -111,6 +111,7 @@ WERROR NetJoinDomain_r(struct libnetapi_ctx *ctx, NTSTATUS status; WERROR werr; unsigned int old_timeout = 0; + struct dcerpc_binding_handle *b; werr = libnetapi_open_pipe(ctx, r->in.server, &ndr_table_wkssvc.syntax_id, @@ -119,6 +120,8 @@ WERROR NetJoinDomain_r(struct libnetapi_ctx *ctx, goto done; } + b = pipe_cli->binding_handle; + if (r->in.password) { encode_wkssvc_join_password_buffer(ctx, r->in.password, @@ -128,7 +131,7 @@ WERROR NetJoinDomain_r(struct libnetapi_ctx *ctx, old_timeout = rpccli_set_timeout(pipe_cli, 600000); - status = rpccli_wkssvc_NetrJoinDomain2(pipe_cli, talloc_tos(), + status = dcerpc_wkssvc_NetrJoinDomain2(b, talloc_tos(), r->in.server, r->in.domain, r->in.account_ou, @@ -241,6 +244,7 @@ WERROR NetUnjoinDomain_r(struct libnetapi_ctx *ctx, NTSTATUS status; WERROR werr; unsigned int old_timeout = 0; + struct dcerpc_binding_handle *b; werr = libnetapi_open_pipe(ctx, r->in.server_name, &ndr_table_wkssvc.syntax_id, @@ -249,6 +253,8 @@ WERROR NetUnjoinDomain_r(struct libnetapi_ctx *ctx, goto done; } + b = pipe_cli->binding_handle; + if (r->in.password) { encode_wkssvc_join_password_buffer(ctx, r->in.password, @@ -258,7 +264,7 @@ WERROR NetUnjoinDomain_r(struct libnetapi_ctx *ctx, old_timeout = rpccli_set_timeout(pipe_cli, 60000); - status = rpccli_wkssvc_NetrUnjoinDomain2(pipe_cli, talloc_tos(), + status = dcerpc_wkssvc_NetrUnjoinDomain2(b, talloc_tos(), r->in.server_name, r->in.account, encrypted_password, @@ -287,6 +293,7 @@ WERROR NetGetJoinInformation_r(struct libnetapi_ctx *ctx, NTSTATUS status; WERROR werr; const char *buffer = NULL; + struct dcerpc_binding_handle *b; werr = libnetapi_open_pipe(ctx, r->in.server_name, &ndr_table_wkssvc.syntax_id, @@ -295,7 +302,9 @@ WERROR NetGetJoinInformation_r(struct libnetapi_ctx *ctx, goto done; } - status = rpccli_wkssvc_NetrGetJoinInformation(pipe_cli, talloc_tos(), + b = pipe_cli->binding_handle; + + status = dcerpc_wkssvc_NetrGetJoinInformation(b, talloc_tos(), r->in.server_name, &buffer, (enum wkssvc_NetJoinStatus *)r->out.name_type, @@ -421,6 +430,7 @@ WERROR NetGetJoinableOUs_r(struct libnetapi_ctx *ctx, struct wkssvc_PasswordBuffer *encrypted_password = NULL; NTSTATUS status; WERROR werr; + struct dcerpc_binding_handle *b; werr = libnetapi_open_pipe(ctx, r->in.server_name, &ndr_table_wkssvc.syntax_id, @@ -429,6 +439,8 @@ WERROR NetGetJoinableOUs_r(struct libnetapi_ctx *ctx, goto done; } + b = pipe_cli->binding_handle; + if (r->in.password) { encode_wkssvc_join_password_buffer(ctx, r->in.password, @@ -436,7 +448,7 @@ WERROR NetGetJoinableOUs_r(struct libnetapi_ctx *ctx, &encrypted_password); } - status = rpccli_wkssvc_NetrGetJoinableOus2(pipe_cli, talloc_tos(), + status = dcerpc_wkssvc_NetrGetJoinableOus2(b, talloc_tos(), r->in.server_name, r->in.domain, r->in.account, @@ -463,6 +475,7 @@ WERROR NetRenameMachineInDomain_r(struct libnetapi_ctx *ctx, struct wkssvc_PasswordBuffer *encrypted_password = NULL; NTSTATUS status; WERROR werr; + struct dcerpc_binding_handle *b; werr = libnetapi_open_pipe(ctx, r->in.server_name, &ndr_table_wkssvc.syntax_id, @@ -471,6 +484,8 @@ WERROR NetRenameMachineInDomain_r(struct libnetapi_ctx *ctx, goto done; } + b = pipe_cli->binding_handle; + if (r->in.password) { encode_wkssvc_join_password_buffer(ctx, r->in.password, @@ -478,7 +493,7 @@ WERROR NetRenameMachineInDomain_r(struct libnetapi_ctx *ctx, &encrypted_password); } - status = rpccli_wkssvc_NetrRenameMachineInDomain2(pipe_cli, talloc_tos(), + status = dcerpc_wkssvc_NetrRenameMachineInDomain2(b, talloc_tos(), r->in.server_name, r->in.new_machine_name, r->in.account, diff --git a/source3/lib/netapi/shutdown.c b/source3/lib/netapi/shutdown.c index 78b797b..199325b 100644 --- a/source3/lib/netapi/shutdown.c +++ b/source3/lib/netapi/shutdown.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_initshutdown.h" +#include "../librpc/gen_ndr/ndr_initshutdown_c.h" #include "rpc_client/init_lsa.h" /**************************************************************** @@ -36,6 +36,7 @@ WERROR NetShutdownInit_r(struct libnetapi_ctx *ctx, NTSTATUS status; struct rpc_pipe_client *pipe_cli = NULL; struct lsa_StringLarge message; + struct dcerpc_binding_handle *b; werr = libnetapi_open_pipe(ctx, r->in.server_name, &ndr_table_initshutdown.syntax_id, @@ -44,9 +45,11 @@ WERROR NetShutdownInit_r(struct libnetapi_ctx *ctx, goto done; } + b = pipe_cli->binding_handle; + init_lsa_StringLarge(&message, r->in.message); - status = rpccli_initshutdown_Init(pipe_cli, talloc_tos(), + status = dcerpc_initshutdown_Init(b, talloc_tos(), NULL, &message, r->in.timeout, @@ -80,6 +83,7 @@ WERROR NetShutdownAbort_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_initshutdown.syntax_id, @@ -88,7 +92,9 @@ WERROR NetShutdownAbort_r(struct libnetapi_ctx *ctx, goto done; } - status = rpccli_initshutdown_Abort(pipe_cli, talloc_tos(), + b = pipe_cli->binding_handle; + + status = dcerpc_initshutdown_Abort(b, talloc_tos(), NULL, &werr); if (!NT_STATUS_IS_OK(status)) { diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 3de6aff..5d682cd 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -21,7 +21,7 @@ #include "includes.h" #include "rpcclient.h" -#include "../librpc/gen_ndr/cli_dfs.h" +#include "../librpc/gen_ndr/ndr_dfs_c.h" /* Check DFS is supported by the remote server */ diff --git a/source3/rpcclient/cmd_dssetup.c b/source3/rpcclient/cmd_dssetup.c index 198c010..5dd8609 100644 --- a/source3/rpcclient/cmd_dssetup.c +++ b/source3/rpcclient/cmd_dssetup.c @@ -21,7 +21,7 @@ #include "includes.h" #include "rpcclient.h" -#include "../librpc/gen_ndr/cli_dssetup.h" +#include "../librpc/gen_ndr/ndr_dssetup_c.h" /* Look up domain related information on a remote host */ diff --git a/source3/rpcclient/cmd_eventlog.c b/source3/rpcclient/cmd_eventlog.c index 481c113..0b8c619 100644 --- a/source3/rpcclient/cmd_eventlog.c +++ b/source3/rpcclient/cmd_eventlog.c @@ -21,7 +21,7 @@ #include "includes.h" #include "rpcclient.h" #include "../librpc/gen_ndr/ndr_eventlog.h" -#include "../librpc/gen_ndr/cli_eventlog.h" +#include "../librpc/gen_ndr/ndr_eventlog_c.h" #include "rpc_client/init_lsa.h" static NTSTATUS get_eventlog_handle(struct rpc_pipe_client *cli, @@ -29,9 +29,10 @@ static NTSTATUS get_eventlog_handle(struct rpc_pipe_client *cli, const char *log, struct policy_handle *handle) { - NTSTATUS status; + NTSTATUS status, result; struct eventlog_OpenUnknown0 unknown0; struct lsa_String logname, servername; + struct dcerpc_binding_handle *b = cli->binding_handle; unknown0.unknown0 = 0x005c; unknown0.unknown1 = 0x0001; @@ -39,18 +40,19 @@ static NTSTATUS get_eventlog_handle(struct rpc_pipe_client *cli, init_lsa_String(&logname, log); init_lsa_String(&servername, NULL); - status = rpccli_eventlog_OpenEventLogW(cli, mem_ctx, + status = dcerpc_eventlog_OpenEventLogW(b, mem_ctx, &unknown0, &logname, &servername, 0x00000001, /* major */ 0x00000001, /* minor */ - handle); + handle, + &result); if (!NT_STATUS_IS_OK(status)) { return status; } - return NT_STATUS_OK; + return result; } static NTSTATUS cmd_eventlog_readlog(struct rpc_pipe_client *cli, @@ -59,7 +61,9 @@ static NTSTATUS cmd_eventlog_readlog(struct rpc_pipe_client *cli, const char **argv) { NTSTATUS status = NT_STATUS_OK; + NTSTATUS result = NT_STATUS_OK; struct policy_handle handle; + struct dcerpc_binding_handle *b = cli->binding_handle; uint32_t flags = EVENTLOG_BACKWARDS_READ | EVENTLOG_SEQUENTIAL_READ; @@ -99,33 +103,41 @@ static NTSTATUS cmd_eventlog_readlog(struct rpc_pipe_client *cli, uint32_t size = 0; uint32_t pos = 0; - status = rpccli_eventlog_ReadEventLogW(cli, mem_ctx, + status = dcerpc_eventlog_ReadEventLogW(b, mem_ctx, &handle, flags, offset, number_of_bytes, data, &sent_size, - &real_size); - if (NT_STATUS_EQUAL(status, NT_STATUS_BUFFER_TOO_SMALL) && + &real_size, + &result); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + if (NT_STATUS_EQUAL(result, NT_STATUS_BUFFER_TOO_SMALL) && real_size > 0 ) { number_of_bytes = real_size; data = talloc_array(mem_ctx, uint8_t, real_size); if (!data) { goto done; } - status = rpccli_eventlog_ReadEventLogW(cli, mem_ctx, + status = dcerpc_eventlog_ReadEventLogW(b, mem_ctx, &handle, flags, offset, number_of_bytes, data, &sent_size, - &real_size); + &real_size, + &result); + if (!NT_STATUS_IS_OK(status)) { + return status; + } } - if (!NT_STATUS_EQUAL(status, NT_STATUS_END_OF_FILE) && - !NT_STATUS_IS_OK(status)) { + if (!NT_STATUS_EQUAL(result, NT_STATUS_END_OF_FILE) && + !NT_STATUS_IS_OK(result)) { goto done; } @@ -157,10 +169,10 @@ static NTSTATUS cmd_eventlog_readlog(struct rpc_pipe_client *cli, offset++; - } while (NT_STATUS_IS_OK(status)); + } while (NT_STATUS_IS_OK(result)); done: - rpccli_eventlog_CloseEventLog(cli, mem_ctx, &handle); + dcerpc_eventlog_CloseEventLog(b, mem_ctx, &handle, &result); return status; } @@ -170,9 +182,10 @@ static NTSTATUS cmd_eventlog_numrecords(struct rpc_pipe_client *cli, int argc, const char **argv) { - NTSTATUS status; + NTSTATUS status, result; struct policy_handle handle; uint32_t number = 0; + struct dcerpc_binding_handle *b = cli->binding_handle; if (argc != 2) { printf("Usage: %s logname\n", argv[0]); @@ -184,17 +197,22 @@ static NTSTATUS cmd_eventlog_numrecords(struct rpc_pipe_client *cli, return status; } - status = rpccli_eventlog_GetNumRecords(cli, mem_ctx, + status = dcerpc_eventlog_GetNumRecords(b, mem_ctx, &handle, - &number); + &number, + &result); if (!NT_STATUS_IS_OK(status)) { goto done; } + if (!NT_STATUS_IS_OK(result)) { + status = result; + goto done; + } printf("number of records: %d\n", number); done: - rpccli_eventlog_CloseEventLog(cli, mem_ctx, &handle); + dcerpc_eventlog_CloseEventLog(b, mem_ctx, &handle, &result); return status; } @@ -204,9 +222,10 @@ static NTSTATUS cmd_eventlog_oldestrecord(struct rpc_pipe_client *cli, int argc, const char **argv) { - NTSTATUS status; + NTSTATUS status, result; struct policy_handle handle; uint32_t oldest_entry = 0; + struct dcerpc_binding_handle *b = cli->binding_handle; if (argc != 2) { printf("Usage: %s logname\n", argv[0]); @@ -218,17 +237,22 @@ static NTSTATUS cmd_eventlog_oldestrecord(struct rpc_pipe_client *cli, return status; } - status = rpccli_eventlog_GetOldestRecord(cli, mem_ctx, + status = dcerpc_eventlog_GetOldestRecord(b, mem_ctx, &handle, - &oldest_entry); + &oldest_entry, + &result); if (!NT_STATUS_IS_OK(status)) { goto done; } + if (!NT_STATUS_IS_OK(result)) { + status = result; + goto done; + } printf("oldest entry: %d\n", oldest_entry); done: - rpccli_eventlog_CloseEventLog(cli, mem_ctx, &handle); + dcerpc_eventlog_CloseEventLog(b, mem_ctx, &handle, &result); return status; } @@ -238,8 +262,9 @@ static NTSTATUS cmd_eventlog_reportevent(struct rpc_pipe_client *cli, int argc, const char **argv) { - NTSTATUS status; + NTSTATUS status, result; struct policy_handle handle; + struct dcerpc_binding_handle *b = cli->binding_handle; uint16_t num_of_strings = 1; uint32_t data_size = 0; @@ -267,7 +292,7 @@ static NTSTATUS cmd_eventlog_reportevent(struct rpc_pipe_client *cli, init_lsa_String(&strings[0], "test event written by rpcclient\n"); init_lsa_String(&servername, NULL); - status = rpccli_eventlog_ReportEventW(cli, mem_ctx, + status = dcerpc_eventlog_ReportEventW(b, mem_ctx, &handle, time(NULL), EVENTLOG_INFORMATION_TYPE, @@ -281,17 +306,22 @@ static NTSTATUS cmd_eventlog_reportevent(struct rpc_pipe_client *cli, data, 0, /* flags */ &record_number, - &time_written); + &time_written, + &result); if (!NT_STATUS_IS_OK(status)) { goto done; } + if (!NT_STATUS_IS_OK(result)) { + status = result; + goto done; + } printf("entry: %d written at %s\n", record_number, http_timestring(talloc_tos(), time_written)); done: - rpccli_eventlog_CloseEventLog(cli, mem_ctx, &handle); + dcerpc_eventlog_CloseEventLog(b, mem_ctx, &handle, &result); return status; } @@ -301,8 +331,9 @@ static NTSTATUS cmd_eventlog_reporteventsource(struct rpc_pipe_client *cli, int argc, const char **argv) { - NTSTATUS status; + NTSTATUS status, result; struct policy_handle handle; + struct dcerpc_binding_handle *b = cli->binding_handle; uint16_t num_of_strings = 1; uint32_t data_size = 0; -- Samba Shared Repository