diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-06-29 22:16:58 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:09:39 -0500 |
commit | d63dd113ae2c7f4f6d64def00a488548e805bc7e (patch) | |
tree | f8a7fe3514d3108cb345cd4258fcad8cd53c0a7a | |
parent | 5b19070ac701dfc24ed77688373a9f071792b93c (diff) | |
download | samba-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)
-rw-r--r-- | source4/libcli/raw/interfaces.h | 4 | ||||
-rw-r--r-- | source4/libcli/smb2/read.c | 3 | ||||
-rw-r--r-- | source4/libcli/smb2/write.c | 3 | ||||
-rw-r--r-- | source4/ntvfs/ntvfs_generic.c | 1 | ||||
-rw-r--r-- | source4/smb_server/smb2/fileio.c | 2 |
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); } |