summaryrefslogtreecommitdiff
path: root/source4/ntvfs/ntvfs_generic.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-05-27 18:20:23 +1000
committerAndrew Tridgell <tridge@samba.org>2008-05-27 18:20:23 +1000
commit8daeee5c5d7d5851677089cceaf26a0e32675a96 (patch)
tree6c7892ea7b20fd5c68ae826a49ea670d23cdd464 /source4/ntvfs/ntvfs_generic.c
parent4f0d968d1dd185a4f5b38c2669f520536b1f8445 (diff)
downloadsamba-8daeee5c5d7d5851677089cceaf26a0e32675a96.tar.gz
ensure that we honor SMB2 read min_count properly
(This used to be commit 318038d6f670efffa96d8b0db63f46b3752e1cd3)
Diffstat (limited to 'source4/ntvfs/ntvfs_generic.c')
-rw-r--r--source4/ntvfs/ntvfs_generic.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/source4/ntvfs/ntvfs_generic.c b/source4/ntvfs/ntvfs_generic.c
index 3d92c0be339..06d89a717be 100644
--- a/source4/ntvfs/ntvfs_generic.c
+++ b/source4/ntvfs/ntvfs_generic.c
@@ -1295,16 +1295,6 @@ static NTSTATUS ntvfs_map_read_finish(struct ntvfs_module_context *ntvfs,
rd->smb2.out.data.length= rd2->generic.out.nread;
rd->smb2.out.remaining = 0;
rd->smb2.out.reserved = 0;
- if (NT_STATUS_IS_OK(status) &&
- rd->smb2.out.data.length == 0) {
- status = NT_STATUS_END_OF_FILE;
- }
- /* SMB2 does honor the min_count field, SMB does not */
- if (NT_STATUS_IS_OK(status) &&
- rd->smb2.in.min_count > rd->smb2.out.data.length) {
- rd->smb2.out.data.length = 0;
- status = NT_STATUS_END_OF_FILE;
- }
break;
default:
return NT_STATUS_INVALID_LEVEL;
@@ -1396,7 +1386,7 @@ NTSTATUS ntvfs_map_read(struct ntvfs_module_context *ntvfs,
case RAW_READ_SMB2:
rd2->readx.in.file.ntvfs= rd->smb2.in.file.ntvfs;
rd2->readx.in.offset = rd->smb2.in.offset;
- rd2->readx.in.mincnt = rd->smb2.in.length;
+ rd2->readx.in.mincnt = rd->smb2.in.min_count;
rd2->readx.in.maxcnt = rd->smb2.in.length;
rd2->readx.in.remaining = 0;
rd2->readx.out.data = rd->smb2.out.data.data;