Skip to content

Changes

Summary

  1. libosmosim: class_tables: Resolve conflicting CLA=8x INS=F2 definitions (details)
Commit 020b3248a898645097265d3134f95b035a6d42b9 by laforge
libosmosim: class_tables: Resolve conflicting CLA=8x INS=F2 definitions

In their infinite wisdom, GlobalPlatform re-defined the CLA 8x / INS F2 command
alreay specified by ETSI TS 102 221.  This wouldn't be as bads if they
had the same "Case".  However, ETSI has case 2 while GP has case 4.

Lucikly, the P1 coding of ETSI [so far] states all the four upper bits
must be 0, while GP always has one of those bits set.

Before this patch, it is possible that a Modem/Phone will send an 8xF2
command and intends it as a GlobalPlatform command (with Lc > 0 and
command data portion), while this code assumes it is an ETSI UICC
command with Lc=0 and hence no command data portion.  This will make
communication break when using simtrace2 'cardem'.

Change-Id: I8dd317ef8f942542e412b18c834a0467c51291c3
Related: SYS#6865
Related: https://lists.osmocom.org/hyperkitty/list/simtrace@lists.osmocom.org/thread/HPRTPGPZITHHASCJISCBAKHGBFZCFANP/
The file was modified src/sim/class_tables.c
The file was modified tests/sim/sim_test.c
The file was modified tests/sim/sim_test.ok