From ff34f18d67d1a1888081fd32566e78b5af049b48 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Tue, 20 Sep 2005 20:20:08 +0000 Subject: From Kaul: Jabber traffic is XML, attached patch dissects it as such svn path=/trunk/; revision=15907 --- epan/dissectors/packet-jabber.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'epan/dissectors/packet-jabber.c') 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); } -- cgit v1.2.3