Hi all,
a re-post for the Homeplug dissector. (fuzz-tested)
Regards,
Sebastien Tandel
Index: epan/etypes.h
===
--- epan/etypes.h (revision 20454)
+++ epan/etypes.h (working copy)
@@ -246,6 +246,10 @@
#define ETHERTYPE_MS_NLB_HEARTBEAT 0x886f /* MS Network Load Balancing
heartbeat
http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/windows2000serv/deploy/confeat/nlbovw.asp
*/
#endif
+#ifndef ETHERTYPE_HOMEPLUG
+#define ETHERTYPE_HOMEPLUG0x887B /* IEEE assigned Ethertype */
+#endif
+
#ifndef ETHERTYPE_CDMA2000_A10_UBS
#define ETHERTYPE_CDMA2000_A10_UBS 0x8881 /* the byte stream protocol
that is used for IP based micro-mobility bearer interfaces (A10) in
CDMA2000(R)-based wireless networks */
#endif
Index: epan/dissectors/packet-homeplug.c
===
--- epan/dissectors/packet-homeplug.c (revision 0)
+++ epan/dissectors/packet-homeplug.c (revision 0)
@@ -0,0 +1,836 @@
+/* packet-homeplug.c
+ * Routines for homeplug dissection
+ *
+ * Copyright 2006, Sebastien Tandel [EMAIL PROTECTED]
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs [EMAIL PROTECTED]
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include config.h
+#endif
+
+#include glib.h
+
+#include epan/packet.h
+#include epan/prefs.h
+
+#include epan/etypes.h
+
+#include epan/proto.h
+#include epan/ptvcursor.h
+
+
+
+/* METYPE Values */
+#define HOMEPLUG_MME_RCE 0x00
+#define HOMEPLUG_MME_CER 0x01
+#define HOMEPLUG_MME_RPS 0x07
+#define HOMEPLUG_MME_PSR 0x08
+#define HOMEPLUG_MME_NS 0x1A
+
+/* Bit mask Operation */
+#define HOMEPLUG_MCTRL_RSVD 0x80
+#define HOMEPLUG_MCTRL_NE 0x7F
+
+#define HOMEPLUG_MEHDR_MEV0xE0
+#define HOMEPLUG_MEHDR_METYPE 0x1F
+
+#define HOMEPLUG_NS_AC 0x80
+#define HOMEPLUG_NS_ICID 0x7F
+
+#define HOMEPLUG_RCE_CEV 0xF0
+#define HOMEPLUG_RCE_RSVD 0x0F
+
+#define HOMEPLUG_CER_CERV 0xF0
+#define HOMEPLUG_CER_RSVD 0x0FE0
+#define HOMEPLUG_CER_RXTMI0x1F
+#define HOMEPLUG_CER_RATE 0x80
+#define HOMEPLUG_CER_BP 0x40
+#define HOMEPLUG_CER_VT11 0x0F
+#define HOMEPLUG_CER_RSVD20x80
+#define HOMEPLUG_CER_NBDAS0x7F
+
+
+/* Length of Network Statistics Response defines whether it is the Basic or the
+ * Extended Response */
+#define HOMEPLUG_NS_BASIC_LEN 187
+#define HOMEPLUG_NS_EXT_LEN 199
+
+/* forward reference */
+void proto_reg_handoff_homeplug();
+
+static int proto_homeplug= -1;
+
+static int hf_homeplug_mctrl = -1;
+ static int hf_homeplug_mctrl_reserved = -1;
+ static int hf_homeplug_mctrl_ne = -1;
+static int hf_homeplug_mehdr = -1;
+ static int hf_homeplug_mehdr_mev = -1;
+ static int hf_homeplug_mehdr_metype = -1;
+static int hf_homeplug_melen = -1;
+static int hf_homeplug_mme = -1;
+ /* Request Channel Estimation */
+ static int hf_homeplug_rce = -1;
+static int hf_homeplug_rce_cev = -1;
+static int hf_homeplug_rce_rsvd= -1;
+ /* Channel Estimation Response */
+ static int hf_homeplug_cer = -1;
+static int hf_homeplug_cer_cerv= -1;
+static int hf_homeplug_cer_rsvd1 = -1;
+static int hf_homeplug_cer_rxtmi = -1;
+static int hf_homeplug_cer_vt = -1;
+static int hf_homeplug_cer_rate= -1;
+static int hf_homeplug_cer_bp = -1;
+static int hf_homeplug_cer_mod = -1;
+static int hf_homeplug_cer_vt11= -1;
+static int hf_homeplug_cer_rsvd2 = -1;
+static int hf_homeplug_cer_nbdas = -1;
+static int hf_homeplug_cer_bda = -1;
+ /* Request Parameters and Statistics */
+ static int hf_homeplug_rps = -1;
+ /* Parameters and Statistics Response */
+ static int hf_homeplug_psr = -1;
+static int hf_homeplug_psr_txack = -1;
+static int hf_homeplug_psr_txnack = -1;
+static int hf_homeplug_psr_txfail = -1;
+static int hf_homeplug_psr_txcloss = -1;
+static int hf_homeplug_psr_txcoll = -1;
+static int hf_homeplug_psr_txca3lat= -1;
+static int