summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-10-27 22:55:17 +0200
committerStefan Metzmacher <metze@samba.org>2011-10-28 08:11:00 +0200
commit926b3394b653a9bef561fea9c89a18a1850df6f9 (patch)
treefced480dec7c2135f8dd83803920c488f59e1677 /source4/librpc/rpc
parentac79427aa003542984769091188bd40059759cc9 (diff)
downloadsamba-926b3394b653a9bef561fea9c89a18a1850df6f9.tar.gz
samba-926b3394b653a9bef561fea9c89a18a1850df6f9.tar.bz2
samba-926b3394b653a9bef561fea9c89a18a1850df6f9.zip
s4:librpc/dcerpc_smb: fix smb_write_callback()
The should use smb_raw_write_recv() to get the result. metze
Diffstat (limited to 'source4/librpc/rpc')
-rw-r--r--source4/librpc/rpc/dcerpc_smb.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c
index c2312953f8..bdba21734c 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);
+ }
}
/*