From: Tobias Brunner Date: Mon, 24 Mar 2025 16:56:46 +0000 (+0100) Subject: child-create: Trigger CHILD_INSTALLING event after setting traffic selectors X-Git-Tag: 6.0.2dr1~6^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ac0c73a412c03a5a0084626d126b2e26d151fb6e;p=thirdparty%2Fstrongswan.git 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. --- diff --git a/src/libcharon/sa/ikev2/tasks/child_create.c b/src/libcharon/sa/ikev2/tasks/child_create.c index 5cf738f530..be4662f1c0 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) {