diff options
author | Evan Huus <eapache@gmail.com> | 2013-01-25 00:18:10 +0000 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2013-01-25 00:18:10 +0000 |
commit | d334115b4da20013a7d895cbe8aa6592ba9ba289 (patch) | |
tree | e477bd7ba7310d19d9f8c6dc98ca00662bdecb99 /epan/dissectors/packet-homeplug-av.c | |
parent | 4b99b36fed27fca7deef9c3a0ef2947bbae9a0e6 (diff) |
From Florian Fainelli via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8166
properly dissect the 0x6048 and 0x6038 frames with HomePlug AV 1.1
svn path=/trunk/; revision=47265
Diffstat (limited to 'epan/dissectors/packet-homeplug-av.c')
-rw-r--r-- | epan/dissectors/packet-homeplug-av.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/epan/dissectors/packet-homeplug-av.c b/epan/dissectors/packet-homeplug-av.c index c9128096e5..a49a73e157 100644 --- a/epan/dissectors/packet-homeplug-av.c +++ b/epan/dissectors/packet-homeplug-av.c @@ -1623,7 +1623,7 @@ dissect_homeplug_av_get_brg_infos_cnf(ptvcursor_t *cursor) } static void -dissect_homeplug_av_nw_infos_cnf(ptvcursor_t *cursor, guint8 homeplug_av_mmver) +dissect_homeplug_av_nw_infos_cnf(ptvcursor_t *cursor) { proto_item *it; guint8 num_avlns; @@ -1636,22 +1636,20 @@ dissect_homeplug_av_nw_infos_cnf(ptvcursor_t *cursor, guint8 homeplug_av_mmver) ptvcursor_push_subtree(cursor, it, ett_homeplug_av_cm_nw_infos_cnf); { - if (homeplug_av_mmver == 1) - ptvcursor_add(cursor, hf_homeplug_av_reserved, 5, ENC_NA); - num_avlns = tvb_get_guint8(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor)); ptvcursor_add(cursor, hf_homeplug_av_nw_info_num_avlns, 1, ENC_BIG_ENDIAN); for (net = 0; net < num_avlns; net++) { - dissect_homeplug_av_nw_info_net(cursor, FALSE, homeplug_av_mmver); + /* Force HomePlug AV 1.0 layout here */ + dissect_homeplug_av_nw_info_net(cursor, FALSE, 0); } } ptvcursor_pop_subtree(cursor); } static void -dissect_homeplug_av_nw_stats_cnf(ptvcursor_t *cursor, guint8 homeplug_av_mmver) +dissect_homeplug_av_nw_stats_cnf(ptvcursor_t *cursor) { proto_item *it; guint8 num_stas; @@ -1669,7 +1667,8 @@ dissect_homeplug_av_nw_stats_cnf(ptvcursor_t *cursor, guint8 homeplug_av_mmver) ptvcursor_add(cursor, hf_homeplug_av_nw_info_num_stas, 1, ENC_BIG_ENDIAN); for (sta = 0; sta < num_stas; sta++) { - dissect_homeplug_av_nw_info_sta(cursor, FALSE, homeplug_av_mmver); + /* Force HomePlug AV 1.0 layout here */ + dissect_homeplug_av_nw_info_sta(cursor, FALSE, 0); } } ptvcursor_pop_subtree(cursor); @@ -2780,10 +2779,10 @@ dissect_homeplug_av_mme(ptvcursor_t *cursor, guint8 homeplug_av_mmver, guint16 h dissect_homeplug_av_get_brg_infos_cnf(cursor); break; case HOMEPLUG_AV_MMTYPE_CM_NW_INFO_CNF: - dissect_homeplug_av_nw_infos_cnf(cursor, homeplug_av_mmver); + dissect_homeplug_av_nw_infos_cnf(cursor); break; case HOMEPLUG_AV_MMTYPE_CM_NW_STATS_CNF: - dissect_homeplug_av_nw_stats_cnf(cursor, homeplug_av_mmver); + dissect_homeplug_av_nw_stats_cnf(cursor); break; /* Intellon Vendor-specific MMEs */ |