diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-09-20 20:20:08 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-09-20 20:20:08 +0000 |
commit | c5e11586926139609ae7fb9df4f5de8fb1587ed9 (patch) | |
tree | 18ecfb6f7502eefaf0b8e9247bd27cfeb7f2d0fd /epan/dissectors/packet-jabber.c | |
parent | 0861efa5da43a7a5c08335aeba3507e3c6b749e1 (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.c | 12 |
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); } |