summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-iso7816.c
diff options
context:
space:
mode:
authorMartin Kaiser <wireshark@kaiser.cx>2017-06-20 15:04:54 -0400
committerAnders Broman <a.broman58@gmail.com>2017-06-23 14:25:00 +0000
commit082e3e346f69f0c2134064e80dcc104c18111c55 (patch)
treeb8d3d904728ad8cac4ad285c45fe8dd68f439db0 /epan/dissectors/packet-iso7816.c
parent635b3720b5a43ed4b3bb1f030033d25675a390b3 (diff)
downloadwireshark-082e3e346f69f0c2134064e80dcc104c18111c55.tar.gz
USB CCID: use Decode As to select the payload protocol
Remove the special case for vid 0x072F, pid 0x2200. We should be able to set Decode As for this (vid, pid) to USB CCID and then use the new Decode As mechanism to select the next protocol. Register GSM SIM, ISO7816, PN532 and ACR122 as possible payloads for USB CCID. Change-Id: I8237cc9123655d3b289b0564ffb83a32434bebfc Reviewed-on: https://code.wireshark.org/review/22290 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-iso7816.c')
-rw-r--r--epan/dissectors/packet-iso7816.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/epan/dissectors/packet-iso7816.c b/epan/dissectors/packet-iso7816.c
index 59b7964eab..47c1dce589 100644
--- a/epan/dissectors/packet-iso7816.c
+++ b/epan/dissectors/packet-iso7816.c
@@ -40,6 +40,7 @@ void proto_reg_handoff_iso7816(void);
static int proto_iso7816 = -1;
static int proto_iso7816_atr = -1;
+static dissector_handle_t iso7816_handle;
static dissector_handle_t iso7816_atr_handle;
static wmem_tree_t *transactions = NULL;
@@ -927,7 +928,7 @@ proto_register_iso7816(void)
expert_iso7816 = expert_register_protocol(proto_iso7816);
expert_register_field_array(expert_iso7816, ei, array_length(ei));
- register_dissector("iso7816", dissect_iso7816, proto_iso7816);
+ iso7816_handle = register_dissector("iso7816", dissect_iso7816, proto_iso7816);
transactions = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
@@ -935,6 +936,13 @@ proto_register_iso7816(void)
iso7816_atr_handle = register_dissector("iso7816.atr", dissect_iso7816_atr, proto_iso7816_atr);
}
+
+void proto_reg_handoff_iso7816(void)
+{
+ dissector_add_for_decode_as("usbccid.subdissector", iso7816_handle);
+}
+
+
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*