The branch, master has been updated via 1937ab3668e6a4667ac4334a6e1bea2cc75cfb1d (commit) via ff388611f461b4a4ee044ce86aedda9ce18dfc97 (commit) from 57d690b6f693d9a90eb77404bbffc05a1c245972 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 1937ab3668e6a4667ac4334a6e1bea2cc75cfb1d Merge: ff388611f461b4a4ee044ce86aedda9ce18dfc97 57d690b6f693d9a90eb77404bbffc05a1c245972 Author: Andrew Tridgell <tri...@samba.org> Date: Tue Aug 4 16:02:23 2009 +1000 Merge branch 'master' of ssh://git.samba.org/data/git/samba commit ff388611f461b4a4ee044ce86aedda9ce18dfc97 Author: Andrew Tridgell <tri...@samba.org> Date: Tue Aug 4 16:01:11 2009 +1000 fixed support for readx greater than 64k This fixes bug 6547, where smbclient in S3 reads more than 64k at a time with readx. ----------------------------------------------------------------------- Summary of changes: source4/ntvfs/posix/pvfs_read.c | 4 ++-- source4/smb_server/smb/reply.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/ntvfs/posix/pvfs_read.c b/source4/ntvfs/posix/pvfs_read.c index d9080d6..75fba3c 100644 --- a/source4/ntvfs/posix/pvfs_read.c +++ b/source4/ntvfs/posix/pvfs_read.c @@ -59,8 +59,8 @@ NTSTATUS pvfs_read(struct ntvfs_module_context *ntvfs, } maxcnt = rd->readx.in.maxcnt; - if (maxcnt > UINT16_MAX && req->ctx->protocol < PROTOCOL_SMB2) { - maxcnt = 0; + if (maxcnt > 2*UINT16_MAX && req->ctx->protocol < PROTOCOL_SMB2) { + return NT_STATUS_INVALID_PARAMETER; } status = pvfs_check_lock(pvfs, f, req->smbpid, diff --git a/source4/smb_server/smb/reply.c b/source4/smb_server/smb/reply.c index ec7b678..0433d35 100644 --- a/source4/smb_server/smb/reply.c +++ b/source4/smb_server/smb/reply.c @@ -831,7 +831,8 @@ static void reply_read_and_X_send(struct ntvfs_request *ntvfs) SMBSRV_VWV_RESERVED(4, 1); SSVAL(req->out.vwv, VWV(5), io->readx.out.nread); SSVAL(req->out.vwv, VWV(6), PTR_DIFF(io->readx.out.data, req->out.hdr)); - SMBSRV_VWV_RESERVED(7, 5); + SSVAL(req->out.vwv, VWV(7), (io->readx.out.nread>>16)); + SMBSRV_VWV_RESERVED(8, 4); smbsrv_chain_reply(req); } -- Samba Shared Repository