diff options
author | Stefan Metzmacher <metze@samba.org> | 2005-12-06 13:26:24 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:47:08 -0500 |
commit | 2634f22bfcd5172ae20e9fa0d236aee91c43c1ae (patch) | |
tree | 36a16dbf9fb00ee3b1e7b788454022cf947af071 /source4/smb_server/smb2/receive.c | |
parent | e5adca67f255555533934c1eb56268af8bd527a3 (diff) | |
download | samba-2634f22bfcd5172ae20e9fa0d236aee91c43c1ae.tar.gz samba-2634f22bfcd5172ae20e9fa0d236aee91c43c1ae.tar.bz2 samba-2634f22bfcd5172ae20e9fa0d236aee91c43c1ae.zip |
r12092: - add dummy functions for the missing SMB2 opcodes
- implement keepalive and logoff
metze
(This used to be commit 859ab627f45a5acca1deb66b8abdc38eaf49e5a2)
Diffstat (limited to 'source4/smb_server/smb2/receive.c')
-rw-r--r-- | source4/smb_server/smb2/receive.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source4/smb_server/smb2/receive.c b/source4/smb_server/smb2/receive.c index 9afa10463f..7544e0be3e 100644 --- a/source4/smb_server/smb2/receive.c +++ b/source4/smb_server/smb2/receive.c @@ -56,7 +56,7 @@ NTSTATUS smb2srv_setup_reply(struct smb2srv_request *req, uint_t body_fixed_size SIVAL(req->out.hdr, 0, SMB2_MAGIC); SSVAL(req->out.hdr, SMB2_HDR_LENGTH, SMB2_HDR_BODY); SSVAL(req->out.hdr, SMB2_HDR_PAD1, 0); - SIVAL(req->out.hdr, SMB2_HDR_STATUS, 0); + SIVAL(req->out.hdr, SMB2_HDR_STATUS, NT_STATUS_V(req->status)); SSVAL(req->out.hdr, SMB2_HDR_OPCODE, SVAL(req->in.hdr, SMB2_HDR_OPCODE)); SSVAL(req->out.hdr, SMB2_HDR_PAD2, 0); SIVAL(req->out.hdr, SMB2_HDR_FLAGS, 0x00000001); @@ -133,6 +133,9 @@ static NTSTATUS smb2srv_reply(struct smb2srv_request *req) case SMB2_OP_SESSSETUP: smb2srv_sesssetup_recv(req); return NT_STATUS_OK; + case SMB2_OP_LOGOFF: + smb2srv_logoff_recv(req); + return NT_STATUS_OK; case SMB2_OP_TCON: smb2srv_tcon_recv(req); return NT_STATUS_OK; @@ -145,15 +148,27 @@ static NTSTATUS smb2srv_reply(struct smb2srv_request *req) case SMB2_OP_CLOSE: smb2srv_close_recv(req); return NT_STATUS_OK; + case SMB2_OP_FLUSH: + smb2srv_flush_recv(req); + return NT_STATUS_OK; case SMB2_OP_READ: smb2srv_read_recv(req); return NT_STATUS_OK; case SMB2_OP_WRITE: smb2srv_write_recv(req); return NT_STATUS_OK; + case SMB2_OP_LOCK: + smb2srv_lock_recv(req); + return NT_STATUS_OK; + case SMB2_OP_IOCTL: + smb2srv_ioctl_recv(req); + return NT_STATUS_OK; case SMB2_OP_CANCEL: smb2srv_cancel_recv(req); return NT_STATUS_OK; + case SMB2_OP_KEEPALIVE: + smb2srv_keepalive_recv(req); + return NT_STATUS_OK; case SMB2_OP_FIND: smb2srv_find_recv(req); return NT_STATUS_OK; |