<matrixProject _class='hudson.matrix.MatrixProject'><action _class='hudson.model.ParametersDefinitionProperty'><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></defaultParameterValue><description>osmo-ci.git branch
</description><name>BRANCH_CI</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>COMMENT_TYPE</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>DISTRO</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_BRANCH</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_CHANGE_NUMBER</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_HOST</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PATCHSET_NUMBER</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PATCHSET_REVISION</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PATCHSET_UPLOADER_NAME</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PORT</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PROJECT</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_REFSPEC</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_REPO_URL</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>PIPELINE_BUILD_URL</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>PROJECT_NAME</name><type>StringParameterDefinition</type></parameterDefinition></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'><displayUrl>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/</displayUrl></action><action _class='org.jenkinsci.plugins.testresultsanalyzer.TestResultsAnalyzerAction'></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'><stores></stores></action><description>Build job of CI for patches sent to
&lt;a href="https://gerrit.osmocom.org/#/q/status:open+project:android-apdu-proxy"&gt;android-apdu-proxy&lt;/a&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!&lt;/b&gt;
&lt;!-- Managed by Jenkins Job Builder --&gt;</description><displayName>gerrit-android-apdu-proxy-build</displayName><fullDisplayName>gerrit-android-apdu-proxy-build</fullDisplayName><fullName>gerrit-android-apdu-proxy-build</fullName><name>gerrit-android-apdu-proxy-build</name><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/</url><buildable>true</buildable><build _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-android-apdu-proxy" build number 41</shortDescription><upstreamBuild>41</upstreamBuild><upstreamProject>gerrit-android-apdu-proxy</upstreamProject><upstreamUrl>job/gerrit-android-apdu-proxy/</upstreamUrl></cause></action><action></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>41806</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>dexter</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/06/41806/2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy/41/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>13651</buildingDurationMillis><executingTimeMillis>13651</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>9129</waitingDurationMillis><waitingTimeMillis>9129</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><master _class='hudson.plugins.git.util.Build'><buildNumber>40</buildNumber><marked><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></marked><revision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#40</displayName><duration>13651</duration><estimatedDuration>13651</estimatedDuration><fullDisplayName>gerrit-android-apdu-proxy-build #40</fullDisplayName><id>40</id><inProgress>false</inProgress><keepLog>false</keepLog><number>40</number><queueId>2093581</queueId><result>SUCCESS</result><timestamp>1767973000005</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/40/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</affectedPath><commitId>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</commitId><timestamp>1767972953000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></author><authorEmail>pmaier@sysmocom.de</authorEmail><comment>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)

When a TPDU with a SELECT by DF-Name is received from the VPCD end,
it cannot be transparently passed through the OMAPI channel as OMAPI
will block those TDPUs for security reasons. To overcome this, we
close the current OMAPI channel and re-open a new one under the new
DF-Name (AID).

To reduce the likelyhood for unexpected behaviour and possible loss
of state we have replaced the SELECT by DF-Name with a SELECT to
7fff (alias for the currently selected application), in case the
SELECT by DF-Name would target the currently selected application.

This workaround requires preceise tracking of which application is
currently selected. Unfortunately this has proven as difficult and
error prone.

After looking closer at the problem we noticed that we do not even
need the aforementioned workaround. The opening and closing of the
OMAPI channel just opens and closes logical channels on the card.
It does not perform a reset. This in particular means that the ADM
or PIN verification state is retained. (states like the currently
selected file, the current tag and the current record are reset by
SELECT anyway).

So let's remove the workaround and re-open the OMAPI channel each
time a SELECT by DF-Name is received.

Related: OS#6836
Change-Id: Ib4873b18d233e549e075b9384906a536907c6260
</comment><date>2026-01-09 16:35:53 +0100</date><id>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</id><msg>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)</msg><path><editType>edit</editType><file>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></culprit><run><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></run></build><color>blue</color><firstBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-android-apdu-proxy" build number 41</shortDescription><upstreamBuild>41</upstreamBuild><upstreamProject>gerrit-android-apdu-proxy</upstreamProject><upstreamUrl>job/gerrit-android-apdu-proxy/</upstreamUrl></cause></action><action></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>41806</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>dexter</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/06/41806/2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy/41/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>13651</buildingDurationMillis><executingTimeMillis>13651</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>9129</waitingDurationMillis><waitingTimeMillis>9129</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><master _class='hudson.plugins.git.util.Build'><buildNumber>40</buildNumber><marked><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></marked><revision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#40</displayName><duration>13651</duration><estimatedDuration>13651</estimatedDuration><fullDisplayName>gerrit-android-apdu-proxy-build #40</fullDisplayName><id>40</id><inProgress>false</inProgress><keepLog>false</keepLog><number>40</number><queueId>2093581</queueId><result>SUCCESS</result><timestamp>1767973000005</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/40/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</affectedPath><commitId>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</commitId><timestamp>1767972953000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></author><authorEmail>pmaier@sysmocom.de</authorEmail><comment>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)

When a TPDU with a SELECT by DF-Name is received from the VPCD end,
it cannot be transparently passed through the OMAPI channel as OMAPI
will block those TDPUs for security reasons. To overcome this, we
close the current OMAPI channel and re-open a new one under the new
DF-Name (AID).

To reduce the likelyhood for unexpected behaviour and possible loss
of state we have replaced the SELECT by DF-Name with a SELECT to
7fff (alias for the currently selected application), in case the
SELECT by DF-Name would target the currently selected application.

This workaround requires preceise tracking of which application is
currently selected. Unfortunately this has proven as difficult and
error prone.

After looking closer at the problem we noticed that we do not even
need the aforementioned workaround. The opening and closing of the
OMAPI channel just opens and closes logical channels on the card.
It does not perform a reset. This in particular means that the ADM
or PIN verification state is retained. (states like the currently
selected file, the current tag and the current record are reset by
SELECT anyway).

So let's remove the workaround and re-open the OMAPI channel each
time a SELECT by DF-Name is received.

Related: OS#6836
Change-Id: Ib4873b18d233e549e075b9384906a536907c6260
</comment><date>2026-01-09 16:35:53 +0100</date><id>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</id><msg>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)</msg><path><editType>edit</editType><file>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></culprit><run><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></run></firstBuild><healthReport><description>Build stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-android-apdu-proxy" build number 41</shortDescription><upstreamBuild>41</upstreamBuild><upstreamProject>gerrit-android-apdu-proxy</upstreamProject><upstreamUrl>job/gerrit-android-apdu-proxy/</upstreamUrl></cause></action><action></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>41806</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>dexter</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/06/41806/2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy/41/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>13651</buildingDurationMillis><executingTimeMillis>13651</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>9129</waitingDurationMillis><waitingTimeMillis>9129</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><master _class='hudson.plugins.git.util.Build'><buildNumber>40</buildNumber><marked><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></marked><revision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#40</displayName><duration>13651</duration><estimatedDuration>13651</estimatedDuration><fullDisplayName>gerrit-android-apdu-proxy-build #40</fullDisplayName><id>40</id><inProgress>false</inProgress><keepLog>false</keepLog><number>40</number><queueId>2093581</queueId><result>SUCCESS</result><timestamp>1767973000005</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/40/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</affectedPath><commitId>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</commitId><timestamp>1767972953000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></author><authorEmail>pmaier@sysmocom.de</authorEmail><comment>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)

When a TPDU with a SELECT by DF-Name is received from the VPCD end,
it cannot be transparently passed through the OMAPI channel as OMAPI
will block those TDPUs for security reasons. To overcome this, we
close the current OMAPI channel and re-open a new one under the new
DF-Name (AID).

To reduce the likelyhood for unexpected behaviour and possible loss
of state we have replaced the SELECT by DF-Name with a SELECT to
7fff (alias for the currently selected application), in case the
SELECT by DF-Name would target the currently selected application.

This workaround requires preceise tracking of which application is
currently selected. Unfortunately this has proven as difficult and
error prone.

After looking closer at the problem we noticed that we do not even
need the aforementioned workaround. The opening and closing of the
OMAPI channel just opens and closes logical channels on the card.
It does not perform a reset. This in particular means that the ADM
or PIN verification state is retained. (states like the currently
selected file, the current tag and the current record are reset by
SELECT anyway).

So let's remove the workaround and re-open the OMAPI channel each
time a SELECT by DF-Name is received.

Related: OS#6836
Change-Id: Ib4873b18d233e549e075b9384906a536907c6260
</comment><date>2026-01-09 16:35:53 +0100</date><id>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</id><msg>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)</msg><path><editType>edit</editType><file>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></culprit><run><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></run></lastBuild><lastCompletedBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-android-apdu-proxy" build number 41</shortDescription><upstreamBuild>41</upstreamBuild><upstreamProject>gerrit-android-apdu-proxy</upstreamProject><upstreamUrl>job/gerrit-android-apdu-proxy/</upstreamUrl></cause></action><action></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>41806</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>dexter</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/06/41806/2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy/41/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>13651</buildingDurationMillis><executingTimeMillis>13651</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>9129</waitingDurationMillis><waitingTimeMillis>9129</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><master _class='hudson.plugins.git.util.Build'><buildNumber>40</buildNumber><marked><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></marked><revision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#40</displayName><duration>13651</duration><estimatedDuration>13651</estimatedDuration><fullDisplayName>gerrit-android-apdu-proxy-build #40</fullDisplayName><id>40</id><inProgress>false</inProgress><keepLog>false</keepLog><number>40</number><queueId>2093581</queueId><result>SUCCESS</result><timestamp>1767973000005</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/40/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</affectedPath><commitId>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</commitId><timestamp>1767972953000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></author><authorEmail>pmaier@sysmocom.de</authorEmail><comment>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)

When a TPDU with a SELECT by DF-Name is received from the VPCD end,
it cannot be transparently passed through the OMAPI channel as OMAPI
will block those TDPUs for security reasons. To overcome this, we
close the current OMAPI channel and re-open a new one under the new
DF-Name (AID).

To reduce the likelyhood for unexpected behaviour and possible loss
of state we have replaced the SELECT by DF-Name with a SELECT to
7fff (alias for the currently selected application), in case the
SELECT by DF-Name would target the currently selected application.

This workaround requires preceise tracking of which application is
currently selected. Unfortunately this has proven as difficult and
error prone.

After looking closer at the problem we noticed that we do not even
need the aforementioned workaround. The opening and closing of the
OMAPI channel just opens and closes logical channels on the card.
It does not perform a reset. This in particular means that the ADM
or PIN verification state is retained. (states like the currently
selected file, the current tag and the current record are reset by
SELECT anyway).

So let's remove the workaround and re-open the OMAPI channel each
time a SELECT by DF-Name is received.

Related: OS#6836
Change-Id: Ib4873b18d233e549e075b9384906a536907c6260
</comment><date>2026-01-09 16:35:53 +0100</date><id>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</id><msg>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)</msg><path><editType>edit</editType><file>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></culprit><run><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></run></lastCompletedBuild><lastStableBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-android-apdu-proxy" build number 41</shortDescription><upstreamBuild>41</upstreamBuild><upstreamProject>gerrit-android-apdu-proxy</upstreamProject><upstreamUrl>job/gerrit-android-apdu-proxy/</upstreamUrl></cause></action><action></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>41806</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>dexter</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/06/41806/2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy/41/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>13651</buildingDurationMillis><executingTimeMillis>13651</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>9129</waitingDurationMillis><waitingTimeMillis>9129</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><master _class='hudson.plugins.git.util.Build'><buildNumber>40</buildNumber><marked><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></marked><revision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#40</displayName><duration>13651</duration><estimatedDuration>13651</estimatedDuration><fullDisplayName>gerrit-android-apdu-proxy-build #40</fullDisplayName><id>40</id><inProgress>false</inProgress><keepLog>false</keepLog><number>40</number><queueId>2093581</queueId><result>SUCCESS</result><timestamp>1767973000005</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/40/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</affectedPath><commitId>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</commitId><timestamp>1767972953000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></author><authorEmail>pmaier@sysmocom.de</authorEmail><comment>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)

When a TPDU with a SELECT by DF-Name is received from the VPCD end,
it cannot be transparently passed through the OMAPI channel as OMAPI
will block those TDPUs for security reasons. To overcome this, we
close the current OMAPI channel and re-open a new one under the new
DF-Name (AID).

To reduce the likelyhood for unexpected behaviour and possible loss
of state we have replaced the SELECT by DF-Name with a SELECT to
7fff (alias for the currently selected application), in case the
SELECT by DF-Name would target the currently selected application.

This workaround requires preceise tracking of which application is
currently selected. Unfortunately this has proven as difficult and
error prone.

After looking closer at the problem we noticed that we do not even
need the aforementioned workaround. The opening and closing of the
OMAPI channel just opens and closes logical channels on the card.
It does not perform a reset. This in particular means that the ADM
or PIN verification state is retained. (states like the currently
selected file, the current tag and the current record are reset by
SELECT anyway).

So let's remove the workaround and re-open the OMAPI channel each
time a SELECT by DF-Name is received.

Related: OS#6836
Change-Id: Ib4873b18d233e549e075b9384906a536907c6260
</comment><date>2026-01-09 16:35:53 +0100</date><id>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</id><msg>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)</msg><path><editType>edit</editType><file>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></culprit><run><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></run></lastStableBuild><lastSuccessfulBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-android-apdu-proxy" build number 41</shortDescription><upstreamBuild>41</upstreamBuild><upstreamProject>gerrit-android-apdu-proxy</upstreamProject><upstreamUrl>job/gerrit-android-apdu-proxy/</upstreamUrl></cause></action><action></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>41806</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>dexter</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/06/41806/2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy/41/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>android-apdu-proxy</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>13651</buildingDurationMillis><executingTimeMillis>13651</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>9129</waitingDurationMillis><waitingTimeMillis>9129</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><master _class='hudson.plugins.git.util.Build'><buildNumber>40</buildNumber><marked><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></marked><revision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><branch><SHA1>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/android-apdu-proxy</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#40</displayName><duration>13651</duration><estimatedDuration>13651</estimatedDuration><fullDisplayName>gerrit-android-apdu-proxy-build #40</fullDisplayName><id>40</id><inProgress>false</inProgress><keepLog>false</keepLog><number>40</number><queueId>2093581</queueId><result>SUCCESS</result><timestamp>1767973000005</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/40/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</affectedPath><commitId>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</commitId><timestamp>1767972953000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></author><authorEmail>pmaier@sysmocom.de</authorEmail><comment>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)

When a TPDU with a SELECT by DF-Name is received from the VPCD end,
it cannot be transparently passed through the OMAPI channel as OMAPI
will block those TDPUs for security reasons. To overcome this, we
close the current OMAPI channel and re-open a new one under the new
DF-Name (AID).

To reduce the likelyhood for unexpected behaviour and possible loss
of state we have replaced the SELECT by DF-Name with a SELECT to
7fff (alias for the currently selected application), in case the
SELECT by DF-Name would target the currently selected application.

This workaround requires preceise tracking of which application is
currently selected. Unfortunately this has proven as difficult and
error prone.

After looking closer at the problem we noticed that we do not even
need the aforementioned workaround. The opening and closing of the
OMAPI channel just opens and closes logical channels on the card.
It does not perform a reset. This in particular means that the ADM
or PIN verification state is retained. (states like the currently
selected file, the current tag and the current record are reset by
SELECT anyway).

So let's remove the workaround and re-open the OMAPI channel each
time a SELECT by DF-Name is received.

Related: OS#6836
Change-Id: Ib4873b18d233e549e075b9384906a536907c6260
</comment><date>2026-01-09 16:35:53 +0100</date><id>fb3308b64d7d31d993c01fedfc9e54b742c6ce99</id><msg>OmapiCallbackHandlerVpcd: simplify/fix SELECT by DF-Name (aid)</msg><path><editType>edit</editType><file>app/src/main/java/org/osmocom/androidApduProxy/OmapiCallbackHandlerVpcd.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pmaier</absoluteUrl><fullName>pmaier@sysmocom.de</fullName></culprit><run><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></run></lastSuccessfulBuild><nextBuildNumber>41</nextBuildNumber><property _class='jenkins.model.BuildDiscarderProperty'></property><property _class='hudson.model.ParametersDefinitionProperty'><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></defaultParameterValue><description>osmo-ci.git branch
</description><name>BRANCH_CI</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>COMMENT_TYPE</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>DISTRO</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_BRANCH</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_CHANGE_NUMBER</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_HOST</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PATCHSET_NUMBER</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PATCHSET_REVISION</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PATCHSET_UPLOADER_NAME</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PORT</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_PROJECT</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_REFSPEC</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>GERRIT_REPO_URL</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>PIPELINE_BUILD_URL</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value></value></defaultParameterValue><description>set by gerrit verification pipeline job</description><name>PROJECT_NAME</name><type>StringParameterDefinition</type></parameterDefinition></property><concurrentBuild>false</concurrentBuild><disabled>false</disabled><scm _class='hudson.plugins.git.GitSCM'><type>hudson.plugins.git.GitSCM</type><branche></branche><mergeOptions><fastForwardMode>--ff</fastForwardMode><mergeStrategy>default</mergeStrategy></mergeOptions><userRemoteConfig></userRemoteConfig></scm><activeConfiguration><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'></action><action _class='org.jenkinsci.plugins.testresultsanalyzer.TestResultsAnalyzerAction'></action><displayName>a1=default,a2=default,a3=default,a4=default,osmocom-gerrit</displayName><fullDisplayName>gerrit-android-apdu-proxy-build » a1=default,a2=default,a3=default,a4=default,osmocom-gerrit</fullDisplayName><fullName>gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit</fullName><name>a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit</name><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/</url><buildable>true</buildable><build _class='hudson.matrix.MatrixRun'><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></build><color>blue</color><firstBuild _class='hudson.matrix.MatrixRun'><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></firstBuild><healthReport><description>Build stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.matrix.MatrixRun'><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></lastBuild><lastCompletedBuild _class='hudson.matrix.MatrixRun'><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></lastCompletedBuild><lastStableBuild _class='hudson.matrix.MatrixRun'><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></lastStableBuild><lastSuccessfulBuild _class='hudson.matrix.MatrixRun'><number>40</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-android-apdu-proxy-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/40/</url></lastSuccessfulBuild><nextBuildNumber>41</nextBuildNumber><concurrentBuild>false</concurrentBuild><disabled>false</disabled><scm _class='hudson.plugins.git.GitSCM'></scm></activeConfiguration></matrixProject>