summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-10-27 16:42:44 +0200
committerKarolin Seeger <kseeger@samba.org>2011-11-09 19:48:08 +0100
commit3a9154c67647d209ad5300acfcf9d675d0a2e8e0 (patch)
tree3ad9fc4d20df9c798fe473e1dad18038db6fec50
parent0f836e532abcd7e24fd65d885a5b5c1d94ebefa1 (diff)
downloadsamba-3a9154c67647d209ad5300acfcf9d675d0a2e8e0.tar.gz
samba-3a9154c67647d209ad5300acfcf9d675d0a2e8e0.tar.xz
samba-3a9154c67647d209ad5300acfcf9d675d0a2e8e0.zip
s3:smb2_server: echo the SMB2_HDR_CREDIT_CHARGE and SMB2_HDR_SIGNATURE fields
Windows just echos back the given values by default. metze (cherry picked from commit c7d3b6b2c38711943910aebff72b0188b0c346db)
-rw-r--r--source3/smbd/smb2_server.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 1c50d217765..c1fa45483a5 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -574,7 +574,8 @@ static NTSTATUS smbd_smb2_request_setup_out(struct smbd_smb2_request *req)
/* setup the SMB2 header */
SIVAL(outhdr, SMB2_HDR_PROTOCOL_ID, SMB2_MAGIC);
SSVAL(outhdr, SMB2_HDR_LENGTH, SMB2_HDR_BODY);
- SSVAL(outhdr, SMB2_HDR_EPOCH, 0);
+ SSVAL(outhdr, SMB2_HDR_CREDIT_CHARGE,
+ SVAL(inhdr, SMB2_HDR_CREDIT_CHARGE));
SIVAL(outhdr, SMB2_HDR_STATUS,
NT_STATUS_V(NT_STATUS_INTERNAL_ERROR));
SSVAL(outhdr, SMB2_HDR_OPCODE,
@@ -590,7 +591,8 @@ static NTSTATUS smbd_smb2_request_setup_out(struct smbd_smb2_request *req)
IVAL(inhdr, SMB2_HDR_TID));
SBVAL(outhdr, SMB2_HDR_SESSION_ID,
BVAL(inhdr, SMB2_HDR_SESSION_ID));
- memset(outhdr + SMB2_HDR_SIGNATURE, 0, 16);
+ memcpy(outhdr + SMB2_HDR_SIGNATURE,
+ inhdr + SMB2_HDR_SIGNATURE, 16);
/* setup error body header */
SSVAL(outbody, 0x00, 0x08 + 1);