child-cfg: Add option to prefer supplied proposals over locally configured ones

This commit is contained in:
Tobias Brunner
2016-06-17 18:48:07 +02:00
parent 3a40d572c6
commit f2ea230b91
4 changed files with 39 additions and 24 deletions
+4 -4
View File
@@ -1109,8 +1109,8 @@ METHOD(task_t, process_r, status_t,
}
private = this->ike_sa->supports_extension(this->ike_sa,
EXT_STRONGSWAN);
this->proposal = this->config->select_proposal(this->config,
list, FALSE, private);
this->proposal = this->config->select_proposal(this->config, list,
FALSE, private, TRUE);
list->destroy_offset(list, offsetof(proposal_t, destroy));
get_lifetimes(this);
@@ -1323,8 +1323,8 @@ METHOD(task_t, process_i, status_t,
}
private = this->ike_sa->supports_extension(this->ike_sa,
EXT_STRONGSWAN);
this->proposal = this->config->select_proposal(this->config,
list, FALSE, private);
this->proposal = this->config->select_proposal(this->config, list,
FALSE, private, TRUE);
list->destroy_offset(list, offsetof(proposal_t, destroy));
if (!this->proposal)
{
+1 -1
View File
@@ -482,7 +482,7 @@ static status_t select_and_install(private_child_create_t *this,
private = this->ike_sa->supports_extension(this->ike_sa, EXT_STRONGSWAN);
this->proposal = this->config->select_proposal(this->config,
this->proposals, no_dh, private);
this->proposals, no_dh, private, TRUE);
if (this->proposal == NULL)
{
DBG1(DBG_IKE, "no acceptable proposal found");