Attention is currently required from: Hoernchen, dexter, laforge.
Hello Jenkins Builder, dexter, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/40468?usp=email
to look at the new patch set (#7).
The following approvals got outdated and were removed:
Code-Review+1 by laforge, Verified+1 by Jenkins Builder
Change subject: smdpp: less verbose by default
......................................................................
smdpp: less verbose by default
Those data blobs are huge.
Change-Id: I04a72b8f52417862d4dcba1f0743700dd942ef49
---
M osmo-smdpp.py
M pySim/esim/bsp.py
M pySim/esim/es8p.py
3 files changed, 88 insertions(+), 51 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/68/40468/7
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/40468?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I04a72b8f52417862d4dcba1f0743700dd942ef49
Gerrit-Change-Number: 40468
Gerrit-PatchSet: 7
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Attention is currently required from: daniel, laforge, pespin.
osmith has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40569?usp=email )
Change subject: stp: Support expect RFC466 4.5.1 DUNA after ASP ACT
......................................................................
Patch Set 2: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40569?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I6bee0f890a8baaa62be193824b1ae2fceb53fb45
Gerrit-Change-Number: 40569
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 03 Jul 2025 07:31:23 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-sigtran/+/40574?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: xua_rkm: Reply RKM RKEY REG with err insufficient resources
......................................................................
xua_rkm: Reply RKM RKEY REG with err insufficient resources
If a user tries to add more than 16 ASPs to an AS, it will fail
internally. In that scenario, inform the peer.
Change-Id: I352dbc0a1319348b127e173599a1d967ef7bcb26
---
M src/xua_rkm.c
1 file changed, 6 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/74/40574/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40574?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I352dbc0a1319348b127e173599a1d967ef7bcb26
Gerrit-Change-Number: 40574
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40575?usp=email )
Change subject: ipa: tear down conn trying to add >16th ASP to AS
......................................................................
ipa: tear down conn trying to add >16th ASP to AS
If a user tries to add more than 16 ASPs to an AS, it will fail
internally. In that scenario, close the connection.
Change-Id: Iaf02f69c7a53827037ec500ce946b947ab5ea2bd
---
M src/xua_asp_fsm.c
1 file changed, 5 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/75/40575/1
diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index 86d86b7..70fb0b3 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -1124,7 +1124,11 @@
iafp->ipa_unit->unit_name);
goto out_err;
}
- ss7_as_add_asp(as, asp);
+ rc = ss7_as_add_asp(as, asp);
+ if (rc < 0) {
+ LOGPFSML(fi, LOGL_ERROR, "Cannot add ASP '%s' to AS '%s'\n", asp->cfg.name, as->cfg.name);
+ goto out_err;
+ }
/* TODO: OAP Authentication? */
/* Send ID_ACK */
if (fd >= 0) {
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40575?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Iaf02f69c7a53827037ec500ce946b947ab5ea2bd
Gerrit-Change-Number: 40575
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40572?usp=email )
Change subject: xua_rkm: Simplify handle_rkey_reg() with early return path
......................................................................
xua_rkm: Simplify handle_rkey_reg() with early return path
Change-Id: I6f848716e9239dc4a4f0b35297462dd3915502c2
---
M src/xua_rkm.c
1 file changed, 10 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/72/40572/1
diff --git a/src/xua_rkm.c b/src/xua_rkm.c
index f03397c..d4d1aa3 100644
--- a/src/xua_rkm.c
+++ b/src/xua_rkm.c
@@ -219,6 +219,15 @@
/* check if there is already an AS for this routing key */
as = osmo_ss7_as_find_by_rctx(asp->inst, rctx);
+
+ if (!as && !asp->inst->cfg.permit_dyn_rkm_alloc) {
+ /* not permitted to create dynamic RKM entries */
+ LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: RCTX %u not found in configuration, and "
+ "dynamic RKM allocation not permitted; permission denied\n", rctx);
+ msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_PERM_DENIED, 0);
+ return -1;
+ }
+
if (as) {
LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: Found existing AS for RCTX %u\n", rctx);
/* Early return before allocating stuff if no space left: */
@@ -251,7 +260,7 @@
}
as->cfg.mode_set_by_peer = true;
}
- } else if (asp->inst->cfg.permit_dyn_rkm_alloc) {
+ } else {
/* Early return before allocating stuff if no space left: */
if (*nas_idx >= max_nas_idx) {
LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: not enough room for newly assigned AS (max %u AS)\n",
@@ -288,12 +297,6 @@
msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_CANT_SUPP_UNQ_RT, 0);
return -1;
}
- } else {
- /* not permitted to create dynamic RKM entries */
- LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: RCTX %u not found in configuration, and "
- "dynamic RKM allocation not permitted; permission denied\n", rctx);
- msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_PERM_DENIED, 0);
- return -1;
}
/* Success: Add just-create AS to connected ASP + report success */
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40572?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I6f848716e9239dc4a4f0b35297462dd3915502c2
Gerrit-Change-Number: 40572
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40573?usp=email )
Change subject: xua_rkm: Improve handling of newly_assigned_as array
......................................................................
xua_rkm: Improve handling of newly_assigned_as array
* Make sure we don't end up with duplicated AS in the array, to avoid
signalling the same event multiple times.
* Once finished filling the array, no need to iterate the full allocated
array, but only the amount of elements filled in.
Change-Id: I4fbac8ff61541c6804e2f01a9c965ec630d59080
---
M src/xua_rkm.c
1 file changed, 29 insertions(+), 19 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/73/40573/1
diff --git a/src/xua_rkm.c b/src/xua_rkm.c
index d4d1aa3..1009d18 100644
--- a/src/xua_rkm.c
+++ b/src/xua_rkm.c
@@ -151,6 +151,19 @@
* RKM REG request */
#define MAX_NEW_AS 16
+/* Lookup "as" pointer in array "newly_assigned_as" with "num_newly_assigned_as" elements. */
+static bool newly_assigned_as_in_array(struct osmo_ss7_as * const *newly_assigned_as,
+ unsigned int num_newly_assigned_as,
+ const struct osmo_ss7_as *as)
+{
+ unsigned int i;
+ for (i = 0; i < num_newly_assigned_as; i++) {
+ if (as == newly_assigned_as[i])
+ return true;
+ }
+ return false;
+}
+
/* SG: handle a single registration request IE (nested IEs in 'innner' */
static int handle_rkey_reg(struct osmo_ss7_asp *asp, struct xua_msg *inner,
struct msgb *resp, struct osmo_ss7_as **newly_assigned_as,
@@ -161,6 +174,7 @@
struct osmo_ss7_as *as;
struct osmo_ss7_route *rt;
char namebuf[32];
+ bool as_already_in_array;
/* mandatory local routing key ID */
rk_id = xua_msg_get_u32(inner, M3UA_IEI_LOC_RKEY_ID);
@@ -228,15 +242,18 @@
return -1;
}
+ /* Early return before allocating stuff if no space left.
+ * If AS didn't exist before, it can't be already in the array:*/
+ as_already_in_array = as && newly_assigned_as_in_array(newly_assigned_as, *nas_idx, as);
+ if (!as_already_in_array && *nas_idx >= max_nas_idx) {
+ LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: not enough room for newly assigned AS (max %u AS)\n",
+ max_nas_idx+1);
+ msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INSUFF_RESRC, 0);
+ return -1;
+ }
+
if (as) {
LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: Found existing AS for RCTX %u\n", rctx);
- /* Early return before allocating stuff if no space left: */
- if (*nas_idx >= max_nas_idx) {
- LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: not enough room for newly assigned AS (max %u AS)\n",
- max_nas_idx+1);
- msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INSUFF_RESRC, 0);
- return -1;
- }
if (as->cfg.routing_key.pc != dpc) {
LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: DPC doesn't match, rejecting AS (%u != %u)\n",
@@ -261,14 +278,6 @@
as->cfg.mode_set_by_peer = true;
}
} else {
- /* Early return before allocating stuff if no space left: */
- if (*nas_idx >= max_nas_idx) {
- LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: not enough room for newly assigned AS (max %u AS)\n",
- max_nas_idx+1);
- msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INSUFF_RESRC, 0);
- return -1;
- }
-
/* Create an AS for this routing key */
snprintf(namebuf, sizeof(namebuf), "as-rkm-%u", rctx);
as = osmo_ss7_as_find_or_create(asp->inst, namebuf, OSMO_SS7_ASP_PROT_M3UA);
@@ -303,7 +312,8 @@
ss7_as_add_asp(as, asp);
msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_SUCCESS, rctx);
/* append to list of newly assigned as */
- newly_assigned_as[(*nas_idx)++] = as;
+ if (!as_already_in_array)
+ newly_assigned_as[(*nas_idx)++] = as;
return 0;
}
@@ -313,7 +323,7 @@
struct xua_msg_part *part;
struct msgb *resp = m3ua_msgb_alloc(__func__);
struct osmo_ss7_as *newly_assigned_as[MAX_NEW_AS];
- unsigned int i, nas_idx = 0;
+ unsigned int i, num_newly_assigned_as = 0;
memset(newly_assigned_as, 0, sizeof(newly_assigned_as));
@@ -333,7 +343,7 @@
/* handle single registration and append result to
* 'resp' */
handle_rkey_reg(asp, inner, resp, newly_assigned_as,
- ARRAY_SIZE(newly_assigned_as), &nas_idx);
+ ARRAY_SIZE(newly_assigned_as), &num_newly_assigned_as);
xua_msg_free(inner);
}
@@ -344,7 +354,7 @@
/* and *after* the RKM REG Response inform the newly assigned
* ASs about the fact that there's an INACTIVE ASP for them,
* which will cause them to send NOTIFY to the client */
- for (i = 0; i < ARRAY_SIZE(newly_assigned_as); i++) {
+ for (i = 0; i < num_newly_assigned_as; i++) {
struct osmo_ss7_as *as = newly_assigned_as[i];
if (!as)
continue;
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40573?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I4fbac8ff61541c6804e2f01a9c965ec630d59080
Gerrit-Change-Number: 40573
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40574?usp=email )
Change subject: xua_rkm: Reply RKM RKEY REG with err insufficient resources
......................................................................
xua_rkm: Reply RKM RKEY REG with err insufficient resources
If a user tries to add more than 16 ASPs to an AS, it will fail
internally. In that scenario, inform the peer.
Change-Id: I352dbc0a1319348b127e173599a1d967ef7bcb26
---
M src/xua_rkm.c
1 file changed, 5 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/74/40574/1
diff --git a/src/xua_rkm.c b/src/xua_rkm.c
index 1009d18..19cd6a1 100644
--- a/src/xua_rkm.c
+++ b/src/xua_rkm.c
@@ -309,7 +309,11 @@
}
/* Success: Add just-create AS to connected ASP + report success */
- ss7_as_add_asp(as, asp);
+ if (ss7_as_add_asp(as, asp) < 0) {
+ msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INSUFF_RESRC, 0);
+ return -1;
+ }
+
msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_SUCCESS, rctx);
/* append to list of newly assigned as */
if (!as_already_in_array)
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40574?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I352dbc0a1319348b127e173599a1d967ef7bcb26
Gerrit-Change-Number: 40574
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40568?usp=email )
Change subject: remsim: bankd: add TC for creating a mapping with a busy client
......................................................................
remsim: bankd: add TC for creating a mapping with a busy client
Test if a busy client is implicit removed when creating a new mapping
for the same client with a different bankd slot.
After a desynchronisation between the server and bankd happen (e.g. restart the server),
the server might request a mapping between a client slot and a bankd slot
while the bankd still has a different mapping for the same client slot.
Example before this commit:
* server -> bankd: New Mapping (client 1/0, bankd 1/0)
* server <- bankd: Ack
* Restart server
* server -> bankd: New Mapping (client 1/0, bankd 2/0)
* server <- bankd: Ack (implicit remove mapping to bankd 1/0)
Related: SYS#7470
Change-Id: I57112758167c2a29fae9df0cf1e2691c5a8e7bed
---
M remsim/RemsimBankd_Tests.ttcn
1 file changed, 16 insertions(+), 0 deletions(-)
Approvals:
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/remsim/RemsimBankd_Tests.ttcn b/remsim/RemsimBankd_Tests.ttcn
index a2686d3..637cb0f 100644
--- a/remsim/RemsimBankd_Tests.ttcn
+++ b/remsim/RemsimBankd_Tests.ttcn
@@ -118,6 +118,21 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass);
}
+/* attempt to create a mapping for a client that already has a mapping to a different slot */
+testcase TC_createMapping_busyClient() runs on bankd_test_CT {
+ f_init();
+ as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots);
+ f_rspro_srv_reset_state(ok);
+ var BankSlot bs0 := { bankId := mp_bank_id, slotNr := 0 };
+ var BankSlot bs1 := { bankId := mp_bank_id, slotNr := 1 };
+ var ClientSlot cs := { clientId := 23, slotNr := 42 };
+ /* create the mapping the first time */
+ f_rspro_srv_create_slotmap(cs, bs0);
+ /* re-create the mapping a second time */
+ f_rspro_srv_create_slotmap(cs, bs1);
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass);
+}
+
/* attempt to create a mapping for an out-of-range slot number */
testcase TC_createMapping_invalidSlot() runs on bankd_test_CT {
f_init();
@@ -415,6 +430,7 @@
execute( TC_createMapping() );
execute( TC_createMapping_busySlot() );
+ execute( TC_createMapping_busyClient() );
execute( TC_createMapping_invalidSlot() );
execute( TC_createMapping_invalidBank() );
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40568?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I57112758167c2a29fae9df0cf1e2691c5a8e7bed
Gerrit-Change-Number: 40568
Gerrit-PatchSet: 2
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>