diff options
-rw-r--r-- | src/libimcv/imc/imc_msg.c | 4 | ||||
-rw-r--r-- | src/libimcv/imv/imv_msg.c | 5 | ||||
-rw-r--r-- | src/libimcv/seg_contract/seg_contract.c | 8 | ||||
-rw-r--r-- | src/libimcv/seg_contract/seg_contract.h | 4 | ||||
-rw-r--r-- | src/libpts/plugins/imv_swid/imv_swid_agent.c | 2 |
5 files changed, 12 insertions, 11 deletions
diff --git a/src/libimcv/imc/imc_msg.c b/src/libimcv/imc/imc_msg.c index 4c4455eed..9b9aeca23 100644 --- a/src/libimcv/imc/imc_msg.c +++ b/src/libimcv/imc/imc_msg.c @@ -305,7 +305,7 @@ METHOD(imc_msg_t, receive, TNC_Result, max_seg_size, FALSE, this->src_id, TRUE); contracts->add_contract(contracts, contract); } - contract->get_info_string(contract, buf, BUF_LEN); + contract->get_info_string(contract, buf, BUF_LEN, TRUE); DBG2(DBG_IMC, "%s", buf); /* Determine maximum PA-TNC attribute segment size */ @@ -348,7 +348,7 @@ METHOD(imc_msg_t, receive, TNC_Result, my_max_seg_size = max_seg_size; contract->set_max_size(contract, my_max_attr_size, my_max_seg_size); - contract->get_info_string(contract, buf, BUF_LEN); + contract->get_info_string(contract, buf, BUF_LEN, FALSE); DBG2(DBG_IMC, "%s", buf); } } diff --git a/src/libimcv/imv/imv_msg.c b/src/libimcv/imv/imv_msg.c index e25857dcf..35209dc18 100644 --- a/src/libimcv/imv/imv_msg.c +++ b/src/libimcv/imv/imv_msg.c @@ -353,7 +353,7 @@ METHOD(imv_msg_t, receive, TNC_Result, max_seg_size, FALSE, this->src_id, FALSE); contracts->add_contract(contracts, contract); } - contract->get_info_string(contract, buf, BUF_LEN); + contract->get_info_string(contract, buf, BUF_LEN, TRUE); DBG2(DBG_IMV, "%s", buf); /* Determine maximum PA-TNC attribute segment size */ @@ -370,7 +370,6 @@ METHOD(imv_msg_t, receive, TNC_Result, { max_seg_size = my_max_seg_size; contract->set_max_size(contract, max_attr_size, max_seg_size); - contract->get_info_string(contract, buf, BUF_LEN); DBG2(DBG_IMV, " lowered maximum segment size to %u bytes", max_seg_size); } @@ -404,7 +403,7 @@ METHOD(imv_msg_t, receive, TNC_Result, my_max_seg_size = max_seg_size; contract->set_max_size(contract, my_max_attr_size, my_max_seg_size); - contract->get_info_string(contract, buf, BUF_LEN); + contract->get_info_string(contract, buf, BUF_LEN, FALSE); DBG2(DBG_IMV, "%s", buf); } } diff --git a/src/libimcv/seg_contract/seg_contract.c b/src/libimcv/seg_contract/seg_contract.c index 729bcbc34..dab2c239f 100644 --- a/src/libimcv/seg_contract/seg_contract.c +++ b/src/libimcv/seg_contract/seg_contract.c @@ -110,7 +110,7 @@ METHOD(seg_contract_t, is_null, bool, } METHOD(seg_contract_t, get_info_string, void, - private_seg_contract_t *this, char *buf, size_t len) + private_seg_contract_t *this, char *buf, size_t len, bool request) { enum_name_t *pa_subtype_names; uint32_t msg_vid, msg_subtype; @@ -120,7 +120,7 @@ METHOD(seg_contract_t, get_info_string, void, /* nul-terminate the string buffer */ buf[--len] = '\0'; - if (this->is_issuer) + if (this->is_issuer && request) { written = snprintf(pos, len, "%s %d requests", this->is_imc ? "IMC" : "IMV", this->issuer_id); @@ -136,8 +136,8 @@ METHOD(seg_contract_t, get_info_string, void, pos += written; len -= written; - written = snprintf(pos, len, " a %ssegmentation contract ", - this->is_null ? "null" : ""); + written = snprintf(pos, len, " a %ssegmentation contract%s ", + this->is_null ? "null" : "", request ? "" : " response"); if (written < 0 || written > len) { return; diff --git a/src/libimcv/seg_contract/seg_contract.h b/src/libimcv/seg_contract/seg_contract.h index eaa11428b..26f55c9ce 100644 --- a/src/libimcv/seg_contract/seg_contract.h +++ b/src/libimcv/seg_contract/seg_contract.h @@ -82,8 +82,10 @@ struct seg_contract_t { * * @param buf String buffer of at least size len * @param len Size of string buffer + * @param request TRUE if contract request, FALSE if response */ - void (*get_info_string)(seg_contract_t *this, char *buf, size_t len); + void (*get_info_string)(seg_contract_t *this, char *buf, size_t len, + bool request); /** * Destroys a seg_contract_t object. diff --git a/src/libpts/plugins/imv_swid/imv_swid_agent.c b/src/libpts/plugins/imv_swid/imv_swid_agent.c index b17eb4ad3..80b445343 100644 --- a/src/libpts/plugins/imv_swid/imv_swid_agent.c +++ b/src/libpts/plugins/imv_swid/imv_swid_agent.c @@ -455,7 +455,7 @@ METHOD(imv_agent_if_t, batch_ending, TNC_Result, /* Announce support of PA-TNC segmentation to IMC */ contract = seg_contract_create(msg_types[0], max_attr_size, max_seg_size, TRUE, imv_id, FALSE); - contract->get_info_string(contract, buf, BUF_LEN); + contract->get_info_string(contract, buf, BUF_LEN, TRUE); DBG2(DBG_IMV, "%s", buf); contracts = state->get_contracts(state); contracts->add_contract(contracts, contract); |