diff options
author | obiot <obiot@f5534014-38df-0310-8fa8-9805f1628bb7> | 2004-04-26 18:21:10 +0000 |
---|---|---|
committer | obiot <obiot@f5534014-38df-0310-8fa8-9805f1628bb7> | 2004-04-26 18:21:10 +0000 |
commit | 2e89dc51079d5930d026c4227c99beca15ddc080 (patch) | |
tree | 966968d1f4e4ed4e1fa4d5515ebb5341fff981cb /packet-aim-signon.c | |
parent | b9728a332fdc3a2ecb70bb58a411c9ba85923463 (diff) |
From Jelmer Vernooij:
Add support form extra SNACs. All TLV's are now recognized.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10712 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-aim-signon.c')
-rw-r--r-- | packet-aim-signon.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/packet-aim-signon.c b/packet-aim-signon.c index 1ce6649e9a..59c736be31 100644 --- a/packet-aim-signon.c +++ b/packet-aim-signon.c @@ -3,7 +3,7 @@ * Copyright 2004, Jelmer Vernooij <jelmer@samba.org> * Copyright 2000, Ralf Hoelzer <ralf@well.com> * - * $Id: packet-aim-signon.c,v 1.2 2004/04/11 20:47:58 guy Exp $ + * $Id: packet-aim-signon.c,v 1.3 2004/04/26 18:21:10 obiot Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -87,24 +87,33 @@ static int dissect_aim_snac_signon(tvbuff_t *tvb, packet_info *pinfo, { struct aiminfo *aiminfo = pinfo->private_data; int offset = 0; + + proto_item *ti = NULL; + proto_tree *signon_tree = NULL; + if(tree) { + ti = proto_tree_add_text(tree, tvb, 0, -1,"AIM Signon"); + signon_tree = proto_item_add_subtree(ti, ett_aim_signon); + } + switch(aiminfo->subtype) { case FAMILY_SIGNON_ERROR: - return dissect_aim_snac_error(tvb, pinfo, offset, tree); + return dissect_aim_snac_error(tvb, pinfo, offset, signon_tree); case FAMILY_SIGNON_LOGON: - return dissect_aim_snac_signon_logon(tvb, pinfo, offset, tree); + return dissect_aim_snac_signon_logon(tvb, pinfo, offset, signon_tree); case FAMILY_SIGNON_LOGON_REPLY: - return dissect_aim_snac_signon_logon_reply(tvb, pinfo, offset, tree); + return dissect_aim_snac_signon_logon_reply(tvb, pinfo, offset, signon_tree); case FAMILY_SIGNON_SIGNON: - return dissect_aim_snac_signon_signon(tvb, pinfo, offset, tree); + return dissect_aim_snac_signon_signon(tvb, pinfo, offset, signon_tree); case FAMILY_SIGNON_SIGNON_REPLY: - return dissect_aim_snac_signon_signon_reply(tvb, pinfo, offset, tree); + return dissect_aim_snac_signon_signon_reply(tvb, pinfo, offset, signon_tree); + case FAMILY_SIGNON_S_SECUREID_REQ: + /* No data */ + return 0; case FAMILY_SIGNON_UIN_REQ: case FAMILY_SIGNON_UIN_REPL: - case FAMILY_SIGNON_S_SECUREID_REQ: case FAMILY_SIGNON_C_SECUREID_REP: /*FIXME*/ - default: return 0; } @@ -114,7 +123,7 @@ static int dissect_aim_snac_signon_logon(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tree) { while (tvb_length_remaining(tvb, offset) > 0) { - offset = dissect_aim_tlv(tvb, pinfo, offset, tree); + offset = dissect_aim_tlv(tvb, pinfo, offset, tree, client_tlvs); } return offset; } @@ -127,7 +136,7 @@ static int dissect_aim_snac_signon_logon_reply(tvbuff_t *tvb, col_append_fstr(pinfo->cinfo, COL_INFO, ", Login information reply"); while (tvb_length_remaining(tvb, offset) > 0) { - offset = dissect_aim_tlv(tvb, pinfo, offset, tree); + offset = dissect_aim_tlv(tvb, pinfo, offset, tree, client_tlvs); } return offset; } |