Commit e1a11e2c1c for strongswan.org
commit e1a11e2c1c22ce41d9b5c1593a52eb83f4183410
Author: Tobias Brunner <tobias@strongswan.org>
Date: Thu Apr 16 15:25:07 2026 +0200
ike: Use correct format string for unique Child SA identifiers
Analogous to the previous commit.
diff --git a/src/libcharon/plugins/ha/ha_child.c b/src/libcharon/plugins/ha/ha_child.c
index ee33850049..fa8eb6f2c9 100644
--- a/src/libcharon/plugins/ha/ha_child.c
+++ b/src/libcharon/plugins/ha/ha_child.c
@@ -141,7 +141,7 @@ METHOD(listener_t, child_keys, bool,
ike_sa->get_my_host(ike_sa), child_sa->get_spi(child_sa, TRUE));
seg_o = this->kernel->get_segment_spi(this->kernel,
ike_sa->get_other_host(ike_sa), child_sa->get_spi(child_sa, FALSE));
- DBG1(DBG_CFG, "handling HA CHILD_SA %s{%d} %#R === %#R "
+ DBG1(DBG_CFG, "handling HA CHILD_SA %s{%u} %#R === %#R "
"(segment in: %d%s, out: %d%s)", child_sa->get_name(child_sa),
child_sa->get_unique_id(child_sa), local_ts, remote_ts,
seg_i, this->segments->is_active(this->segments, seg_i) ? "*" : "",
diff --git a/src/libcharon/plugins/ha/ha_dispatcher.c b/src/libcharon/plugins/ha/ha_dispatcher.c
index e63a9a7260..45f7770b95 100644
--- a/src/libcharon/plugins/ha/ha_dispatcher.c
+++ b/src/libcharon/plugins/ha/ha_dispatcher.c
@@ -946,7 +946,7 @@ static void process_child_add(private_ha_dispatcher_t *this,
ike_sa->get_my_host(ike_sa), inbound_spi);
seg_o = this->kernel->get_segment_spi(this->kernel,
ike_sa->get_other_host(ike_sa), outbound_spi);
- DBG1(DBG_CFG, "installed HA CHILD_SA %s{%d} %#R === %#R "
+ DBG1(DBG_CFG, "installed HA CHILD_SA %s{%u} %#R === %#R "
"(segment in: %d%s, out: %d%s)", child_sa->get_name(child_sa),
child_sa->get_unique_id(child_sa), local_ts, remote_ts,
seg_i, this->segments->is_active(this->segments, seg_i) ? "*" : "",
diff --git a/src/libcharon/plugins/selinux/selinux_listener.c b/src/libcharon/plugins/selinux/selinux_listener.c
index cb7c86f119..1ad200f962 100644
--- a/src/libcharon/plugins/selinux/selinux_listener.c
+++ b/src/libcharon/plugins/selinux/selinux_listener.c
@@ -96,7 +96,7 @@ static bool install_generic_trap(ike_sa_t *ike_sa, child_sa_t *child_sa)
#if DEBUG_LEVEL >= 1
sec_label_t *label = child_sa->get_label(child_sa);
- DBG1(DBG_IKE, "installing trap %s{%d} with generic security label '%s'",
+ DBG1(DBG_IKE, "installing trap %s{%u} with generic security label '%s'",
child_sa->get_name(child_sa), child_sa->get_unique_id(child_sa),
label->get_string(label));
#endif
@@ -173,7 +173,7 @@ METHOD(listener_t, ike_updown, bool,
{
#if DEBUG_LEVEL >= 1
sec_label_t *label = child_sa->get_label(child_sa);
- DBG1(DBG_IKE, "uninstalling trap %s{%d} with generic security "
+ DBG1(DBG_IKE, "uninstalling trap %s{%u} with generic security "
"label '%s'", child_sa->get_name(child_sa),
child_sa->get_unique_id(child_sa),
label->get_string(label));
diff --git a/src/libcharon/plugins/stroke/stroke_list.c b/src/libcharon/plugins/stroke/stroke_list.c
index c1d4145c1a..dc27bab7c8 100644
--- a/src/libcharon/plugins/stroke/stroke_list.c
+++ b/src/libcharon/plugins/stroke/stroke_list.c
@@ -213,7 +213,7 @@ static void log_child_sa(FILE *out, child_sa_t *child_sa, bool all)
config = child_sa->get_config(child_sa);
now = time_monotonic(NULL);
- fprintf(out, "%12s{%d}: %N, %N%s, reqid %u",
+ fprintf(out, "%12s{%u}: %N, %N%s, reqid %u",
child_sa->get_name(child_sa), child_sa->get_unique_id(child_sa),
child_sa_state_names, child_sa->get_state(child_sa),
ipsec_mode_names, child_sa->get_mode(child_sa),
@@ -237,7 +237,7 @@ static void log_child_sa(FILE *out, child_sa_t *child_sa, bool all)
if (all)
{
- fprintf(out, "\n%12s{%d}: ", child_sa->get_name(child_sa),
+ fprintf(out, "\n%12s{%u}: ", child_sa->get_name(child_sa),
child_sa->get_unique_id(child_sa));
proposal = child_sa->get_proposal(child_sa);
@@ -329,7 +329,7 @@ static void log_child_sa(FILE *out, child_sa_t *child_sa, bool all)
child_sa->create_ts_enumerator(child_sa, TRUE));
other_ts = linked_list_create_from_enumerator(
child_sa->create_ts_enumerator(child_sa, FALSE));
- fprintf(out, "\n%12s{%d}: %#R === %#R\n",
+ fprintf(out, "\n%12s{%u}: %#R === %#R\n",
child_sa->get_name(child_sa), child_sa->get_unique_id(child_sa),
my_ts, other_ts);
my_ts->destroy(my_ts);
diff --git a/src/libcharon/processing/jobs/delete_child_sa_job.c b/src/libcharon/processing/jobs/delete_child_sa_job.c
index fe66824872..cb388ba133 100644
--- a/src/libcharon/processing/jobs/delete_child_sa_job.c
+++ b/src/libcharon/processing/jobs/delete_child_sa_job.c
@@ -78,7 +78,7 @@ METHOD(job_t, execute, job_requeue_t,
charon->child_sa_manager, this->id, &child_sa);
if (!ike_sa)
{
- DBG1(DBG_JOB, "CHILD_SA {%d} not found for delete", this->id);
+ DBG1(DBG_JOB, "CHILD_SA {%u} not found for delete", this->id);
}
else
{
diff --git a/src/libcharon/processing/jobs/migrate_job.c b/src/libcharon/processing/jobs/migrate_job.c
index 8cc43a0995..0c2bad28f7 100644
--- a/src/libcharon/processing/jobs/migrate_job.c
+++ b/src/libcharon/processing/jobs/migrate_job.c
@@ -99,7 +99,7 @@ METHOD(job_t, execute, job_requeue_t,
continue;
}
- DBG2(DBG_JOB, "found CHILD_SA with reqid {%d}", this->reqid);
+ DBG2(DBG_JOB, "found CHILD_SA with reqid {%u}", this->reqid);
ike_sa->set_kmaddress(ike_sa, this->local, this->remote);
diff --git a/src/libcharon/sa/child_sa.c b/src/libcharon/sa/child_sa.c
index ed64535f00..0805bfb9e5 100644
--- a/src/libcharon/sa/child_sa.c
+++ b/src/libcharon/sa/child_sa.c
@@ -410,7 +410,7 @@ METHOD(child_sa_t, set_state, void,
{
if (this->state != state)
{
- DBG2(DBG_CHD, "CHILD_SA %s{%d} state change: %N => %N",
+ DBG2(DBG_CHD, "CHILD_SA %s{%u} state change: %N => %N",
get_name(this), this->unique_id,
child_sa_state_names, this->state,
child_sa_state_names, state);
@@ -1973,7 +1973,7 @@ METHOD(child_sa_t, update, status_t,
DBG1(DBG_CHD, "releasing reqid %u failed", this->reqid);
}
DBG1(DBG_CHD, "replaced reqid %u with reqid %u for updated "
- "CHILD_SA %s{%d}", this->reqid, new_reqid, get_name(this),
+ "CHILD_SA %s{%u}", this->reqid, new_reqid, get_name(this),
this->unique_id);
this->reqid = new_reqid;
}
diff --git a/src/libcharon/sa/ikev1/task_manager_v1.c b/src/libcharon/sa/ikev1/task_manager_v1.c
index 5afc66ae81..1584d03df8 100644
--- a/src/libcharon/sa/ikev1/task_manager_v1.c
+++ b/src/libcharon/sa/ikev1/task_manager_v1.c
@@ -1761,7 +1761,7 @@ bool ikev1_child_sa_is_redundant(ike_sa_t *ike_sa, child_sa_t *child_sa,
have_equal_ts(current, child_sa, FALSE) &&
(!cmp || cmp(child_sa, current)))
{
- DBG1(DBG_IKE, "detected redundant CHILD_SA %s{%d}",
+ DBG1(DBG_IKE, "detected redundant CHILD_SA %s{%u}",
child_sa->get_name(child_sa),
child_sa->get_unique_id(child_sa));
redundant = TRUE;
diff --git a/src/libcharon/sa/ikev1/tasks/quick_delete.c b/src/libcharon/sa/ikev1/tasks/quick_delete.c
index 265d36c396..00871b36b0 100644
--- a/src/libcharon/sa/ikev1/tasks/quick_delete.c
+++ b/src/libcharon/sa/ikev1/tasks/quick_delete.c
@@ -122,7 +122,7 @@ static status_t delete_child(private_quick_delete_t *this,
child_sa->create_ts_enumerator(child_sa, FALSE));
if (this->expired)
{
- DBG0(DBG_IKE, "closing expired CHILD_SA %s{%d} "
+ DBG0(DBG_IKE, "closing expired CHILD_SA %s{%u} "
"with SPIs %.8x_i %.8x_o and TS %#R === %#R",
child_sa->get_name(child_sa), child_sa->get_unique_id(child_sa),
ntohl(child_sa->get_spi(child_sa, TRUE)),
@@ -133,7 +133,7 @@ static status_t delete_child(private_quick_delete_t *this,
child_sa->get_usestats(child_sa, TRUE, NULL, &bytes_in, NULL);
child_sa->get_usestats(child_sa, FALSE, NULL, &bytes_out, NULL);
- DBG0(DBG_IKE, "closing CHILD_SA %s{%d} with SPIs "
+ DBG0(DBG_IKE, "closing CHILD_SA %s{%u} with SPIs "
"%.8x_i (%llu bytes) %.8x_o (%llu bytes) and TS %#R === %#R",
child_sa->get_name(child_sa), child_sa->get_unique_id(child_sa),
ntohl(child_sa->get_spi(child_sa, TRUE)), bytes_in,
diff --git a/src/libcharon/sa/ikev1/tasks/quick_mode.c b/src/libcharon/sa/ikev1/tasks/quick_mode.c
index a7c52c3526..8c06db5238 100644
--- a/src/libcharon/sa/ikev1/tasks/quick_mode.c
+++ b/src/libcharon/sa/ikev1/tasks/quick_mode.c
@@ -396,7 +396,7 @@ static bool install(private_quick_mode_t *this)
other_ts = linked_list_create_from_enumerator(
this->child_sa->create_ts_enumerator(this->child_sa, FALSE));
- DBG0(DBG_IKE, "CHILD_SA %s{%d} established "
+ DBG0(DBG_IKE, "CHILD_SA %s{%u} established "
"with SPIs %.8x_i %.8x_o and TS %#R === %#R",
this->child_sa->get_name(this->child_sa),
this->child_sa->get_unique_id(this->child_sa),
diff --git a/src/libcharon/sa/ikev2/tasks/child_create.c b/src/libcharon/sa/ikev2/tasks/child_create.c
index 37575f57fd..149808ee20 100644
--- a/src/libcharon/sa/ikev2/tasks/child_create.c
+++ b/src/libcharon/sa/ikev2/tasks/child_create.c
@@ -864,7 +864,7 @@ static status_t install_child_sa(private_child_create_t *this)
other_ts = linked_list_create_from_enumerator(
this->child_sa->create_ts_enumerator(this->child_sa, FALSE));
- DBG0(DBG_IKE, "%sCHILD_SA %s{%d} established "
+ DBG0(DBG_IKE, "%sCHILD_SA %s{%u} established "
"with SPIs %.8x_i %.8x_o and TS %#R === %#R",
(out_state == CHILD_OUTBOUND_INSTALLED) ? "" : "inbound ",
this->child_sa->get_name(this->child_sa),
@@ -1587,8 +1587,8 @@ static bool check_for_duplicate(private_child_create_t *this)
other_ts = linked_list_create_from_enumerator(
found->create_ts_enumerator(found, FALSE));
- DBG1(DBG_IKE, "not establishing CHILD_SA %s{%d} due to existing "
- "duplicate {%d} with SPIs %.8x_i %.8x_o and TS %#R === %#R",
+ DBG1(DBG_IKE, "not establishing CHILD_SA %s{%u} due to existing "
+ "duplicate {%u} with SPIs %.8x_i %.8x_o and TS %#R === %#R",
this->child_sa->get_name(this->child_sa),
this->child_sa->get_unique_id(this->child_sa),
found->get_unique_id(found),
@@ -1611,7 +1611,7 @@ static bool check_for_generic_label(private_child_create_t *this)
{
#if DEBUG_LEVEL >= 1
sec_label_t *label = this->config->get_label(this->config);
- DBG1(DBG_IKE, "not establishing CHILD_SA %s{%d} with generic "
+ DBG1(DBG_IKE, "not establishing CHILD_SA %s{%u} with generic "
"label '%s'", this->child_sa->get_name(this->child_sa),
this->child_sa->get_unique_id(this->child_sa),
label->get_string(label));
@@ -1790,13 +1790,13 @@ METHOD(task_t, build_i, status_t,
if (this->child.reqid)
{
- DBG0(DBG_IKE, "establishing CHILD_SA %s{%d} reqid %d",
+ DBG0(DBG_IKE, "establishing CHILD_SA %s{%u} reqid %d",
this->child_sa->get_name(this->child_sa),
this->child_sa->get_unique_id(this->child_sa), this->child.reqid);
}
else
{
- DBG0(DBG_IKE, "establishing CHILD_SA %s{%d}",
+ DBG0(DBG_IKE, "establishing CHILD_SA %s{%u}",
this->child_sa->get_name(this->child_sa),
this->child_sa->get_unique_id(this->child_sa));
}
@@ -2723,7 +2723,7 @@ METHOD(task_t, process_i, status_t,
if (this->aborted)
{
- DBG1(DBG_IKE, "deleting CHILD_SA %s{%d} with SPIs %.8x_i %.8x_o of "
+ DBG1(DBG_IKE, "deleting CHILD_SA %s{%u} with SPIs %.8x_i %.8x_o of "
"aborted %N task",
this->child_sa->get_name(this->child_sa),
this->child_sa->get_unique_id(this->child_sa),
diff --git a/src/libcharon/sa/ikev2/tasks/child_rekey.c b/src/libcharon/sa/ikev2/tasks/child_rekey.c
index 80c3b21311..fb3ba2aafa 100644
--- a/src/libcharon/sa/ikev2/tasks/child_rekey.c
+++ b/src/libcharon/sa/ikev2/tasks/child_rekey.c
@@ -1053,7 +1053,7 @@ bool child_rekey_conclude_rekeying(child_sa_t *old, child_sa_t *new)
other_ts = linked_list_create_from_enumerator(
new->create_ts_enumerator(new, FALSE));
- DBG0(DBG_IKE, "outbound CHILD_SA %s{%d} established "
+ DBG0(DBG_IKE, "outbound CHILD_SA %s{%u} established "
"with SPIs %.8x_i %.8x_o and TS %#R === %#R",
new->get_name(new), new->get_unique_id(new),
ntohl(new->get_spi(new, TRUE)), ntohl(new->get_spi(new, FALSE)),