The branch, master has been updated via 6c07505 s4:librpc/dcerpc_smb2: fix smb2_write_callback() via 926b339 s4:librpc/dcerpc_smb: fix smb_write_callback() from ac79427 s4:torture:smb2: avoid leaking tree connects up to the main function from the durable_open test
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 6c07505b15e3822cf5fe09b0e32794b6abecbeeb Author: Stefan Metzmacher <me...@samba.org> Date: Thu Oct 27 22:55:17 2011 +0200 s4:librpc/dcerpc_smb2: fix smb2_write_callback() The should use smb2_write_recv() to get the result. metze Autobuild-User: Stefan Metzmacher <me...@samba.org> Autobuild-Date: Fri Oct 28 09:55:48 CEST 2011 on sn-devel-104 commit 926b3394b653a9bef561fea9c89a18a1850df6f9 Author: Stefan Metzmacher <me...@samba.org> Date: Thu Oct 27 22:55:17 2011 +0200 s4:librpc/dcerpc_smb: fix smb_write_callback() The should use smb_raw_write_recv() to get the result. metze ----------------------------------------------------------------------- Summary of changes: source4/librpc/rpc/dcerpc_smb.c | 15 ++++++++++----- source4/librpc/rpc/dcerpc_smb2.c | 14 +++++++++----- 2 files changed, 19 insertions(+), 10 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c index c231295..bdba217 100644 --- a/source4/librpc/rpc/dcerpc_smb.c +++ b/source4/librpc/rpc/dcerpc_smb.c @@ -308,13 +308,18 @@ static NTSTATUS smb_send_trans_request(struct dcecli_connection *c, DATA_BLOB *b static void smb_write_callback(struct smbcli_request *req) { struct dcecli_connection *c = (struct dcecli_connection *)req->async.private_data; + union smb_write io; + NTSTATUS status; - if (!NT_STATUS_IS_OK(req->status)) { - DEBUG(0,("dcerpc_smb: write callback error\n")); - pipe_dead(c, req->status); - } + ZERO_STRUCT(io); + io.generic.level = RAW_WRITE_WRITEX; - smbcli_request_destroy(req); + status = smb_raw_write_recv(req, &io); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0,("dcerpc_smb: write callback error: %s\n", + nt_errstr(status))); + pipe_dead(c, status); + } } /* diff --git a/source4/librpc/rpc/dcerpc_smb2.c b/source4/librpc/rpc/dcerpc_smb2.c index 75fb423..0de8935 100644 --- a/source4/librpc/rpc/dcerpc_smb2.c +++ b/source4/librpc/rpc/dcerpc_smb2.c @@ -284,13 +284,17 @@ static NTSTATUS smb2_send_trans_request(struct dcecli_connection *c, DATA_BLOB * static void smb2_write_callback(struct smb2_request *req) { struct dcecli_connection *c = (struct dcecli_connection *)req->async.private_data; + struct smb2_write io; + NTSTATUS status; - if (!NT_STATUS_IS_OK(req->status)) { - DEBUG(0,("dcerpc_smb2: write callback error\n")); - pipe_dead(c, req->status); - } + ZERO_STRUCT(io); - smb2_request_destroy(req); + status = smb2_write_recv(req, &io); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0,("dcerpc_smb2: write callback error: %s\n", + nt_errstr(status))); + pipe_dead(c, status); + } } /* -- Samba Shared Repository