diff options
author | Volker Lendecke <vl@samba.org> | 2009-01-20 15:21:04 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-01-20 16:41:14 +0100 |
commit | b8b6cddb29b51dcbe0d352c1ce780804ee0664fd (patch) | |
tree | 298de8047299256b85c07db5dfebe455781b01dd /source3/smbd/ipc.c | |
parent | bd4718d2812f5f59d890be0284642ab78c3f1bc2 (diff) | |
download | samba-b8b6cddb29b51dcbe0d352c1ce780804ee0664fd.tar.gz samba-b8b6cddb29b51dcbe0d352c1ce780804ee0664fd.tar.bz2 samba-b8b6cddb29b51dcbe0d352c1ce780804ee0664fd.zip |
Remove some smb fsp knowledge from rpc_server/
np_open/read/write don't have to know about files_struct
Diffstat (limited to 'source3/smbd/ipc.c')
-rw-r--r-- | source3/smbd/ipc.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c index fabc8393ce..7c150561b1 100644 --- a/source3/smbd/ipc.c +++ b/source3/smbd/ipc.c @@ -220,8 +220,14 @@ static void api_rpc_trans_reply(connection_struct *conn, return; } - status = np_read(fsp, rdata, max_trans_reply, &data_len, - &is_data_outstanding); + if (!fsp_is_np(fsp)) { + SAFE_FREE(rdata); + api_no_reply(conn,req); + return; + } + + status = np_read(fsp->fake_file_handle, rdata, max_trans_reply, + &data_len, &is_data_outstanding); if (!NT_STATUS_IS_OK(status)) { SAFE_FREE(rdata); api_no_reply(conn,req); @@ -355,7 +361,8 @@ static void api_fd_reply(connection_struct *conn, uint16 vuid, case TRANSACT_DCERPCCMD: { /* dce/rpc command */ ssize_t nwritten; - status = np_write(fsp, data, tdscnt, &nwritten); + status = np_write(fsp->fake_file_handle, data, tdscnt, + &nwritten); if (!NT_STATUS_IS_OK(status)) { api_no_reply(conn, req); return; |