From 615c41ce128233c90bc77fc413fdcdc92c1cad50 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 27 Feb 2012 09:29:53 +0100 Subject: libcli/smb/smb2_signing: pass down 'protocol' to smb2_signing_[sign|check]_pdu() metze Autobuild-User: Stefan Metzmacher Autobuild-Date: Mon Feb 27 14:26:32 CET 2012 on sn-devel-104 --- libcli/smb/smb2_signing.c | 2 ++ libcli/smb/smb2_signing.h | 2 ++ libcli/smb/smbXcli_base.c | 7 ++++++- libcli/smb/smb_common.h | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) (limited to 'libcli') diff --git a/libcli/smb/smb2_signing.c b/libcli/smb/smb2_signing.c index d3ff4c04e7..30172772b7 100644 --- a/libcli/smb/smb2_signing.c +++ b/libcli/smb/smb2_signing.c @@ -24,6 +24,7 @@ #include "../lib/crypto/crypto.h" NTSTATUS smb2_signing_sign_pdu(DATA_BLOB signing_key, + enum protocol_types protocol, struct iovec *vector, int count) { @@ -77,6 +78,7 @@ NTSTATUS smb2_signing_sign_pdu(DATA_BLOB signing_key, } NTSTATUS smb2_signing_check_pdu(DATA_BLOB signing_key, + enum protocol_types protocol, const struct iovec *vector, int count) { diff --git a/libcli/smb/smb2_signing.h b/libcli/smb/smb2_signing.h index dcabcaad09..ba2b1ca302 100644 --- a/libcli/smb/smb2_signing.h +++ b/libcli/smb/smb2_signing.h @@ -24,10 +24,12 @@ struct iovec; NTSTATUS smb2_signing_sign_pdu(DATA_BLOB signing_key, + enum protocol_types protocol, struct iovec *vector, int count); NTSTATUS smb2_signing_check_pdu(DATA_BLOB signing_key, + enum protocol_types protocol, const struct iovec *vector, int count); diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c index 6b4458878b..f47659dd03 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -2623,6 +2623,7 @@ skip_credits: NTSTATUS status; status = smb2_signing_sign_pdu(*signing_key, + state->session->conn->protocol, &iov[hdr_iov], num_iov - hdr_iov); if (!NT_STATUS_IS_OK(status)) { return status; @@ -3046,7 +3047,9 @@ static NTSTATUS smb2cli_conn_dispatch_incoming(struct smbXcli_conn *conn, } if (signing_key) { - status = smb2_signing_check_pdu(*signing_key, cur, 3); + status = smb2_signing_check_pdu(*signing_key, + state->conn->protocol, + cur, 3); if (!NT_STATUS_IS_OK(status)) { /* * If the signing check fails, we disconnect @@ -4147,6 +4150,7 @@ NTSTATUS smb2cli_session_set_session_key(struct smbXcli_session *session, } status = smb2_signing_check_pdu(session->smb2.channel_signing_key, + session->conn->protocol, recv_iov, 3); if (!NT_STATUS_IS_OK(status)) { return status; @@ -4232,6 +4236,7 @@ NTSTATUS smb2cli_session_set_channel_key(struct smbXcli_session *session, } status = smb2_signing_check_pdu(session->smb2.channel_signing_key, + session->conn->protocol, recv_iov, 3); if (!NT_STATUS_IS_OK(status)) { return status; diff --git a/libcli/smb/smb_common.h b/libcli/smb/smb_common.h index 1f21e553ba..47a336a38f 100644 --- a/libcli/smb/smb_common.h +++ b/libcli/smb/smb_common.h @@ -22,10 +22,10 @@ #ifndef __LIBCLI_SMB_SMB_COMMON_H__ #define __LIBCLI_SMB_SMB_COMMON_H__ +#include "libcli/smb/smb_constants.h" #include "libcli/smb/smb2_constants.h" #include "libcli/smb/smb2_create_blob.h" #include "libcli/smb/smb2_signing.h" -#include "libcli/smb/smb_constants.h" #include "libcli/smb/smb_util.h" #include "libcli/smb/smb_unix_ext.h" -- cgit