added IMC and IMV IDs as arguments to send_message()
This commit is contained in:
@@ -18,6 +18,8 @@
|
||||
#include <debug.h>
|
||||
#include <daemon.h>
|
||||
|
||||
#define TNC_IMVID_ANY 0xffff
|
||||
|
||||
/**
|
||||
* Called by the IMC to inform a TNCC about the set of message types the IMC
|
||||
* is able to receive
|
||||
@@ -46,12 +48,12 @@ TNC_Result TNC_TNCC_RequestHandshakeRetry(TNC_IMCID imc_id,
|
||||
*/
|
||||
TNC_Result TNC_TNCC_SendMessage(TNC_IMCID imc_id,
|
||||
TNC_ConnectionID connection_id,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 message_len,
|
||||
TNC_MessageType message_type)
|
||||
TNC_BufferReference msg,
|
||||
TNC_UInt32 msg_len,
|
||||
TNC_MessageType msg_type)
|
||||
{
|
||||
return charon->tnccs->send_message(charon->tnccs, connection_id, message,
|
||||
message_len, message_type);
|
||||
return charon->tnccs->send_message(charon->tnccs, imc_id, TNC_IMVID_ANY,
|
||||
connection_id, msg, msg_len, msg_type);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#include <debug.h>
|
||||
#include <daemon.h>
|
||||
|
||||
#define TNC_IMCID_ANY 0xffff
|
||||
|
||||
/**
|
||||
* Called by the IMV to inform a TNCS about the set of message types the IMV
|
||||
* is able to receive
|
||||
@@ -46,12 +48,12 @@ TNC_Result TNC_TNCS_RequestHandshakeRetry(TNC_IMVID imv_id,
|
||||
*/
|
||||
TNC_Result TNC_TNCS_SendMessage(TNC_IMVID imv_id,
|
||||
TNC_ConnectionID connection_id,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 message_len,
|
||||
TNC_MessageType message_type)
|
||||
TNC_BufferReference msg,
|
||||
TNC_UInt32 msg_len,
|
||||
TNC_MessageType msg_type)
|
||||
{
|
||||
return charon->tnccs->send_message(charon->tnccs, connection_id, message,
|
||||
message_len, message_type);
|
||||
return charon->tnccs->send_message(charon->tnccs, TNC_IMCID_ANY, imv_id,
|
||||
connection_id, msg, msg_len, msg_type);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -61,7 +61,8 @@ struct private_tnccs_20_t {
|
||||
};
|
||||
|
||||
METHOD(tnccs_t, send_message, void,
|
||||
private_tnccs_20_t* this, TNC_BufferReference message,
|
||||
private_tnccs_20_t* this, TNC_IMCID imc_id, TNC_IMVID imv_id,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 message_len,
|
||||
TNC_MessageType message_type)
|
||||
{
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#define TNCCS_H_
|
||||
|
||||
#include <tnc/tncif.h>
|
||||
#include <tnc/tncifimc.h>
|
||||
#include <tnc/tncifimv.h>
|
||||
#include <library.h>
|
||||
|
||||
@@ -54,13 +55,16 @@ typedef tnccs_t* (*tnccs_constructor_t)(bool is_server);
|
||||
/**
|
||||
* Callback function adding a message to a TNCCS batch
|
||||
*
|
||||
* @param message message to be added
|
||||
* @param message_len message length
|
||||
* @param message_type message type
|
||||
* @param imc_id ID of IMC or TNC_IMCID_ANY
|
||||
* @param imc_id ID of IMV or TNC_IMVID_ANY
|
||||
* @param msg message to be added
|
||||
* @param msg_len message length
|
||||
* @param msg_type message type
|
||||
*/
|
||||
typedef void (*tnccs_send_message_t)(tnccs_t* tncss,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 message_len,
|
||||
TNC_MessageType message_type);
|
||||
typedef void (*tnccs_send_message_t)(tnccs_t* tncss, TNC_IMCID imc_id,
|
||||
TNC_IMVID imv_id,
|
||||
TNC_BufferReference msg,
|
||||
TNC_UInt32 msg_len,
|
||||
TNC_MessageType msg_type);
|
||||
|
||||
#endif /** TNCCS_H_ @}*/
|
||||
|
||||
@@ -233,10 +233,11 @@ METHOD(tnccs_manager_t, remove_connection, void,
|
||||
}
|
||||
|
||||
METHOD(tnccs_manager_t, send_message, TNC_Result,
|
||||
private_tnccs_manager_t *this, TNC_ConnectionID id,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 message_len,
|
||||
TNC_MessageType message_type)
|
||||
private_tnccs_manager_t *this, TNC_IMCID imc_id, TNC_IMVID imv_id,
|
||||
TNC_ConnectionID id,
|
||||
TNC_BufferReference msg,
|
||||
TNC_UInt32 msg_len,
|
||||
TNC_MessageType msg_type)
|
||||
{
|
||||
enumerator_t *enumerator;
|
||||
tnccs_connection_entry_t *entry;
|
||||
@@ -259,7 +260,7 @@ METHOD(tnccs_manager_t, send_message, TNC_Result,
|
||||
|
||||
if (tnccs && send_message)
|
||||
{
|
||||
send_message(tnccs, message, message_len, message_type);
|
||||
send_message(tnccs, imc_id, imv_id, msg, msg_len, msg_type);
|
||||
return TNC_RESULT_SUCCESS;
|
||||
}
|
||||
return TNC_RESULT_FATAL;
|
||||
|
||||
@@ -86,14 +86,18 @@ struct tnccs_manager_t {
|
||||
/**
|
||||
* Add an IMC/IMV message to the batch of a given connection ID.
|
||||
*
|
||||
* @param id target connection ID
|
||||
* @param imc_id ID of IMC or TNC_IMCID_ANY
|
||||
* @param imv_id ID of IMV or TNC_IMVID_ANY
|
||||
* @param connection_id ID of target connection
|
||||
* @param msg message to be added
|
||||
* @param msg_len message length
|
||||
* @param msg_type message type
|
||||
* @return return code
|
||||
*/
|
||||
TNC_Result (*send_message)(tnccs_manager_t *this,
|
||||
TNC_ConnectionID id,
|
||||
TNC_IMCID imc_id,
|
||||
TNC_IMVID imv_id,
|
||||
TNC_ConnectionID connection_id,
|
||||
TNC_BufferReference msg,
|
||||
TNC_UInt32 msg_len,
|
||||
TNC_MessageType msg_type);
|
||||
|
||||
Reference in New Issue
Block a user