diff options
author | Stefan Metzmacher <metze@samba.org> | 2012-08-03 09:58:29 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-08-04 09:10:21 +0200 |
commit | b1a0fda73d13587fd63682bc8e47f6862289f66d (patch) | |
tree | a2d0bc40687fd5ae3c5584722754ba9a28c6d9ac /source3 | |
parent | b1c5efbfeab2b597d8b7878fbe47afb2d9786f10 (diff) | |
download | samba-b1a0fda73d13587fd63682bc8e47f6862289f66d.tar.gz samba-b1a0fda73d13587fd63682bc8e47f6862289f66d.tar.bz2 samba-b1a0fda73d13587fd63682bc8e47f6862289f66d.zip |
libcli/smb: pass hdr/len to smb_signing_check/sign_pdu() and skip the nbt header
metze
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/signing.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/smbd/signing.c b/source3/smbd/signing.c index 1661b1bebf..2b622244c9 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); } |