summaryrefslogtreecommitdiff
path: root/source4/libcli
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-06-29 22:16:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:09:39 -0500
commitd63dd113ae2c7f4f6d64def00a488548e805bc7e (patch)
treef8a7fe3514d3108cb345cd4258fcad8cd53c0a7a /source4/libcli
parent5b19070ac701dfc24ed77688373a9f071792b93c (diff)
downloadsamba-d63dd113ae2c7f4f6d64def00a488548e805bc7e.tar.gz
samba-d63dd113ae2c7f4f6d64def00a488548e805bc7e.tar.bz2
samba-d63dd113ae2c7f4f6d64def00a488548e805bc7e.zip
r16699: the layout of SMB2 Read and Write is identical...
so we know that the 9th bytes is just uninitialized padding metze (This used to be commit f97a21b970ed23973cced2c67b5bc9ecd7afee88)
Diffstat (limited to 'source4/libcli')
-rw-r--r--source4/libcli/raw/interfaces.h4
-rw-r--r--source4/libcli/smb2/read.c3
-rw-r--r--source4/libcli/smb2/write.c3
3 files changed, 3 insertions, 7 deletions
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h
index 8b144779f4..3665af9548 100644
--- a/source4/libcli/raw/interfaces.h
+++ b/source4/libcli/raw/interfaces.h
@@ -1649,7 +1649,6 @@ union smb_read {
/* struct smb2_handle handle; */
uint64_t unknown1; /* 0x0000000000000000 */
uint64_t unknown2; /* 0x0000000000000000 */
- uint8_t _bug;
} in;
struct {
/* static body buffer 16 (0x10) bytes */
@@ -1771,11 +1770,10 @@ union smb_write {
} in;
struct {
/* static body buffer 17 (0x11) bytes */
- /* uint16_t buffer_code; 0x11 */
+ /* uint16_t buffer_code; 0x11 = 0x10 + 1*/
uint16_t _pad;
uint32_t nwritten;
uint64_t unknown1; /* 0x0000000000000000 */
- uint8_t _bug;
} out;
} smb2;
};
diff --git a/source4/libcli/smb2/read.c b/source4/libcli/smb2/read.c
index 6806adb8f6..eb935fb4f1 100644
--- a/source4/libcli/smb2/read.c
+++ b/source4/libcli/smb2/read.c
@@ -31,7 +31,7 @@ struct smb2_request *smb2_read_send(struct smb2_tree *tree, struct smb2_read *io
{
struct smb2_request *req;
- req = smb2_request_init_tree(tree, SMB2_OP_READ, 0x31, False, 0);
+ req = smb2_request_init_tree(tree, SMB2_OP_READ, 0x30, True, 0);
if (req == NULL) return NULL;
SSVAL(req->out.body, 0x02, 0); /* pad */
@@ -40,7 +40,6 @@ struct smb2_request *smb2_read_send(struct smb2_tree *tree, struct smb2_read *io
smb2_push_handle(req->out.body+0x10, &io->in.file.handle);
SBVAL(req->out.body, 0x20, io->in.unknown1);
SBVAL(req->out.body, 0x28, io->in.unknown2);
- SCVAL(req->out.body, 0x30, io->in._bug);
smb2_transport_send(req);
diff --git a/source4/libcli/smb2/write.c b/source4/libcli/smb2/write.c
index 760aadcd8e..c9d6ce4b53 100644
--- a/source4/libcli/smb2/write.c
+++ b/source4/libcli/smb2/write.c
@@ -63,12 +63,11 @@ NTSTATUS smb2_write_recv(struct smb2_request *req, struct smb2_write *io)
return smb2_request_destroy(req);
}
- SMB2_CHECK_PACKET_RECV(req, 0x11, False);
+ SMB2_CHECK_PACKET_RECV(req, 0x10, True);
io->out._pad = SVAL(req->in.body, 0x02);
io->out.nwritten = IVAL(req->in.body, 0x04);
io->out.unknown1 = BVAL(req->in.body, 0x08);
- io->out._bug = CVAL(req->in.body, 0x10);
return smb2_request_destroy(req);
}