From Darren New: BXXP dissector modified to be a BEEP dissector.
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 8 Dec 2001 01:45:36 +0000 (01:45 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 8 Dec 2001 01:45:36 +0000 (01:45 +0000)
Handle "bxxp." preferences as "beep." preferences.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4357 f5534014-38df-0310-8fa8-9805f1628bb7

AUTHORS
Makefile.am
Makefile.nmake
doc/ethereal.pod.template
packet-beep.c [moved from packet-bxxp.c with 57% similarity]
prefs.c

diff --git a/AUTHORS b/AUTHORS
index 2ebf95f8dbe248ca1c55b54d4a876dff0624cbd3..d33eccab088d8a1be95284c26b76558fe2632d4d 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -936,6 +936,10 @@ Tom Nisbet <Tnisbet[AT]VisualNetworks.com> {
        Support for reading Visual Networks traffic capture files
 }
 
+Darren New <dnew[AT]san.rr.com> {
+       BXXP dissector modified to be a BEEP dissector
+}
+
 Alain Magloire <alainm[AT]rcsm.ece.mcgill.ca> was kind enough to
 give his permission to use his version of snprintf.c.
 
index fdf1cd09daef69e0954e158152aa0725fa0860ce..63a96a273675abac20c01103b35d9a68208f0cf0 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am
 # Automake file for Ethereal
 #
-# $Id: Makefile.am,v 1.391 2001/12/04 08:25:55 guy Exp $
+# $Id: Makefile.am,v 1.392 2001/12/08 01:45:35 guy Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@ethereal.com>
@@ -82,12 +82,12 @@ DISSECTOR_SRC = \
        packet-auto_rp.c   \
        packet-bacapp.c   \
        packet-bacnet.c   \
+       packet-beep.c \
        packet-bgp.c   \
        packet-bootp.c \
        packet-bootparams.c \
        packet-bpdu.c  \
        packet-bvlc.c \
-       packet-bxxp.c \
        packet-cdp.c   \
        packet-cgmp.c  \
        packet-chdlc.c  \
index d3855abf10d91864f96623d1ef8e380ca0b96608..e394ca40516a7215b83ae6156e0cf4d0f2ca1454 100644 (file)
@@ -1,7 +1,7 @@
 ## Makefile for building ethereal.exe with Microsoft C and nmake
 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
 #
-# $Id: Makefile.nmake,v 1.150 2001/12/04 08:25:55 guy Exp $
+# $Id: Makefile.nmake,v 1.151 2001/12/08 01:45:35 guy Exp $
 
 include config.nmake
 include <win32.mak>
@@ -33,12 +33,12 @@ DISSECTOR_SRC = \
        packet-auto_rp.c   \
        packet-bacapp.c   \
        packet-bacnet.c   \
+       packet-beep.c \
        packet-bgp.c   \
        packet-bootp.c \
        packet-bootparams.c \
        packet-bpdu.c  \
        packet-bvlc.c \
-       packet-bxxp.c \
        packet-cdp.c   \
        packet-cgmp.c  \
        packet-chdlc.c  \
index ed6950da801d9d188a2896492a26cb70581be3c1..3028cbc295a19b1f234393030b6eda6e68aae21c 100644 (file)
@@ -1271,6 +1271,7 @@ B<http://www.ethereal.com>.
   Taisuke Sasaki           <sasaki[AT]soft.net.fujitsu.co.jp>
   Tim Newsham              <newsham[AT]lava.net>
   Tom Nisbet               <Tnisbet[AT]VisualNetworks.com>
+  Darren New               <dnew[AT]san.rr.com>
 
 Alain Magloire <alainm[AT]rcsm.ece.mcgill.ca> was kind enough to give his
 permission to use his version of snprintf.c.
similarity index 57%
rename from packet-bxxp.c
rename to packet-beep.c
index bf07a7ce75651e73fbcb45378d3aa6a570e6012c..967aed98041de65d87f3d123614cb19d29aa47d7 100644 (file)
@@ -1,16 +1,18 @@
-/* packet-bxxp.c
- * Routines for BXXP packet disassembly
+/* packet-beep.c
+ * Routines for BEEP packet disassembly
  *
- * $Id: packet-bxxp.c,v 1.22 2001/12/03 03:59:33 guy Exp $
+ * $Id: packet-beep.c,v 1.1 2001/12/08 01:45:35 guy Exp $
  *
  * Copyright (c) 2000 by Richard Sharpe <rsharpe@ns.aus.com>
+ * Modified 2001 Darren New <dnew@invisible.net> for BEEP.
  *
- * Developed with funding from InvisibleWorlds (www.invisibleworlds.com) via
- * Collab.Net.
+ * Original BXXP dissector developed with funding from InvisibleWorlds
+ * (www.invisibleworlds.com) via Collab.Net.
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs
  * Copyright 1999 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
 #include "prefs.h"
 #include "conversation.h"
 
-#define TCP_PORT_BXXP 10288
-void proto_reg_handoff_bxxp(void);
-
-
-static int global_bxxp_tcp_port = TCP_PORT_BXXP;
-static int global_bxxp_strict_term = TRUE;
-
-static int proto_bxxp = -1;
-
-static int hf_bxxp_req = -1;
-static int hf_bxxp_req_chan = -1;
-static int hf_bxxp_rsp_chan = -1;
-static int hf_bxxp_seq_chan = -1;
-static int hf_bxxp_rsp = -1;
-static int hf_bxxp_seq = -1;
-static int hf_bxxp_end = -1;
-static int hf_bxxp_proto_viol = -1;
-static int hf_bxxp_complete = -1;   /* No More data follows */
-static int hf_bxxp_intermediate = -1; /* More data follows */
-static int hf_bxxp_serial = -1;
-static int hf_bxxp_seqno = -1;
-static int hf_bxxp_size = -1;
-static int hf_bxxp_channel = -1;
-static int hf_bxxp_positive = -1;
-static int hf_bxxp_negative = -1;
-static int hf_bxxp_ackno = -1;
-static int hf_bxxp_window = -1;
+#define TCP_PORT_BEEP 10288
+void proto_reg_handoff_beep(void);
+
+
+static int global_beep_tcp_port = TCP_PORT_BEEP;
+static int global_beep_strict_term = TRUE;
+
+static int proto_beep = -1;
+
+static int hf_beep_req = -1;
+static int hf_beep_req_chan = -1;
+static int hf_beep_rsp_chan = -1;
+static int hf_beep_seq_chan = -1;
+static int hf_beep_rsp = -1;
+static int hf_beep_seq = -1;
+static int hf_beep_end = -1;
+static int hf_beep_proto_viol = -1;
+static int hf_beep_complete = -1;   /* No More data follows */
+static int hf_beep_intermediate = -1; /* More data follows */
+static int hf_beep_msgno = -1;
+static int hf_beep_ansno = -1;
+static int hf_beep_seqno = -1;
+static int hf_beep_size = -1;
+static int hf_beep_channel = -1;
+static int hf_beep_positive = -1;
+static int hf_beep_negative = -1;
+static int hf_beep_ackno = -1;
+static int hf_beep_window = -1;
 
 /* Arrays of hf entry pointers for some routines to use. If you want more
  * hidden items added for a field, add them to the list before the NULL, 
  * and the various routines that these are passed to will add them.
  */
 
-static int *req_serial_hfa[] = { &hf_bxxp_serial, NULL };
-static int *req_seqno_hfa[]  = { &hf_bxxp_seqno, NULL };
-static int *req_size_hfa[]   = { &hf_bxxp_size, NULL };
-static int *req_chan_hfa[]   = { &hf_bxxp_channel, &hf_bxxp_req_chan, NULL };
-static int *rsp_serial_hfa[] = { &hf_bxxp_serial, NULL };
-static int *rsp_seqno_hfa[]  = { &hf_bxxp_seqno, NULL };
-static int *rsp_size_hfa[]   = { &hf_bxxp_size, NULL };
-static int *seq_chan_hfa[]   = { &hf_bxxp_channel, &hf_bxxp_seq_chan, NULL };
-static int *seq_ackno_hfa[]  = { &hf_bxxp_ackno, NULL };
-static int *seq_window_hfa[] = { &hf_bxxp_window, NULL };
-
-static int ett_bxxp = -1;
+static int *req_msgno_hfa[] = { &hf_beep_msgno, NULL };
+static int *req_ansno_hfa[] = { &hf_beep_ansno, NULL };
+static int *req_seqno_hfa[]  = { &hf_beep_seqno, NULL };
+static int *req_size_hfa[]   = { &hf_beep_size, NULL };
+static int *req_chan_hfa[]   = { &hf_beep_channel, &hf_beep_req_chan, NULL };
+/*
+static int *rsp_msgno_hfa[] = { &hf_beep_msgno, NULL };
+static int *rsp_seqno_hfa[]  = { &hf_beep_seqno, NULL };
+static int *rsp_size_hfa[]   = { &hf_beep_size, NULL };
+*/
+static int *seq_chan_hfa[]   = { &hf_beep_channel, &hf_beep_seq_chan, NULL };
+static int *seq_ackno_hfa[]  = { &hf_beep_ackno, NULL };
+static int *seq_window_hfa[] = { &hf_beep_window, NULL };
+
+static int ett_beep = -1;
 static int ett_mime_header = -1;
 static int ett_header = -1;
 static int ett_trailer = -1;
@@ -102,9 +108,9 @@ static unsigned int tcp_port = 0;
 
 /* Get the state of the more flag ... */
 
-#define BXXP_VIOL         0
-#define BXXP_INTERMEDIATE 1
-#define BXXP_COMPLETE     2
+#define BEEP_VIOL         0
+#define BEEP_INTERMEDIATE 1
+#define BEEP_COMPLETE     2
 
 /*
  * Per-frame data
@@ -114,7 +120,7 @@ static unsigned int tcp_port = 0;
  * 
  * It relies on TCP segments not being re-ordered too much ...
  */
-struct bxxp_proto_data {
+struct beep_proto_data {
   int pl_left;   /* Payload at beginning of frame */
   int pl_size;   /* Payload in current message ...*/
   int mime_hdr;  /* Whether we expect a mime header. 1 on first, 0 on rest 
@@ -125,13 +131,13 @@ struct bxxp_proto_data {
 /*
  * Conversation stuff
  */
-static int bxxp_packet_init_count = 100;
+static int beep_packet_init_count = 100;
 
-struct bxxp_request_key {
+struct beep_request_key {
   guint32 conversation;
 };
 
-struct bxxp_request_val {
+struct beep_request_val {
   guint16 processed;     /* Have we processed this conversation? */
   int size;              /* Size of the message                  */
                          /* We need an indication in each dirn of
@@ -140,19 +146,19 @@ struct bxxp_request_val {
   int c_mime_hdr, s_mime_hdr;
 };
 
-GHashTable *bxxp_request_hash = NULL;
-GMemChunk  *bxxp_request_keys = NULL;
-GMemChunk  *bxxp_request_vals = NULL;
-GMemChunk  *bxxp_packet_infos = NULL;
+GHashTable *beep_request_hash = NULL;
+GMemChunk  *beep_request_keys = NULL;
+GMemChunk  *beep_request_vals = NULL;
+GMemChunk  *beep_packet_infos = NULL;
 
 /* Hash Functions */
 static gint
-bxxp_equal(gconstpointer v, gconstpointer w)
+beep_equal(gconstpointer v, gconstpointer w)
 {
-  struct bxxp_request_key *v1 = (struct bxxp_request_key *)v;
-  struct bxxp_request_key *v2 = (struct bxxp_request_key *)w;
+  struct beep_request_key *v1 = (struct beep_request_key *)v;
+  struct beep_request_key *v2 = (struct beep_request_key *)w;
 
-#if defined(DEBUG_BXXP_HASH)
+#if defined(DEBUG_BEEP_HASH)
   printf("Comparing %08X\n      and %08X\n",
         v1->conversation, v2->conversation);
 #endif
@@ -165,15 +171,15 @@ bxxp_equal(gconstpointer v, gconstpointer w)
 }
 
 static guint
-bxxp_hash(gconstpointer v)
+beep_hash(gconstpointer v)
 {
-  struct bxxp_request_key *key = (struct bxxp_request_key *)v;
+  struct beep_request_key *key = (struct beep_request_key *)v;
   guint val;
 
   val = key->conversation;
 
-#if defined(DEBUG_BXXP_HASH)
-  printf("BXXP Hash calculated as %u\n", val);
+#if defined(DEBUG_BEEP_HASH)
+  printf("BEEP Hash calculated as %u\n", val);
 #endif
 
   return val;
@@ -181,46 +187,46 @@ bxxp_hash(gconstpointer v)
 }
 
 static void
-bxxp_init_protocol(void)
+beep_init_protocol(void)
 {
-#if defined(DEBUG_BXXP_HASH)
-  fprintf(stderr, "Initializing BXXP hashtable area\n");
+#if defined(DEBUG_BEEP_HASH)
+  fprintf(stderr, "Initializing BEEP hashtable area\n");
 #endif
 
-  if (bxxp_request_hash)
-    g_hash_table_destroy(bxxp_request_hash);
-  if (bxxp_request_keys)
-    g_mem_chunk_destroy(bxxp_request_keys);
-  if (bxxp_request_vals)
-    g_mem_chunk_destroy(bxxp_request_vals);
-  if (bxxp_packet_infos)
-    g_mem_chunk_destroy(bxxp_packet_infos);
-
-  bxxp_request_hash = g_hash_table_new(bxxp_hash, bxxp_equal);
-  bxxp_request_keys = g_mem_chunk_new("bxxp_request_keys",
-                                      sizeof(struct bxxp_request_key),
-                                      bxxp_packet_init_count * sizeof(struct bxxp_request_key), G_ALLOC_AND_FREE);
-  bxxp_request_vals = g_mem_chunk_new("bxxp_request_vals", 
-                                     sizeof(struct bxxp_request_val),
-                                     bxxp_packet_init_count * sizeof(struct bxxp_request_val), G_ALLOC_AND_FREE);
-  bxxp_packet_infos = g_mem_chunk_new("bxxp_packet_infos",
-                                     sizeof(struct bxxp_proto_data),
-                                     bxxp_packet_init_count * sizeof(struct bxxp_proto_data), G_ALLOC_AND_FREE);
+  if (beep_request_hash)
+    g_hash_table_destroy(beep_request_hash);
+  if (beep_request_keys)
+    g_mem_chunk_destroy(beep_request_keys);
+  if (beep_request_vals)
+    g_mem_chunk_destroy(beep_request_vals);
+  if (beep_packet_infos)
+    g_mem_chunk_destroy(beep_packet_infos);
+
+  beep_request_hash = g_hash_table_new(beep_hash, beep_equal);
+  beep_request_keys = g_mem_chunk_new("beep_request_keys",
+                                      sizeof(struct beep_request_key),
+                                      beep_packet_init_count * sizeof(struct beep_request_key), G_ALLOC_AND_FREE);
+  beep_request_vals = g_mem_chunk_new("beep_request_vals", 
+                                     sizeof(struct beep_request_val),
+                                     beep_packet_init_count * sizeof(struct beep_request_val), G_ALLOC_AND_FREE);
+  beep_packet_infos = g_mem_chunk_new("beep_packet_infos",
+                                     sizeof(struct beep_proto_data),
+                                     beep_packet_init_count * sizeof(struct beep_proto_data), G_ALLOC_AND_FREE);
 }
 
 /*
- * BXXP routines
+ * BEEP routines
  */
 
-static int bxxp_get_more(char more)
+static int beep_get_more(char more)
 {
 
   if (more == '.')
-    return BXXP_COMPLETE;
+    return BEEP_COMPLETE;
   else if (more == '*')
-    return BXXP_INTERMEDIATE;
+    return BEEP_INTERMEDIATE;
 
-  return BXXP_VIOL;
+  return BEEP_VIOL;
 }
 
 /* dissect the more flag, and return a value of:
@@ -230,17 +236,17 @@ static int bxxp_get_more(char more)
  */
 
 static int
-dissect_bxxp_more(tvbuff_t *tvb, int offset, frame_data *fd, 
+dissect_beep_more(tvbuff_t *tvb, int offset, frame_data *fd, 
                  proto_tree *tree)
 {
 
 
-  switch (bxxp_get_more(tvb_get_guint8(tvb, offset))) {
+  switch (beep_get_more(tvb_get_guint8(tvb, offset))) {
 
-  case BXXP_COMPLETE:
+  case BEEP_COMPLETE:
 
     if (tree) {
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_complete, tvb, offset, 1, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_complete, tvb, offset, 1, TRUE);
       proto_tree_add_text(tree, tvb, offset, 1, "More: Complete");
     }
 
@@ -248,10 +254,10 @@ dissect_bxxp_more(tvbuff_t *tvb, int offset, frame_data *fd,
 
     break;
 
-  case BXXP_INTERMEDIATE:
+  case BEEP_INTERMEDIATE:
 
     if (tree) {
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_intermediate, tvb, offset, 1, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_intermediate, tvb, offset, 1, TRUE);
       proto_tree_add_text(tree, tvb, offset, 1, "More: Intermediate");
     }
 
@@ -262,7 +268,7 @@ dissect_bxxp_more(tvbuff_t *tvb, int offset, frame_data *fd,
   default:  
 
     if (tree) {
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_proto_viol, tvb, offset, 1, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_proto_viol, tvb, offset, 1, TRUE);
       proto_tree_add_text(tree, tvb, offset, 1, "PROTOCOL VIOLATION: Expected More Flag (* or .)");
     }
 
@@ -273,8 +279,8 @@ dissect_bxxp_more(tvbuff_t *tvb, int offset, frame_data *fd,
 
 }
 
-static void dissect_bxxp_status(tvbuff_t *tvb, int offset, frame_data *fd,
-                        proto_tree *tree)
+static void dissect_beep_status(tvbuff_t *tvb, int offset, frame_data *fd,
+                               proto_tree *tree)
 {
 
   /* FIXME: We should return a value to indicate all OK. */
@@ -284,7 +290,7 @@ static void dissect_bxxp_status(tvbuff_t *tvb, int offset, frame_data *fd,
   case '+':
 
     if (tree) {
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_positive, tvb, offset, 1, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_positive, tvb, offset, 1, TRUE);
       proto_tree_add_text(tree, tvb, offset, 1, "Status: Positive");
     }
 
@@ -293,7 +299,7 @@ static void dissect_bxxp_status(tvbuff_t *tvb, int offset, frame_data *fd,
   case '-':
 
     if (tree) {
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_negative, tvb, offset, 1, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_negative, tvb, offset, 1, TRUE);
       proto_tree_add_text(tree, tvb, offset, 1, "Status: Negative");
     }
 
@@ -321,14 +327,14 @@ static int num_len(tvbuff_t *tvb, int offset)
  * We check for a terminator. This can be CRLF, which will be recorded
  * as a terminator, or CR or LF by itself, which will be redorded as
  * an incorrect terminator ... We build the tree at this point
- * However, we depend on the variable bxxp_strict_term
+ * However, we depend on the variable beep_strict_term
  */ 
 
 static int 
 check_term(tvbuff_t *tvb, int offset, proto_tree *tree)
 {
 
-  /* First, check for CRLF, or, if global_bxxp_strict_term is false, 
+  /* First, check for CRLF, or, if global_beep_strict_term is false, 
    * one of CR or LF ... If neither of these hold, we add an element
    * that complains of a protocol violation, and return -1, else
    * we add a terminator to the tree (possibly non-standard) and return
@@ -345,20 +351,20 @@ check_term(tvbuff_t *tvb, int offset, proto_tree *tree)
     return 2;
 
   }
-  else if ((tvb_get_guint8(tvb, offset) == 0x0d) && !global_bxxp_strict_term) {
+  else if ((tvb_get_guint8(tvb, offset) == 0x0d) && !global_beep_strict_term) {
 
     if (tree) {
       proto_tree_add_text(tree, tvb, offset, 1, "Nonstandard Terminator: CR");
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_proto_viol, tvb, offset, 1, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_proto_viol, tvb, offset, 1, TRUE);
     }
     return 1;
 
   }
-  else if ((tvb_get_guint8(tvb, offset) == 0x0a) && !global_bxxp_strict_term) {
+  else if ((tvb_get_guint8(tvb, offset) == 0x0a) && !global_beep_strict_term) {
 
     if (tree) {
       proto_tree_add_text(tree, tvb, offset, 1, "Nonstandard Terminator: LF");
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_proto_viol, tvb, offset, 1, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_proto_viol, tvb, offset, 1, TRUE);
     }
     return 1;
 
@@ -367,7 +373,7 @@ check_term(tvbuff_t *tvb, int offset, proto_tree *tree)
 
     if (tree) {
       proto_tree_add_text(tree, tvb, offset, 2, "PROTOCOL VIOLATION, Invalid Terminator: %s", tvb_format_text(tvb, offset, 2));
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_proto_viol, tvb, offset, 2, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_proto_viol, tvb, offset, 2, TRUE);
     }
     return -1;
 
@@ -383,7 +389,7 @@ static int header_len(tvbuff_t *tvb, int offset)
 
   /* FIXME: Have to make sure we stop looking at the end of the tvb ... */
 
-  /* We look for CRLF, or CR or LF if global_bxxp_strict_term is 
+  /* We look for CRLF, or CR or LF if global_beep_strict_term is 
    * not set.
    */
 
@@ -396,7 +402,7 @@ static int header_len(tvbuff_t *tvb, int offset)
        && tvb_get_guint8(tvb, offset + i + 1) == 0x0a)
       return i;   /* Done here ... */
 
-    if (!global_bxxp_strict_term && (sc == 0x0d || sc == 0x0a))
+    if (!global_beep_strict_term && (sc == 0x0d || sc == 0x0a))
       return i;   /* Done here also ... */
          
     i++;
@@ -405,8 +411,8 @@ static int header_len(tvbuff_t *tvb, int offset)
 }
 
 static int
-dissect_bxxp_mime_header(tvbuff_t *tvb, int offset, 
-                        struct bxxp_proto_data *frame_data,
+dissect_beep_mime_header(tvbuff_t *tvb, int offset, 
+                        struct beep_proto_data *frame_data,
                         proto_tree *tree)
 {
   proto_tree    *ti = NULL, *mime_tree = NULL;
@@ -455,7 +461,7 @@ dissect_bxxp_mime_header(tvbuff_t *tvb, int offset,
 }
 
 static int
-dissect_bxxp_int(tvbuff_t *tvb, int offset, frame_data *fd,
+dissect_beep_int(tvbuff_t *tvb, int offset, frame_data *fd,
                    proto_tree *tree, int hf, int *val, int *hfa[])
 {
   int ival, ind = 0;
@@ -486,8 +492,8 @@ dissect_bxxp_int(tvbuff_t *tvb, int offset, frame_data *fd,
 }
 
 static void
-set_mime_hdr_flags(int more, struct bxxp_request_val *request_val, 
-                  struct bxxp_proto_data *frame_data, packet_info *pinfo)
+set_mime_hdr_flags(int more, struct beep_request_val *request_val, 
+                  struct beep_proto_data *frame_data, packet_info *pinfo)
 {
 
   if (!request_val) return; /* Nothing to do ??? */
@@ -540,55 +546,62 @@ set_mime_hdr_flags(int more, struct bxxp_request_val *request_val,
  */
 
 static int
-dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo, 
-                 proto_tree *tree, struct bxxp_request_val *request_val, 
-                 struct bxxp_proto_data *frame_data)
+dissect_beep_tree(tvbuff_t *tvb, int offset, packet_info *pinfo, 
+                 proto_tree *tree, struct beep_request_val *request_val, 
+                 struct beep_proto_data *frame_data)
 {
   proto_tree     *ti = NULL, *hdr = NULL;
-  int            st_offset, serial, seqno, size, channel, ackno, window, cc,
+  int            st_offset, msgno, ansno, seqno, size, channel, ackno, window, cc,
                  more;
 
+  char * cmd_temp = NULL;
+  int is_ANS = 0;
   st_offset = offset;
 
-  if (tvb_strneql(tvb, offset, "REQ ", 4) == 0) {
+  if (tvb_strneql(tvb, offset, "MSG ", 4) == 0) 
+    cmd_temp = "Command: MSG";
+  if (tvb_strneql(tvb, offset, "RPY ", 4) == 0) 
+    cmd_temp = "Command: RPY";
+  if (tvb_strneql(tvb, offset, "ERR ", 4) == 0) 
+    cmd_temp = "Command: ERR";
+  if (tvb_strneql(tvb, offset, "NUL ", 4) == 0) 
+    cmd_temp = "Command: NUL";
+  if (tvb_strneql(tvb, offset, "ANS ", 4) == 0) {
+    cmd_temp = "Command: ANS";
+    is_ANS = 1;
+  }
+
+  if (cmd_temp != NULL) {
 
     if (tree) {
       ti = proto_tree_add_text(tree, tvb, offset, header_len(tvb, offset) + 2, "Header");
 
       hdr = proto_item_add_subtree(ti, ett_header);
 
-      proto_tree_add_boolean_hidden(hdr, hf_bxxp_req, tvb, offset, 3, TRUE);
-      proto_tree_add_text(hdr, tvb, offset, 3, "Command: REQ");
+      proto_tree_add_boolean_hidden(hdr, hf_beep_req, tvb, offset, 3, TRUE);
+      proto_tree_add_text(hdr, tvb, offset, 3, cmd_temp);
     }
 
-    offset += 3;
-
-#if 0
-    if (tvb_get_guint8(tvb, offset) != ' ') { /* Protocol violation */
-
-      /* Hmm, FIXME ... Add some code here ... */
+    offset += 4;
 
-    }
-#endif
-
-    offset += 1;  /* Skip the space */
+    /* Get the channel */
+    offset += dissect_beep_int(tvb, offset, pinfo->fd, hdr, hf_beep_channel, &channel, req_chan_hfa);
+    offset += 1; /* Skip the space */
+      
+    /* Dissect the message number */
+    offset += dissect_beep_int(tvb, offset, pinfo->fd, hdr, hf_beep_msgno, &msgno, req_msgno_hfa);
+    offset += 1; /* skip the space */
 
     /* Insert the more elements ... */
-
-    if ((more = dissect_bxxp_more(tvb, offset, pinfo->fd, hdr)) >= 0) {
-
+    if ((more = dissect_beep_more(tvb, offset, pinfo->fd, hdr)) >= 0) {
       /* Figure out which direction this is in and what mime_hdr flag to 
        * add to the frame_data. If there are missing segments, this code
        * will get it wrong!
        */
-
       set_mime_hdr_flags(more, request_val, frame_data, pinfo);
-
     }
     else {  /* Protocol violation, so dissect rest as undisectable */
-
       if (tree) {
-
        proto_tree_add_text(hdr, tvb, offset, 
                            tvb_length_remaining(tvb, offset),
                            "Undissected Payload: %s",
@@ -598,48 +611,30 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
                            );
 
       }
-
       return -1;
-
     }
 
-    offset += 1;
-      
-    /* Check the space ... */
-
-    offset += 1;
-
-    /* Dissect the serial */
-
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, hdr, hf_bxxp_serial, &serial, req_serial_hfa);
-    /* skip the space */
-
-    offset += 1;
+    offset += 2; /* Skip the flag and the space ... */
 
     /* now for the seqno */
+    offset += dissect_beep_int(tvb, offset, pinfo->fd, hdr, hf_beep_seqno, &seqno, req_seqno_hfa);
+    offset += 1; /* skip the space */
 
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, hdr, hf_bxxp_seqno, &seqno, req_seqno_hfa);
-
-    /* skip the space */
-
-    offset += 1;
-
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, hdr, hf_bxxp_size, &size, req_size_hfa);
+    offset += dissect_beep_int(tvb, offset, pinfo->fd, hdr, hf_beep_size, &size, req_size_hfa);
     if (request_val)   /* FIXME, is this the right order ... */
       request_val -> size = size;  /* Stash this away */
     else {
       frame_data->pl_size = size;
       if (frame_data->pl_size < 0) frame_data->pl_size = 0; /* FIXME: OK? */
     }
+    /* offset += 1; skip the space */
 
-    /* Check the space */
-
-    offset += 1;
-
-    /* Get the channel */
+    if (is_ANS) { /* We need to put in the ansno */
+        offset += 1; /* skip the space */
+        /* Dissect the message number */
+        offset += dissect_beep_int(tvb, offset, pinfo->fd, hdr, hf_beep_ansno, &ansno, req_ansno_hfa);
+    }
 
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, hdr, hf_bxxp_channel, &channel, req_chan_hfa);
-      
     if ((cc = check_term(tvb, offset, hdr)) <= 0) {
 
       /* We dissect the rest as data and bail ... */
@@ -663,7 +658,7 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
     /* Insert MIME header ... */
 
     if (frame_data && frame_data->mime_hdr)
-      offset += dissect_bxxp_mime_header(tvb, offset, frame_data, hdr);
+      offset += dissect_beep_mime_header(tvb, offset, frame_data, hdr);
 
     /* Now for the payload, if any */
 
@@ -698,143 +693,12 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
     /* If anything else left, dissect it ... */
 
     if (tvb_length_remaining(tvb, offset) > 0)
-      offset += dissect_bxxp_tree(tvb, offset, pinfo, tree, request_val, frame_data);
-
-  } else if (tvb_strneql(tvb, offset, "RSP ", 4) == 0) {
-
-    if (tree) {
-
-      ti = proto_tree_add_text(tree, tvb, offset, header_len(tvb, offset) + 2, "Header");
-
-      hdr = proto_item_add_subtree(ti, ett_header);
-
-      proto_tree_add_boolean_hidden(hdr, hf_bxxp_rsp, tvb, offset, 3, TRUE);
-      proto_tree_add_text(hdr, tvb, offset, 3, "Command: RSP");
-
-    }
-
-    offset += 3;
-
-    /* Now check the space: FIXME */
-
-    offset += 1;
-
-    /* Next, the 'more' flag ... */
-
-    if ((more = dissect_bxxp_more(tvb, offset, pinfo->fd, hdr)) >= 0) {
-
-      set_mime_hdr_flags(more, request_val, frame_data, pinfo);
-
-    }
-    else { 
-
-      if (tree) {
-
-       proto_tree_add_text(hdr, tvb, offset, 
-                           tvb_length_remaining(tvb, offset),
-                           "Undissected Payload: %s",
-                           tvb_format_text(tvb, offset,
-                                           tvb_length_remaining(tvb, offset)
-                                           )
-                           );
-
-      }
-
-      return -1;
-
-    }
-
-    offset += 1;
-
-    /* Check the space */
-
-    offset += 1;
-
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, hdr, hf_bxxp_serial, &serial, rsp_serial_hfa);
-    /* skip the space */
-
-    offset += 1;
-
-    /* now for the seqno */
-
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, hdr, hf_bxxp_seqno, &seqno, rsp_seqno_hfa);
-
-    /* skip the space */
-
-    offset += 1;
-
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, hdr, hf_bxxp_size, &size, rsp_size_hfa);
-    if (request_val)
-      request_val->size = size;
-    else
-      frame_data->pl_size = size;
-
-    /* Check the space ... */
-
-    offset += 1;
-
-    dissect_bxxp_status(tvb, offset, pinfo->fd, hdr);
-
-    offset += 1;
-
-    if ((cc = check_term(tvb, offset, hdr)) <= 0) {
-
-      /* We dissect the rest as data and bail ... */
-
-      if (tree) {
-       proto_tree_add_text(hdr, tvb, offset, 
-                           tvb_length_remaining(tvb, offset),
-                           "Undissected Payload: %s", 
-                           tvb_format_text(tvb, offset, 
-                                           tvb_length_remaining(tvb, offset)
-                                           )
-                           );
-      }
-
-      return -1;
-
-    }
-
-    offset += cc;
-    
-    /* Insert MIME header ... */
-
-    if (frame_data && frame_data->mime_hdr)
-      offset += dissect_bxxp_mime_header(tvb, offset, frame_data, hdr);
-
-    /* Now for the payload, if any */
-
-    if (tvb_length_remaining(tvb, offset) > 0) { /* Dissect what is left as payload */
-
-      int pl_size = MIN(size, tvb_length_remaining(tvb, offset));
-      
-      /* Except, check the payload length, and only dissect that much */
-
-      if (tree) {
-       proto_tree_add_text(tree, tvb, offset, pl_size, "Payload: %s", tvb_format_text(tvb, offset, pl_size));
-      }
-
-      offset += pl_size;
-
-      if (request_val) {
-       request_val->size -= pl_size;
-       if (request_val->size < 0) request_val->size = 0;
-      }
-      else {
-       frame_data->pl_size -= pl_size;
-       if (frame_data->pl_size < 0) frame_data->pl_size = 0;
-      }
-    }
-
-    /* If anything else left, dissect it ... As what? */
-
-    if (tvb_length_remaining(tvb, offset) > 0)
-      offset += dissect_bxxp_tree(tvb, offset, pinfo, tree, request_val, frame_data);
+      offset += dissect_beep_tree(tvb, offset, pinfo, tree, request_val, frame_data);
 
   } else if (tvb_strneql(tvb, offset, "SEQ ", 4) == 0) {
 
     if (tree) {
-      proto_tree_add_boolean_hidden(tree, hf_bxxp_seq, tvb, offset, 3, TRUE);
+      proto_tree_add_boolean_hidden(tree, hf_beep_seq, tvb, offset, 3, TRUE);
       proto_tree_add_text(tree, tvb, offset, 3, "Command: SEQ");
     }
 
@@ -844,19 +708,19 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
     offset += 1;
 
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, tree, hf_bxxp_channel, &channel, seq_chan_hfa);
+    offset += dissect_beep_int(tvb, offset, pinfo->fd, tree, hf_beep_channel, &channel, seq_chan_hfa);
 
     /* Check the space: FIXME */
 
     offset += 1;
 
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, tree, hf_bxxp_ackno, &ackno, seq_ackno_hfa);
+    offset += dissect_beep_int(tvb, offset, pinfo->fd, tree, hf_beep_ackno, &ackno, seq_ackno_hfa);
 
     /* Check the space: FIXME */
 
     offset += 1;
 
-    offset += dissect_bxxp_int(tvb, offset, pinfo->fd, tree, hf_bxxp_window, &window, seq_window_hfa);
+    offset += dissect_beep_int(tvb, offset, pinfo->fd, tree, hf_beep_window, &window, seq_window_hfa);
 
     if ((cc = check_term(tvb, offset, tree)) <= 0) {
 
@@ -887,7 +751,7 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
       tr = proto_item_add_subtree(ti, ett_trailer);
 
-      proto_tree_add_boolean_hidden(tr, hf_bxxp_end, tvb, offset, 3, TRUE);
+      proto_tree_add_boolean_hidden(tr, hf_beep_end, tvb, offset, 3, TRUE);
       proto_tree_add_text(tr, tvb, offset, 3, "Command: END");
 
     }
@@ -923,9 +787,7 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
 
       pl_size = MIN(request_val->size, tvb_length_remaining(tvb, offset));
 
-      /* FIXME: May be redundent ... */
-
-      if (pl_size == 0 && offset == st_offset) { /* The whole of the rest must be payload */
+      if (pl_size == 0) { /* The whole of the rest must be payload */
       
        pl_size = tvb_length_remaining(tvb, offset); /* Right place ? */
       
@@ -941,9 +803,9 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
      * another message here, then handle it correctly as well.
      */
 
-    /* If the pl_size == 0 and the offset == st_offset, then we have not 
-     * processed anything in this frame above, so we better treat all this
-     * data as payload to avoid recursion loops
+    /* If the pl_size == 0 and the offset == 0?, then we have not processed
+     * anything in this frame above, so we better treat all this data as 
+     * payload to avoid recursion loops
      */
 
     if (pl_size == 0 && offset == st_offset) 
@@ -969,7 +831,7 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
     }
 
     if (tvb_length_remaining(tvb, offset) > 0) {
-      offset += dissect_bxxp_tree(tvb, offset, pinfo, tree, request_val, frame_data);
+      offset += dissect_beep_tree(tvb, offset, pinfo, tree, request_val, frame_data);
     }
   }
 
@@ -978,14 +840,14 @@ dissect_bxxp_tree(tvbuff_t *tvb, int offset, packet_info *pinfo,
 }
 
 static void
-dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+dissect_beep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 {
   int offset;
-  struct bxxp_proto_data  *frame_data = NULL;
-  proto_tree              *bxxp_tree = NULL, *ti = NULL;
+  struct beep_proto_data  *frame_data = NULL;
+  proto_tree              *beep_tree = NULL, *ti = NULL;
   conversation_t          *conversation = NULL;
-  struct bxxp_request_key request_key, *new_request_key;
-  struct bxxp_request_val *request_val = NULL;
+  struct beep_request_key request_key, *new_request_key;
+  struct beep_request_val *request_val = NULL;
 
   offset = 0;
 
@@ -997,7 +859,7 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
    * rest.
    * 
    * We use the conversation to build up info on the first pass over the
-   * packets of type BXXP, and record anything that is needed if the user
+   * packets of type BEEP, and record anything that is needed if the user
    * does random dissects of packets in per packet data.
    *
    * Once we have per-packet data, we don't need the conversation stuff 
@@ -1011,7 +873,7 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
    * info first.
    */
 
-  frame_data = p_get_proto_data(pinfo->fd, proto_bxxp);
+  frame_data = p_get_proto_data(pinfo->fd, proto_beep);
 
   if (!frame_data) {
 
@@ -1028,24 +890,24 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
        */
       request_key.conversation = conversation->index;
 
-      request_val = (struct bxxp_request_val *)g_hash_table_lookup(bxxp_request_hash, &request_key);
+      request_val = (struct beep_request_val *)g_hash_table_lookup(beep_request_hash, &request_key);
       
       if (!request_val) { /* Create one */
 
-       new_request_key = g_mem_chunk_alloc(bxxp_request_keys);
+       new_request_key = g_mem_chunk_alloc(beep_request_keys);
        new_request_key->conversation = conversation->index;
 
-       request_val = g_mem_chunk_alloc(bxxp_request_vals);
+       request_val = g_mem_chunk_alloc(beep_request_vals);
        request_val->processed = 0;
        request_val->size = 0;
 
-       g_hash_table_insert(bxxp_request_hash, new_request_key, request_val);
+       g_hash_table_insert(beep_request_hash, new_request_key, request_val);
 
       }
     }
 
   if (check_col(pinfo->fd, COL_PROTOCOL))
-    col_set_str(pinfo->fd, COL_PROTOCOL, "BXXP");
+    col_set_str(pinfo->fd, COL_PROTOCOL, "BEEP");
 
   if (check_col(pinfo->fd, COL_INFO)) {  /* Check the type ... */
 
@@ -1067,9 +929,9 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
   if (tree) {  /* Build the tree info ... */
 
-    ti = proto_tree_add_item(tree, proto_bxxp, tvb, offset, tvb_length(tvb), FALSE);
+    ti = proto_tree_add_item(tree, proto_beep, tvb, offset, tvb_length(tvb), FALSE);
 
-    bxxp_tree = proto_item_add_subtree(ti, ett_bxxp);
+    beep_tree = proto_item_add_subtree(ti, ett_beep);
 
   }
   
@@ -1093,7 +955,7 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
     /* Add the payload bit, only if we have a tree */
     if (tree) {
-      proto_tree_add_text(bxxp_tree, tvb, offset, pl_left, "Payload: %s",
+      proto_tree_add_text(beep_tree, tvb, offset, pl_left, "Payload: %s",
                          tvb_format_text(tvb, offset, pl_left));
     }
     offset += pl_left;
@@ -1108,13 +970,13 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
      * elsewhere for other frames
      */
 
-    frame_data = g_mem_chunk_alloc(bxxp_packet_infos);
+    frame_data = g_mem_chunk_alloc(beep_packet_infos);
 
     frame_data->pl_left = pl_left;
     frame_data->pl_size = 0;
     frame_data->mime_hdr = 0;
       
-    p_add_proto_data(pinfo->fd, proto_bxxp, frame_data);
+    p_add_proto_data(pinfo->fd, proto_beep, frame_data);
 
   }
 
@@ -1124,19 +986,19 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
   if (frame_data == NULL) { 
 
-    frame_data = g_mem_chunk_alloc(bxxp_packet_infos);
+    frame_data = g_mem_chunk_alloc(beep_packet_infos);
 
     frame_data->pl_left = 0;
     frame_data->pl_size = 0;
     frame_data->mime_hdr = 0;
 
-    p_add_proto_data(pinfo->fd, proto_bxxp, frame_data);
+    p_add_proto_data(pinfo->fd, proto_beep, frame_data);
        
   }
 
   if (tvb_length_remaining(tvb, offset) > 0) {
 
-    offset += dissect_bxxp_tree(tvb, offset, pinfo, bxxp_tree, request_val, frame_data);
+    offset += dissect_beep_tree(tvb, offset, pinfo, beep_tree, request_val, frame_data);
 
   }
 
@@ -1145,119 +1007,122 @@ dissect_bxxp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 /* Register all the bits needed with the filtering engine */
 
 void 
-proto_register_bxxp(void)
+proto_register_beep(void)
 {
   static hf_register_info hf[] = {
-    { &hf_bxxp_proto_viol,
-      { "Protocol Violation", "bxxp.violation", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_proto_viol,
+      { "Protocol Violation", "beep.violation", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+
+    { &hf_beep_req,
+      { "Request", "beep.req", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_req,
-      { "Request", "bxxp.req", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_req_chan,
+      { "Request Channel Number", "beep.req.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_req_chan,
-      { "Request Channel Number", "bxxp.req.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_rsp,
+      { "Response", "beep.rsp", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_rsp,
-      { "Response", "bxxp.rsp", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_rsp_chan,
+      { "Response Channel Number", "beep.rsp.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_rsp_chan,
-      { "Response Channel Number", "bxxp.rsp.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_seq,
+      { "Sequence", "beep.seq", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_seq,
-      { "Sequence", "bxxp.seq", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_seq_chan,
+      { "Sequence Channel Number", "beep.seq.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_seq_chan,
-      { "Sequence Channel Number", "bxxp.seq.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_end,
+      { "End", "beep.end", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_end,
-      { "End", "bxxp.end", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_complete,
+      { "Complete", "beep.more.complete", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_complete,
-      { "Complete", "bxxp.more.complete", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_intermediate,
+      { "Intermediate", "beep.more.intermediate", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_intermediate,
-      { "Intermediate", "bxxp.more.intermediate", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_msgno,
+      { "Msgno", "beep.msgno", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_serial,
-      { "Serial", "bxxp.serial", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_ansno,
+      { "Ansno", "beep.ansno", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_seqno,
-      { "Seqno", "bxxp.seqno", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_seqno,
+      { "Seqno", "beep.seqno", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_size,
-      { "Size", "bxxp.size", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_size,
+      { "Size", "beep.size", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_channel,
-      { "Channel", "bxxp.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_channel,
+      { "Channel", "beep.channel", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_negative,
-      { "Negative", "bxxp.status.negative", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_negative,
+      { "Negative", "beep.status.negative", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_positive,
-      { "Positive", "bxxp.status.positive", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
+    { &hf_beep_positive,
+      { "Positive", "beep.status.positive", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_ackno,
-      { "Ackno", "bxxp.seq.ackno", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_ackno,
+      { "Ackno", "beep.seq.ackno", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
-    { &hf_bxxp_window,
-      { "Window", "bxxp.seq.window", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
+    { &hf_beep_window,
+      { "Window", "beep.seq.window", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
 
   };
   static gint *ett[] = {
-    &ett_bxxp,
+    &ett_beep,
     &ett_mime_header,
     &ett_header,
     &ett_trailer,
   };
-  module_t *bxxp_module; 
+  module_t *beep_module; 
 
-  proto_bxxp = proto_register_protocol("Blocks eXtensible eXchange Protocol",
-                                      "BXXP", "bxxp");
+  proto_beep = proto_register_protocol("Blocks Extensible Exchange Protocol",
+                                      "BEEP", "beep");
 
-  proto_register_field_array(proto_bxxp, hf, array_length(hf));
+  proto_register_field_array(proto_beep, hf, array_length(hf));
   proto_register_subtree_array(ett, array_length(ett));
-  register_init_routine(&bxxp_init_protocol);
+  register_init_routine(&beep_init_protocol);
 
-  /* Register our configuration options for BXXP, particularly our port */
+  /* Register our configuration options for BEEP, particularly our port */
 
-  bxxp_module = prefs_register_protocol(proto_bxxp, proto_reg_handoff_bxxp);
+  beep_module = prefs_register_protocol(proto_beep, proto_reg_handoff_beep);
 
-  prefs_register_uint_preference(bxxp_module, "tcp.port", "BXXP TCP Port",
-                                "Set the port for BXXP messages (if other"
+  prefs_register_uint_preference(beep_module, "tcp.port", "BEEP TCP Port",
+                                "Set the port for BEEP messages (if other"
                                 " than the default of 10288)",
-                                10, &global_bxxp_tcp_port);
+                                10, &global_beep_tcp_port);
 
-  prefs_register_bool_preference(bxxp_module, "strict_header_terminator", 
-                                "BXXP Header Requires CRLF", 
-                                "Specifies that BXXP requires CRLF as a "
+  prefs_register_bool_preference(beep_module, "strict_header_terminator", 
+                                "BEEP Header Requires CRLF", 
+                                "Specifies that BEEP requires CRLF as a "
                                 "terminator, and not just CR or LF",
-                                &global_bxxp_strict_term);
+                                &global_beep_strict_term);
 }
 
 /* The registration hand-off routine */
 void
-proto_reg_handoff_bxxp(void)
+proto_reg_handoff_beep(void)
 {
-  static int bxxp_prefs_initialized = FALSE;
-  static dissector_handle_t bxxp_handle;
+  static int beep_prefs_initialized = FALSE;
+  static dissector_handle_t beep_handle;
 
-  if (!bxxp_prefs_initialized) {
+  if (!beep_prefs_initialized) {
 
-    bxxp_handle = create_dissector_handle(dissect_bxxp, proto_bxxp);
+    beep_handle = create_dissector_handle(dissect_beep, proto_beep);
 
-    bxxp_prefs_initialized = TRUE;
+    beep_prefs_initialized = TRUE;
 
   }
   else {
 
-    dissector_delete("tcp.port", tcp_port, bxxp_handle);
+    dissector_delete("tcp.port", tcp_port, beep_handle);
 
   }
 
   /* Set our port number for future use */
 
-  tcp_port = global_bxxp_tcp_port;
+  tcp_port = global_beep_tcp_port;
 
-  dissector_add("tcp.port", global_bxxp_tcp_port, bxxp_handle);
+  dissector_add("tcp.port", global_beep_tcp_port, beep_handle);
 
 }
diff --git a/prefs.c b/prefs.c
index 79f26c2654a955b5675a799ba4aa98a5a051ba2b..18951609a9d0202a50ef3d4d46aa827edbd3a1ac 100644 (file)
--- a/prefs.c
+++ b/prefs.c
@@ -1,7 +1,7 @@
 /* prefs.c
  * Routines for handling preferences
  *
- * $Id: prefs.c,v 1.73 2001/11/19 19:53:14 gram Exp $
+ * $Id: prefs.c,v 1.74 2001/12/08 01:45:35 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -1342,9 +1342,17 @@ set_pref(gchar *pref_name, gchar *value)
          * XXX - "Diameter" rather than "diameter" was used in earlier
          * versions of Ethereal; if we didn't find the module, and its name
          * was "Diameter", look for "diameter" instead.
+         *
+         * In addition, the BEEP protocol used to be the BXXP protocol,
+         * so if we didn't find the module, and its name was "bxxp",
+         * look for "beep" instead.
          */
-        if (module == NULL && strcmp(pref_name, "Diameter") == 0)
-          module = find_module("diameter");
+        if (module == NULL) {
+          if (strcmp(pref_name, "Diameter") == 0)
+            module = find_module("diameter");
+          else if (strcmp(pref_name, "bxxp") == 0)
+            module = find_module("beep");
+        }
         *dotp = '.';           /* put the preference string back */
         dotp++;                        /* skip past separator to preference name */
         last_dotp = dotp;