aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am3
-rw-r--r--Makefile.nmake3
-rw-r--r--packet-dcerpc-trksvr.c99
3 files changed, 103 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index a6cdc08bc7..7041f364f8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
# Makefile.am
# Automake file for Ethereal
#
-# $Id: Makefile.am,v 1.669 2003/12/13 18:05:48 gerald Exp $
+# $Id: Makefile.am,v 1.670 2003/12/16 05:07:48 guy Exp $
#
# Ethereal - Network traffic analyzer
# By Gerald Combs <gerald@ethereal.com>
@@ -189,6 +189,7 @@ DISSECTOR_SRC = \
packet-dcerpc-svcctl.c \
packet-dcerpc-tapi.c \
packet-dcerpc-tkn4int.c \
+ packet-dcerpc-trksvr.c \
packet-dcerpc-ubikdisk.c \
packet-dcerpc-ubikvote.c \
packet-dcerpc-update.c \
diff --git a/Makefile.nmake b/Makefile.nmake
index b314bde6a7..c76747fed6 100644
--- a/Makefile.nmake
+++ b/Makefile.nmake
@@ -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.375 2003/12/15 04:22:30 guy Exp $
+# $Id: Makefile.nmake,v 1.376 2003/12/16 05:07:48 guy Exp $
include config.nmake
include <win32.mak>
@@ -129,6 +129,7 @@ DISSECTOR_SRC = \
packet-dcerpc-svcctl.c \
packet-dcerpc-tapi.c \
packet-dcerpc-tkn4int.c \
+ packet-dcerpc-trksvr.c \
packet-dcerpc-ubikdisk.c \
packet-dcerpc-ubikvote.c \
packet-dcerpc-update.c \
diff --git a/packet-dcerpc-trksvr.c b/packet-dcerpc-trksvr.c
new file mode 100644
index 0000000000..a7b3304125
--- /dev/null
+++ b/packet-dcerpc-trksvr.c
@@ -0,0 +1,99 @@
+/* packet-dcerpc-trksvr.c
+ * Routines for DCERPC Distributed Link tracking Server packet disassembly
+ * Copyright 2003, Ronnie Sahlberg
+ *
+ * $Id: packet-dcerpc-trksvr.c,v 1.1 2003/12/16 05:07:49 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.
+ */
+/* The IDL file for this interface can be extracted by grepping for idl
+ * in capitals.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <epan/packet.h>
+#include "packet-dcerpc.h"
+#include "packet-dcerpc-nt.h"
+#include "smb.h"
+
+static int proto_dcerpc_trksvr = -1;
+static int hf_trksvr_opnum = -1;
+static int hf_trksvr_rc = -1;
+
+static gint ett_dcerpc_trksvr = -1;
+
+/*
+ IDL [ uuid(4da1-943d-11d1-acae-00c0afc2aa3f),
+ IDL version(1.0),
+ IDL implicit_handle(handle_t rpc_binding)
+ IDL ] interface trksvr
+ IDL {
+*/
+static e_uuid_t uuid_dcerpc_trksvr = {
+ 0x4da1c422, 0x943d, 0x11d1,
+ { 0xac, 0xae, 0x00, 0xc0, 0x4f, 0xc2, 0xaa, 0x3f }
+};
+
+static guint16 ver_dcerpc_trksvr = 1;
+
+static dcerpc_sub_dissector dcerpc_trksvr_dissectors[] = {
+ { 0, "LnkSvrMessage",
+ NULL,
+ NULL },
+ {0, NULL, NULL, NULL }
+};
+
+void
+proto_register_dcerpc_trksvr(void)
+{
+static hf_register_info hf[] = {
+ { &hf_trksvr_opnum, {
+ "Operation", "trksvr.opnum", FT_UINT16, BASE_DEC,
+ NULL, 0x0, "", HFILL }},
+ { &hf_trksvr_rc, {
+ "Return code", "trksvr.rc", FT_UINT32, BASE_HEX,
+ VALS(NT_errors), 0x0, "TRKSVR return code", HFILL }},
+ };
+
+ static gint *ett[] = {
+ &ett_dcerpc_trksvr
+ };
+
+ proto_dcerpc_trksvr = proto_register_protocol(
+ "Microsoft Distributed Link Tracking Server Service", "TRKSVR", "trksvr");
+
+ proto_register_field_array(proto_dcerpc_trksvr, hf,
+ array_length(hf));
+
+ proto_register_subtree_array(ett, array_length(ett));
+}
+
+void
+proto_reg_handoff_dcerpc_trksvr(void)
+{
+ /* Register protocol as dcerpc */
+
+ dcerpc_init_uuid(proto_dcerpc_trksvr, ett_dcerpc_trksvr,
+ &uuid_dcerpc_trksvr, ver_dcerpc_trksvr,
+ dcerpc_trksvr_dissectors, hf_trksvr_opnum);
+}