From ac0c73a412c03a5a0084626d126b2e26d151fb6e Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 24 Mar 2025 17:56:46 +0100 Subject: [PATCH] child-create: Trigger CHILD_INSTALLING event after setting traffic selectors This was the case before bce0c5fd74a0 ("child-create: Update CHILD_SA IP addresses before installation") and allows listeners to consider the traffic selectors of the SA that's about to get installed. --- src/libcharon/sa/ikev2/tasks/child_create.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcharon/sa/ikev2/tasks/child_create.c b/src/libcharon/sa/ikev2/tasks/child_create.c index 5cf738f53..be4662f1c 100644 --- a/src/libcharon/sa/ikev2/tasks/child_create.c +++ b/src/libcharon/sa/ikev2/tasks/child_create.c @@ -653,7 +653,6 @@ static status_t install_child_sa(private_child_create_t *this) this->child_sa->set_mode(this->child_sa, this->mode); this->child_sa->set_protocol(this->child_sa, this->proposal->get_protocol(this->proposal)); - this->child_sa->set_state(this->child_sa, CHILD_INSTALLING); /* addresses might have changed since we originally sent the request, update * them before we configure any policies and install the SAs */ @@ -670,6 +669,7 @@ static status_t install_child_sa(private_child_create_t *this) other_ts->destroy_offset(other_ts, offsetof(traffic_selector_t, destroy)); } + this->child_sa->set_state(this->child_sa, CHILD_INSTALLING); if (this->my_cpi == 0 || this->other_cpi == 0 || this->ipcomp == IPCOMP_NONE) {