v3.23.8 review: the mixed-case command lookup and the flat-list docs

Two findings from the review of 2b994a7 (and c9ab15c, reviewed clean):

- trCommandCode() uppercased the query but compared it with the raw
  CMD_NAMES values, so the one mixed-case entry ('End of the proactive UICC
  session', 0x81) never matched.  No visible effect today (0x81 has no table
  entry - it falls back to the flat list), but a future map entry for a
  mixed-case name would silently not group.  The comparison is now
  case-insensitive, pinned by a test.
- The docs now say that the commands the spec's tables omit (SEND SS / SEND
  USSD / SEND SHORT MESSAGE / GEOGRAPHICAL LOCATION REQUEST / End of the
  proactive UICC session) keep the flat list, like ANY and the drain's rows.

Also added independent semantic pins for the parsed table (REFRESH 03/08,
PLAY TONE 09, TIMER MANAGEMENT 24, LAUNCH BROWSER 26, OPEN CHANNEL 28/3A/3B,
the MMS commands 27/3D, GET READER STATUS 38 - a column-shift regression in
the parse would break them).

861 frontend + 842 Python.
This commit is contained in:
2026-10-08 22:03:39 +03:00
parent 2b994a7a89
commit dc8d71c6a7
3 changed files with 26 additions and 2 deletions
+4 -1
View File
@@ -477,7 +477,10 @@ identities, **Result**, Duration, Text string, Item identifier, …):
than `ANY`) the list is **grouped** by the spec's applicability table
(TS 102 223 Tables 6.1/6.2/6.3, "proactive commands versus possible terminal
response"): the command-relevant values first, the rest after - nothing is
hidden, the manual entry covers everything. The aliases:
hidden, the manual entry covers everything. Commands the table does not
list (SEND SS / SEND USSD / SEND SHORT MESSAGE / GEOGRAPHICAL LOCATION
REQUEST / End of the proactive UICC session) keep the flat list. The
aliases:
`ok`=00, `partial`=01, `missing`=02, `modified`=07, `cancel`=10,
`back`=11, `timeout`=12, `refused`=22, `not_understood`=32 (and
`no_response`=12, kept for compatibility only).