diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-10-27 22:55:17 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-10-28 08:11:00 +0200 |
commit | 926b3394b653a9bef561fea9c89a18a1850df6f9 (patch) | |
tree | fced480dec7c2135f8dd83803920c488f59e1677 /source4/librpc | |
parent | ac79427aa003542984769091188bd40059759cc9 (diff) | |
download | samba-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')
-rw-r--r-- | source4/librpc/rpc/dcerpc_smb.c | 15 |
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); + } } /* |