aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-jabber.c
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2005-09-20 20:20:08 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2005-09-20 20:20:08 +0000
commitc5e11586926139609ae7fb9df4f5de8fb1587ed9 (patch)
tree18ecfb6f7502eefaf0b8e9247bd27cfeb7f2d0fd /epan/dissectors/packet-jabber.c
parent0861efa5da43a7a5c08335aeba3507e3c6b749e1 (diff)
From Kaul:
Jabber traffic is XML, attached patch dissects it as such git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15907 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-jabber.c')
-rw-r--r--epan/dissectors/packet-jabber.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/epan/dissectors/packet-jabber.c b/epan/dissectors/packet-jabber.c
index 78b3f6c8c0..f4b26970b6 100644
--- a/epan/dissectors/packet-jabber.c
+++ b/epan/dissectors/packet-jabber.c
@@ -46,6 +46,7 @@ static gint ett_jabber = -1;
static gint ett_jabber_reqresp = -1;
#define TCP_PORT_JABBER 5222
+static dissector_handle_t xml_handle=NULL;
static void
dissect_jabber(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
@@ -57,6 +58,7 @@ dissect_jabber(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
const guchar *line;
gint next_offset;
int linelen;
+ tvbuff_t *xmltvb;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
col_set_str(pinfo->cinfo, COL_PROTOCOL, "Jabber");
@@ -99,12 +101,8 @@ dissect_jabber(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
hf_jabber_response, tvb, 0, 0, TRUE);
}
- /*
- * Put the line into the protocol tree.
- */
- ti = proto_tree_add_text(jabber_tree, tvb, offset,
- next_offset - offset, "%s",
- tvb_format_text(tvb, offset, next_offset - offset));
+ xmltvb = tvb_new_subset(tvb, offset, -1, -1);
+ call_dissector(xml_handle, xmltvb, pinfo, jabber_tree);
}
}
@@ -138,6 +136,8 @@ proto_reg_handoff_jabber(void)
{
dissector_handle_t jabber_handle;
+ xml_handle = find_dissector("xml");
+
jabber_handle = create_dissector_handle(dissect_jabber, proto_jabber);
dissector_add("tcp.port", TCP_PORT_JABBER, jabber_handle);
}