summaryrefslogtreecommitdiffstats
path: root/source3/smbd/signing.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2012-08-03 09:58:29 +0200
committerStefan Metzmacher <metze@samba.org>2012-08-04 09:10:21 +0200
commitb1a0fda73d13587fd63682bc8e47f6862289f66d (patch)
treea2d0bc40687fd5ae3c5584722754ba9a28c6d9ac /source3/smbd/signing.c
parentb1c5efbfeab2b597d8b7878fbe47afb2d9786f10 (diff)
downloadsamba-b1a0fda73d13587fd63682bc8e47f6862289f66d.tar.gz
samba-b1a0fda73d13587fd63682bc8e47f6862289f66d.tar.xz
samba-b1a0fda73d13587fd63682bc8e47f6862289f66d.zip
libcli/smb: pass hdr/len to smb_signing_check/sign_pdu() and skip the nbt header
metze
Diffstat (limited to 'source3/smbd/signing.c')
-rw-r--r--source3/smbd/signing.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/smbd/signing.c b/source3/smbd/signing.c
index 1661b1bebf9..2b622244c9f 100644
--- a/source3/smbd/signing.c
+++ b/source3/smbd/signing.c
@@ -66,7 +66,7 @@ bool srv_check_sign_mac(struct smbd_server_connection *conn,
*seqnum = smb_signing_next_seqnum(conn->smb1.signing_state, false);
return smb_signing_check_pdu(conn->smb1.signing_state,
- (const uint8_t *)inbuf,
+ inhdr, len,
*seqnum);
}
@@ -77,12 +77,18 @@ bool srv_check_sign_mac(struct smbd_server_connection *conn,
void srv_calculate_sign_mac(struct smbd_server_connection *conn,
char *outbuf, uint32_t seqnum)
{
+ uint8_t *outhdr;
+ size_t len;
+
/* Check if it's a non-session message. */
if(CVAL(outbuf,0)) {
return;
}
- smb_signing_sign_pdu(conn->smb1.signing_state, (uint8_t *)outbuf, seqnum);
+ len = smb_len(outbuf);
+ outhdr = (uint8_t *)outbuf + NBT_HDR_SIZE;
+
+ smb_signing_sign_pdu(conn->smb1.signing_state, outhdr, len, seqnum);
}