summaryrefslogtreecommitdiff
path: root/source4
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
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')
-rw-r--r--source4/libcli/raw/interfaces.h4
-rw-r--r--source4/libcli/smb2/read.c3
-rw-r--r--source4/libcli/smb2/write.c3
-rw-r--r--source4/ntvfs/ntvfs_generic.c1
-rw-r--r--source4/smb_server/smb2/fileio.c2
5 files changed, 3 insertions, 10 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);
}
diff --git a/source4/ntvfs/ntvfs_generic.c b/source4/ntvfs/ntvfs_generic.c
index 3283ee673d..5987ff4ba6 100644
--- a/source4/ntvfs/ntvfs_generic.c
+++ b/source4/ntvfs/ntvfs_generic.c
@@ -1064,7 +1064,6 @@ static NTSTATUS ntvfs_map_write_finish(struct ntvfs_module_context *ntvfs,
wr->smb2.out._pad = 0;
wr->smb2.out.nwritten = wr2->generic.out.nwritten;
wr->smb2.out.unknown1 = 0;
- wr->smb2.out._bug = 0;
break;
default:
diff --git a/source4/smb_server/smb2/fileio.c b/source4/smb_server/smb2/fileio.c
index df6808c920..e00452bf81 100644
--- a/source4/smb_server/smb2/fileio.c
+++ b/source4/smb_server/smb2/fileio.c
@@ -178,7 +178,6 @@ void smb2srv_read_recv(struct smb2srv_request *req)
io->smb2.in.file.ntvfs = smb2srv_pull_handle(req, req->in.body, 0x10);
io->smb2.in.unknown1 = BVAL(req->in.body, 0x20);
io->smb2.in.unknown2 = BVAL(req->in.body, 0x28);
- io->smb2.in._bug = CVAL(req->in.body, 0x30);
SMB2SRV_CHECK_FILE_HANDLE(io->smb2.in.file.ntvfs);
@@ -202,7 +201,6 @@ static void smb2srv_write_send(struct ntvfs_request *ntvfs)
SSVAL(req->out.body, 0x02, io->smb2.out._pad);
SIVAL(req->out.body, 0x04, io->smb2.out.nwritten);
SBVAL(req->out.body, 0x08, io->smb2.out.unknown1);
- SCVAL(req->out.body, 0x10, io->smb2.out._bug);
smb2srv_send_reply(req);
}