aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dcerpc-conv.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-07-11 01:25:45 +0000
committerGuy Harris <guy@alum.mit.edu>2001-07-11 01:25:45 +0000
commit317a2651f9d824df94e0c50e84b67c22ec855831 (patch)
tree0f27078a983097212ca82b8c9ec9091f78bda44e /packet-dcerpc-conv.c
parent08b6ae03065e67385f8146895f68fd8162cea479 (diff)
Support for dissectors of protocols running atop DCE RPC registering
themselves with the DCE RPC dissector, and support for some of the protocols atop DCE RPC that are part of DCE RPC, from Todd Sabin. svn path=/trunk/; revision=3681
Diffstat (limited to 'packet-dcerpc-conv.c')
-rw-r--r--packet-dcerpc-conv.c84
1 files changed, 84 insertions, 0 deletions
diff --git a/packet-dcerpc-conv.c b/packet-dcerpc-conv.c
new file mode 100644
index 0000000000..14254a0dd7
--- /dev/null
+++ b/packet-dcerpc-conv.c
@@ -0,0 +1,84 @@
+/* packet-dcerpc-conv.c
+ * Routines for dcerpc conv dissection
+ * Copyright 2001, Todd Sabin <tas@webspan.net>
+ *
+ * $Id: packet-dcerpc-conv.c,v 1.1 2001/07/11 01:25:44 guy Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * 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
+
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+#include <string.h>
+
+#include <glib.h>
+#include "packet.h"
+#include "packet-dcerpc.h"
+
+
+static int proto_conv = -1;
+
+static gint ett_conv = -1;
+
+
+static e_uuid_t uuid_conv = { 0x333a2276, 0x0000, 0x0000, { 0x0d, 0x00, 0x00, 0x80, 0x9c, 0x00, 0x00, 0x00 } };
+static guint16 ver_conv = 3;
+
+
+static dcerpc_sub_dissector conv_dissectors[] = {
+ { 0, "conv_who_are_you", NULL, NULL },
+ { 1, "conv_who_are_you2", NULL, NULL },
+ { 2, "conv_are_you_there", NULL, NULL },
+ { 3, "conv_who_are_you_auth", NULL, NULL },
+ { 4, "conv_who_are_you_auth_more", NULL, NULL },
+ { 0, NULL, NULL, NULL },
+};
+
+
+void
+proto_register_conv (void)
+{
+#if 0
+ static hf_register_info hf[] = {
+ };
+#endif
+
+ static gint *ett[] = {
+ &ett_conv,
+ };
+ proto_conv = proto_register_protocol ("DCE/RPC Conversation Manager", "CONV", "conv");
+#if 0
+ proto_register_field_array (proto_conv, hf, array_length (hf));
+#endif
+ proto_register_subtree_array (ett, array_length (ett));
+}
+
+void
+proto_reg_handoff_conv (void)
+{
+ /* Register the protocol as dcerpc */
+ dcerpc_init_uuid (proto_conv, ett_conv, &uuid_conv, ver_conv, conv_dissectors);
+}