Attention is currently required from: daniel, laforge.
Hello Jenkins Builder, daniel, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-sigtran/+/40498?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: xua_snm.c: Handle DAUD with aff_pc containing wildcards
......................................................................
xua_snm.c: Handle DAUD with aff_pc containing wildcards
Handle it with a really basic implementation for completeness.
In theory we shouldn't in general be receiving such big masks,
since RFC466 3.4.3 states:
"""
It is recommended that during normal operation (traffic handling) the
mask field of the Affected Point Code parameter in the DAUD message
be kept to a zero value in order to avoid SG overloading.
"""
Change-Id: Icdb726ae66d3bee19b2113b1e77d68b517e8fb4d
---
M src/xua_snm.c
1 file changed, 47 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/98/40498/3
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40498?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: Icdb726ae66d3bee19b2113b1e77d68b517e8fb4d
Gerrit-Change-Number: 40498
Gerrit-PatchSet: 3
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-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40499?usp=email )
Change subject: cosmetic: sua: Fix API documentation typo
......................................................................
cosmetic: sua: Fix API documentation typo
Change-Id: I5aa42a3dfd5782425e23278f1b6a8ee8b9af2cac
---
M src/sua.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/99/40499/1
diff --git a/src/sua.c b/src/sua.c
index 41bea1b..7d14f3b 100644
--- a/src/sua.c
+++ b/src/sua.c
@@ -863,7 +863,7 @@
}
/*! Transmit SSNM DUNA/DAVA message indicating [un]availability of certain point code[s]
- * \param[in] asp ASP through whihc to transmit message. Must be ACTIVE.
+ * \param[in] asp ASP through which to transmit message. Must be ACTIVE.
* \param[in] rctx array of Routing Contexts in network byte order.
* \param[in] num_rctx number of rctx
* \param[in] aff_pc array of 'Affected Point Code' in network byte order.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40499?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: I5aa42a3dfd5782425e23278f1b6a8ee8b9af2cac
Gerrit-Change-Number: 40499
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Attention is currently required from: daniel, laforge.
Hello Jenkins Builder, daniel, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-sigtran/+/40498?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_snm.c: Handle DAUD with aff_pc containing wildcards
......................................................................
xua_snm.c: Handle DAUD with aff_pc containing wildcards
Handle it with a really basic implementation for completeness.
In theory we shouldn't in general be receiving such big masks,
since RFC466 3.4.3 states:
"""
It is recommended that during normal operation (traffic handling) the
mask field of the Affected Point Code parameter in the DAUD message
be kept to a zero value in order to avoid SG overloading.
"""
Change-Id: Icdb726ae66d3bee19b2113b1e77d68b517e8fb4d
---
M src/xua_snm.c
1 file changed, 47 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/98/40498/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40498?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: Icdb726ae66d3bee19b2113b1e77d68b517e8fb4d
Gerrit-Change-Number: 40498
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-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40498?usp=email )
Change subject: xua_snm.c: Handle DAUD with aff_pc containing wildcards
......................................................................
xua_snm.c: Handle DAUD with aff_pc containing wildcards
Handle it with a really basic implementation for completeness.
In theory we shouldn't in general be receiving such big masks,
since RFC466 3.4.3 states:
"""
It is recommended that during normal operation (traffic handling) the
mask field of the Affected Point Code parameter in the DAUD message
be kept to a zero value in order to avoid SG overloading.
"""
Change-Id: Icdb726ae66d3bee19b2113b1e77d68b517e8fb4d
---
M src/xua_snm.c
1 file changed, 46 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/98/40498/1
diff --git a/src/xua_snm.c b/src/xua_snm.c
index 079cd96..056bb20 100644
--- a/src/xua_snm.c
+++ b/src/xua_snm.c
@@ -318,15 +318,14 @@
uint8_t mask = _aff_pc >> 24;
bool is_available = false;
+ struct osmo_ss7_route_label rtlabel = {
+ .opc = xua->mtp.opc, /* Use OPC of received DAUD. */
+ .dpc = pc,
+ .sls = 0,
+ };
+
if (mask == 0) {
/* one single point code */
-
- struct osmo_ss7_route_label rtlabel = {
- .opc = xua->mtp.opc, /* Use OPC of received DAUD. FIXME: is this correct? */
- .dpc = pc,
- .sls = 0,
- };
-
/* Check if there's an "active" route available: */
if (ss7_instance_lookup_route(s7i, &rtlabel))
is_available = true;
@@ -334,8 +333,46 @@
xua_tx_snm_available(asp, rctx, num_rctx, &aff_pc[i], 1, "Response to DAUD",
is_available);
} else {
- /* TODO: wildcard match */
- LOGPASP(asp, log_ss, LOGL_NOTICE, "DAUD with wildcard match not supported yet\n");
+ /* Multiple single point codes with mask indicating number of wildcarded bits. */
+ uint32_t maskbits = (1 << mask) - 1;
+ uint32_t fullpc;
+ unsigned int num_aff_pc_avail = 0;
+ unsigned int num_aff_pc_unavail = 0;
+ uint32_t *aff_pc_avail = talloc_size(asp, sizeof(uint32_t)*(1 << mask));
+ uint32_t *aff_pc_unavail = talloc_size(asp, sizeof(uint32_t)*(1 << mask));
+ for (fullpc = (pc & ~maskbits); fullpc <= (pc | maskbits); fullpc++) {
+ rtlabel.dpc = fullpc;
+ is_available = !!ss7_instance_lookup_route(s7i, &rtlabel);
+ if (is_available)
+ aff_pc_avail[num_aff_pc_avail++] = htonl(fullpc); /* mask = 0 */
+ else
+ aff_pc_unavail[num_aff_pc_unavail++] = htonl(fullpc); /* mask = 0 */
+ }
+ /* TODO: Ideally an extra step would be needed here to
+ * pack again all concurrent PCs on each array sharing a
+ * suffix mask, in order to shrink the transmitted list of
+ * Affected PCs. */
+ const unsigned int MAX_PC_PER_MSG = 64;
+ for (unsigned int i = 0; i < num_aff_pc_avail; i += MAX_PC_PER_MSG) {
+ unsigned int num_transmit;
+ if (i + MAX_PC_PER_MSG < num_aff_pc_avail)
+ num_transmit = MAX_PC_PER_MSG;
+ else
+ num_transmit = (num_aff_pc_avail - i);
+ xua_tx_snm_available(asp, rctx, num_rctx, &aff_pc_avail[i],
+ num_transmit, "Response to DAUD", true);
+ }
+ for (unsigned int i = 0; i < num_aff_pc_unavail; i += MAX_PC_PER_MSG) {
+ unsigned int num_transmit;
+ if (i + MAX_PC_PER_MSG < num_aff_pc_unavail)
+ num_transmit = MAX_PC_PER_MSG;
+ else
+ num_transmit = (num_aff_pc_unavail - i);
+ xua_tx_snm_available(asp, rctx, num_rctx, &aff_pc_unavail[i],
+ num_transmit, "Response to DAUD", false);
+ }
+ talloc_free(aff_pc_avail);
+ talloc_free(aff_pc_unavail);
}
}
}
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40498?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: Icdb726ae66d3bee19b2113b1e77d68b517e8fb4d
Gerrit-Change-Number: 40498
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Attention is currently required from: Hoernchen.
dexter has posted comments on this change by Hoernchen. ( https://gerrit.osmocom.org/c/pysim/+/40467?usp=email )
Change subject: smdpp: validate eid
......................................................................
Patch Set 5: Code-Review+2 Verified+1
(3 comments)
Patchset:
PS5:
This looks ok to me. I have tried it out and it works fine. I would suggest to put the verification code into a separate module.
Commit Message:
https://gerrit.osmocom.org/c/pysim/+/40467/comment/ca988042_3cd6771e?usp=em… :
PS5, Line 7: smdpp: validate eid
This is quite a complex patch. Maybe it would be helpful to write one or two lines on what it does and why it is needed? (I know this but maybe others who read the commit log have no clue.)
File osmo-smdpp.py:
https://gerrit.osmocom.org/c/pysim/+/40467/comment/356bd6af_df41c0be?usp=em… :
PS5, Line 133: print(f"Found GSMA permittedEins extension: {ext.oid}")
Interesting, never saw this print(f"... thing before.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/40467?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ice704548cb62f14943927b5295007db13c807031
Gerrit-Change-Number: 40467
Gerrit-PatchSet: 5
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-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 20 Jun 2025 13:43:26 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Attention is currently required from: Hoernchen.
dexter has posted comments on this change by Hoernchen. ( https://gerrit.osmocom.org/c/pysim/+/40466?usp=email )
Change subject: smdpp: verify request headers
......................................................................
Patch Set 5: Code-Review+2 Verified+1
(1 comment)
Patchset:
PS5:
This looks ok to me. I have tried it out and it works fine.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/40466?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ic1221bcb87a9975a013ab356266d3cb76d9241f1
Gerrit-Change-Number: 40466
Gerrit-PatchSet: 5
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-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 20 Jun 2025 13:37:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Attention is currently required from: Hoernchen.
dexter has posted comments on this change by Hoernchen. ( https://gerrit.osmocom.org/c/pysim/+/40469?usp=email )
Change subject: smdpp: verify cert chain
......................................................................
Patch Set 5: Code-Review+2 Verified+1
(1 comment)
Patchset:
PS5:
This looks ok to me. I have tried it out and works fine.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/40469?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I1e4e4b1b032dc6a8b7d15bd80d533a50fe0cff15
Gerrit-Change-Number: 40469
Gerrit-PatchSet: 5
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-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 20 Jun 2025 13:36:14 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Attention is currently required from: Hoernchen.
dexter has posted comments on this change by Hoernchen. ( https://gerrit.osmocom.org/c/pysim/+/40464?usp=email )
Change subject: smdpp: add proper tls support, cert generation FOR TESTING
......................................................................
Patch Set 5: Code-Review+1 Verified+1
(8 comments)
Patchset:
PS5:
I have tried the patchset and it works with SSL and with --nossl + nginx. I have tried the generate_smdp_certs.py script. It generates certificates but they don't work. I guess this is expected as it is intended only for testing.
File contrib/generate_smdpp_certs.py:
https://gerrit.osmocom.org/c/pysim/+/40464/comment/bb007d48_299cdf51?usp=em… :
PS5, Line 2:
To me this looks like an independent tool. Maybe putting it in a separate patch would make sense?
File osmo-smdpp.py:
https://gerrit.osmocom.org/c/pysim/+/40464/comment/a83bdf3b_75f41048?usp=em… :
PS5, Line 26: from pathlib import Path
You have moved a lot of those imports from another code location. Maybe it would make sense to first move the imports in a patch before this one and then do the modifications?
https://gerrit.osmocom.org/c/pysim/+/40464/comment/9285f4f8_bc9ab8b4?usp=em… :
PS5, Line 53:
We now support SSL and we have means to point to different certificate sub directories. Maybe we should make those two values configurable as well?
https://gerrit.osmocom.org/c/pysim/+/40464/comment/b4e22531_288cac31?usp=em… :
PS5, Line 586: parser.add_argument("-p", "--port", help="TCP port to bind HTTP to", default=8000)
Maybe 8443, since we now support SSL?
https://gerrit.osmocom.org/c/pysim/+/40464/comment/1718c6f7_858f8dfb?usp=em… :
PS5, Line 587: parser.add_argument("-c", "--certpath", help=f"cert subdir relative to {DATA_DIR}", default="certs")
I think --certpath is a bit irritating as one may thing that it is possible to provide an absolute path to a random location in the file system, which actually not the case. The option describes a sub directory in smdp-data. Maybe something like --certdir would be more suitable?
https://gerrit.osmocom.org/c/pysim/+/40464/comment/e4e6df34_a36a4e8d?usp=em… :
PS5, Line 588: parser.add_argument("-s", "--nossl", help="do NOT use ssl", action='store_true', default=False)
I wonder if this may break anything when osmo-smdpp suddenly supports SSL by default. In any case I think that a --nossl option should be preferred over an --ssl option as SSL is the default and it should be on by default. So users will have to adopt.
https://gerrit.osmocom.org/c/pysim/+/40464/comment/a2dc15cc_5c8f1ae4?usp=em… :
PS5, Line 591: common_cert_path = os.path.join(DATA_DIR, args.certpath)
(see above) Maybe having DATA_DIR as a commandline parameter would be a good idea.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/40464?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I84b2666422b8ff565620f3827ef4d4d7635a21be
Gerrit-Change-Number: 40464
Gerrit-PatchSet: 5
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-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 20 Jun 2025 13:32:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes