laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/41835?usp=email )
Change subject: saip.validation: Verify unused mandatory services in header
......................................................................
saip.validation: Verify unused mandatory services in header
This adds a new check method to the pySim.esim.saip.validation.CheckBasicStructure
class, which ensures that no unused authentication algorithm related mandatory
services are indicated in the ProfileHeader.
So if a profile e.g. states in the header it requires
usim-test-algorithm, but then the actual akaParameter instances do not
actually use that algorithm, it would raise an exception.
Change-Id: Id0e1988ae1936a321d04bc7c3c3a33262c767d30
Related: SYS#7826
---
M pySim/esim/saip/validation.py
1 file changed, 20 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/41835/1
diff --git a/pySim/esim/saip/validation.py b/pySim/esim/saip/validation.py
index 5e0323a..bf974c8 100644
--- a/pySim/esim/saip/validation.py
+++ b/pySim/esim/saip/validation.py
@@ -103,6 +103,26 @@
if 'profile-a-p256' in m_svcs and not ('usim' in m_svcs or 'isim' in m_svcs):
raise ProfileError('profile-a-p256 mandatory, but no usim or isim')
+ def check_mandatory_services_aka(self, pes: ProfileElementSequence):
+ """Ensure that no unnecessary authentication related services are marked as mandatory but not
+ actually used within the profile"""
+ m_svcs = pes.get_pe_for_type('header').decoded['eUICC-Mandatory-services']
+ # list of tuples (algo_id, key_len_in_octets) for all the akaParameters in the PE Sequence
+ algo_id_klen = [(x.decoded['algoConfiguration'][1]['algorithmID'],
+ len(x.decoded['algoConfiguration'][1]['key'])) for x in pes.get_pes_for_type('akaParameter')]
+ # just a plain list of algorithm IDs in akaParameters
+ algorithm_ids = [x[0] for x in algo_id_klen]
+ if 'milenage' in m_svcs and not 1 in algorithm_ids:
+ raise ProfileError('milenage mandatory, but no related algorithm_id in akaParameter')
+ if 'tuak128' in m_svcs and not (2, 128/8) in algo_id_klen:
+ raise ProfileError('tuak128 mandatory, but no related algorithm_id in akaParameter')
+ if 'cave' in m_svcs and not pes.get_pe_for_type('cdmaParameter'):
+ raise ProfileError('cave mandatory, but no related cdmaParameter')
+ if 'tuak256' in m_svcs and (2, 256/8) in algo_id_klen:
+ raise ProfileError('tuak256 mandatory, but no related algorithm_id in akaParameter')
+ if 'usim-test-algorithm' in m_svcs and not 3 in algorithm_ids:
+ raise ProfileError('usim-test-algorithm mandatory, but no related algorithm_id in akaParameter')
+
def check_identification_unique(self, pes: ProfileElementSequence):
"""Ensure that each PE has a unique identification value."""
id_list = [pe.header['identification'] for pe in pes.pe_list if pe.header]
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/41835?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Id0e1988ae1936a321d04bc7c3c3a33262c767d30
Gerrit-Change-Number: 41835
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Attention is currently required from: Timur Davydov, laforge, neels.
pespin has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email )
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Patch Set 7:
(1 comment)
Commit Message:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/43318899_bbac418e?… :
PS5, Line 7: Add Emscripten build support and JS callback logging backend
> I'm still lacking a rationale here on why do you want to run libosmocore on a web environment. […]
Also, please explain whether you envision to be sending more patches related to this topic (which need to be created or which you already keep in some fork).
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 7
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Comment-Date: Tue, 13 Jan 2026 12:59:55 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Timur Davydov, laforge, neels.
pespin has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email )
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Patch Set 7:
(8 comments)
Commit Message:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/30386498_18ab323e?… :
PS5, Line 7: Add Emscripten build support and JS callback logging backend
> Thanks for pointing this out. […]
I'm still lacking a rationale here on why do you want to run libosmocore on a web environment. Can you explain what's your exact final aim? what are you trying to exactly accomplish with this?
You want to run eg. osmo-sgsn on a web browser? What's the benefit of running osmo-sgsn in a browser instead of directly on linux?
Please understand I need to understand the big picture before being able to figure out whether this patch is the correct step towards that approach.
File src/core/Makefile.am:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/ed7d6e4c_38b04362?… :
PS7, Line 49: logging_emscripten.c \
You need to add it conditionally based on the autoconf variable.
File src/core/logging_emscripten.c:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/f33f3ed8_9f6c2d44?… :
PS7, Line 24: /*! \addtogroup logging
This file should actually not even compiled in whenever not building for EMSCRIPTEN. You need to add it conditionally in src/core/Makefile.am based on the autoconf variable. Then you can remove the "if defined(__EMSCRIPTEN__) from this file".
File src/core/netdev.c:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/0e031e8f_60eeccc2?… :
PS5, Line 67: #if (!EMBEDDED) && !defined(__EMSCRIPTEN__)
> Fully agree, that's cleaner and more in line with the rest of the library. […]
Do you mind sharing why can't you compile netdev.c in emscripten? due to some API not available? Then I'd prefer testing for that culprit in configure.ac and disable build of netdev based on that here maybe.
Let's first figure out what's blocking you from adding it.
File src/core/socket.c:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/1573951b_947db1c1?… :
PS5, Line 2050: #ifdef HAVE_LIBSCTP
> Explained in the comment for the function `osmo_sock_multiaddr_get_ip_and_port`
Submit a new separate patch with proper description of the problem and the fix.
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/ad16e25a_28cc9b5d?… :
PS5, Line 1928: #ifdef HAVE_LIBSCTP
> However, libosmo-netif uses some of them without the same HAVE_LIBSCTP guards
Do you mind sharing where does that happen? this should be fixed. IIRC we do test the "no libsctp" configuration in jenkins builds.
In any case, please submit separate patches for each of those problems, so we can discuss them independently.
File src/core/socket.c:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/1b558d89_a4bbf348?… :
PS7, Line 1698: #if defined(__linux__) || defined(__EMSCRIPTEN__)
this is becoming more complex, we should ideally have a configure.ac test trying to compile a sample program using struct in6_addr s6_addr32 field and then set a HAVE_IN6_ADDR_s6_addr32 define.
File src/vty/Makefile.am:
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/04bf4db6_ab6abbd9?… :
PS5, Line 36: libosmovty_la_SOURCES += telnet_interface_dummy.c
> In Emscripten there are no sockets so telnet_interface.c fails to compile.
How it comes you are building socket.c just fine then? To me it sounds that the culprit is more specific. Let's properly identify it before understanding what needs to be done, then probably submit a separate patch.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 7
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Comment-Date: Tue, 13 Jan 2026 12:58:16 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: Timur Davydov <dtv.comp(a)gmail.com>
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/41833?usp=email )
Change subject: scripts/manuals: use debian-trixie-build
......................................................................
scripts/manuals: use debian-trixie-build
Fix that the Osmocom-release-manuals job was still using
debian-bookworm-build instead of debian-trixie-build to build the
manuals. We use the latter for building manuals in master-builds and
gerrit-verifications.
Without this patch building pyosmocom manuals failed with the following,
as python3-typing-extensions in debian bookworm is at version 4.4.0 but
typing_extensions >= 4.6.0 is needed for TypeAliasType. Trixie has
version 4.13.2.
AttributeError: module 'typing_extensions' has no attribute 'TypeAliasType'. Did you mean: 'TypeAlias'?
Fixes: OS#6916
Change-Id: I6ac302c8ea5836c5096f0d8ab36260cc6f7c11d9
---
M scripts/manuals/publish-manuals-for-tags.sh
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
diff --git a/scripts/manuals/publish-manuals-for-tags.sh b/scripts/manuals/publish-manuals-for-tags.sh
index f543ab6..fc51967 100755
--- a/scripts/manuals/publish-manuals-for-tags.sh
+++ b/scripts/manuals/publish-manuals-for-tags.sh
@@ -4,7 +4,7 @@
TEMP="$OSMO_CI_DIR/_temp_manuals"
WEB_PATH="/downloads/home/docs/web-files"
SSH_COMMAND="ssh -o UserKnownHostsFile=$TEMP/src/osmo-gsm-manuals/build/known_hosts -p 48"
-DOCKER_IMAGE="$USER/debian-bookworm-build"
+DOCKER_IMAGE="$USER/debian-trixie-build"
LOG_PREFIX="::"
# Releases that were made before shared osmo-gsm-manuals, or where build fails
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/41833?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I6ac302c8ea5836c5096f0d8ab36260cc6f7c11d9
Gerrit-Change-Number: 41833
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>