diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-05-21 22:51:21 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-05-21 22:51:21 +1000 |
commit | aed93a238e13247945073921d91408c91ae210c3 (patch) | |
tree | ac3592895cf5f26e6d3690b509dc0332dbfca6af /source4/libcli | |
parent | 4d39976dddf2adf6a0d659050c3a21a6e0ff8ab2 (diff) | |
download | samba-aed93a238e13247945073921d91408c91ae210c3.tar.gz samba-aed93a238e13247945073921d91408c91ae210c3.tar.bz2 samba-aed93a238e13247945073921d91408c91ae210c3.zip |
fixed SMB2 flush call, and added flush to gentest_smb2
(This used to be commit c52fe1fe1c77636d87355d3c4baa66e052fe9008)
Diffstat (limited to 'source4/libcli')
-rw-r--r-- | source4/libcli/raw/interfaces.h | 6 | ||||
-rw-r--r-- | source4/libcli/smb2/flush.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h index 149b91916a..3370021d48 100644 --- a/source4/libcli/raw/interfaces.h +++ b/source4/libcli/raw/interfaces.h @@ -2156,8 +2156,12 @@ union smb_flush { enum smb_flush_level level; struct { union smb_handle file; - uint32_t unknown; + uint16_t reserved1; + uint32_t reserved2; } in; + struct { + uint16_t reserved; + } out; } smb2; }; diff --git a/source4/libcli/smb2/flush.c b/source4/libcli/smb2/flush.c index 116068ed6e..577d1ba1ba 100644 --- a/source4/libcli/smb2/flush.c +++ b/source4/libcli/smb2/flush.c @@ -33,8 +33,8 @@ struct smb2_request *smb2_flush_send(struct smb2_tree *tree, struct smb2_flush * req = smb2_request_init_tree(tree, SMB2_OP_FLUSH, 0x18, false, 0); if (req == NULL) return NULL; - SSVAL(req->out.body, 0x02, 0); /* pad? */ - SIVAL(req->out.body, 0x04, io->in.unknown); + SSVAL(req->out.body, 0x02, io->in.reserved1); + SIVAL(req->out.body, 0x04, io->in.reserved2); smb2_push_handle(req->out.body+0x08, &io->in.file.handle); smb2_transport_send(req); @@ -55,6 +55,8 @@ NTSTATUS smb2_flush_recv(struct smb2_request *req, struct smb2_flush *io) SMB2_CHECK_PACKET_RECV(req, 0x04, false); + io->out.reserved = SVAL(req->in.body, 0x02); + return smb2_request_destroy(req); } |