diff options
-rw-r--r-- | source3/smbd/reply.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 082775f1ae..43af338c36 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -3056,6 +3056,14 @@ void reply_readbraw(struct smb_request *req) return; } + if (smbd_server_conn->smb1.echo_handler.trusted_fde) { + DEBUG(2,("SMBreadbraw rejected with NOT_SUPPORTED because of" + "'fork echo handler = yes'\n")); + reply_readbraw_error(); + END_PROFILE(SMBreadbraw); + return; + } + /* * Special check if an oplock break has been issued * and the readraw request croses on the wire, we must @@ -3768,6 +3776,15 @@ void reply_writebraw(struct smb_request *req) return; } + if (smbd_server_conn->smb1.echo_handler.trusted_fde) { + DEBUG(2,("SMBwritebraw rejected with NOT_SUPPORTED because of" + "'fork echo handler = yes'\n")); + reply_nterror(req, NT_STATUS_NOT_SUPPORTED); + error_to_writebrawerr(req); + END_PROFILE(SMBwritebraw); + return; + } + fsp = file_fsp(req, SVAL(req->vwv+0, 0)); if (!check_fsp(conn, req, fsp)) { error_to_writebrawerr(req); |