summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/reply.c17
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);