summaryrefslogtreecommitdiff
path: root/source4/libcli
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-05-21 22:51:21 +1000
committerAndrew Tridgell <tridge@samba.org>2008-05-21 22:51:21 +1000
commitaed93a238e13247945073921d91408c91ae210c3 (patch)
treeac3592895cf5f26e6d3690b509dc0332dbfca6af /source4/libcli
parent4d39976dddf2adf6a0d659050c3a21a6e0ff8ab2 (diff)
downloadsamba-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.h6
-rw-r--r--source4/libcli/smb2/flush.c6
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);
}