/***********************************************************
SMB signing - Simple implementation - setup the MAC key.
************************************************************/
-BOOL smbcli_simple_set_signing(struct smb_signing_context *sign_info,
+BOOL smbcli_simple_set_signing(TALLOC_CTX *mem_ctx,
+ struct smb_signing_context *sign_info,
const DATA_BLOB *user_session_key,
const DATA_BLOB *response)
{
DEBUG(5, ("SMB signing enabled!\n"));
if (response && response->length) {
- sign_info->mac_key = data_blob(NULL, response->length + user_session_key->length);
+ sign_info->mac_key = data_blob_talloc(mem_ctx, NULL, response->length + user_session_key->length);
} else {
- sign_info->mac_key = data_blob(NULL, user_session_key->length);
+ sign_info->mac_key = data_blob_talloc(mem_ctx, NULL, user_session_key->length);
}
memcpy(&sign_info->mac_key.data[0], user_session_key->data, user_session_key->length);
return False;
}
- return smbcli_simple_set_signing(&transport->negotiate.sign_info,
+ return smbcli_simple_set_signing(transport,
+ &transport->negotiate.sign_info,
&user_session_key,
&response);
}
if (!set_smb_signing_common(&smb_conn->signing)) {
return False;
}
- return smbcli_simple_set_signing(&smb_conn->signing, session_key, response);
+ return smbcli_simple_set_signing(smb_conn,
+ &smb_conn->signing, session_key, response);
}
void srv_signing_restart(struct smbsrv_connection *smb_conn,