<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></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 laforge@gnumonks.org</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>941261</buildingDurationMillis><executingTimeMillis>941261</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>5305</waitingDurationMillis><waitingTimeMillis>5305</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginpmaierfixgr _class='hudson.plugins.git.util.Build'><buildNumber>2045</buildNumber><marked><SHA1>e5f56dd35f1b2347a59f88b401b59997798fff67</SHA1><branch><SHA1>e5f56dd35f1b2347a59f88b401b59997798fff67</SHA1><name>refs/remotes/origin/pmaier/fixgr</name></branch></marked><revision><SHA1>e5f56dd35f1b2347a59f88b401b59997798fff67</SHA1><branch><SHA1>e5f56dd35f1b2347a59f88b401b59997798fff67</SHA1><name>refs/remotes/origin/pmaier/fixgr</name></branch></revision></refsremotesoriginpmaierfixgr><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>2120</buildNumber><marked><SHA1>1167b65e2a758be1c987844fe2d4ac9fe999b089</SHA1><branch><SHA1>1167b65e2a758be1c987844fe2d4ac9fe999b089</SHA1><name>origin/master</name></branch></marked><revision><SHA1>1167b65e2a758be1c987844fe2d4ac9fe999b089</SHA1><branch><SHA1>1167b65e2a758be1c987844fe2d4ac9fe999b089</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginpmaierara-m _class='hudson.plugins.git.util.Build'><buildNumber>1320</buildNumber><marked><SHA1>8f289234f74045496c3752bf1bb9397302f3e912</SHA1><branch><SHA1>8f289234f74045496c3752bf1bb9397302f3e912</SHA1><name>refs/remotes/origin/pmaier/ara-m</name></branch></marked><revision><SHA1>8f289234f74045496c3752bf1bb9397302f3e912</SHA1><branch><SHA1>8f289234f74045496c3752bf1bb9397302f3e912</SHA1><name>refs/remotes/origin/pmaier/ara-m</name></branch></revision></refsremotesoriginpmaierara-m><refsremotesoriginpmaierkeepfiles _class='hudson.plugins.git.util.Build'><buildNumber>1353</buildNumber><marked><SHA1>3d815859830197b9c55e0a49a1bd2532f71285e1</SHA1><branch><SHA1>3d815859830197b9c55e0a49a1bd2532f71285e1</SHA1><name>refs/remotes/origin/pmaier/keepfiles</name></branch></marked><revision><SHA1>3d815859830197b9c55e0a49a1bd2532f71285e1</SHA1><branch><SHA1>3d815859830197b9c55e0a49a1bd2532f71285e1</SHA1><name>refs/remotes/origin/pmaier/keepfiles</name></branch></revision></refsremotesoriginpmaierkeepfiles><refsremotesoriginpmaierfixapdu _class='hudson.plugins.git.util.Build'><buildNumber>1421</buildNumber><marked><SHA1>568e8ae9b817ec2473907bfdd30870410890ffb0</SHA1><branch><SHA1>568e8ae9b817ec2473907bfdd30870410890ffb0</SHA1><name>refs/remotes/origin/pmaier/fixapdu</name></branch></marked><revision><SHA1>568e8ae9b817ec2473907bfdd30870410890ffb0</SHA1><branch><SHA1>568e8ae9b817ec2473907bfdd30870410890ffb0</SHA1><name>refs/remotes/origin/pmaier/fixapdu</name></branch></revision></refsremotesoriginpmaierfixapdu><refsremotesoriginpmaieraramtest _class='hudson.plugins.git.util.Build'><buildNumber>1467</buildNumber><marked><SHA1>6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6</SHA1><branch><SHA1>6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6</SHA1><name>refs/remotes/origin/pmaier/aramtest</name></branch></marked><revision><SHA1>6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6</SHA1><branch><SHA1>6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6</SHA1><name>refs/remotes/origin/pmaier/aramtest</name></branch></revision></refsremotesoriginpmaieraramtest><refsremotesoriginosmithwip _class='hudson.plugins.git.util.Build'><buildNumber>1816</buildNumber><marked><SHA1>e4ea1c997348370ba1d7415bfd926ac873b58c87</SHA1><branch><SHA1>e4ea1c997348370ba1d7415bfd926ac873b58c87</SHA1><name>refs/remotes/origin/osmith/wip</name></branch></marked><revision><SHA1>e4ea1c997348370ba1d7415bfd926ac873b58c87</SHA1><branch><SHA1>e4ea1c997348370ba1d7415bfd926ac873b58c87</SHA1><name>refs/remotes/origin/osmith/wip</name></branch></revision></refsremotesoriginosmithwip><refsremotesoriginpmaierotatest _class='hudson.plugins.git.util.Build'><buildNumber>2022</buildNumber><marked><SHA1>f57f047c627392c40fbe349b1a73ccebe05dc005</SHA1><branch><SHA1>f57f047c627392c40fbe349b1a73ccebe05dc005</SHA1><name>refs/remotes/origin/pmaier/otatest</name></branch></marked><revision><SHA1>f57f047c627392c40fbe349b1a73ccebe05dc005</SHA1><branch><SHA1>f57f047c627392c40fbe349b1a73ccebe05dc005</SHA1><name>refs/remotes/origin/pmaier/otatest</name></branch></revision></refsremotesoriginpmaierotatest><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>402</buildNumber><marked><SHA1>4f888a0414101dee4f20aa12579491fcc71707b3</SHA1><branch><SHA1>4f888a0414101dee4f20aa12579491fcc71707b3</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>4f888a0414101dee4f20aa12579491fcc71707b3</SHA1><branch><SHA1>4f888a0414101dee4f20aa12579491fcc71707b3</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>1167b65e2a758be1c987844fe2d4ac9fe999b089</SHA1><branch><SHA1>1167b65e2a758be1c987844fe2d4ac9fe999b089</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>#2120</displayName><duration>941261</duration><estimatedDuration>940203</estimatedDuration><fullDisplayName>master-pysim #2120</fullDisplayName><id>2120</id><inProgress>false</inProgress><keepLog>false</keepLog><number>2120</number><queueId>103799</queueId><result>SUCCESS</result><timestamp>1777474806738</timestamp><url>https://jenkins.osmocom.org/jenkins/view/GMR/job/master-pysim/2120/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>5f1c7d603c51e9fe495bc8db6317dd5b60f3c1cd</commitId><timestamp>1777068914000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>personalization: make AlgorithmID a new EnumParam

The AlgorithmID has a few preset values, and hardly anyone knows which
is which. So instead of entering '1', '2' or '3', make it work with
prededined values 'Milenage', 'TUAK' and 'usim-test'.

Implement the enum value part abstractly in new EnumParam.

Make AlgorithmID a subclass of EnumParam and define the values as from
pySim/esim/asn1/saip/PE_Definitions-3.3.1.asn

Related: SYS#6768
Change-Id: I71c2ec1b753c66cb577436944634f32792353240
Jenkins: skip-card-test
</comment><date>2026-04-25 05:15:14 +0700</date><id>5f1c7d603c51e9fe495bc8db6317dd5b60f3c1cd</id><msg>personalization: make AlgorithmID a new EnumParam</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>393de033d3ae5f7f5dec5672da8124dc8eadb73e</commitId><timestamp>1777068914000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>personalization: add get_typical_input_len() to ConfigurableParameter

The aim is to tell a user interface how wide an input text field should
be chosen to be convenient -- ideally showing the entire value in all
cases, but not too huge for fields that have no sane size limit.

Change-Id: I2568a032167a10517d4d75d8076a747be6e21890
Jenkins: skip-card-test
</comment><date>2026-04-25 05:15:14 +0700</date><id>393de033d3ae5f7f5dec5672da8124dc8eadb73e</id><msg>personalization: add get_typical_input_len() to ConfigurableParameter</msg><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/esim/saip/__init__.py</affectedPath><affectedPath>pySim/esim/saip/personalization.py</affectedPath><commitId>cd4b01f67e47040e5ed216201b08f0fa39b668c4</commitId><timestamp>1777068914000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>personalization: fix SdKey.apply_val() implementation

'securityDomain' elements are decoded to ProfileElementSD instances,
which keep higher level representations of the key data apart from the
decoded[] lists.

So far, apply_val() was dropping binary values in decoded[], which does
not work, because ProfileElementSD._pre_encode() overwrites
self.decoded[] from the higher level representation.

Implement using
- ProfileElementSD.find_key() and SecurityDomainKeyComponent to modify
  an exsiting entry, or
- ProfileElementSD.add_key() to create a new entry.

Before this patch, SdKey parameters seemed to patch PES successfully,
but their modifications did not end up in the encoded DER.

(BTW, this does not fix any other errors that may still be present in
the various SdKey subclasses, patches coming up.)

Related: SYS#6768
Change-Id: I07dfc378705eba1318e9e8652796cbde106c6a52
Jenkins: skip-card-test
</comment><date>2026-04-25 05:15:14 +0700</date><id>cd4b01f67e47040e5ed216201b08f0fa39b668c4</id><msg>personalization: fix SdKey.apply_val() implementation</msg><path><editType>edit</editType><file>pySim/esim/saip/__init__.py</file></path><path><editType>edit</editType><file>pySim/esim/saip/personalization.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pySim/global_platform/uicc.py</affectedPath><commitId>1167b65e2a758be1c987844fe2d4ac9fe999b089</commitId><timestamp>1777068914000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>comment in uicc.py on Security Domain Keys: add SCP81

Change-Id: Ib0205880f58e78c07688b4637abd5f67ea0570d1
Jenkins: skip-card-test
</comment><date>2026-04-25 05:15:14 +0700</date><id>1167b65e2a758be1c987844fe2d4ac9fe999b089</id><msg>comment in uicc.py on Security Domain Keys: add SCP81</msg><path><editType>edit</editType><file>pySim/global_platform/uicc.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></culprit><run><number>2120</number><url>https://jenkins.osmocom.org/jenkins/view/GMR/job/master-pysim/JOB_TYPE=card-test,a1=default,a3=default,a4=default,label=simtester/2120/</url></run><run><number>2120</number><url>https://jenkins.osmocom.org/jenkins/view/GMR/job/master-pysim/JOB_TYPE=distcheck,a1=default,a3=default,a4=default,label=osmocom-master/2120/</url></run><run><number>2120</number><url>https://jenkins.osmocom.org/jenkins/view/GMR/job/master-pysim/JOB_TYPE=docs,a1=default,a3=default,a4=default,label=osmocom-master/2120/</url></run><run><number>2120</number><url>https://jenkins.osmocom.org/jenkins/view/GMR/job/master-pysim/JOB_TYPE=pylint,a1=default,a3=default,a4=default,label=osmocom-master/2120/</url></run><run><number>2120</number><url>https://jenkins.osmocom.org/jenkins/view/GMR/job/master-pysim/JOB_TYPE=test,a1=default,a3=default,a4=default,label=osmocom-master/2120/</url></run><run><number>2112</number><url>https://jenkins.osmocom.org/jenkins/view/GMR/job/master-pysim/JOB_TYPE=test,a1=default,a3=default,a4=default,label=simtester/2112/</url></run></matrixBuild>