ike-sa: Assign function pointers for mediation extension separately
Using preprocessor directives in calls of function-like macros is not recommended as it might lead to undefined behavior.
This commit is contained in:
+12
-11
@@ -3203,17 +3203,6 @@ ike_sa_t * ike_sa_create(ike_sa_id_t *ike_sa_id, bool initiator,
|
|||||||
.queue_task = _queue_task,
|
.queue_task = _queue_task,
|
||||||
.queue_task_delayed = _queue_task_delayed,
|
.queue_task_delayed = _queue_task_delayed,
|
||||||
.adopt_child_tasks = _adopt_child_tasks,
|
.adopt_child_tasks = _adopt_child_tasks,
|
||||||
#ifdef ME
|
|
||||||
.act_as_mediation_server = _act_as_mediation_server,
|
|
||||||
.get_server_reflexive_host = _get_server_reflexive_host,
|
|
||||||
.set_server_reflexive_host = _set_server_reflexive_host,
|
|
||||||
.get_connect_id = _get_connect_id,
|
|
||||||
.initiate_mediation = _initiate_mediation,
|
|
||||||
.initiate_mediated = _initiate_mediated,
|
|
||||||
.relay = _relay,
|
|
||||||
.callback = _callback,
|
|
||||||
.respond = _respond,
|
|
||||||
#endif /* ME */
|
|
||||||
},
|
},
|
||||||
.ike_sa_id = ike_sa_id->clone(ike_sa_id),
|
.ike_sa_id = ike_sa_id->clone(ike_sa_id),
|
||||||
.version = version,
|
.version = version,
|
||||||
@@ -3245,6 +3234,18 @@ ike_sa_t * ike_sa_create(ike_sa_id_t *ike_sa_id, bool initiator,
|
|||||||
"%s.follow_redirects", TRUE, lib->ns),
|
"%s.follow_redirects", TRUE, lib->ns),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#ifdef ME
|
||||||
|
this->public.act_as_mediation_server = _act_as_mediation_server;
|
||||||
|
this->public.get_server_reflexive_host = _get_server_reflexive_host;
|
||||||
|
this->public.set_server_reflexive_host = _set_server_reflexive_host;
|
||||||
|
this->public.get_connect_id = _get_connect_id;
|
||||||
|
this->public.initiate_mediation = _initiate_mediation;
|
||||||
|
this->public.initiate_mediated = _initiate_mediated;
|
||||||
|
this->public.relay = _relay;
|
||||||
|
this->public.callback = _callback;
|
||||||
|
this->public.respond = _respond;
|
||||||
|
#endif /* ME */
|
||||||
|
|
||||||
if (version == IKEV2)
|
if (version == IKEV2)
|
||||||
{ /* always supported with IKEv2 */
|
{ /* always supported with IKEv2 */
|
||||||
enable_extension(this, EXT_DPD);
|
enable_extension(this, EXT_DPD);
|
||||||
|
|||||||
Reference in New Issue
Block a user