aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/vici/vici_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcharon/plugins/vici/vici_config.c')
-rw-r--r--src/libcharon/plugins/vici/vici_config.c35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/libcharon/plugins/vici/vici_config.c b/src/libcharon/plugins/vici/vici_config.c
index 52a3dba16..83d221653 100644
--- a/src/libcharon/plugins/vici/vici_config.c
+++ b/src/libcharon/plugins/vici/vici_config.c
@@ -442,17 +442,24 @@ static bool parse_proposal(linked_list_t *list, protocol_id_t proto, chunk_t v)
if (strcaseeq("default", buf))
{
proposal = proposal_create_default(proto);
+ if (proposal)
+ {
+ list->insert_last(list, proposal);
+ }
+ proposal = proposal_create_default_aead(proto);
+ if (proposal)
+ {
+ list->insert_last(list, proposal);
+ }
+ return TRUE;
}
- else
- {
- proposal = proposal_create_from_string(proto, buf);
- }
- if (!proposal)
+ proposal = proposal_create_from_string(proto, buf);
+ if (proposal)
{
- return FALSE;
+ list->insert_last(list, proposal);
+ return TRUE;
}
- list->insert_last(list, proposal);
- return TRUE;
+ return FALSE;
}
/**
@@ -1755,8 +1762,16 @@ CALLBACK(config_sn, bool,
}
if (peer.proposals->get_count(peer.proposals) == 0)
{
- peer.proposals->insert_last(peer.proposals,
- proposal_create_default(PROTO_IKE));
+ proposal = proposal_create_default(PROTO_IKE);
+ if (proposal)
+ {
+ peer.proposals->insert_last(peer.proposals, proposal);
+ }
+ proposal = proposal_create_default_aead(PROTO_IKE);
+ if (proposal)
+ {
+ peer.proposals->insert_last(peer.proposals, proposal);
+ }
}
if (!peer.local_addrs)
{