diff options
author | Darien Spencer <cusneud@mail.com> | 2018-07-25 17:09:33 +0300 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2018-07-25 16:18:36 +0000 |
commit | 3071af2550621f18253da61f96e07aa7649c1067 (patch) | |
tree | f5b720d44295451a7fced8295bd283765e226ced | |
parent | 532e8c8011ac47fdcfa578caa5cb3b404b645f6a (diff) |
GSM SIM: Parse 0x61 and 0x6C status words
In accordance with TS 102.221
Change-Id: I749f1504693a15a13e4513948cdf2b8ec96b27d7
Reviewed-on: https://code.wireshark.org/review/28847
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r-- | epan/dissectors/packet-gsm_sim.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/epan/dissectors/packet-gsm_sim.c b/epan/dissectors/packet-gsm_sim.c index ce1a59371d..5fe72b470e 100644 --- a/epan/dissectors/packet-gsm_sim.c +++ b/epan/dissectors/packet-gsm_sim.c @@ -1097,6 +1097,7 @@ static const value_string sw_vals[] = { static const gchar *get_sw_string(guint16 sw) { guint8 sw1 = sw >> 8; + guint8 sw2 = sw & 0xFF; switch (sw1) { case 0x91: @@ -1109,8 +1110,12 @@ static const gchar *get_sw_string(guint16 sw) if ((sw & 0xf0) == 0x00) return "Command successful but after internal retry routine"; break; + case 0x61: + return wmem_strdup_printf(wmem_packet_scope(), "Response ready, Response length is %u", sw2); case 0x67: return "Incorrect parameter P3"; + case 0x6c: + return wmem_strdup_printf(wmem_packet_scope(), "Terminal should repeat command, Length for repeated command is %u", sw2); case 0x6d: return "Unknown instruction code"; case 0x6e: @@ -1402,7 +1407,6 @@ dissect_rsp_apdu_tvb(tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree offset += 2; switch (sw >> 8) { - case 0x61: case 0x90: case 0x91: case 0x92: |