lynxis lazus uploaded patch set #2 to this change.

View Change

The following approvals got outdated and were removed: Verified+1 by Jenkins Builder

Add osmo_apdu_segment_in2() to ensure correct parsing of GP GET DATA

osmo_apdu_segment_in() don't have the context of the previous APDU,
for nearly all calls this is fine, except for GP GET DATA, which can be a
case 2 or case 4 APDU.
GP GET DATA defines the Le field as 0x00 which is used to detect if this is a
case 2 or case 4.
But if the card responded to a case 2 GP GET DATA with Le = 0 with a SW 6cXX,
the previous GP GET DATA case 2 must set the Le field to XX, which got misinterpreted
by the osmo_apdu_segment_in() as a case 4 instead of a case 2 with Le != 0.

Introduce osmo_apdu_segment_in2() containing the previous APDU as context.

Related: SYS#8147
Change-Id: Ie238662e7e6a10dd4283ede0c8d8d73bc375c247
---
M TODO-RELEASE
M host/Makefile.am
M host/configure.ac
M host/include/osmocom/simtrace2/apdu_dispatch.h
M host/lib/apdu_dispatch.c
A host/tests/apdu_dispatch/Makefile.am
A host/tests/apdu_dispatch/apdu_dispatch_test.c
A host/tests/apdu_dispatch/apdu_dispatch_test.ok
A host/tests/testsuite.at
9 files changed, 156 insertions(+), 1 deletion(-)

git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/85/43185/2

To view, visit change 43185. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newpatchset
Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: Ie238662e7e6a10dd4283ede0c8d8d73bc375c247
Gerrit-Change-Number: 43185
Gerrit-PatchSet: 2
Gerrit-Owner: lynxis lazus <lynxis@fe80.eu>
Gerrit-Reviewer: Jenkins Builder