aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarien Spencer <cusneud@mail.com>2018-07-25 17:09:33 +0300
committerPascal Quantin <pascal.quantin@gmail.com>2018-07-25 16:18:36 +0000
commit3071af2550621f18253da61f96e07aa7649c1067 (patch)
treef5b720d44295451a7fced8295bd283765e226ced
parent532e8c8011ac47fdcfa578caa5cb3b404b645f6a (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.c6
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: