summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-11-24 03:42:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:53:25 -0500
commit44b5067e326fd26e5348495063045241d65293a5 (patch)
tree2b26dd047eec5ad5783e1525f78920b96c9c7ec0 /source3/smbd/reply.c
parent90a18110e9c014ff33977be4656886b093c7e022 (diff)
downloadsamba-44b5067e326fd26e5348495063045241d65293a5.tar.gz
samba-44b5067e326fd26e5348495063045241d65293a5.tar.bz2
samba-44b5067e326fd26e5348495063045241d65293a5.zip
r3934: Correctly check for the top length bit in LARGE_READX.
Jeremy. (This used to be commit f9effa2af90245c0fe090d730c86a2a60d8570dc)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 845f058867..5d493d8716 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -33,6 +33,7 @@ extern int max_recv;
extern char magic_char;
extern int global_oplock_break;
unsigned int smb_echo_count = 0;
+extern uint32 global_client_caps;
extern BOOL global_encrypted_passwords_negotiated;
@@ -2183,6 +2184,10 @@ int reply_read_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
set_message(outbuf,12,0,True);
+ if (global_client_caps & CAP_LARGE_READX) {
+ smb_maxcnt |= ((((size_t)SVAL(inbuf,smb_vwv7)) & 1 )<<16);
+ }
+
if(CVAL(inbuf,smb_wct) == 12) {
#ifdef LARGE_SMB_OFF_T
/*