ALERT_RETRANSMIT_RECEIVE,
/** received half-open timeout before IKE_SA established, no argument */
ALERT_HALF_OPEN_TIMEOUT,
- /** IKE proposals do not match, argument is linked_list_t of proposal_t */
+ /** IKE proposals do not match, arguments are linked_list_t of proposal_t,
+ * followed by a bool set to TRUE if mismatch is local. */
ALERT_PROPOSAL_MISMATCH_IKE,
- /** CHILD proposals do not match, argument is linked_list_t of proposal_t */
+ /** CHILD proposals do not match, argument is linked_list_t of proposal_t,
+ * followed by a bool set to TRUE if mismatch is local. */
ALERT_PROPOSAL_MISMATCH_CHILD,
/** traffic selectors do not match, arguments are two linked_list_t
* containing traffic_selector_t for initiator and for responder */
{
DBG1(DBG_IKE, "no acceptable proposal found");
charon->bus->alert(charon->bus, ALERT_PROPOSAL_MISMATCH_CHILD,
- this->proposals);
+ this->proposals, TRUE);
return FAILED;
}
this->other_spi = this->proposal->get_spi(this->proposal);
{
case NO_PROPOSAL_CHOSEN:
list = this->config->get_proposals(this->config, FALSE);
- charon->bus->alert(charon->bus, ALERT_PROPOSAL_MISMATCH_CHILD, list);
+ charon->bus->alert(charon->bus, ALERT_PROPOSAL_MISMATCH_CHILD,
+ list, FALSE);
list->destroy_offset(list, offsetof(proposal_t, destroy));
break;
default:
if (!this->proposal)
{
charon->bus->alert(charon->bus, ALERT_PROPOSAL_MISMATCH_IKE,
- proposal_list);
+ proposal_list, TRUE);
}
proposal_list->destroy_offset(proposal_list,
offsetof(proposal_t, destroy));
{
case NO_PROPOSAL_CHOSEN:
list = this->config->get_proposals(this->config);
- charon->bus->alert(charon->bus, ALERT_PROPOSAL_MISMATCH_IKE, list);
+ charon->bus->alert(charon->bus, ALERT_PROPOSAL_MISMATCH_IKE,
+ list, FALSE);
list->destroy_offset(list, offsetof(proposal_t, destroy));
break;
default: