lynxis lazus uploaded patch set #3 to this change.

View Change

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/3

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: 3
Gerrit-Owner: lynxis lazus <lynxis@fe80.eu>
Gerrit-Reviewer: Jenkins Builder