From b8b6cddb29b51dcbe0d352c1ce780804ee0664fd Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 20 Jan 2009 15:21:04 +0100 Subject: Remove some smb fsp knowledge from rpc_server/ np_open/read/write don't have to know about files_struct --- source3/smbd/ipc.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source3/smbd/ipc.c') 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; -- cgit