feat: chained GET RESPONSE + ELF versions from app instances (v3.6.56)
The live log (2026-09-30) showed our standalone GET RESPONSE was wrong: the card answered 6700 (wrong length) to 00C00000<xx> for the 61xx answers of the expanded ISD query and the ELF notags query. The compact path proves how this card wants it: GET STATUS and GET RESPONSE chained in one compact command string (80F2..C0000000). - a 61xx answer now retries the same query with ramChainGetResponse (+ C0000000, compact format only; the expanded AA/22 form has no command string, so no retry there); - a 61xx page still continues to the next occurrence (the GET RESPONSE's own SW replaces the 6310 signal); the ISD stays a single occurrence; - the standalone 00C00000<xx> attempt is gone (it only ever answered 6700). This card also refuses every tag list for the ELF queries (tags/noea/lean all 6A88), so CE cannot come from the ELF listing. Its apps listing does carry the load file version (CE) together with the package AID (C4), so ramDeriveElfVersions fills a missing ELF version from its applet instance and the row annotates it: 'Version: 9.3 (from the app instance)'. The version hint now shows whenever any ELF row lacks a version. sw cache simple-v329; tests: 550 Python / 711 Node.
This commit is contained in:
@@ -31,7 +31,7 @@ from osmocom.tlv import BER_TLV_IE
|
||||
from osmocom.utils import rpad
|
||||
|
||||
|
||||
VERSION = '3.6.55'
|
||||
VERSION = '3.6.56'
|
||||
|
||||
MAX_ENVELOPE_SEGMENTS = 5 # max SMS segments for outgoing C-APDU in ENVELOPE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user