<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>EMAIL_NOTIFICATIONS</name><value>jenkins-notifications@lists.osmocom.org</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>1</buildableDurationMillis><buildableTimeMillis>1</buildableTimeMillis><buildingDurationMillis>471759</buildingDurationMillis><executingTimeMillis>471759</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>0</waitingDurationMillis><waitingTimeMillis>0</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>635</buildNumber><marked><SHA1>d0e6a1b119120eb657490785cb9b72d22682e361</SHA1><branch><SHA1>d0e6a1b119120eb657490785cb9b72d22682e361</SHA1><name>origin/master</name></branch></marked><revision><SHA1>d0e6a1b119120eb657490785cb9b72d22682e361</SHA1><branch><SHA1>d0e6a1b119120eb657490785cb9b72d22682e361</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginosmithwip _class='hudson.plugins.git.util.Build'><buildNumber>5</buildNumber><marked><SHA1>b52b9704ed57386959a73c98e946c756e0188e6c</SHA1><branch><SHA1>b52b9704ed57386959a73c98e946c756e0188e6c</SHA1><name>refs/remotes/origin/osmith/wip</name></branch></marked><revision><SHA1>b52b9704ed57386959a73c98e946c756e0188e6c</SHA1><branch><SHA1>b52b9704ed57386959a73c98e946c756e0188e6c</SHA1><name>refs/remotes/origin/osmith/wip</name></branch></revision></refsremotesoriginosmithwip><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>253</buildNumber><marked><SHA1>c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d</SHA1><branch><SHA1>c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d</SHA1><branch><SHA1>c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>d0e6a1b119120eb657490785cb9b72d22682e361</SHA1><branch><SHA1>d0e6a1b119120eb657490785cb9b72d22682e361</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/pysim</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#635</displayName><duration>471759</duration><estimatedDuration>472452</estimatedDuration><fullDisplayName>simtester-sanitize #635</fullDisplayName><id>635</id><inProgress>false</inProgress><keepLog>false</keepLog><number>635</number><queueId>150162</queueId><result>SUCCESS</result><timestamp>1782175380407</timestamp><url>https://jenkins.osmocom.org/jenkins/view/all/job/simtester-sanitize/635/</url><builtOn>simtester</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>a7c762eb2e2d7b617f99f2637a1e07d6fcb21c99</commitId><timestamp>1781987378000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>ConfigurableParameter: do not magically overwrite the 'name' attribute

The ClassVarMeta metaclass used to derive each ConfigurableParameter's
'name' attribute automatically from the Python class name (via
camel_to_snake()).  Stop doing this, for three reasons:

1) Python class names follow constraints that do not fit the naming
   commonly used in CSV files.  For example, a name like
   "5GS-SUCI-CalcInfo" starts with a digit and contains dashes,
   neither of which is permissible in a class name.

2) Python class names live in their own namespace, distinct from the
   one used to present eSIM parameters to end users.  Deriving the UI
   name from the class name couples these two namespaces together.

   Taken together, (1) and (2) mean that automatic naming both imposes
   class-name constraints on the user-visible names and merges the
   internal Python namespace with the publicly shown one - a layer
   violation from the perspective of UI design.

3) Overriding 'name' from __new__() makes manual naming impossible: a
   subclass that sets 'name = "bar"' as a class attribute would still
   end up with the value computed by the metaclass, which is
   surprising and hard to track down:

       class MySuper(metaclass=...):  # __new__ sets name = 'foo'
           ...
       class MySub(MySuper):
           name = 'bar'
       print(MySub().name)  # 'foo', not 'bar' as one would expect

Change-Id: I6f631444c6addeb7ccc5f6c55b9be3dc83409169
Jenkins: skip-card-test
</comment><date>2026-06-21 03:29:38 +0700</date><id>a7c762eb2e2d7b617f99f2637a1e07d6fcb21c99</id><msg>ConfigurableParameter: do not magically overwrite the 'name' attribute</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/unittests/test_configurable_parameters.py</affectedPath><affectedPath>tests/unittests/xo/test_configurable_parameters</affectedPath><affectedPath>tests/unittests/smdpp_data</affectedPath><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>3974e9693301d23104bae4a995cb22639ac5e0c2</commitId><timestamp>1781987402000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>add test_configurable_parameters.py

Add ConfigurableParameterTest, which applies each parameter to a real
UPP DER template and reads it back, comparing results against a stored
expected-output snapshot (xo/test_configurable_parameters).

Add TestValidateVal covering validate_val() for Iccid, Imsi, Pin1, Puk1
and K, testing both valid inputs and invalid ones expected to raise
ValueError.

Add TestEnumParam covering the EnumParam methods (validate_val,
map_name_to_val, map_val_to_name, name_normalize, clean_name_str) using
AlgorithmID as the concrete subclass, including fuzzy name matching.

Also add get_value_from_pes() to ConfigurableParameter as a convenience
wrapper around get_values_from_pes() that asserts all returned values
are identical and returns the single result.

Change-Id: Ia55f0d11f8197ca15a948a83a34b3488acf1a0b4
Co-authored-by: Vadim Yanitskiy &lt;vyanitskiy@sysmocom.de&gt;
Jenkins: skip-card-test
</comment><date>2026-06-21 03:30:02 +0700</date><id>3974e9693301d23104bae4a995cb22639ac5e0c2</id><msg>add test_configurable_parameters.py</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path><path><editType>add</editType><file>tests/unittests/test_configurable_parameters.py</file></path><path><editType>add</editType><file>tests/unittests/smdpp_data</file></path><path><editType>add</editType><file>tests/unittests/xo/test_configurable_parameters</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/unittests/test_configurable_parameters.py</affectedPath><affectedPath>tests/unittests/xo/test_configurable_parameters</affectedPath><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>ef0a2fcb375d3715d68d6f7f61e70c65e4dc4891</commitId><timestamp>1781987402000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>personalization.ConfigurableParameter: fix BytesIO() input

Change-Id: I0ad160eef9015e76eef10baee7c6b606fe249123
Jenkins: skip-card-test
</comment><date>2026-06-21 03:30:02 +0700</date><id>ef0a2fcb375d3715d68d6f7f61e70c65e4dc4891</id><msg>personalization.ConfigurableParameter: fix BytesIO() input</msg><path><editType>edit</editType><file>tests/unittests/test_configurable_parameters.py</file></path><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path><path><editType>edit</editType><file>tests/unittests/xo/test_configurable_parameters</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/unittests/test_configurable_parameters.py</affectedPath><affectedPath>tests/unittests/xo/test_configurable_parameters</affectedPath><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>bfdfcad22cb124bdd97e132396bb72ec1b20c412</commitId><timestamp>1781987402000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>personalization: add int as input type for BinaryParameter

Change-Id: I31d8142cb0847a8b291f8dc614d57cb4734f0190
Jenkins: skip-card-test
</comment><date>2026-06-21 03:30:02 +0700</date><id>bfdfcad22cb124bdd97e132396bb72ec1b20c412</id><msg>personalization: add int as input type for BinaryParameter</msg><path><editType>edit</editType><file>tests/unittests/test_configurable_parameters.py</file></path><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path><path><editType>edit</editType><file>tests/unittests/xo/test_configurable_parameters</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/param_source.py</affectedPath><commitId>4307cffc8223260012509a3e231b70e6a7dc24fe</commitId><timestamp>1781987402000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>param_source: allow plugging a random implementation (for testing)

Change-Id: Idce2b18af70c17844d6f09f7704efc869456ac39
Jenkins: skip-card-test
</comment><date>2026-06-21 03:30:02 +0700</date><id>4307cffc8223260012509a3e231b70e6a7dc24fe</id><msg>param_source: allow plugging a random implementation (for testing)</msg><path><editType>edit</editType><file>pySim/esim/saip/param_source.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/unittests/test_param_src.py</affectedPath><affectedPath>tests/unittests/xo/test_param_src</affectedPath><commitId>b5ba274583cf9988fe266aa5a75f575df8751135</commitId><timestamp>1781987402000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>add test_param_src.py

Change-Id: I03087b84030fddae98b965e0075d44e04ec6ba5c
Jenkins: skip-card-test
</comment><date>2026-06-21 03:30:02 +0700</date><id>b5ba274583cf9988fe266aa5a75f575df8751135</id><msg>add test_param_src.py</msg><path><editType>add</editType><file>tests/unittests/xo/test_param_src</file></path><path><editType>add</editType><file>tests/unittests/test_param_src.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/param_source.py</affectedPath><commitId>512aba8b1dacae25e3ad74d990fa9fd1e2f6ac65</commitId><timestamp>1781988126000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>param_source: use random.SystemRandom as random nr source

Python's random module uses a PRNG (Mersenne Twister) which is
utterly insecure for key generation - it was so far only used for
testing.  Replace it with random.SystemRandom(), which draws from
/dev/urandom and is suitable for generating cryptographic key material.

Change-Id: I6de38c14ac6dd55bc84d53974192509c18d02bfa
Jenkins: skip-card-test
</comment><date>2026-06-21 03:42:06 +0700</date><id>512aba8b1dacae25e3ad74d990fa9fd1e2f6ac65</id><msg>param_source: use random.SystemRandom as random nr source</msg><path><editType>edit</editType><file>pySim/esim/saip/param_source.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/param_source.py</affectedPath><commitId>aad92f2b73ce7742c4aa1191d6984261d2eaecee</commitId><timestamp>1781988371000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>param_source: use secrets.SystemRandom as secure random nr source

secrets.SystemRandom is defined as the most secure random source
available on the given operating system.

Change-Id: I8049cd1292674b3ced82b0926569128535af6efe
Jenkins: skip-card-test
</comment><date>2026-06-21 03:46:11 +0700</date><id>aad92f2b73ce7742c4aa1191d6984261d2eaecee</id><msg>param_source: use secrets.SystemRandom as secure random nr source</msg><path><editType>edit</editType><file>pySim/esim/saip/param_source.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/param_source.py</affectedPath><commitId>ce039d69ba0ccc31ea504f62d55e33d6bdb46188</commitId><timestamp>1781988376000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>saip/param_source: try to not repeat random values

Change-Id: I4fa743ef5677580f94b9df16a5051d1d178edeb0
Jenkins: skip-card-test
</comment><date>2026-06-21 03:46:16 +0700</date><id>ce039d69ba0ccc31ea504f62d55e33d6bdb46188</id><msg>saip/param_source: try to not repeat random values</msg><path><editType>edit</editType><file>pySim/esim/saip/param_source.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/unittests/test_esim_saip.py</affectedPath><affectedPath>tests/unittests/test_configurable_parameters.py</affectedPath><affectedPath>tests/unittests/xo/test_configurable_parameters</affectedPath><affectedPath>pyproject.toml</affectedPath><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>e9ff4f3b93c173fb8c619452636a2b6f8314c927</commitId><timestamp>1781988376000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>personalization: generate sdkey classes from a list

Change-Id: Ic92ddea6e1fad8167ea75baf78ffc3eb419838c4
Jenkins: skip-card-test
</comment><date>2026-06-21 03:46:16 +0700</date><id>e9ff4f3b93c173fb8c619452636a2b6f8314c927</id><msg>personalization: generate sdkey classes from a list</msg><path><editType>edit</editType><file>tests/unittests/test_configurable_parameters.py</file></path><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path><path><editType>edit</editType><file>pyproject.toml</file></path><path><editType>edit</editType><file>tests/unittests/xo/test_configurable_parameters</file></path><path><editType>edit</editType><file>tests/unittests/test_esim_saip.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/batch.py</affectedPath><commitId>98af3dd2e956fdb6acdcb41ddc42b645bb44b348</commitId><timestamp>1781988376000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>UppAudit: better indicate exception cause

Change-Id: I4d986b89a473a5b12ed56b4710263b034876a33e
Jenkins: skip-card-test
</comment><date>2026-06-21 03:46:16 +0700</date><id>98af3dd2e956fdb6acdcb41ddc42b645bb44b348</id><msg>UppAudit: better indicate exception cause</msg><path><editType>edit</editType><file>pySim/esim/saip/batch.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>c5e7e599282891412868d57ba0ad186c633fafb5</commitId><timestamp>1781988376000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>ConfigurableParameter: safer val length check

validate_val() calls len() to check the value against allow_len,
min_len and max_len. len() requires the object to have a __len__()
method, which integers do not — calling len() on an int raises
TypeError.

Fix this by checking for __len__ first: if present, use len(val) as
usual; otherwise fall back to len(str(val)), which gives the number
of decimal digits for integer values.

Change-Id: Ibe91722ed1477b00d20ef5e4e7abd9068ff2f3e4
Jenkins: skip-card-test
</comment><date>2026-06-21 03:46:16 +0700</date><id>c5e7e599282891412868d57ba0ad186c633fafb5</id><msg>ConfigurableParameter: safer val length check</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>38f93d974b3a0e4696f6aa5519cf483d521a2eb5</commitId><timestamp>1781997474000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>SmspTpScAddr: fix SMSP record length and alpha_id padding

apply_val() was re-encoding the SMSP with the minimum total_len of 28,
which produces a 28-byte body with no alpha_id field.  After a DER
round-trip, the profile machinery re-pads the body to the original
record length using the template's fill pattern, which may not be 0xFF.
Those non-0xFF fill bytes end up in the alpha_id area, and GSM 7-bit
decoding then fails with a KeyError when the modified profile is read
back.

Fix by:
- setting alpha_id = '' so the field is present but empty
- setting f_smsp.rec_len = 42 (28 fixed bytes + 14 bytes of alpha_id
  padding) so the re-encoded body carries 0xFF-padded alpha_id space
  and the efFileSize in the fileDescriptor stays consistent
- passing total_len=f_smsp.rec_len to encode_record_bin() so the
  alpha_id area is actually padded to that length

Change-Id: Ief6e02517f3e96158a2509d763b88aec4bd5a296
Jenkins: skip-card-test
</comment><date>2026-06-21 06:17:54 +0700</date><id>38f93d974b3a0e4696f6aa5519cf483d521a2eb5</id><msg>SmspTpScAddr: fix SMSP record length and alpha_id padding</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/unittests/test_configurable_parameters.py</affectedPath><affectedPath>tests/unittests/xo/test_configurable_parameters</affectedPath><commitId>b576e8fcff3f286158c986844c10e1529cd171b1</commitId><timestamp>1782132532000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>test_configurable_parameters.py: add tests for new parameters

For:
SmspTpScAddr
MilenageRotation
MilenageXoringConstants
TuakNrOfKeccak

Change-Id: Iecbea14fe31a9ee08d871dcde7f295d26d7bd001
Jenkins: skip-card-test
</comment><date>2026-06-22 19:48:52 +0700</date><id>b576e8fcff3f286158c986844c10e1529cd171b1</id><msg>test_configurable_parameters.py: add tests for new parameters</msg><path><editType>edit</editType><file>tests/unittests/xo/test_configurable_parameters</file></path><path><editType>edit</editType><file>tests/unittests/test_configurable_parameters.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>861ed0a1d8b75e72a0d930ed66444fbc36973567</commitId><timestamp>1782132989000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>add comment about not updating existing key_usage_qualifier

Change-Id: Ie23ae5fde17be6b37746784bf1601b4d0874397a
Jenkins: skip-card-test
</comment><date>2026-06-22 19:56:29 +0700</date><id>861ed0a1d8b75e72a0d930ed66444fbc36973567</id><msg>add comment about not updating existing key_usage_qualifier</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>cfe2b94f6758e3708bf550310c98fde0e7427a18</commitId><timestamp>1782132989000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>saip SmspTpScAddr.get_values_from_pes: allow empty values

Change-Id: Ibbdd08f96160579238b50699091826883f2e9f5a
Jenkins: skip-card-test
</comment><date>2026-06-22 19:56:29 +0700</date><id>cfe2b94f6758e3708bf550310c98fde0e7427a18</id><msg>saip SmspTpScAddr.get_values_from_pes: allow empty values</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>728940efb2a4e5eb46d822dabc092756b32a2da8</commitId><timestamp>1782132989000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>saip: add numeric_base indicator to ConfigurableParameter

By default, numeric_base = None, to indicate that there are no explicit
limitations on the number space.

For parameters that are definitely decimal, set numeric_base = 10.
For definitely hexadecimal, set numeric_base = 16.

Do the same for ConfigurableParameter as well as ParamSource, so callers
can match them up: if a parameter is numeric_base = 10, then omit
sources that are numeric_base = 16, and vice versa.

Change-Id: Ib0977bbdd9a85167be7eb46dd331fedd529dae01
Jenkins: skip-card-test
</comment><date>2026-06-22 19:56:29 +0700</date><id>728940efb2a4e5eb46d822dabc092756b32a2da8</id><msg>saip: add numeric_base indicator to ConfigurableParameter</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/euicc.py</affectedPath><commitId>980282cc12b7c89e29d82e397e47b0d2701ef637</commitId><timestamp>1782147784000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>euicc: extend get_profiles_info to retrieve all known tags

get_profiles_info only request for the default tag list, but
not all tags.
Add --all to the function to request for all known tags.

Change-Id: Ia6878519a480bd625bb1fa2567c1fd2e0e89b071
</comment><date>2026-06-22 17:03:04 +0000</date><id>980282cc12b7c89e29d82e397e47b0d2701ef637</id><msg>euicc: extend get_profiles_info to retrieve all known tags</msg><path><editType>edit</editType><file>pySim/euicc.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/euicc.py</affectedPath><commitId>d0e6a1b119120eb657490785cb9b72d22682e361</commitId><timestamp>1782147784000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>euicc: get_profiles_info: add additional tags

Add definitions for ProfileOwner (decoded),
Notification Configuration Info, SM-DP+ proprietary data,
Profile Policy Rules.

Change-Id: I727dbe34d87a42bb3b526bd7a8accd687d20a208
</comment><date>2026-06-22 17:03:04 +0000</date><id>d0e6a1b119120eb657490785cb9b72d22682e361</id><msg>euicc: get_profiles_info: add additional tags</msg><path><editType>edit</editType><file>pySim/euicc.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></culprit><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></culprit></freeStyleBuild>