summaryrefslogtreecommitdiff
path: root/source4/libcli/smb2/tcon.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-02-13 10:13:28 +1100
committerAndrew Tridgell <tridge@samba.org>2008-02-13 10:13:28 +1100
commite94d710b0b959d8e69eb02ef0704ebcff56485fb (patch)
treebbae2eaad5468191c4d578f0794985837c2faa63 /source4/libcli/smb2/tcon.c
parentcd2b003abaaaed5054db6e266dbfccf7e1193932 (diff)
downloadsamba-e94d710b0b959d8e69eb02ef0704ebcff56485fb.tar.gz
samba-e94d710b0b959d8e69eb02ef0704ebcff56485fb.tar.bz2
samba-e94d710b0b959d8e69eb02ef0704ebcff56485fb.zip
updated SMB2 tcon as per WSPP docs
(This used to be commit 5913e3e549e71affc66c28cacb6563331fb0c790)
Diffstat (limited to 'source4/libcli/smb2/tcon.c')
-rw-r--r--source4/libcli/smb2/tcon.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/source4/libcli/smb2/tcon.c b/source4/libcli/smb2/tcon.c
index 5a09970584..db35669d41 100644
--- a/source4/libcli/smb2/tcon.c
+++ b/source4/libcli/smb2/tcon.c
@@ -58,7 +58,7 @@ struct smb2_request *smb2_tree_connect_send(struct smb2_tree *tree,
SBVAL(req->out.hdr, SMB2_HDR_SESSION_ID, tree->session->uid);
- SSVAL(req->out.body, 0x02, io->in.unknown1);
+ SSVAL(req->out.body, 0x02, io->in.reserved);
status = smb2_push_o16s16_string(&req->out, 0x04, io->in.path);
if (!NT_STATUS_IS_OK(status)) {
talloc_free(req);
@@ -85,10 +85,18 @@ NTSTATUS smb2_tree_connect_recv(struct smb2_request *req, struct smb2_tree_conne
io->out.tid = IVAL(req->in.hdr, SMB2_HDR_TID);
- io->out.unknown1 = SVAL(req->in.body, 0x02);
- io->out.unknown2 = IVAL(req->in.body, 0x04);
- io->out.unknown3 = IVAL(req->in.body, 0x08);
+ io->out.share_type = CVAL(req->in.body, 0x02);
+ io->out.reserved = CVAL(req->in.body, 0x03);
+ io->out.flags = IVAL(req->in.body, 0x04);
+ io->out.capabilities= IVAL(req->in.body, 0x08);
io->out.access_mask = IVAL(req->in.body, 0x0C);
+
+ if (io->out.capabilities & ~SMB2_CAP_ALL) {
+ DEBUG(0,("Unknown capabilities mask 0x%x\n", io->out.capabilities));
+ }
+ if (io->out.flags & ~SMB2_SHAREFLAG_ALL) {
+ DEBUG(0,("Unknown tcon shareflag 0x%x\n", io->out.flags));
+ }
return smb2_request_destroy(req);
}