aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2007-03-28 07:03:26 +0000
committerJörg Mayer <jmayer@loplof.de>2007-03-28 07:03:26 +0000
commit4b0b2c289446f1073dfc7fbac39a08e3942e3b02 (patch)
treef35f806affbe86046752769015d33791ece9b8f3 /epan/dissectors
parent19716f2b6efc6ee7ed63a276d7dd7825b524bbb1 (diff)
Fix for http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1437
It is sufficient to make tapa discovery packets a new style dissector, don't handle them via an additional heuristic dissector. svn path=/trunk/; revision=21243
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-tapa.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/epan/dissectors/packet-tapa.c b/epan/dissectors/packet-tapa.c
index de6d560096..5ee2e601d0 100644
--- a/epan/dissectors/packet-tapa.c
+++ b/epan/dissectors/packet-tapa.c
@@ -79,6 +79,7 @@ static int hf_tapa_tunnel_smac = -1;
static int hf_tapa_tunnel_seqno = -1;
static int hf_tapa_tunnel_length = -1;
static int hf_tapa_tunnel_0804 = -1;
+static int hf_tapa_tunnel_tagsetc = -1;
static int hf_tapa_tunnel_remaining = -1;
@@ -392,6 +393,10 @@ dissect_tapa_tunnel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
FALSE);
offset += 2;
+ proto_tree_add_item(tapa_tunnel_tree, hf_tapa_tunnel_tagsetc, tvb, offset, 6,
+ FALSE);
+ offset += 6;
+
break;
case TAPA_TUNNEL_TYPE_1:
proto_tree_add_item(tapa_tunnel_tree, hf_tapa_tunnel_seqno, tvb, offset, 2,
@@ -457,19 +462,6 @@ test_tapa_tunnel(tvbuff_t *tvb)
return TRUE;
}
-static gboolean
-dissect_tapa_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- if (test_tapa_discover(tvb)) {
- dissect_tapa_discover(tvb, pinfo, tree);
- return TRUE;
- } else if (test_tapa_tunnel(tvb)) {
- dissect_tapa_tunnel(tvb, pinfo, tree);
- return TRUE;
- } else
- return FALSE;
-}
-
static int
dissect_tapa_static(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
@@ -589,6 +581,10 @@ proto_register_tapa(void)
{ "Tapa tunnel 0804", "tapa.tunnel.0804", FT_UINT16, BASE_HEX, NULL,
0x0, "", HFILL }},
+ { &hf_tapa_tunnel_tagsetc,
+ { "Tapa tunnel tags, seqno, pad", "tapa.tunnel.tags", FT_BYTES, BASE_NONE, NULL,
+ 0x0, "", HFILL }},
+
/* TAPA tunnel type 1 */
{ &hf_tapa_tunnel_seqno,
{ "Tapa tunnel seqno", "tapa.tunnel.seqno", FT_UINT16, BASE_DEC, NULL,
@@ -627,7 +623,5 @@ proto_reg_handoff_tapa(void)
tapa_handle = new_create_dissector_handle(dissect_tapa_static, proto_tapa);
dissector_add("udp.port", PORT_TAPA, tapa_handle);
-
- heur_dissector_add("udp", dissect_tapa_heur, proto_tapa);
}